bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13623: 24.3.50; Redisplay issue with transient-mark-mode


From: Dmitry Antipov
Subject: bug#13623: 24.3.50; Redisplay issue with transient-mark-mode
Date: Tue, 05 Feb 2013 08:54:05 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2

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







reply via email to

[Prev in Thread] Current Thread [Next in Thread]