Mercurial > emacs
changeset 47993:5dcac67745dc
(get_window_cursor_type): New arg ACTIVE_CURSOR.
Callers changed (supply dummy arg).
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Thu, 24 Oct 2002 19:59:14 +0000 |
parents | 3762c0399817 |
children | f0fe517ae1cf |
files | src/macterm.c src/xdisp.c src/xterm.c |
diffstat | 3 files changed, 21 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/macterm.c Thu Oct 24 19:58:23 2002 +0000 +++ b/src/macterm.c Thu Oct 24 19:59:14 2002 +0000 @@ -9298,6 +9298,7 @@ struct frame *f = XFRAME (w->frame); int new_cursor_type; int new_cursor_width; + int active_cursor; struct glyph_matrix *current_glyphs; struct glyph_row *glyph_row; struct glyph *glyph; @@ -9331,7 +9332,7 @@ xassert (interrupt_input_blocked); /* Set new_cursor_type to the cursor we want to be displayed. */ - new_cursor_type = get_window_cursor_type (w, &new_cursor_width); + new_cursor_type = get_window_cursor_type (w, &new_cursor_width, &active_cursor); /* If cursor is currently being shown and we don't want it to be or
--- a/src/xdisp.c Thu Oct 24 19:58:23 2002 +0000 +++ b/src/xdisp.c Thu Oct 24 19:59:14 2002 +0000 @@ -15288,17 +15288,22 @@ } -/* Return the cursor we want to be displayed. In a mini-buffer - window, we want the cursor only to appear if we are reading input - from this window. For the selected window, we want the cursor type - given by the frame parameter or buffer local setting of - cursor-type. If explicitly marked off, draw no cursor. In all - other cases, we want a hollow box cursor. */ +/* Return the cursor we want to be displayed in window W. Return + width of bar/hbar cursor through WIDTH arg. Return with + ACTIVE_CURSOR arg set to 1 if cursor in window W is `active' + (i.e. if the `system caret' should track this cursor). + + In a mini-buffer window, we want the cursor only to appear if we + are reading input from this window. For the selected window, we + want the cursor type given by the frame parameter or buffer local + setting of cursor-type. If explicitly marked off, draw no cursor. + In all other cases, we want a hollow box cursor. */ enum text_cursor_kinds -get_window_cursor_type (w, width) +get_window_cursor_type (w, width, active_cursor) struct window *w; int *width; + int *active_cursor; { struct frame *f = XFRAME (w->frame); struct buffer *b = XBUFFER (w->buffer); @@ -15306,6 +15311,8 @@ Lisp_Object alt_cursor; int non_selected = 0; + *active_cursor = 1; + /* Echo area */ if (cursor_in_echo_area && FRAME_HAS_MINIBUF_P (f) @@ -15317,6 +15324,7 @@ return FRAME_DESIRED_CURSOR (f); } + *active_cursor = 0; non_selected = 1; } @@ -15327,6 +15335,8 @@ #endif ) { + *active_cursor = 0; + if (MINI_WINDOW_P (w) && minibuf_level == 0) return NO_CURSOR;
--- a/src/xterm.c Thu Oct 24 19:58:23 2002 +0000 +++ b/src/xterm.c Thu Oct 24 19:59:14 2002 +0000 @@ -11802,6 +11802,7 @@ struct frame *f = XFRAME (w->frame); int new_cursor_type; int new_cursor_width; + int active_cursor; struct glyph_matrix *current_glyphs; struct glyph_row *glyph_row; struct glyph *glyph; @@ -11835,7 +11836,7 @@ xassert (interrupt_input_blocked); /* Set new_cursor_type to the cursor we want to be displayed. */ - new_cursor_type = get_window_cursor_type (w, &new_cursor_width); + new_cursor_type = get_window_cursor_type (w, &new_cursor_width, &active_cursor); /* If cursor is currently being shown and we don't want it to be or it is in the wrong place, or the cursor type is not what we want,