Alastair, this fixes part of the bug, the not the whole bug. If you do kill
within emacs and then yank, things work fine. you also fixed the other problem,
with kill appending too much -- thanks. However, if you kill text [either using
C-w or choosing the Cut option on the menu], you cannot paste the text into
another XEmacs; you get "no selection available". A similar bug occurs with
the
primary-selection interface. When you select text in an X app, it automatically
gets put on the PRIMARY selection, and typically you can paste it into another
app using the middle mouse button. Now, you can select text in an xterm and
paste it into xemacs using the middle button; but reversing the apps and this
doesn't work. in both cases, xemacs is failing in either successfully taking
ownership of the selection or responding to a selection request from another
app. [almost certainly the latter, the former is fairly simple and you haven't
modified that code.]
"Alastair J. Houghton" wrote:
I think this is probably the culprit. I suspect what's
happening is that own-selection is adding a nil-typed
entry, but get-selection is requesting a STRING-typed
entry and can't find it.
Kind regards,
Alastair.
src/ChangeLog:
2000-07-18 Alastair J. Houghton <ajhoughton(a)lineone.net>
* select.c (get_selection_internal, own_selection_internal):
Make the type default to STRING, rather than placing a nil type
into Vselection_alist.
--- ../orig/xemacs-21.2/src/select.c Sun Jul 16 12:32:58 2000
+++ xemacs-21.2/src/select.c Tue Jul 18 10:24:31 2000
@@ -155,6 +158,9 @@
&& !EQ (how_to_add, Qreplace_all) && !NILP (how_to_add))
error ("how-to-add must be nil, append, replace_all, "
"replace_existing or t.");
+
+ if (NILP (data_type))
+ data_type = QSTRING;
/* Examine the how-to-add argument */
if (EQ (how_to_add, Qreplace_all) || NILP (how_to_add))
@@ -502,6 +508,9 @@
if (NILP (device))
device = Fselected_device (Qnil);
+ if (NILP (target_type))
+ target_type = QSTRING;
+
#if 0 /* #### MULTIPLE doesn't work yet and probably never will */
if (CONSP (target_type) &&
XCAR (target_type) == QMULTIPLE)
--
____________________________________________________________
Alastair Houghton ajhoughton(a)lineone.net
--
Ben
In order to save my hands, I am cutting back on my mail. I also write
as succinctly as possible -- please don't be offended. If you send me
mail, you _will_ get a response, but please be patient, especially for
XEmacs-related mail. If you need an immediate response and it is not
apparent in your message, please say so. Thanks for your understanding.
See also
http://www.666.com/ben/chronic-pain/