bug#13009: Logical line movement is illogical

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#13009: Logical line movement is illogical

Kelly Dean-2
Using 24.2 on X, not in a terminal emulator:
emacs -Q
(column-number-mode t)
(set-face-attribute 'default nil :font "DejaVu Sans")
(set-face-attribute 'default nil :height 90)
(global-set-key '[S-up] 'previous-logical-line)
(global-set-key '[S-down] 'next-logical-line)
[ret] C-u 40 W [ret] C-u 40 i
So you have 40 "W"s and 40 "i"s, and point is on column 40 at the end of the "i"s.
Now press [up]. Point moves to the "W" at column 10, which is correct since visual line movement is the default.
Now press [S-down]. Where should point go? If the rule is visual line movement, it should move to column 40 at the end of the "i"s. If the rule is to stay on the same column, it should move to the "i" at column 10. But it does neither; instead, it moves to the "i" at column 17. There's no way this is correct.
Now press [S-up]. Point moves to the "W" at column 17, suggesting that the rule is to stay on the same column, which is what the rule ought to be.
Now do:
[C-end] [ret] [ret] C-u 40 W [ret] C-u 40 u
Leaving point on column 40 at the end of the "u"s. Press [up], and point moves to the "W" at column 29, which is correct. Now press [S-down]. Point moves to column 40 at the end of the "u"s, suggesting that the rule is visual line movement, contradicting both the [S-down] and the [S-up] behavior shown previously.
Even if there is some sense to this, it isn't user friendly.




Reply | Threaded
Open this post in threaded view
|

bug#13009: Logical line movement is illogical

Lars Ingebrigtsen
Kelly Dean <[hidden email]> writes:

> Using 24.2 on X, not in a terminal emulator:
> emacs -Q
> (column-number-mode t)
> (set-face-attribute 'default nil :font "DejaVu Sans")
> (set-face-attribute 'default nil :height 90)
> (global-set-key '[S-up] 'previous-logical-line)
> (global-set-key '[S-down] 'next-logical-line)
> [ret] C-u 40 W [ret] C-u 40 i
> So you have 40 "W"s and 40 "i"s, and point is on column 40 at the end
> of the "i"s.
> Now press [up]. Point moves to the "W" at column 10, which is correct
> since visual line movement is the default.
> Now press [S-down]. Where should point go? If the rule is visual line
> movement, it should move to column 40 at the end of the "i"s. If the
> rule is to stay on the same column, it should move to the "i" at
> column 10. But it does neither; instead, it moves to the "i" at column
> 17. There's no way this is correct.

(I'm going through old bug reports that unfortunately got no response at
the time.)

I tried reproducing this in Emacs 28 on Debian bullseye, but I'm unable
to.  After doing up/down, point is at the end if the "i" line, which
seems correct.

Are you still seeing this problem in more recent Emacs versions?

--
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



Reply | Threaded
Open this post in threaded view
|

bug#13009: Logical line movement is illogical

Lars Ingebrigtsen
Lars Ingebrigtsen <[hidden email]> writes:

> I tried reproducing this in Emacs 28 on Debian bullseye, but I'm unable
> to.  After doing up/down, point is at the end if the "i" line, which
> seems correct.
>
> Are you still seeing this problem in more recent Emacs versions?

More information was requested, but no response was given within a
month, so I'm closing this bug report.  If the problem still exists,
please respond to this email and we'll reopen the bug report.

--
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no