emacs-devel
[Top][All Lists]
Advanced

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

Re: Selection changes


From: David De La Harpe Golden
Subject: Re: Selection changes
Date: Thu, 15 Jul 2010 00:51:58 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100620 Icedove/3.0.5

On 14/07/10 19:08, Chong Yidong wrote:

I believe that this change should be pretty much seamless, but let me
know if there is any problems.


'fraid the no-zero-length-region change to deactivate-mark, while well-intentioned, is wrong - by that stage emacs may have already taken ownership of the selection, and pointed it at the buffer.

e.g. try C-SPC C-SPC, move point a few chars, middle click, middle click, middle click, Yeuch! Or try making the region nonzero sized then zero sized again.

So please remove from deactivate-mark the
(not (eq (region-beginning) (region-end)))
for now - not having it is IMO the lesser of two evils, it's _way_ too easy to apparently randomize (well, it's not actually random, but users aren't going to appreciate rhat) primary with it there. At least IMO.

Really, emacs needs to take ownership of the primary selection and set it to the buffer /the first time in each region activation that the active region becomes nonzero sized/.

Remember when the emacs-level selection val is set to a buffer object, the buffer is _lazily_ queried for its point-mark span if/when other X clients ask for the selection, so if it manages to stay set to the buffer past deactivation of the region you'll have a selection depending on where the mark and point are at that time. Hence freezing off the string as the selection in deactivate-mark.

I'm out of "emacs time" for today for actual implementation of a proposal for a fix - I'll have time at the weekend if you haven't got to it by then...






reply via email to

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