unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region
@ 2009-05-22  2:54 YAMAMOTO Mitsuharu
  2009-05-23  2:00 ` YAMAMOTO Mitsuharu
  2020-09-14 14:44 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 8+ messages in thread
From: YAMAMOTO Mitsuharu @ 2009-05-22  2:54 UTC (permalink / raw)
  To: emacs-pretest-bug

Mouse dragging over a text in the default face causes unnecessary
updates in other windows displaying the same buffer.

Steps to reproduce:

  1. Invoke "Quartz Debug.app" on Mac OS X and check the "Flash screen
     updates" button.
  2. $ emacs -Q -D
  3. C-x 2
  4. Drag the mouse over the *scratch* buffer text in the first
     window.

Result:

  The text not only in the first window but also the other one is
  flashed whereas the latter doesn't need updates.  The flashed area
  corresponds to the extended/shrunken part of the region in the first
  window.

The updates in the second window do not happen if the text is in
non-default face (e.g., start with "emacs -Q" instead of "emacs -Q
-D").

I can't observe this phenomenon on Emacs 22.3.

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp

In GNU Emacs 23.0.93.1 (powerpc-apple-darwin9.6.0, X toolkit)
 of 2009-05-22 on yamamoto-mitsuharu-no-power-mac-g5.local
Windowing system distributor `The X.Org Foundation', version 11.0.10402000
configured using `configure  '--without-jpeg' '--without-gif' '--without-tiff''

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: ja_JP.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region
  2009-05-22  2:54 bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region YAMAMOTO Mitsuharu
@ 2009-05-23  2:00 ` YAMAMOTO Mitsuharu
  2020-09-14 14:44 ` Lars Ingebrigtsen
  1 sibling, 0 replies; 8+ messages in thread
From: YAMAMOTO Mitsuharu @ 2009-05-23  2:00 UTC (permalink / raw)
  To: 3347

>>>>> On Fri, 22 May 2009 11:54:58 +0900, YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> said:

> Mouse dragging over a text in the default face causes unnecessary
> updates in other windows displaying the same buffer.

> Steps to reproduce:

>   1. Invoke "Quartz Debug.app" on Mac OS X and check the "Flash screen
>      updates" button.
>   2. $ emacs -Q -D
>   3. C-x 2
>   4. Drag the mouse over the *scratch* buffer text in the first
>      window.

> Result:

>   The text not only in the first window but also the other one is
>   flashed whereas the latter doesn't need updates.  The flashed area
>   corresponds to the extended/shrunken part of the region in the first
>   window.

> The updates in the second window do not happen if the text is in
> non-default face (e.g., start with "emacs -Q" instead of "emacs -Q
> -D").

> I can't observe this phenomenon on Emacs 22.3.

I tried some older versions and found that the change below made the
difference.

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp

2008-07-08  Chong Yidong  <cyd@stupidchicken.com>

	* xfaces.c (Finternal_merge_in_global_face): Save merged
	attributes for the default face back into the face vector.

--- xfaces.c	2008/07/06 03:51:06	1.404
+++ xfaces.c	2008/07/08 17:27:28	1.405
@@ -3966,7 +3966,7 @@
     else if (! UNSPECIFIEDP (gvec[i]))
       lvec[i] = gvec[i];
 
-  /* If the default face was changed, realize it again, and update the
+  /* If the default face was changed, update the face cache and the
      `font' frame parameter.  */
   if (EQ (face, Qdefault))
     {
@@ -3977,9 +3977,12 @@
       /* This can be NULL (e.g., in batch mode).  */
       if (oldface)
 	{
+	  /* Ensure that the face vector is fully specified by merging
+	     the previously-cached vector.  */
 	  bcopy (oldface->lface, attrs, sizeof attrs);
 	  merge_face_vectors (f, lvec, attrs, 0);
-	  newface = realize_face (c, attrs, DEFAULT_FACE_ID);
+	  bcopy (attrs, lvec, sizeof attrs);
+	  newface = realize_face (c, lvec, DEFAULT_FACE_ID);
 
 	  if ((! UNSPECIFIEDP (gvec[LFACE_FAMILY_INDEX])
 	       || ! UNSPECIFIEDP (gvec[LFACE_FOUNDRY_INDEX])





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region
@ 2009-06-10 16:50 Chong Yidong
  2009-06-11  0:28 ` YAMAMOTO Mitsuharu
  0 siblings, 1 reply; 8+ messages in thread
From: Chong Yidong @ 2009-06-10 16:50 UTC (permalink / raw)
  To: YAMAMOTO Mitsuharu; +Cc: 3347

> Mouse dragging over a text in the default face causes unnecessary
> updates in other windows displaying the same buffer.
>
> I tried some older versions and found that the change below made the
> difference.
>
> 2008-07-08  Chong Yidong  <cyd@stupidchicken.com>
>
>             * xfaces.c (Finternal_merge_in_global_face): Save merged
>             attributes for the default face back into the face vector.

I don't see why.  Is Finternal_merge_in_global_face called when you
perform mouse dragging?  It should not be (and on my current GNU/Linux
build it isn't).





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region
  2009-06-10 16:50 Chong Yidong
@ 2009-06-11  0:28 ` YAMAMOTO Mitsuharu
  0 siblings, 0 replies; 8+ messages in thread
From: YAMAMOTO Mitsuharu @ 2009-06-11  0:28 UTC (permalink / raw)
  To: Chong Yidong; +Cc: 3347

>>>>> On Wed, 10 Jun 2009 12:50:23 -0400, Chong Yidong <cyd@stupidchicken.com> said:

>> Mouse dragging over a text in the default face causes unnecessary
>> updates in other windows displaying the same buffer.
>>
>> I tried some older versions and found that the change below made the
>> difference.
>>
>> 2008-07-08  Chong Yidong  <cyd@stupidchicken.com>
>>
>>             * xfaces.c (Finternal_merge_in_global_face): Save merged
>>             attributes for the default face back into the face vector.

> I don't see why.  Is Finternal_merge_in_global_face called when you
> perform mouse dragging?  It should not be (and on my current GNU/Linux
> build it isn't).

No.  The breakpoint didn't hit during mouse dragging.

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region
  2009-05-22  2:54 bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region YAMAMOTO Mitsuharu
  2009-05-23  2:00 ` YAMAMOTO Mitsuharu
@ 2020-09-14 14:44 ` Lars Ingebrigtsen
  2020-09-16  4:25   ` YAMAMOTO Mitsuharu
  2020-12-09 15:11   ` Lars Ingebrigtsen
  1 sibling, 2 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2020-09-14 14:44 UTC (permalink / raw)
  To: YAMAMOTO Mitsuharu; +Cc: 3347

YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> writes:

> Mouse dragging over a text in the default face causes unnecessary
> updates in other windows displaying the same buffer.
>
> Steps to reproduce:
>
>   1. Invoke "Quartz Debug.app" on Mac OS X and check the "Flash screen
>      updates" button.
>   2. $ emacs -Q -D
>   3. C-x 2
>   4. Drag the mouse over the *scratch* buffer text in the first
>      window.

(This was 11 years ago.)

The Quartz Debug app doesn't seem to exist on Macos any more, so I'm
unable to try the recipe.

Do you still see this problem in more recent versions of Emacs?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region
  2020-09-14 14:44 ` Lars Ingebrigtsen
@ 2020-09-16  4:25   ` YAMAMOTO Mitsuharu
  2020-12-09 15:11   ` Lars Ingebrigtsen
  1 sibling, 0 replies; 8+ messages in thread
From: YAMAMOTO Mitsuharu @ 2020-09-16  4:25 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 3347

On Mon, 14 Sep 2020 23:44:39 +0900,
Lars Ingebrigtsen wrote:
> 
> YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> writes:
> 
> > Mouse dragging over a text in the default face causes unnecessary
> > updates in other windows displaying the same buffer.
> >
> > Steps to reproduce:
> >
> >   1. Invoke "Quartz Debug.app" on Mac OS X and check the "Flash screen
> >      updates" button.
> >   2. $ emacs -Q -D
> >   3. C-x 2
> >   4. Drag the mouse over the *scratch* buffer text in the first
> >      window.
> 
> (This was 11 years ago.)
> 
> The Quartz Debug app doesn't seem to exist on Macos any more, so I'm
> unable to try the recipe.

It is now included in "Additional Tools for Xcode", which can be
downloaded from https://developer.apple.com/download/more/ (You might
need to sign in with your Apple ID.)


> Do you still see this problem in more recent versions of Emacs?

Yes, but you need to disable double-buffering with
(set-frame-paremter nil 'inhibit-double-buffering t) .
Otherwise, Quartz Debug thinks the whole frame is updated.

				     YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region
  2020-09-14 14:44 ` Lars Ingebrigtsen
  2020-09-16  4:25   ` YAMAMOTO Mitsuharu
@ 2020-12-09 15:11   ` Lars Ingebrigtsen
  2020-12-09 16:39     ` Lars Ingebrigtsen
  1 sibling, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2020-12-09 15:11 UTC (permalink / raw)
  To: YAMAMOTO Mitsuharu; +Cc: 3347

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Do you still see this problem in more recent versions of Emacs?

More information was requested, but no response was given within a few
months, so I'm closing this bug report.  If the problem still exists,
please respond to this email and we'll reopen the bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region
  2020-12-09 15:11   ` Lars Ingebrigtsen
@ 2020-12-09 16:39     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2020-12-09 16:39 UTC (permalink / raw)
  To: YAMAMOTO Mitsuharu; +Cc: 3347

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Lars Ingebrigtsen <larsi@gnus.org> writes:
>
>> Do you still see this problem in more recent versions of Emacs?
>
> More information was requested, but no response was given within a few
> months, so I'm closing this bug report.  If the problem still exists,
> please respond to this email and we'll reopen the bug report.

Sorry; this was closed by mistake; reopening.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-12-09 16:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-22  2:54 bug#3347: 23.0.93; unnecessary display updates with mouse-drag-region YAMAMOTO Mitsuharu
2009-05-23  2:00 ` YAMAMOTO Mitsuharu
2020-09-14 14:44 ` Lars Ingebrigtsen
2020-09-16  4:25   ` YAMAMOTO Mitsuharu
2020-12-09 15:11   ` Lars Ingebrigtsen
2020-12-09 16:39     ` Lars Ingebrigtsen
  -- strict thread matches above, loose matches on Subject: below --
2009-06-10 16:50 Chong Yidong
2009-06-11  0:28 ` YAMAMOTO Mitsuharu

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).