Mercurial > emacs
changeset 78942:7b327487dde9
(get_window_cursor_type): Implement documented behavior
for cursor-in-non-selected-windows = t.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 02 Oct 2007 02:13:05 +0000 |
parents | c63646f9d98b |
children | 5e10d0eef68f |
files | src/xdisp.c |
diffstat | 1 files changed, 16 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Tue Oct 02 02:04:48 2007 +0000 +++ b/src/xdisp.c Tue Oct 02 02:13:05 2007 +0000 @@ -21299,7 +21299,7 @@ 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 @@ 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 @@ 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) {