changeset 40728:cd732a04b136

(x_display_and_set_cursor): Use buffer-local value of `cursor-in-non-selected-windows'.
author Richard M. Stallman <rms@gnu.org>
date Mon, 05 Nov 2001 00:14:31 +0000
parents 3edec01a7255
children 650fb912b343
files src/w32term.c src/xterm.c
diffstat 2 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32term.c	Mon Nov 05 00:13:53 2001 +0000
+++ b/src/w32term.c	Mon Nov 05 00:14:31 2001 +0000
@@ -9492,6 +9492,7 @@
   struct glyph_matrix *current_glyphs;
   struct glyph_row *glyph_row;
   struct glyph *glyph;
+  int cursor_non_selected;
   int active_cursor = 1;
 
   /* This is pointless on invisible frames, and dangerous on garbaged
@@ -9528,6 +9529,9 @@
      the cursor type given by the frame parameter.  If explicitly
      marked off, draw no cursor.  In all other cases, we want a hollow
      box cursor.  */
+  cursor_non_selected 
+    = !NILP (Fbuffer_local_value (Qcursor_in_non_selected_windows
+				  w->buffer));
   new_cursor_width = -1;
   if (cursor_in_echo_area
       && FRAME_HAS_MINIBUF_P (f)
@@ -9546,11 +9550,10 @@
       if (f != FRAME_W32_DISPLAY_INFO (f)->w32_highlight_frame
           || w != XWINDOW (f->selected_window))
         {
-	  extern int cursor_in_non_selected_windows;
 	  active_cursor = 0;
 
           if (MINI_WINDOW_P (w) 
-              || !cursor_in_non_selected_windows
+              || !cursor_non_selected
               || NILP (XBUFFER (w->buffer)->cursor_type))
             new_cursor_type = NO_CURSOR;
           else
--- a/src/xterm.c	Mon Nov 05 00:13:53 2001 +0000
+++ b/src/xterm.c	Mon Nov 05 00:14:31 2001 +0000
@@ -11460,6 +11460,7 @@
   struct glyph_matrix *current_glyphs;
   struct glyph_row *glyph_row;
   struct glyph *glyph;
+  int cursor_non_selected;
 
   /* This is pointless on invisible frames, and dangerous on garbaged
      windows and frames; in the latter case, the frame or window may
@@ -11495,6 +11496,9 @@
      the cursor type given by the frame parameter.  If explicitly
      marked off, draw no cursor.  In all other cases, we want a hollow
      box cursor.  */
+  cursor_non_selected 
+    = !NILP (Fbuffer_local_value (Qcursor_in_non_selected_windows,
+				  w->buffer));
   new_cursor_width = -1;
   if (cursor_in_echo_area
       && FRAME_HAS_MINIBUF_P (f)
@@ -11502,7 +11506,7 @@
     {
       if (w == XWINDOW (echo_area_window))
 	new_cursor_type = FRAME_DESIRED_CURSOR (f);
-      else if (cursor_in_non_selected_windows)
+      else if (cursor_non_selected)
 	new_cursor_type = HOLLOW_BOX_CURSOR;
       else
 	new_cursor_type = NO_CURSOR;
@@ -11512,10 +11516,8 @@
       if (f != FRAME_X_DISPLAY_INFO (f)->x_highlight_frame
 	  || w != XWINDOW (f->selected_window))
 	{
-	  extern int cursor_in_non_selected_windows;
-	  
 	  if (MINI_WINDOW_P (w)
-	      || !cursor_in_non_selected_windows
+	      || !cursor_non_selected
 	      || NILP (XBUFFER (w->buffer)->cursor_type))
 	    new_cursor_type = NO_CURSOR;
 	  else