diff options
| author | Gerd Moellmann <gerd@gnu.org> | 2000-02-05 16:50:32 +0000 |
|---|---|---|
| committer | Gerd Moellmann <gerd@gnu.org> | 2000-02-05 16:50:32 +0000 |
| commit | 59ddecde2a4f18fd12ae9a0ffb0089861f00f8cf (patch) | |
| tree | d0fb416bcdb6d892d880f6287ca0689c420a5f8b | |
| parent | 71e1147d35b7832e855650e33cd627162b59a7cb (diff) | |
| download | emacs-59ddecde2a4f18fd12ae9a0ffb0089861f00f8cf.tar.gz | |
* xterm.c (x_display_and_set_cursor): Set pre-edit area.
(x_display_cursor): Don't set it here.
(XTread_socket) [HAVE_X_I18N] <KeyPress, KeyRelease>: Don't
dispatch the event.
| -rw-r--r-- | src/ChangeLog | 8 | ||||
| -rw-r--r-- | src/xterm.c | 31 |
2 files changed, 28 insertions, 11 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 470f5ec9aec..9bc3d6ab634 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp> + + * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit + area. + (x_display_cursor) [HAVE_X_I18N]: Don't set it here. + (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't + dispatch the event. + 2000-02-04 Dave Love <fx@gnu.org> * fileio.c: Remove some unused vars. diff --git a/src/xterm.c b/src/xterm.c index bb011dd7136..b632859249c 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -9490,10 +9490,24 @@ XTread_socket (sd, bufp, numchars, expected) else abort (); } +#ifdef HAVE_X_I18N + /* Don't dispatch this event since XtDispatchEvent calls + XFilterEvent, and two calls in a row may freeze the + client. */ + break; +#else goto OTHER; +#endif case KeyRelease: +#ifdef HAVE_X_I18N + /* Don't dispatch this event since XtDispatchEvent calls + XFilterEvent, and two calls in a row may freeze the + client. */ + break; +#else goto OTHER; +#endif /* Here's a possible interpretation of the whole FocusIn-EnterNotify FocusOut-LeaveNotify mess. If @@ -10387,6 +10401,12 @@ x_display_and_set_cursor (w, on, hpos, vpos, x, y) default: abort (); } + +#ifdef HAVE_X_I18N + if (w == XWINDOW (f->selected_window)) + if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMPreeditPosition)) + xic_set_preeditarea (w, x, y); +#endif } #ifndef XFlush @@ -10409,17 +10429,6 @@ x_display_cursor (w, on, hpos, vpos, x, y) { BLOCK_INPUT; x_display_and_set_cursor (w, on, hpos, vpos, x, y); - -#ifdef HAVE_X_I18N - { - struct frame *f = XFRAME (w->frame); - - if (w == XWINDOW (f->selected_window)) - if (FRAME_XIC (f) && (FRAME_XIC_STYLE (f) & XIMPreeditPosition)) - xic_set_preeditarea (w, x, y); - } -#endif - UNBLOCK_INPUT; } |
