changeset 47132:0841c154439c

These changes consolidates the handling of the cursor type in xdisp.c, moving duplicate code and functionality from xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
author Kim F. Storm <storm@cua.dk>
date Fri, 30 Aug 2002 11:58:54 +0000
parents a37d2dd10e3e
children 85e238cd7287
files src/ChangeLog
diffstat 1 files changed, 89 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Fri Aug 30 11:51:56 2002 +0000
+++ b/src/ChangeLog	Fri Aug 30 11:58:54 2002 +0000
@@ -1,3 +1,92 @@
+2002-08-30  Kim F. Storm  <storm@cua.dk>
+
+	The following changes consolidates the handling of the cursor
+	type in xdisp.c, moving duplicate code and functionality from
+	xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
+
+	* frame.h (enum text_cursor_kinds): Consolidated here.
+	Added DEFAULT_CURSOR value.
+	(struct frame) <desired_cursor, cursor_width>
+	<blink_off_cursor, blink_off_cursor_width>: New fields.
+	Consolidated from output_x, output_w32 and output_mac structs.
+	(FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
+	(FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
+
+	* xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
+	Variables consolidated here.
+	(Valternate_cursor_type, Qalternate_cursor_type): New variables.
+	(Vcursor_in_non_selected_windows): Renamed from
+	cursor_in_non_selected_windows and changed to Lisp_Object.
+	(syms_of_xdisp): Define and staticpro new and moved variables.
+	(get_specified_cursor_type): Renamed from x_specified_cursor_type;
+	consolidated here.  Recognize Qhollow setting.
+	(set_frame_cursor_types): New function to set frame cursor types
+	based on the frame parameters.
+	(get_window_cursor_type): New function to calculate new cursor
+	type and width for the specified window.  Based on duplicated
+	code consolidated here.
+	Enhancements: cursor-in-non-selected-windows may be a cursor type,
+	check buffer-local alternate-cursor-type and blink-cursor-alist
+	before using built-in blink off methods.
+
+	* dispextern.h (cursor_in_non_selected_windows): Extern removed.
+
+	* lisp.h (Qcursor_in_non_selected_windows): Extern removed.
+	(get_specified_cursor_type, get_window_cursor_type)
+	(set_frame_cursor_types): Added prototypes.
+
+	* macfns.c (x_specified_cursor_type): Removed.
+	(x_set_cursor_type): Use set_frame_cursor_types.
+
+	* macterm.c (x_specified_cursor_type): Remove prototype.
+	(x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
+	(x_display_and_set_cursor): Use get_window_cursor_type.
+	Remove unused local variables cursor_non_selected, active_cursor.
+	Redraw cursor if hbar cursor width changes.
+	(make_mac_frame): Set FRAME_DESIRED_CURSOR.
+
+	* macterm.h (enum text_cursor_kinds): Removed.
+	(struct output_mac) <current_cursor, desired_cursor, cursor_width>
+	<blink_off_cursor, blink_off_cursor_width>: Members removed.
+	(FRAME_DESIRED_CURSOR): Macro removed.
+	
+	* w32fns.c (Vblink_cursor_alist): Removed.
+	(Qbar, Qhbar, Qbox, Qhollow): Removed.
+	(syms_of_w32fns): Don't intern, staticpro, or define them.
+	(x_specified_cursor_type): Removed.
+	(x_set_cursor_type): Use set_frame_cursor_types.
+
+	* w32term.c (x_specified_cursor_type): Remove prototype.
+	(x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
+	(x_display_and_set_cursor): Use get_window_cursor_type.
+	Remove unused local variables cursor_off_state.
+	Redraw cursor if hbar cursor width changes.
+
+	* w32term.h (enum text_cursor_kinds): Removed.
+	(struct output_w32) <current_cursor, desired_cursor, cursor_width>
+	<blink_off_cursor, blink_off_cursor_width>: Members removed.
+	(FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
+	(FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
+	
+	* xfns.c (Vblink_cursor_alist): Removed.
+	(Qbar, Qhbar, Qbox, Qhollow): Removed.
+	(syms_of_xfns): Don't intern, staticpro, or define them.
+	(x_specified_cursor_type): Removed.
+	(x_set_cursor_type): Use set_frame_cursor_types.
+
+	* xterm.c (x_specified_cursor_type): Remove prototype.
+	(x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
+	(x_display_and_set_cursor): Use get_window_cursor_type.
+	Remove unused local variables cursor_off_state.
+	Redraw cursor if hbar cursor width changes.
+
+	* xterm.h (enum text_cursor_kinds): Removed.
+	(struct output_x) <current_cursor, desired_cursor, cursor_width>
+	<blink_off_cursor, blink_off_cursor_width>: Members removed.
+	(FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
+	(FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
+	(x_specified_cursor_type): Remove prototype.
+	
 2002-08-28  Richard M. Stallman  <rms@gnu.org>
 
 	* w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and