emacs-devel
[Top][All Lists]
Advanced

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

Re: [cvs] bug when using pc-selection-mode/transient-mark-mode


From: Richard Stallman
Subject: Re: [cvs] bug when using pc-selection-mode/transient-mark-mode
Date: Mon, 23 Sep 2002 23:24:33 -0400

      (1) `mark-active' gets set to a (global) integer counter value instead of 
t.

      (2) In the current place where `deactivate-mark' is checked, it just
          handles the current buffer, but also increments the global counter.

      (3) `switch-to-buffer' checks to see if `mark-active' is less than the
          global counter value, and if so, checks the local value of
          `deactivate-mark' and perhaps sets mark-active to nil.

    IOW, it lazily does the deactivation based on the local value of
    deactivate-mark.

    Is this too expensive a thing to take place in switch-to-buffer?

It is not too expensive, I think, but the idea to make deactivate-mark
hold a list of buffers is far far simpler and seems better to me.

    Doesn't that require all the places where deactivate-mark is set to be
    changed (in a non-trivial way)?  Sounds very annoying for programmers...
    [and a maintainance headache]

The places that just bind it to nil to ignore modifications don't need
to be changed.  The places that set it to nil don't need to be
changed.  The other references are very few.  In the toplevel directory,
I found two files that set the variable but really ought to bind it
to nil instead; I found two places (delsel.el and simple.el) that set
it to t.  Nothing else.





reply via email to

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