emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: need option so line-move-to-column ignores fields, plus patch


From: Chong Yidong
Subject: Re: need option so line-move-to-column ignores fields, plus patch
Date: Sun, 24 Sep 2006 18:04:55 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Richard Stallman <address@hidden> writes:

> | 1. With the cursor adjacent to the right of any bar,
>  |   if you move forwards a line (^N), the cursor slips to column 0.
>   | 2. Moving backwards (^P) with the cursor in the same place, however,
>    |   doesn't have this problem - it sticks near the boundary.
>
> #1 is clearly a bug.  C-n should be symmetrical with C-p.

I don't see where else the cursor can possibly go in #1.  The logic of
line-move is like this: "Try to naively move the cursor vertically
down.  If this moves us into a new field, go instead to the beginning
of the field (if going forward) or the end of the field (if going
backward)."

In #1, the "naive" motion moves the cursor into a new field, so it
shouldn't move to the old column; instead, it moves into the beginning
of the field.

The C-p behavior is also correct.  The situation actually is
symmetric, but subtle.  When the cursor moves backwards, and finds
itself in a new field, it moves to the *end* of that field.  When the
field boundaries are arranged as

   |
  |
 |

the logical behavior implies that the cursor should stick near the
boundary.  Spontaneous symmetry breaking!

> | 4. Forwards with the cursor on or to the bar's left leaves it in column 0.
>
> That is a bug.  It should be sticky except staying to the left of the bar.

Same here---the cursor is moving into a new field.

I have checked in a fix to improve column motion in certain other
situations.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]