bug#3686: 23.1.50; Sticky mouse-face highlighting

Stephen Berman <[email protected]>
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
1. Create the file ~/test.el with this content:

(setq diary-display-function 'diary-fancy-display
      diary-number-of-entries 7)

2. Create the file ~/diary with this content:

Jun 26, 2009 10:00 This is a test
Jun 27, 2009 10:00 This is a test
Jun 28, 2009 10:00 This is a test
Jun 29, 2009 10:00 This is a test

3. emacs -Q -l ~/test.el

4. `M-x diary' pops up a fancy diary buffer with this content (line
numbers added for subsequent reference):

1    Friday, June 26, 2009
2    =====================
3    10:00 This is a test
4    
5    Saturday, June 27, 2009
6    =======================
7    10:00 This is a test
8    
9    Sunday, June 28, 2009
10   =====================
11   10:00 This is a test
12   
13   Monday, June 29, 2009
14   =====================
15   10:00 This is a test
16

5. Move the mouse pointer over the fancy diary buffer.
=> As expected, line 3, 7, 11, and 15 have mouse-face highlighting when
   the mouse pointer moves over them.  However, lines 4, 8, and 12 (but
   not 16) also get mouse-face highlighting, and it remains when the
   mouse pointer moves off of those lines.

I suspect this bug is due to this change:

2009-06-22  Chong Yidong  <[email protected]>

	* w32term.c (x_draw_glyph_string): Use the glyph string's width
	rather than its background_width for drawing the overline and
	underline (Bug#489).

	* xterm.c (x_draw_glyph_string): Use the glyph string's width
	rather than its background_width for drawing the overline and
	underline (Bug#489).
	(xg_default_icon_file): New variable.
	(syms_of_xterm): Initialize it to the Emacs SVG icon file.
	(x_bitmap_icon): Under GTK, use xg_default_icon_file.

	* xdisp.c (Qbefore_string, Qafter_string): Add externs.
	(load_overlay_strings): Remove externs.
	(fast_find_position): Function deleted.
	(mouse_face_from_buffer_pos): New function, based on
	fast_find_position.  Correctly handle before-strings,
	display-strings, and after-strings (Bug#1220).
	(note_mouse_highlight): Use mouse_face_from_buffer_pos.

since it does not happen with my previous build before this change, but
I don't have time right now to confirm this by reverting the change.


In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
 of 2009-06-23 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.10502000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.