summaryrefslogtreecommitdiff
path: root/src/xfns.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-03-18 03:26:17 +0000
committerRichard M. Stallman <rms@gnu.org>1996-03-18 03:26:17 +0000
commit8002fc9cccb6b0f708c13ccf6715a3ae3b760acc (patch)
treeb49ef62d9f2d2a162b938673154daa3f5415a2a1 /src/xfns.c
parente894bf8d16c3e90076f8bb7d9d0a38b5636a4100 (diff)
downloademacs-8002fc9cccb6b0f708c13ccf6715a3ae3b760acc.tar.gz
(X_I18N_INHIBITED): New macro--define this
instead of undefining HAVE_X_I18N. (x_window) [HAVE_X_I18N]: Set FRAME_XIM. [X_I18N_INHIBITED]: Set FRAME_XIM and FRAME_XIC to 0.
Diffstat (limited to 'src/xfns.c')
-rw-r--r--src/xfns.c28
1 files changed, 23 insertions, 5 deletions
diff --git a/src/xfns.c b/src/xfns.c
index bade5b56765..2f832cfed61 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -44,7 +44,7 @@ extern void abort ();
/* On some systems, the character-composition stuff is broken in X11R5. */
#if defined (HAVE_X11R5) && ! defined (HAVE_X11R6)
#ifdef X11R5_INHIBIT_I18N
-#undef HAVE_X_I18N
+#define X_I18N_INHIBITED
#endif
#endif
@@ -2656,6 +2656,7 @@ x_window (f, window_prompting, minibuffer_only)
XSetClassHint (FRAME_X_DISPLAY (f), XtWindow (shell_widget), &class_hints);
#ifdef HAVE_X_I18N
+#ifndef X_I18N_INHIBITED
{
XIM xim;
XIC xic = NULL;
@@ -2671,11 +2672,19 @@ x_window (f, window_prompting, minibuffer_only)
NULL);
if (xic == 0)
- XCloseIM (xim);
+ {
+ XCloseIM (xim);
+ xim = NULL;
+ }
}
+ FRAME_XIM (f) = xim;
FRAME_XIC (f) = xic;
}
-#endif
+#else /* X_I18N_INHIBITED */
+ FRAME_XIM (f) = 0;
+ FRAME_XIC (f) = 0;
+#endif /* X_I18N_INHIBITED */
+#endif /* HAVE_X_I18N */
f->output_data.x->wm_hints.input = True;
f->output_data.x->wm_hints.flags |= InputHint;
@@ -2769,6 +2778,7 @@ x_window (f)
FRAME_X_DISPLAY_INFO (f)->visual,
attribute_mask, &attributes);
#ifdef HAVE_X_I18N
+#ifndef X_I18N_INHIBITED
{
XIM xim;
XIC xic = NULL;
@@ -2784,12 +2794,20 @@ x_window (f)
NULL);
if (!xic)
- XCloseIM (xim);
+ {
+ XCloseIM (xim);
+ xim = NULL;
+ }
}
+ FRAME_XIM (f) = xim;
FRAME_XIC (f) = xic;
}
-#endif
+#else /* X_I18N_INHIBITED */
+ FRAME_XIM (f) = 0;
+ FRAME_XIC (f) = 0;
+#endif /* X_I18N_INHIBITED */
+#endif /* HAVE_X_I18N */
validate_x_resource_name ();