bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#23794: Emacs 25.0.94: Patch to make sort-lines respect visible lines


From: Robert Weiner
Subject: bug#23794: Emacs 25.0.94: Patch to make sort-lines respect visible lines (fairly urgent)
Date: Sat, 18 Jun 2016 13:42:01 -0400

On Sat, Jun 18, 2016 at 1:26 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> From: Robert Weiner <rsw@gnu.org>
> Date: Sat, 18 Jun 2016 11:47:08 -0400
>
> sort-lines calls forward-line rather than forward-visible line, so if
> you have emacs outline entries that are collapsed/hidden to single lines
> each and you try to sort them, their bodies and subtrees are sorted
> separately because forward-visible-line is not used.

I don't think we can make such a backward-incompatible change without
(a) an entry in NEWS,

I am willing to write this.
 
(b) suitable changes in the manual(s), and

I looked at both the Emacs and the Elisp manuals and the only change necessary would be in the elisp manual where the full code for sort-lines is shown, so that would be a simple replace.

(c) some way of getting back the old behavior (which could be by way
of having this new behavior as an optional one).

See below. 

For clarity, the original behavior of sort-lines is what the patch restores.  The backward-incompatibility to which you refer is then just an implementation error that occurred when switching over to the overlay implementation of outlines as there was never any documentation that I can see that suggested any behavior change.  There certainly could be better documentation as to whether a 'line' refers to a visible line, an invisible line or both but many functions do not delineate this.  A major reason for making lines invisible is so that they are not treated as regular lines when functions are applied to buffer text.  Thus, sort-lines should by default operate on visible lines.  It could be extended or another function could be written to operate on invisible lines as well, e.g. sort-invisible-lines and an alias could be made to sort-lines to be called sort-visible-lines.  All of this in the future.  The only thing I am suggesting for right now is to restore the original behavior.  Note that if all lines are visible, the patch codes works as well.  The issue is that when lines are invisible the current code in Emacs does not work in a very useful way.

Bob


reply via email to

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