# HG changeset patch # User Richard M. Stallman # Date 1191291185 0 # Node ID 7b327487dde9baa149886ec1e18b0e837a40ab9e # Parent c63646f9d98b450ecff586ba53900d9e87b6f6ca (get_window_cursor_type): Implement documented behavior for cursor-in-non-selected-windows = t. diff -r c63646f9d98b -r 7b327487dde9 src/xdisp.c --- 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) {