emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32fns.c


From: Richard M. Stallman
Subject: [Emacs-diffs] Changes to emacs/src/w32fns.c
Date: Thu, 29 Aug 2002 10:37:34 -0400

Index: emacs/src/w32fns.c
diff -c emacs/src/w32fns.c:1.180 emacs/src/w32fns.c:1.181
*** emacs/src/w32fns.c:1.180    Tue Jul 16 11:49:59 2002
--- emacs/src/w32fns.c  Thu Aug 29 10:37:33 2002
***************
*** 202,210 ****
  #define VIETNAMESE_CHARSET 163
  #endif
  
  Lisp_Object Qauto_raise;
  Lisp_Object Qauto_lower;
! Lisp_Object Qbar, Qhbar;
  Lisp_Object Qborder_color;
  Lisp_Object Qborder_width;
  Lisp_Object Qbox;
--- 202,213 ----
  #define VIETNAMESE_CHARSET 163
  #endif
  
+ /* How to blink the cursor off.  */
+ Lisp_Object Vblink_cursor_alist;
+ 
  Lisp_Object Qauto_raise;
  Lisp_Object Qauto_lower;
! Lisp_Object Qbar, Qhbar, Qbox, Qhollow;
  Lisp_Object Qborder_color;
  Lisp_Object Qborder_width;
  Lisp_Object Qbox;
***************
*** 2386,2396 ****
      }
    else if (NILP (arg))
      type = NO_CURSOR;
    else
!     /* Treat anything unknown as "box cursor".
         It was bad to signal an error; people have trouble fixing
         .Xdefaults with Emacs, when it has something bad in it.  */
!     type = FILLED_BOX_CURSOR;
  
    return type;
  }
--- 2389,2401 ----
      }
    else if (NILP (arg))
      type = NO_CURSOR;
+   else if (EQ (arg, Qbox))
+     type = FILLED_BOX_CURSOR;
    else
!     /* Treat anything unknown as "hollow box cursor".
         It was bad to signal an error; people have trouble fixing
         .Xdefaults with Emacs, when it has something bad in it.  */
!     type = HOLLOW_BOX_CURSOR;
  
    return type;
  }
***************
*** 2401,2413 ****
       Lisp_Object arg, oldval;
  {
    int width;
!   
    FRAME_DESIRED_CURSOR (f) = x_specified_cursor_type (arg, &width);
    f->output_data.w32->cursor_width = width;
  
    /* Make sure the cursor gets redrawn.  This is overkill, but how
       often do people change cursor types?  */
    update_mode_lines++;
  }
  
  void
--- 2406,2439 ----
       Lisp_Object arg, oldval;
  {
    int width;
!   Lisp_Object tem;
! 
    FRAME_DESIRED_CURSOR (f) = x_specified_cursor_type (arg, &width);
    f->output_data.w32->cursor_width = width;
  
    /* Make sure the cursor gets redrawn.  This is overkill, but how
       often do people change cursor types?  */
    update_mode_lines++;
+ 
+   /* By default, set up the blink-off state depending on the on-state.  */
+ 
+   if (FRAME_DESIRED_CURSOR (f) == FILLED_BOX_CURSOR)
+     FRAME_BLINK_OFF_CURSOR (f) = HOLLOW_BOX_CURSOR;
+   else if (FRAME_DESIRED_CURSOR (f) == BAR_CURSOR && FRAME_CURSOR_WIDTH (f) > 
1)
+     {
+       FRAME_BLINK_OFF_CURSOR (f) = BAR_CURSOR;
+       FRAME_BLINK_OFF_CURSOR_WIDTH (f) = 1;
+     }
+   else
+     FRAME_BLINK_OFF_CURSOR (f) = NO_CURSOR;
+ 
+   tem = Fassoc (arg, Vblink_cursor_alist);
+   if (!NILP (tem))
+     {
+       FRAME_BLINK_OFF_CURSOR (f)
+       = x_specified_cursor_type (XCDR (tem), &width);
+       f->output_data.w32->blink_off_cursor_width = width;
+     }
  }
  
  void
***************
*** 14870,14875 ****
--- 14896,14905 ----
    staticpro (&Qbar);
    Qhbar = intern ("hbar");
    staticpro (&Qhbar);
+   Qbox = intern ("box");
+   staticpro (&Qbox);
+   Qhollow = intern ("hollow");
+   staticpro (&Qhollow);
    Qborder_color = intern ("border-color");
    staticpro (&Qborder_color);
    Qborder_width = intern ("border-width");
***************
*** 15109,15114 ****
--- 15139,15152 ----
    w32_pass_extra_mouse_buttons_to_system = 0;
  
    init_x_parm_symbols ();
+ 
+   DEFVAR_LISP ("blink-cursor-alist", &Vblink_cursor_alist,
+     doc: /* Alist specifying how to blink the cursor off.
+ Each element has the form (ON-STATE . OFF-STATE).  Whenever the
+ `cursor-type' frame-parameter or variable equals ON-STATE,
+ comparing using `equal', Emacs uses OFF-STATE to specify
+ how to blink it off.  */);
+   Vblink_cursor_alist = Qnil;
  
    DEFVAR_LISP ("x-bitmap-file-path", &Vx_bitmap_file_path,
               doc: /* List of directories to search for bitmap files for w32.  
*/);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]