[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: address@hidden: Re: mode-line redisplay bug]
From: |
YAMAMOTO Mitsuharu |
Subject: |
Re: address@hidden: Re: mode-line redisplay bug] |
Date: |
Thu, 13 Oct 2005 17:22:35 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/22.0.50 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
>>>>> On Wed, 12 Oct 2005 15:42:31 +0200, address@hidden (Kim F. Storm) said:
> I think your change was pretty close to being ok. Here is something
> which seems to work for me on X -- maybe you can install it and
> adapt it to W32 and MAC if it works for you too.
The same change seems to work for Mac, too. Thanks. I'm not sure
about W32: it looks slightly different from others (help_echo_string
is not cleared before note_mouse_movement is called).
YAMAMOTO Mitsuharu
address@hidden
Index: src/macterm.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/macterm.c,v
retrieving revision 1.137
diff -c -r1.137 macterm.c
*** src/macterm.c 12 Oct 2005 12:18:18 -0000 1.137
--- src/macterm.c 13 Oct 2005 08:04:17 -0000
***************
*** 4149,4155 ****
static Point last_mouse_motion_position;
static Lisp_Object last_mouse_motion_frame;
! static void
note_mouse_movement (frame, pos)
FRAME_PTR frame;
Point *pos;
--- 4149,4155 ----
static Point last_mouse_motion_position;
static Lisp_Object last_mouse_motion_frame;
! static int
note_mouse_movement (frame, pos)
FRAME_PTR frame;
Point *pos;
***************
*** 4180,4198 ****
rif->define_frame_cursor (frame,
frame->output_data.mac->nontext_cursor);
}
}
/* Has the mouse moved off the glyph it was on at the last sighting? */
! else if (pos->h < last_mouse_glyph.left
! || pos->h >= last_mouse_glyph.right
! || pos->v < last_mouse_glyph.top
! || pos->v >= last_mouse_glyph.bottom)
{
frame->mouse_moved = 1;
last_mouse_scroll_bar = Qnil;
note_mouse_highlight (frame, pos->h, pos->v);
/* Remember which glyph we're now on. */
remember_mouse_glyph (frame, pos->h, pos->v, &last_mouse_glyph);
}
}
--- 4180,4201 ----
rif->define_frame_cursor (frame,
frame->output_data.mac->nontext_cursor);
}
+ return 1;
}
/* Has the mouse moved off the glyph it was on at the last sighting? */
! if (pos->h < last_mouse_glyph.left
! || pos->h >= last_mouse_glyph.right
! || pos->v < last_mouse_glyph.top
! || pos->v >= last_mouse_glyph.bottom)
{
frame->mouse_moved = 1;
last_mouse_scroll_bar = Qnil;
note_mouse_highlight (frame, pos->h, pos->v);
/* Remember which glyph we're now on. */
remember_mouse_glyph (frame, pos->h, pos->v, &last_mouse_glyph);
+ return 1;
}
+ return 0;
}
***************
*** 10031,10038 ****
er.where.h + 1, er.where.v + 1);
#endif
previous_help_echo_string = help_echo_string;
! help_echo_string = help_echo_object = help_echo_window = Qnil;
! help_echo_pos = -1;
if (dpyinfo->grabbed && last_mouse_frame
&& FRAME_LIVE_P (last_mouse_frame))
--- 10034,10040 ----
er.where.h + 1, er.where.v + 1);
#endif
previous_help_echo_string = help_echo_string;
! help_echo_string = Qnil;
if (dpyinfo->grabbed && last_mouse_frame
&& FRAME_LIVE_P (last_mouse_frame))
***************
*** 10091,10097 ****
last_window=window;
}
! note_mouse_movement (f, &mouse_pos);
}
}
--- 10093,10100 ----
last_window=window;
}
! if (!note_mouse_movement (f, &mouse_pos))
! help_echo_string = previous_help_echo_string;
}
}
- Re: address@hidden: Re: mode-line redisplay bug], (continued)
Re: address@hidden: Re: mode-line redisplay bug], David PONCE, 2005/10/12
Re: address@hidden: Re: mode-line redisplay bug], David PONCE, 2005/10/12