X errors with latest code

Glynn Clements glynn at gclements.plus.com
Tue Sep 13 05:30:00 EDT 2011


Raymond Toy wrote:

> After updating to the latest code (3bc58dc9d688+), I notice that now I'm
> getting lots of X Errors like so:
> 
> X Error of failed request:  BadWindow (invalid Window parameter)
>   Major opcode of failed request:  18 (X_ChangeProperty)
>   Resource id in failed request:  0x2a0015e
>   Serial number of failed request:  7637
>   Current serial number in output stream:  7638
> X Error of failed request:  BadWindow (invalid Window parameter)
>   Major opcode of failed request:  25 (X_SendEvent)
>   Resource id in failed request:  0x2a0015e
>   Serial number of failed request:  7638
>   Current serial number in output stream:  7638
> 
> These are 100% repeatable, and here's the recipe.
> 
> Run xemacs -vanilla.  In the *scratch* buffer, type in a few characters.
> Then press M-BS (backward-kill-word).  This will generate the two X error
> messages above.  You don't have to do M-BS.  You can do M-x
> backward-kill-word too.  forward-kill-word also causes an X error.  So does
> kill-ring-save (M-w) and kill-line (C-k).  But BS and C-d do not cause an
> error.

This looks like clipboard-related breakage. "Large" kills copy to the
kill-ring, single-character kills don't.

The kill-ring is is sync'd to the clipboard by default, so if there's
a problem with the clipboard (e.g. it's owned by a non-existent
window), you get errors whenever something is copied to the kill-ring.

You can "disconnect" the kill-ring from the clipboard with:

	(setq interprogram-cut-function nil
	      interprogram-paste-function nil)

Most cut/copy/paste operations will then be internal to XEmacs. You
can still copy/paste to/from the clipboard using C-insert/Sh-insert.

-- 
Glynn Clements <glynn at gclements.plus.com>



More information about the XEmacs-Beta mailing list