From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: YAMAMOTO Mitsuharu Newsgroups: gmane.emacs.devel Subject: Re: [hober0@bogus.example.com: Re: mode-line redisplay bug] Date: Thu, 13 Oct 2005 17:22:35 +0900 Organization: Faculty of Science, Chiba University Message-ID: References: <4972532.1129117678134.JavaMail.www@wwinf0103> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Trace: sea.gmane.org 1129197158 2067 80.91.229.2 (13 Oct 2005 09:52:38 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 13 Oct 2005 09:52:38 +0000 (UTC) Cc: david.ponce@wanadoo.fr, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 13 11:52:30 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EPzkF-0005Ej-7p for ged-emacs-devel@m.gmane.org; Thu, 13 Oct 2005 11:51:27 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EPzkE-0007Ao-1S for ged-emacs-devel@m.gmane.org; Thu, 13 Oct 2005 05:51:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EPyO9-0005Y5-7X for emacs-devel@gnu.org; Thu, 13 Oct 2005 04:24:35 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EPyNx-0005Rv-4x for emacs-devel@gnu.org; Thu, 13 Oct 2005 04:24:21 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EPyMH-0004zV-8N for emacs-devel@gnu.org; Thu, 13 Oct 2005 04:22:37 -0400 Original-Received: from [133.82.132.2] (helo=mathmail.math.s.chiba-u.ac.jp) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EPyMG-0003GU-S5 for emacs-devel@gnu.org; Thu, 13 Oct 2005 04:22:37 -0400 Original-Received: from church.math.s.chiba-u.ac.jp (church [133.82.132.36]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id B3BF22CAA; Thu, 13 Oct 2005 17:22:35 +0900 (JST) Original-To: storm@cua.dk (Kim F. Storm) In-Reply-To: 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) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:43974 Archived-At: >>>>> On Wed, 12 Oct 2005 15:42:31 +0200, storm@cua.dk (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 mituharu@math.s.chiba-u.ac.jp 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; } }