[Top][All Lists]

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

Re: Various simple.el patches

From: Luc Teirlinck
Subject: Re: Various simple.el patches
Date: Tue, 27 May 2003 23:32:35 -0500 (CDT)

I saw the following entry in the Change Log:

003-05-23  Kai Grossjohann  <address@hidden>

           * simple.el (kill-region): If nothing was killed, and the
           previous command was not a kill, break kill sequence.
           (kill-whole-line): Don't use kill-line.  Make it work with
           invisible lines.  Make it repeatable.
           From Luc Teirlinck <address@hidden>.

But it apparently has not been committed (neither the kill-region part
nor the kill-whole-line part.)

I certainly see no problem with the kill-region part, assuming it is
what you proposed in a message to this site.  It seems to implement
exactly what Richard decided, if I understood correctly.

In as far as the kill-whole-line part is concerned, there is something
confusing about the change log entry.  Indeed, the main purpose of the
change was to make kill-whole-line interact correctly with the
kill-ring, both in read-write and read-only buffers.  There were
originally indeed problems with invisible text, but those turned out
*not* to be bugs in the kill-whole-line code itself, but bugs in
forward-visible-line, which I fixed.  In the presence of invisibility
properties that are lists of two or more elements, bugs in
line-move-invisible remain, which still could affect kill-whole-line
as well as other functions.  If I understood correctly, it was decided
that the best way to fix those problems was to make line-move-invisible
a primitive and use existing C code in doing so.  I do not know
whether somebody is actively working on that, or planning to work on
that, at present.

Since 05-23, I made no changes in the actual code of kill-whole-line,
but I added some comments and I propose to change the documentation
string to:

  "Kill current line.
With prefix arg, kill that many lines starting from the current line.
If arg is negative, kill backward.  Also kill the preceding newline.
\(This is meant to make C-x z work well with negative arguments.\)
If arg is zero, kill current line but exclude the trailing newline."

Apart from that, I believe that the Change Log text needs to be
changed for reasons outlined above.

I plan no further changes.

I did not have write access before, but I do now.

What is the most convenient way to proceed from here:

1.  You commit the original change (with maybe a changed Change Log)
    and then I commit the changes I made since.

2.  I send you my latest changes and you commit everything in one piece.

3.  You commit kill-region and I commit all revisions to
    kill-whole-line in one piece.



reply via email to

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