GNU bug report logs -
#13623
24.3.50; Redisplay issue with transient-mark-mode
Previous Next
Reported by: Lawrence Mitchell <wence <at> gmx.li>
Date: Sun, 3 Feb 2013 22:08:02 UTC
Severity: normal
Found in version 24.3.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #19 received at 13623 <at> debbugs.gnu.org (full text, mbox):
On 02/04/2013 07:49 PM, Eli Zaretskii wrote:
> Dmitry, this bug and also 13626 were both caused by your changes in
> revision 111647. While the reason for the changes was to use non-Lisp
> objects for some fields, several hunks in the changeset had no
> relation whatsoever to that, and were highly questionable. Example:
>
> - /* If showing the region, and mark has changed, we must redisplay
> - the whole window. The assignment to this_line_start_pos prevents
> - the optimization directly below this if-statement. */
> - if (((!NILP (Vtransient_mark_mode)
> - && !NILP (BVAR (XBUFFER (w->buffer), mark_active)))
> - != !NILP (w->region_showing))
> - || (!NILP (w->region_showing)
> - && !EQ (w->region_showing,
> - Fmarker_position (BVAR (XBUFFER (w->buffer), mark)))))
> - CHARPOS (this_line_start_pos) = 0;
Hm. Although this is an obvious bug, are you sure that we must redisplay
the whole window even if the region doesn't span multiple lines? IIUC
it should be enough to redisplay the current line only.
Dmitry
This bug report was last modified 12 years and 193 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.