[Top][All Lists]
[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.
*/);
- [Emacs-diffs] Changes to emacs/src/w32fns.c,
Richard M. Stallman <=