From 65dad34af68691b0c9ff6c3d2fe042210726512d Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 2 Oct 2007 02:13:15 +0000 Subject: [PATCH] (get_window_cursor_type): Implement documented behavior for cursor-in-non-selected-windows = t. --- src/ChangeLog | 5 +++++ src/xdisp.c | 24 ++++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 0c79acd6b45..068ad522546 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2007-10-02 Richard Stallman + + * xdisp.c (get_window_cursor_type): Implement documented behavior + for cursor-in-non-selected-windows = t. + 2007-09-29 Juri Linkov * emacs.c (standard_args): Change priority of "--no-splash" diff --git a/src/xdisp.c b/src/xdisp.c index a1c027b895e..ab4263fd83c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -21299,7 +21299,7 @@ get_window_cursor_type (w, glyph, width, active_cursor) non_selected = 1; } - /* Nonselected window or nonselected frame. */ + /* Detect a nonselected window or nonselected frame. */ else if (w != XWINDOW (f->selected_window) #ifdef HAVE_WINDOW_SYSTEM || f != FRAME_X_DISPLAY_INFO (f)->x_highlight_frame @@ -21318,13 +21318,6 @@ get_window_cursor_type (w, glyph, width, active_cursor) if (NILP (b->cursor_type)) return NO_CURSOR; - /* Use cursor-in-non-selected-windows for non-selected window or frame. */ - if (non_selected) - { - alt_cursor = b->cursor_in_non_selected_windows; - return get_specified_cursor_type (alt_cursor, width); - } - /* Get the normal cursor type for this window. */ if (EQ (b->cursor_type, Qt)) { @@ -21334,6 +21327,21 @@ get_window_cursor_type (w, glyph, width, active_cursor) else cursor_type = get_specified_cursor_type (b->cursor_type, width); + /* Use cursor-in-non-selected-windows instead + for non-selected window or frame. */ + if (non_selected) + { + alt_cursor = b->cursor_in_non_selected_windows; + if (!EQ (Qt, alt_cursor)) + return get_specified_cursor_type (alt_cursor, width); + /* t means modify the normal cursor type. */ + if (cursor_type == FILLED_BOX_CURSOR) + cursor_type = HOLLOW_BOX_CURSOR; + else if (cursor_type == BAR_CURSOR && *width > 1) + --*width; + return cursor_type; + } + /* Use normal cursor if not blinked off. */ if (!w->cursor_off_p) { -- 2.39.2