[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issues with X selection handling
From: |
Jan D. |
Subject: |
Re: Issues with X selection handling |
Date: |
Tue, 24 Aug 2004 13:44:03 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040810 |
Davis Herring wrote:
+ `x-disown-selection-internal' doesn't seem to do anything.
Well, it disowns the selection, but it does not call any hooks if that is what
you mean. Can you please say what you expected it to do?
I see -- it does disown the selection, but not only are no hooks called
(the docstring for `x-lost-selection-hooks' explicitly says it should be
called), but the entry is not removed from the internal variable
`Vselection-alist'. This means Emacs (in Lisp) thinks it still owns the
selection and that it has the value it had before the disownment.
The mishandling of Vselection-alist is a bug. I have corrected it in CVS.
The hooks are also called after this correction.
They disagree a notable amount of the time, and `x-lost-selection-hooks'
is never called with PRIMARY as an argument unless the keyboard is used to
kill text. Meanwhile CLIPBOARD appears to call the hooks every time.
I still can not reproduce this. You need to supply an explicit test case, i.e.
a step by step description of how to reproduce this.
Stranger still is that occasionally one Emacs generates messages in the
other that look like this:
Sent selection at Mon Aug 23 18:57:44 2004: (CLIPBOARD nil nil)
Sent selection at Mon Aug 23 18:57:44 2004: (CLIPBOARD nil nil)
Sent selection at Mon Aug 23 18:57:44 2004: (PRIMARY nil nil)
Sent selection at Mon Aug 23 18:57:44 2004: (PRIMARY nil nil)
The Emacs requesting the selection isn't sending any type with its
request, apparently; it gets declined, and decides that there is no such
selection.
It is. It is just that the Emacs that prints this does not have the selection.
Then the second and third argument will be nil. It is probably a race
condition in your test set up.
Jan D.