+2002-01-20 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (w32_system_caret_width): Remove.
+ (w32_use_visible_system_caret): New user flag.
+ (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
+ Windows reports a screen reader running.
+ (x_update_window_begin): Hide the system caret.
+ (x_update_window_end): Show the system caret.
+ (x_display_and_set_cursor): Don't draw a cursor when
+ w32_use_visible_system_caret is set. Do not adjust width.
+
+ * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
+ (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
+ <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
+ the user requests it. Use system default width when creating.
+ <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
+
+ * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET): New
+ window messages.
+
2002-01-20 Richard M. Stallman <rms@gnu.org>
* window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.