From: Gerd Moellmann Date: Sat, 5 Feb 2000 16:50:32 +0000 (+0000) Subject: * xterm.c (x_display_and_set_cursor): Set pre-edit area. X-Git-Tag: emacs-pretest-21.0.90~5089 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=59ddecde2a4f18fd12ae9a0ffb0089861f00f8cf;p=emacs.git * xterm.c (x_display_and_set_cursor): Set pre-edit area. (x_display_cursor): Don't set it here. (XTread_socket) [HAVE_X_I18N] : Don't dispatch the event. --- 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 + + * 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]: : Don't + dispatch the event. + 2000-02-04 Dave Love * 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; }