[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/msdos.c
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/src/msdos.c |
Date: |
Thu, 28 Feb 2002 20:06:02 -0500 |
Index: emacs/src/msdos.c
diff -c emacs/src/msdos.c:1.162 emacs/src/msdos.c:1.163
*** emacs/src/msdos.c:1.162 Sat Feb 16 14:23:16 2002
--- emacs/src/msdos.c Sat Feb 16 18:57:34 2002
***************
*** 1181,1189 ****
Mouse Highlight (and friends..)
************************************************************************/
- /* This is used for debugging, to turn off note_mouse_highlight. */
- int disable_mouse_highlight;
-
/* If non-nil, dos_rawgetc generates an event to display that string.
(The display is done in keyboard.c:read_char, by calling
show_help_echo.) */
--- 1181,1186 ----
***************
*** 1242,1247 ****
--- 1239,1247 ----
/* There's no sense to do anything if the mouse face isn't realized. */
if (hl > 0)
{
+ if (dpyinfo->mouse_face_hidden)
+ goto set_cursor_shape;
+
fp = FACE_FROM_ID (SELECTED_FRAME(), dpyinfo->mouse_face_face_id);
if (!fp)
goto set_cursor_shape;
***************
*** 1496,1502 ****
if (mouse_preempted)
return;
! if (disable_mouse_highlight
|| !f->glyphs_initialized_p)
return;
--- 1496,1502 ----
if (mouse_preempted)
return;
! if (NILP (Vmouse_highlight)
|| !f->glyphs_initialized_p)
return;
***************
*** 2591,2596 ****
--- 2591,2597 ----
the_only_x_display.display_info.mouse_face_mouse_x =
the_only_x_display.display_info.mouse_face_mouse_y = 0;
the_only_x_display.display_info.mouse_face_defer = 0;
+ the_only_x_display.display_info.mouse_face_hidden = 0;
init_frame_faces (sf);
***************
*** 3161,3166 ****
--- 3162,3168 ----
{
struct input_event event;
union REGS regs;
+ struct display_info *dpyinfo = FRAME_X_DISPLAY_INFO (SELECTED_FRAME());
#ifndef HAVE_X_WINDOWS
/* Maybe put the cursor where it should be. */
***************
*** 3370,3376 ****
make_event:
if (code == 0)
continue;
!
if (code >= 0x100)
event.kind = non_ascii_keystroke;
else
--- 3372,3384 ----
make_event:
if (code == 0)
continue;
!
! if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight))
! {
! dpyinfo->mouse_face_hidden = 1;
! clear_mouse_face (dpyinfo);
! }
!
if (code >= 0x100)
event.kind = non_ascii_keystroke;
else
***************
*** 3395,3400 ****
--- 3403,3414 ----
might need to update mouse highlight. */
if (mouse_last_x != mouse_prev_x || mouse_last_y != mouse_prev_y)
{
+ if (dpyinfo->mouse_face_hidden)
+ {
+ dpyinfo->mouse_face_hidden = 0;
+ clear_mouse_face (dpyinfo);
+ }
+
if (x_autoselect_window_p)
{
int mouse_area;
***************
*** 3419,3424 ****
--- 3433,3439 ----
}
else
last_mouse_window = Qnil;
+
previous_help_echo = help_echo;
help_echo = help_echo_object = help_echo_window = Qnil;
help_echo_pos = -1;