Jan>
Jan> I suspect that for some reason compose_status is not right, around
Jan> line 6276 there is a break that in effect ignores key presses.
Good guess. It seems as if the data in compose_status wont be changed when
I press e.g. an arrow key. Therefore if I try to press an arrow key right
after finishing a compose sequence compose_status.chars_matched is still set
to 3. Thus the if statement, you pointed me to, will be executed:
if (compose_status.chars_matched > 0 && nbytes == 0)
break;
It works, if I reset compose_status, once a compose sequence is complete,
i.e. if I change the line above to (not very nice, I know, since it uses the
internals of compose_status):
Does this patch work?
Index: xterm.c
*** xterm.c.~1.867.~ 2005-06-13 17:46:19.000000000 +0200
--- xterm.c 2005-06-13 17:43:14.000000000 +0200
***************
*** 6281,6286 ****
--- 6281,6287 ----
if (compose_status.chars_matched > 0 && nbytes == 0)
break;
+ bzero (&compose_status, sizeof (compose_status));
orig_keysym = keysym;
/* Common for all keysym input events. */
Jan D.
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel