changeset 98159:6a5fd5a377c2

(scan_for_column): Don't handle automatic composition if the current buffer is not associated with a window.
author Kenichi Handa <handa@m17n.org>
date Fri, 12 Sep 2008 06:13:36 +0000
parents f9f157d63fd1
children 51ea1846eb9f
files src/indent.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/indent.c	Fri Sep 12 05:42:28 2008 +0000
+++ b/src/indent.c	Fri Sep 12 06:13:36 2008 +0000
@@ -533,6 +533,8 @@
   register struct Lisp_Char_Table *dp = buffer_display_table ();
   int multibyte = !NILP (current_buffer->enable_multibyte_characters);
   struct composition_it cmp_it;
+  Lisp_Object window;
+  struct window *w;
 
   /* Start the scan at the beginning of this line with column number 0.  */
   register EMACS_INT col = 0, prev_col = 0;
@@ -549,6 +551,9 @@
   next_boundary = scan;
   }
 
+  window = Fget_buffer_window (Fcurrent_buffer (), Qnil);
+  w = ! NILP (window) ? XWINDOW (window) : NULL;
+
   if (tab_width <= 0 || tab_width > 1000) tab_width = 8;
   bzero (&cmp_it, sizeof cmp_it);
   cmp_it.id = -1;
@@ -597,7 +602,7 @@
       if (cmp_it.id >= 0
 	  || (scan == cmp_it.stop_pos
 	      && composition_reseat_it (&cmp_it, scan, scan_byte, end,
-					XWINDOW (selected_window), NULL, Qnil)))
+					w, NULL, Qnil)))
 	composition_update_it (&cmp_it, scan, scan_byte, Qnil);
       if (cmp_it.id >= 0)
 	{