emacs-devel
[Top][All Lists]
Advanced

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

Re: UP and DOWN with multi-line minibuffer history


From: Eli Zaretskii
Subject: Re: UP and DOWN with multi-line minibuffer history
Date: Mon, 14 Dec 2015 18:00:26 +0200

> From: David Kastrup <address@hidden>
> Cc: Juri Linkov <address@hidden>,  address@hidden
> Date: Mon, 14 Dec 2015 10:25:20 +0100
> 
> Eli Zaretskii <address@hidden> writes:
> 
> > Sorry, I don't understand why supporting goal-column must have this
> > side effect.  In a normal buffer, we do support goal-column (in the
> > visual-line sense), and still we don't jump to the firs screen line of
> > a long logical line.
> 
> Really?
> 
> >From simple.el:
> 
> (defun line-move (arg &optional noerror to-end try-vscroll)
>   "Move forward ARG lines.
> If NOERROR, don't signal an error if we can't move ARG lines.
> TO-END is unused.
> TRY-VSCROLL controls whether to vscroll tall lines: if either
> `auto-window-vscroll' or TRY-VSCROLL is nil, this function will
> not vscroll."
> [...]
>       (if (and line-move-visual
>                ;; Display-based column are incompatible with goal-column.
>                (not goal-column)
> 
> A bit of git-blame work reveals that this was introduced by a certain
> Eli Zaretskii in:
> 
> commit 064f328a6ac90698c719b6eace60d6f4c90e3f08
> Author: Eli Zaretskii <address@hidden>
> Date:   Fri Sep 16 20:15:16 2011 +0300
> 
>     Fix bug #971 with next/previous-line when goal-column is set.
>     
>      lisp/simple.el (line-move): If goal-column is set, move by logical
>      lines, not by display lines.
>      (next-line, previous-line, goal-column, line-move-visual): Doc fix
>      to reflect the above change.

I said "in the visual-line sense", and I meant it.  You are looking at
the wrong part of the code; you should instead look at how
line-move-visual calls vertical-motion passing it the value of
temporary-goal-column.



reply via email to

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