From: Patrick May on
Alan Mackenzie <acm(a)muc.de> writes:
> It's far from obvious that this change (line-visual-mode being set) is
> a Bad Thing. Without it, moving around things like log files with 300
> character lines was an utter pain. I'd suggest it was more of a pain
> than the one you're suffering, because it hit users using Emacs in its
> principal way of working, rather than in special cases in some obscure
> feature (keyboard macros).

Keyboard macros are far from obscure. I use them daily at least.

>> Yeah, right. The "fundamental problem" that CTRL/A, CTRL/E, CTRL/N,
>> CTRL/P, etc. moved to predictable places in the file no matter what
>> the screen width, and thus could be relied upon for a cookbook
>> procedure.
>
> Now you've got to take screen width into account. Big deal.

It is a big deal when it breaks existing code. Backwards
compatibility is important.

> And it was dashed near impossible to move easily to the middle of
> long, long lines.

C-u <some number> right-arrow

Sincerely,

Patrick

------------------------------------------------------------------------
http://www.softwarematters.org
Large scale, mission-critical, distributed OO systems design and
implementation. (C++, Java, Common Lisp, Jini, middleware, SOA)
From: Stefan Monnier on
>> principal way of working, rather than in special cases in some obscure
>> feature (keyboard macros).
> Keyboard macros are far from obscure.

Indeed.

>> And it was dashed near impossible to move easily to the middle of
>> long, long lines.
> C-u <some number> right-arrow

How convenient!
Say you're in a window and want to go down 3 visual lines on the same
long logical line. What number do you use? Ok, let's make it easier
and say that you happen to know that the window is 76-chars wide.
So 76 by 3? quick? quick?
Now let's do that again but with 13 lines, where you don't actually know
it's "13": you first have to count it.
The best I could come up with, is C-76 C-f and then C-x z z z ... until
you reach the line.

Now this all becomes a lot more interesting once you add word-wrap into
the mix, or TABs, or bytes displayed \NNN, or the presence of various
fonts and/or font-sizes on that long line, or variable-pitch fonts, ...

Clearly visual line movement is really handy in such long lines.
So rather than "C-u <some number> right-arrow", the better answer would
have been: M-x visual-line-mode RET C-n ...


Stefan "who reached for the mouse in all those cases, tho
typically only after first unconsciously hitting C-n
a few times and then realizing that C-n jumped way
further than intended"
From: Pascal J. Bourguignon on
Stefan Monnier <monnier(a)iro.umontreal.ca> writes:

>>> principal way of working, rather than in special cases in some obscure
>>> feature (keyboard macros).
>> Keyboard macros are far from obscure.
>
> Indeed.
>
>>> And it was dashed near impossible to move easily to the middle of
>>> long, long lines.
>> C-u <some number> right-arrow
>
> How convenient!
> Say you're in a window and want to go down 3 visual lines on the same
> long logical line. What number do you use? Ok, let's make it easier
> and say that you happen to know that the window is 76-chars wide.
> So 76 by 3? quick? quick?

240. You can refine later.

> Now let's do that again but with 13 lines, where you don't actually know
> it's "13": you first have to count it.

Let's say you can't even count the lines!

You can always, and only with emacs, type:

M-: (forward-char (/ (- (progn (end-of-line) (point)) (progn (beginning-of-line) (point))) 2)) RET


> The best I could come up with, is C-76 C-f and then C-x z z z ... until
> you reach the line.

> Now this all becomes a lot more interesting once you add word-wrap into
> the mix, or TABs, or bytes displayed \NNN, or the presence of various
> fonts and/or font-sizes on that long line, or variable-pitch fonts, ...

Well, C-f C-n is all you need. I mean, keep C-f pressed until the
cursor reaches the column you want, you don't even need to count
76. And keep C-n pressed until the cursor reaches the line you want.


> Stefan "who reached for the mouse in all those cases, tho
> typically only after first unconsciously hitting C-n
> a few times and then realizing that C-n jumped way
> further than intended"

WFM. So far.

--
__Pascal Bourguignon__ http://www.informatimago.com/
From: Uday S Reddy on
On 6/15/2010 7:54 AM, Pascal J. Bourguignon wrote:

>
> Well, C-f C-n is all you need. I mean, keep C-f pressed until the
> cursor reaches the column you want, you don't even need to count
> 76. And keep C-n pressed until the cursor reaches the line you want.

Except that pressing control-key for that long with your pinky is a health risk!

But I feel this discussion is tangential. Most of us accept that visual line
movement is a /good/ idea and we find it useful in lots of contexts. We are
grateful for Stefan & co for thinking of it and implementing it.

The question is really whether it should have been made the default.

Every time I narrowed down to that issue in this thread, the participants have
fallen silent (first Xah Lee then Tim Cross, Alan Mackenzie and Stefan
himself). I guess there is no good answer to it.

There is no need for us to beat a dead horse. If the developers accept that it
is a bad idea to introduce backward-incompatible changes for flimsy reasons,
Emacs will be a more useful system for all of us than it currently is.

Fortunately, nothing major is going to fall apart as a result of `next-line'
changing its meaning. But I hope that we can arrest this trend right here so
that we don't have to put up with more pain in future.

Cheers,
Uday
From: Tim X on
Uday S Reddy <uDOTsDOTreddy(a)cs.bham.ac.uk> writes:

> Alan Mackenzie wrote:
>
>> It's far from obvious that this change (line-visual-mode being set) is a
>> Bad Thing. Without it, moving around things like log files with 300
>> character lines was an utter pain. I'd suggest it was more of a pain
>> than the one you're suffering, because it hit users using Emacs in its
>> principal way of working, rather than in special cases in some obscure feature
>> (keyboard macros).
>
> If line-move-visual was nil by default, would you have been able to set it to
> t in order to move around the log files?
>

This sentiment I agree with. The default for line-move-visual should
have been nil not t, especially as there are some things that still need
more thought (i.e. macros) and if for no other reason, to give
maintainers of other packages time to fix potentially broken code.

The introduciton of this facility was in itself a good idea. How it has
been introduced was not.

Tim

--
tcross (at) rapttech dot com dot au