try this patch and see if it fixes things.
alastair, it looks like the selection code needs more work -- it's doing all
these bizarre weird things relating to the x code, and this needs a bit of a
rethink.
the tricky thing with the x code is that the selection data can be one of three
types: 8, 16, or 32 bit data; under windows, we only have 8-bit data. 16 and
32-bit data automatically gets byte-swapped as necessary to deal with
endian-ness issues, necessary because clients on different architectures might
request data from the same X server. the c code tries to support this by
allowing conses of 16-bit values [because xemacs lisp integers are less than 32
bits] and vectors of numbers etc. to pass long 32-bit or 16-bit data. imho this
is reasonable but there's also lots of other crap going on. what i think you
should do is come up with a clean and simple interface for converting 16 and 32
bit data in and out, document it, and fix up the C code so it does this and no
more. [and fix the lisp code to correspond] you should also make the x code do
the proper convert calls if possible.
btw i do my testing under X using cygwin and a windows-based x server such as
MiX. i can give you more info on this if you want; otherwise, you can probably
do virtually all the testing without actually needing a setup like this.
ben
Index: select.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/Attic/select.c,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 select.c
--- select.c 2000/07/13 09:06:35 1.1.2.3
+++ select.c 2000/07/14 03:40:55
@@ -133,8 +133,10 @@
/* We couldn't. Try for a generic type instead. */
value = assq_no_quit (target_type, Qnil);
-
- return convert_selection (selection_symbol, value, target_type, 0);
+
+ /* #### URK! This should convert out AND in, and we shouldn't
+ be doing all this bizarre frobbing in the C code. */
+ return convert_selection (selection_symbol, value, target_type, 1);
}
return Qnil;
Michael Harnois wrote:
Earlier today I updated my 21.2 tree from CVS. When I next started I
was invited to upgrade my ~/.emacs file to ~/.xemacs/init.el and
custom.el. I don't know if that's pertinent to what follows or not.
Now, when attempting to send a forward in gnus, I find myself accosted
with the message
Signaling: (selection-conversion-error "selection owner couldn't convert"
CLIPBOARD _EMACS_INTERNAL)
get-selection-internal(CLIPBOARD _EMACS_INTERNAL)
xselect-kill-buffer-hook-1(CLIPBOARD)
xselect-kill-buffer-hook()
kill-buffer(#<buffer " *temp*<2>">)
byte-code("..." [buffer-name temp-buffer kill-buffer] 2)
mml-generate-mime-1((part (type . "text/plain") (contents . "On Thu, 13
Jul 2000 20:40:02 -0400, \"Pastor Robert White\" <xrredeem(a)erie.net>
said:\n\n > when I mentioned the date to bishop Spring, he was until that\n >
moment, being, among other things, computer challenged, unaware\n > of the
date.\n\nHe didn't know what the date of Epiphany is?\n\n-- \nMichael D. Harnois,
Redeemer Lutheran Church, Washburn, IA \nmdharnois(a)home.com
aa0bt(a)aa0bt.ampr.org \n \"Believe those who are seeking the truth. \n Doubt those
who find it.\" -- Andre Gide\n")))
mml-generate-mime()
message-encode-message-body()
message-send-mail(nil)
message-send-via-mail(nil)
message-send(nil)
message-send-and-exit(nil)
call-interactively(message-send-and-exit)
and thenceforth I am screwed. I can't even quit out of gnus.
--
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/