changeset 98156:464ec62a612c

(composition_reseat_it): If the current buffer is not associated with a window, ignore the automatic composition. (find_automatic_composition): Likewise.
author Kenichi Handa <handa@m17n.org>
date Fri, 12 Sep 2008 05:38:37 +0000
parents 314662df7c17
children 341fda75581f
files src/composite.c
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/composite.c	Fri Sep 12 04:10:59 2008 +0000
+++ b/src/composite.c	Fri Sep 12 05:38:37 2008 +0000
@@ -1093,7 +1093,7 @@
       cmp_it->nchars = end - start;
       cmp_it->nglyphs = composition_table[cmp_it->id]->glyph_len;
     }
-  else
+  else if (w)
     {
       Lisp_Object val, elt;
       int i;
@@ -1119,6 +1119,8 @@
 	  break;
       cmp_it->nglyphs = i;
     }
+  else
+    goto no_composition;
   cmp_it->from = 0;
   return 1;
 
@@ -1255,8 +1257,14 @@
   Lisp_Object check_val, val, elt;
   int check_lookback;
   int c;
+  Lisp_Object window;
   struct window *w;
 
+  window = Fget_buffer_create (Fcurrent_buffer ());
+  if (NILP (window))
+    return 0;
+  w = XWINDOW (window);
+
   orig.pos = pos;
   if (NILP (string))
     {
@@ -1279,7 +1287,6 @@
     {
       tail = min (tail, limit + 3);
     }
-  w = XWINDOW (selected_window);
   cur = orig;
 
  retry: