# HG changeset patch # User Stefan Monnier # Date 1135979315 0 # Node ID 52bbc53dbce1beb5fe329534da3642b5387350b2 # Parent 83b7f7a9b7c969c6a9233f9675d73f09b53d52e6 (visible_cursor): New boolean var. (set_terminal_modes, tty_show_cursor): Use "vs" or "ve" depending on visible_cursor. (syms_of_term): Export the new var as "visible-cursor". diff -r 83b7f7a9b7c9 -r 52bbc53dbce1 src/ChangeLog --- a/src/ChangeLog Fri Dec 30 17:28:30 2005 +0000 +++ b/src/ChangeLog Fri Dec 30 21:48:35 2005 +0000 @@ -1,3 +1,10 @@ +2005-12-30 Stefan Monnier + + * term.c (visible_cursor): New boolean var. + (set_terminal_modes, tty_show_cursor): Use "vs" or "ve" depending on + visible_cursor. + (syms_of_term): Export the new var as "visible-cursor". + 2005-12-30 Eli Zaretskii * .gdbinit: Tell users not to worry about GDB warnings that some diff -r 83b7f7a9b7c9 -r 52bbc53dbce1 src/term.c --- a/src/term.c Fri Dec 30 17:28:30 2005 +0000 +++ b/src/term.c Fri Dec 30 21:48:35 2005 +0000 @@ -87,6 +87,10 @@ Lisp_Object Vring_bell_function; +/* If true, use "vs", otherwise use "ve" to make the cursor visible. */ + +static int visible_cursor; + /* Terminal characteristics that higher levels want to look at. These are all extern'd in termchar.h */ @@ -460,7 +464,7 @@ putchar ('\n'); } - OUTPUT_IF (TS_cursor_visible); + OUTPUT_IF (visible_cursor ? TS_cursor_visible : TS_cursor_normal); OUTPUT_IF (TS_keypad_mode); losecursor (); } @@ -615,7 +619,8 @@ { tty_cursor_hidden = 0; OUTPUT_IF (TS_cursor_normal); - OUTPUT_IF (TS_cursor_visible); + if (visible_cursor) + OUTPUT_IF (TS_cursor_visible); } } @@ -2726,6 +2731,13 @@ The function should accept no arguments. */); Vring_bell_function = Qnil; + DEFVAR_BOOL ("visible-cursor", &visible_cursor, + doc: /* Non-nil means to make the cursor very visible. +This only has an effect when running in a text terminal. +What means \"very visible\" is up to your terminal. It may make the cursor +bigger, or it may make it blink, or it may do nothing at all. */); + visible_cursor = 1; + defsubr (&Stty_display_color_p); defsubr (&Stty_display_color_cells); defsubr (&Stty_no_underline);