From unknown Fri Sep 19 06:16:32 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#39188 <39188@debbugs.gnu.org> To: bug#39188 <39188@debbugs.gnu.org> Subject: Status: 28.0.50; w32 cursor redisplay problem Reply-To: bug#39188 <39188@debbugs.gnu.org> Date: Fri, 19 Sep 2025 13:16:32 +0000 retitle 39188 28.0.50; w32 cursor redisplay problem reassign 39188 emacs submitter 39188 Fabrice Popineau severity 39188 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 04:17:25 2020 Received: (at submit) by debbugs.gnu.org; 19 Jan 2020 09:17:25 +0000 Received: from localhost ([127.0.0.1]:42618 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1it6hx-0008QB-7g for submit@debbugs.gnu.org; Sun, 19 Jan 2020 04:17:25 -0500 Received: from lists.gnu.org ([209.51.188.17]:53679) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1it6hv-0008Q2-2P for submit@debbugs.gnu.org; Sun, 19 Jan 2020 04:17:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46355) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1it6ht-0006qa-17 for bug-gnu-emacs@gnu.org; Sun, 19 Jan 2020 04:17:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,DC_PNG_UNO_LARGO, FREEMAIL_FROM,HTML_MESSAGE,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1it6hr-00043A-3q for bug-gnu-emacs@gnu.org; Sun, 19 Jan 2020 04:17:20 -0500 Received: from mail-qv1-xf2a.google.com ([2607:f8b0:4864:20::f2a]:36671) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1it6hq-00042p-Q6 for bug-gnu-emacs@gnu.org; Sun, 19 Jan 2020 04:17:19 -0500 Received: by mail-qv1-xf2a.google.com with SMTP id m14so12720393qvl.3 for ; Sun, 19 Jan 2020 01:17:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=eBRG1al7lf+o6ZoC9QHas6NIP5fkHPV6K6L0Onh4zEA=; b=VgZqZhupfY2M+Gcj8RF8AM8Be1YnxxkqiRcgNxHB6J6ceoKKOQDejYqBL9pcINCtgz OLVnd60/i1P5/t4A5YrPh2gLrOci0m9lwsJbEHzqaszbA/loPf0kKZCefiPlyrqsOfY/ MiGjnDt7HDwZSH3S+2EKceKKiJhW3k1sJJe2f0fBW/AoQPikJgexows+a7ww9nDADnlR l59X5KyDW40f7Fdb25AmM75MNsqz71uMJujdNM93fj0BmaQD1OIejPBid9NK2ZVyvcX2 RU6LReCKWjkaY/UmH5cxc3zD5EaQ+a6pw6dsjT4228C1DSxN5h0y86ax3N/NckVj3E3C iGFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=eBRG1al7lf+o6ZoC9QHas6NIP5fkHPV6K6L0Onh4zEA=; b=S3x2+pXXj4SLNcWUZlEHQhJCwOJbRxoACE11HslWhxh4ITtVnEG6p0MK285QN9p/hK cS3VLbeXbVT0+f1jSZPXM/eg90NAt82icJwm0Mzb6cB3QQU0ueDCNBAXMjVgaqnKojw+ N1LPN6NkYDZiLE5xEOvv0qAyGuiKmjstYZd1WcGf/XGHvuDUeCXkdr0xwn79X4B+7xQu VKL1LlwzTPcCXfnliINW8AjGwB4ajZh5dEl4L2oABAzB2KIgS5/wRnukmbeUYGI9uHx9 8LFN5Gz2V2e/yW8t4WWhHFVMOFlbTdVAbPjl+09VRAsRuk+6c8lr/ZyIRWaLqjkBu0pc A5pA== X-Gm-Message-State: APjAAAV8Bdobk7bFZwY0Xs1thWSJMqlo+IV8PiA9FMIFsGk1mNBo852b dQGKMwMFszmcj1xSk1pc+TPSpHJps3OhdJIddp2hscLQ0nXlGA== X-Google-Smtp-Source: APXvYqwe7Msbq4V6+csZveK22CPiFPmsRBhqtFfGSc0WGQghU5G6HqHdAOJBDsYc9OaCHD/holqml5FpKm1yfOVV43M= X-Received: by 2002:a0c:e58e:: with SMTP id t14mr15268225qvm.131.1579425437095; Sun, 19 Jan 2020 01:17:17 -0800 (PST) MIME-Version: 1.0 From: Fabrice Popineau Date: Sun, 19 Jan 2020 10:17:01 +0100 Message-ID: Subject: 28.0.50; w32 cursor redisplay problem To: bug-gnu-emacs@gnu.org Content-Type: multipart/related; boundary="00000000000020b445059c7aa4b0" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::f2a X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --00000000000020b445059c7aa4b0 Content-Type: multipart/alternative; boundary="00000000000020b444059c7aa4af" --00000000000020b444059c7aa4af Content-Type: text/plain; charset="UTF-8" With the current master (and for a couple of months), I observe this redisplay problem where moving the cursor up or down, when the buffer is scrolled, the cursor may leave some ghost trace. This is with w32-use-visible-system-caret set to t. It seems the problem does not happen if this variable is set to nil. Picture with several traces of the cursor : [image: image.png] Best regards, Fabrice In GNU Emacs 28.0.50 (build 1, x86_64-w64-mingw32) of 2020-01-18 built on MARVIN Repository revision: 17db2bd9c17c84c647d8093a7f03f1b0a55ddcc4 Repository branch: windows Windowing system distributor 'Microsoft Corp.', version 10.0.19041 System Description: Microsoft Windows 10 Education (v10.0.2004.19041.21) Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Making completion list... [2 times] previous-line: Beginning of buffer [21 times] Unable to read file "c:/Home/Org/templates/level-0.org" [2 times] previous-line: Beginning of buffer [18 times] Making completion list... previous-line: Beginning of buffer [30 times] Making completion list... user-error: End of history; no default available Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND DBUS NOTIFY W32NOTIFY ACL GNUTLS LIBXML2 HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER LCMS2 GMP Important settings: value of $LANG: fr_FR locale-coding-system: cp1252 Major mode: Org Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug sendmail tango-dark-theme ffap thingatpt org-element avl-tree generator ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir gnus-sum url url-proxy url-privacy url-expand url-methods url-history mailcap shr url-cookie url-domsuf url-util url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs json map url-vars svg xml dom browse-url gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time iso8601 gnus-spec gnus-int gnus-range message rmc puny rfc822 mml mml-sec password-cache epa derived epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums text-property-search seq byte-opt gv bytecomp byte-compile cconv mail-utils mm-util mail-prsvr wid-edit ol-docview doc-view jka-compr image-mode exif dired dired-loaddefs ol-bibtex bibtex ol-bbdb ol-w3m org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-color ring org-list org-faces org-entities time-date subr-x org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat advice org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs vc-git diff-mode easymenu cl-loaddefs cl-lib bug-reference noutline outline easy-mmode tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads w32notify dbusbind w32 lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 167083 14304) (symbols 48 18300 1) (strings 32 60912 2917) (string-bytes 1 2024991) (vectors 16 29488) (vector-slots 8 331793 13298) (floats 8 191 294) (intervals 56 1214 0) (buffers 1000 14)) --00000000000020b444059c7aa4af Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
With the current master (and for a couple of months),= I observe this redisplay problem where moving the cursor up or down, when = the buffer is scrolled, the cursor may leave some ghost trace. This is with= w32-use-visible-system-caret set to t. It seems the problem does not happe= n if this variable is set to nil.

Picture with sev= eral traces of the cursor :
<= br>

Best regards,

Fabrice

In GNU Emacs 28.0.50 (build 1, x86_64-w64-mingw32)=
=C2=A0of 2020-01-18 built on MARVIN
Repository revision: 17db2bd9c17= c84c647d8093a7f03f1b0a55ddcc4
Repository branch: windows
Windowing sy= stem distributor 'Microsoft Corp.', version 10.0.19041
System De= scription: Microsoft Windows 10 Education (v10.0.2004.19041.21)

Rece= nt messages:
For information about GNU Emacs and the GNU system, type C-= h C-a.
Making completion list... [2 times]
previous-line: Beginning o= f buffer [21 times]
Unable to read file "c:/Home/Org/templates/level-0.org" [2 times]
previous-line= : Beginning of buffer [18 times]
Making completion list...
previous-l= ine: Beginning of buffer [30 times]
Making completion list...
user-er= ror: End of history; no default available

Configured features:
XP= M JPEG TIFF GIF PNG RSVG SOUND DBUS NOTIFY W32NOTIFY ACL GNUTLS
LIBXML2 = HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER
LCMS2 GMP=

Important settings:
=C2=A0 value of $LANG: fr_FR
=C2=A0 local= e-coding-system: cp1252

Major mode: Org

Minor modes in effect= :
=C2=A0 tooltip-mode: t
=C2=A0 global-eldoc-mode: t
=C2=A0 electr= ic-indent-mode: t
=C2=A0 mouse-wheel-mode: t
=C2=A0 tool-bar-mode: t<= br>=C2=A0 menu-bar-mode: t
=C2=A0 file-name-shadow-mode: t
=C2=A0 glo= bal-font-lock-mode: t
=C2=A0 font-lock-mode: t
=C2=A0 blink-cursor-mo= de: t
=C2=A0 auto-composition-mode: t
=C2=A0 auto-encryption-mode: t<= br>=C2=A0 auto-compression-mode: t
=C2=A0 line-number-mode: t
=C2=A0 = transient-mark-mode: t

Load-path shadows:
None found.

Feat= ures:
(shadow sort mail-extr emacsbug sendmail tango-dark-theme ffap thi= ngatpt
org-element avl-tree generator ol-eww ol-rmail ol-mhe ol-irc ol-i= nfo
ol-gnus nnir gnus-sum url url-proxy url-privacy url-expand url-metho= ds
url-history mailcap shr url-cookie url-domsuf url-util url-parse
a= uth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs json map
url-v= ars svg xml dom browse-url gnus-group gnus-undo gnus-start
gnus-cloud nn= imap nnmail mail-source utf7 netrc nnoo parse-time iso8601
gnus-spec gnu= s-int gnus-range message rmc puny rfc822 mml mml-sec
password-cache epa = derived epg epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 = mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util rmail r= mail-loaddefs rfc2047 rfc2045 ietf-drums
text-property-search seq byte-o= pt gv bytecomp byte-compile cconv
mail-utils mm-util mail-prsvr wid-edit= ol-docview doc-view jka-compr
image-mode exif dired dired-loaddefs ol-b= ibtex bibtex ol-bbdb ol-w3m org
ob ob-tangle ob-ref ob-lob ob-table ob-e= xp org-macro org-footnote
org-src ob-comint org-pcomplete pcomplete comi= nt ansi-color ring
org-list org-faces org-entities time-date subr-x org-= version
ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat a= dvice
org-macs org-loaddefs format-spec find-func cal-menu calendar
c= al-loaddefs vc-git diff-mode easymenu cl-loaddefs cl-lib bug-reference
n= outline outline easy-mmode tooltip eldoc electric uniquify ediff-hook
vc= -hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win
w3= 2-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt
fri= nge tabulated-list replace newcomment text-mode elisp-mode lisp-mode
pro= g-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select s= croll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-co= lors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang viet= namese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew= greek romanian slovak czech european ethiopic indian
cyrillic chinese c= omposite charscript charprop case-table epa-hook
jka-cmpr-hook help simp= le abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face ma= croexp files text-properties overlay sha1 md5
base64 format env code-pag= es mule custom widget hashtable-print-readable
backquote threads w32noti= fy dbusbind w32 lcms2 multi-tty
make-network-process emacs)

Memor= y information:
((conses 16 167083 14304)
=C2=A0(symbols 48 18300 1)=C2=A0(strings 32 60912 2917)
=C2=A0(string-bytes 1 2024991)
=C2=A0= (vectors 16 29488)
=C2=A0(vector-slots 8 331793 13298)
=C2=A0(floats = 8 191 294)
=C2=A0(intervals 56 1214 0)
=C2=A0(buffers 1000 14))
=

--00000000000020b444059c7aa4af-- --00000000000020b445059c7aa4b0 Content-Type: image/png; name="image.png" Content-Disposition: inline; filename="image.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_k5kt339o1 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 --00000000000020b445059c7aa4b0-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 10:22:34 2020 Received: (at 39188) by debbugs.gnu.org; 19 Jan 2020 15:22:34 +0000 Received: from localhost ([127.0.0.1]:43749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itCPK-0006eD-LX for submit@debbugs.gnu.org; Sun, 19 Jan 2020 10:22:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35819) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itCPI-0006dx-CB for 39188@debbugs.gnu.org; Sun, 19 Jan 2020 10:22:32 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36781) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1itCPD-0007K3-73; Sun, 19 Jan 2020 10:22:27 -0500 Received: from [176.228.60.248] (port=4421 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1itCPC-0007KW-J7; Sun, 19 Jan 2020 10:22:27 -0500 Date: Sun, 19 Jan 2020 17:22:31 +0200 Message-Id: <835zh7zd1k.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Sun, 19 Jan 2020 10:17:01 +0100) Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Fabrice Popineau > Date: Sun, 19 Jan 2020 10:17:01 +0100 > > With the current master (and for a couple of months), I observe this redisplay problem where moving the > cursor up or down, when the buffer is scrolled, the cursor may leave some ghost trace. This is with > w32-use-visible-system-caret set to t. It seems the problem does not happen if this variable is set to nil. Please show a reproduction recipe starting from "emacs -Q". Your image seems to show a trace on every line, which is not what I see here. What I see here is 2 artefacts: one in the middle of the window, another at its beginning, and this problem seems to have started with Emacs 25.1, not a few months ago. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 10:40:20 2020 Received: (at 39188) by debbugs.gnu.org; 19 Jan 2020 15:40:20 +0000 Received: from localhost ([127.0.0.1]:43763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itCgW-0000cr-JL for submit@debbugs.gnu.org; Sun, 19 Jan 2020 10:40:20 -0500 Received: from mail-qt1-f180.google.com ([209.85.160.180]:39713) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itCgU-0000cZ-G5 for 39188@debbugs.gnu.org; Sun, 19 Jan 2020 10:40:19 -0500 Received: by mail-qt1-f180.google.com with SMTP id e5so25774511qtm.6 for <39188@debbugs.gnu.org>; Sun, 19 Jan 2020 07:40:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=a9umDDFOXjEOIVEKxh+jasvLNTX1j2NrjjVQ42YHAXw=; b=qOw4lMRkGhryNJpQlmcGYqYtic9i4zsPFbeVb574OdaU1DImkyi34i8ZjADcGmatDn 6igese8RDw488OHJ3oa8aKEL9YyF3AAUBMRdoN8iBjngMYE87yFOu1R82nhwgQNYBtkS +kCJFZpHnyFMEaepp4gCnmTlo6AoOuCJQmxwk3sQjKYzGhxX0RDFvEcHmVIgnna1ywDl MzrTyTXW4Hj2VnQAs6nIaBUQoUHLt640m3fyDoK6Z25qkcVPOGfQ6zCcsjKLAWtxn+WL QRmUmBV5PXxwh3/b/LJR+8BMZYpt12lrduaGjvih7epN65dTy0FC5jyLEVTUk0HiWDze n7Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=a9umDDFOXjEOIVEKxh+jasvLNTX1j2NrjjVQ42YHAXw=; b=r1wTL8C7FFwD15xAaGja8hZPCuoQ8LiTI3Ws85zqTeHbTH5tCdxXofwTn0xd/SCN+d xbPYyOVdFvIq9gFVxifmDLkbJDitb16l/wrJLlD3pPCVr9ZridkyN69BQvktRb+pzMq1 VQE+hDYAptc9oiSAu92xXxscHEDP2SZOT4nqeu0kFvjQIwobtb05INYV84JdNRnqF0Db CZh/06uS8+i1nPan40RTi2i+CW0erFZS3XRfjFRVFVXn1uKah0c9KfR1WTb/lWL1ed9z trVM4TJe0UP5wU0rp0ZANJWNFqv1/qYTmbr8wDlQgwvE7e6/4sibOL6sa7glyRILBvk8 CY4w== X-Gm-Message-State: APjAAAWMBtUeIWe77XjYpzwZA7QztGEu7w8T/qFSZ27ewiK3gRAbPtOY qNb6/Zc00MjsHvcIzRdp+mUITn2g5hY0ttg2THo= X-Google-Smtp-Source: APXvYqx3d8V2QW81gDhiFTMXwHJbbV1pEA33yp5ORZ5zA152fWtMskuI3Si3TWkTk1L0iTpCdV4jtrd6/Z7ao6y9MUg= X-Received: by 2002:aed:20c3:: with SMTP id 61mr16946630qtb.392.1579448412905; Sun, 19 Jan 2020 07:40:12 -0800 (PST) MIME-Version: 1.0 References: <835zh7zd1k.fsf@gnu.org> In-Reply-To: <835zh7zd1k.fsf@gnu.org> From: Fabrice Popineau Date: Sun, 19 Jan 2020 16:39:56 +0100 Message-ID: Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem To: Eli Zaretskii Content-Type: multipart/alternative; boundary="00000000000097a6c7059c7ffdd3" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000097a6c7059c7ffdd3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le dim. 19 janv. 2020 =C3=A0 16:22, Eli Zaretskii a =C3=A9cr= it : > > From: Fabrice Popineau > > Date: Sun, 19 Jan 2020 10:17:01 +0100 > > > > With the current master (and for a couple of months), I observe this > redisplay problem where moving the > > cursor up or down, when the buffer is scrolled, the cursor may leave > some ghost trace. This is with > > w32-use-visible-system-caret set to t. It seems the problem does not > happen if this variable is set to nil. > > Please show a reproduction recipe starting from "emacs -Q". Your > image seems to show a trace on every line, which is not what I see > here. What I see here is 2 artefacts: one in the middle of the > window, another at its beginning, and this problem seems to have > started with Emacs 25.1, not a few months ago. > >From what I tried, it is not completely deterministic (or it depends on many parameters). Best bet to reproduce the problem: visit some long org file like or-manual.org from the org distribution, with 'emacs -Q', use C-S-tab 3 times to expand all headings and run sequences of C-n and C-p to force scrolling of the buffer. You should see those artefacts at some point. Fabrice --00000000000097a6c7059c7ffdd3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
Le=C2=A0dim. 19 janv. 2020 =C3=A0=C2= =A016:22, Eli Zaretskii <eliz@gnu.org> a =C3=A9crit=C2=A0:
> From: Fabrice Popineau <fabrice.popineau@gmail.com>
> Date: Sun, 19 Jan 2020 10:17:01 +0100
>
> With the current master (and for a couple of months), I observe this r= edisplay problem where moving the
> cursor up or down, when the buffer is scrolled, the cursor may leave s= ome ghost trace. This is with
> w32-use-visible-system-caret set to t. It seems the problem does not h= appen if this variable is set to nil.

Please show a reproduction recipe starting from "emacs -Q".=C2=A0= Your
image seems to show a trace on every line, which is not what I see
here.=C2=A0 What I see here is 2 artefacts: one in the middle of the
window, another at its beginning, and this problem seems to have
started with Emacs 25.1, not a few months ago.

From what I tried, it is not completely deterministic (or it depend= s on many parameters).
Best bet to reproduce the problem: visit s= ome long org file like or-manual.org f= rom the org distribution,
with 'emacs -Q',
use C-S-tab 3 times to expand all headings=C2=A0
and run sequence= s of C-n and C-p to force scrolling of the buffer.=C2=A0
You shou= ld see those artefacts at some point.

Fabrice

--00000000000097a6c7059c7ffdd3-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 11:11:27 2020 Received: (at 39188) by debbugs.gnu.org; 19 Jan 2020 16:11:28 +0000 Received: from localhost ([127.0.0.1]:43776 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itDAd-0001Lq-O2 for submit@debbugs.gnu.org; Sun, 19 Jan 2020 11:11:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38935) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itDAc-0001Le-65 for 39188@debbugs.gnu.org; Sun, 19 Jan 2020 11:11:26 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:37144) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1itDAX-0002wQ-3L; Sun, 19 Jan 2020 11:11:21 -0500 Received: from [176.228.60.248] (port=3622 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1itDAW-0008Cw-JC; Sun, 19 Jan 2020 11:11:20 -0500 Date: Sun, 19 Jan 2020 18:11:25 +0200 Message-Id: <83wo9nxw7m.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Sun, 19 Jan 2020 16:39:56 +0100) Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem References: <835zh7zd1k.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Fabrice Popineau > Date: Sun, 19 Jan 2020 16:39:56 +0100 > Cc: 39188@debbugs.gnu.org > > Please show a reproduction recipe starting from "emacs -Q". Your > image seems to show a trace on every line, which is not what I see > here. What I see here is 2 artefacts: one in the middle of the > window, another at its beginning, and this problem seems to have > started with Emacs 25.1, not a few months ago. > > From what I tried, it is not completely deterministic (or it depends on many parameters). > Best bet to reproduce the problem: visit some long org file like or-manual.org from the org distribution, > with 'emacs -Q', > use C-S-tab 3 times to expand all headings > and run sequences of C-n and C-p to force scrolling of the buffer. > You should see those artefacts at some point. Sorry, I don't. I only see one or 2 artefacts in the window, as I described. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 11:32:42 2020 Received: (at 39188) by debbugs.gnu.org; 19 Jan 2020 16:32:42 +0000 Received: from localhost ([127.0.0.1]:43781 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itDVC-0001qz-IC for submit@debbugs.gnu.org; Sun, 19 Jan 2020 11:32:42 -0500 Received: from mail-qt1-f171.google.com ([209.85.160.171]:35792) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itDVA-0001qm-JC for 39188@debbugs.gnu.org; Sun, 19 Jan 2020 11:32:41 -0500 Received: by mail-qt1-f171.google.com with SMTP id e12so25843682qto.2 for <39188@debbugs.gnu.org>; Sun, 19 Jan 2020 08:32:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=z89guxTZ/PRjy5RQKHi+pRydB7z9C3EaORWqdTCx7OU=; b=TD8CdK9cva7giIwb8I0N2kGAzfa1tErEsxrFURkSmzrYjbqh8CuL0DRBLYvUfKePOE UqChzyP33HzZopSO8TPflX/eLb5cnFn5T8zRi02V0Ih5yeYBkl9amm/d8OT4lV5Q1M/j HdiwJmli5YTtj53NsW3R++UTtk+u28y9tnLBR8gHx86fok3Q/YO68wmESKRaP8n+Xw8K 855R2sek7LYN4mB/zneG9MtF0sgL3Hy+PB8Pe9+1Kv/NZMPr3dH/LOoPt+bNqqSjKfjW JcdY5n8iyqjFuFDJQ1mnjO3bjGxoDIir4vZ66DF4o95rnqKHMKQY4qcFYJRBJrsMhrdE PNPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=z89guxTZ/PRjy5RQKHi+pRydB7z9C3EaORWqdTCx7OU=; b=MOhixNn8jHM1kV9GTcShVgC2b+v8d02eAE86CBec19iEuAR8WDCdBKwmGHyZkUHGUT s2YhOXWRCbvTY1FfV5QVOxCHzntlz57JbWB6GJTGVpFG6ZMkLg3/eHdX0WvjTXkC8THg HUNvDn7pti195BCyPPM5QSogIv9ut814Qf6E2K356XIc05QfwkTa2ds9Zg9gKPFVbgrw 1qx/NxgtdyIxUEasGfJ5JbA3k+ibwQR1hqcbs859rdnGw0KWrMo0xVzNqMrhv7s2905Z PjBjjTdBh0fP8zrl45e84VllggN7Zr5UETRcQmXhTFz1rmk4fhFHfm9zL+DLJFguTjNr mVZg== X-Gm-Message-State: APjAAAWqLoXUYLOPsJbiuAI+p3iJ8E0F16GcLj9houyhC23AGCsjIHS+ RMPW/tISOEsZPyN5LecNbwQPcJK+rQm5FJuUpxg= X-Google-Smtp-Source: APXvYqwF6GEdrMgDNwos+h5khdvQRjOtdFBb9KDxO9IuwR2jwrHwJCMRIYoixAdzuBMEuK1XUZpiM0G8olVPbdlCAVg= X-Received: by 2002:aed:20c3:: with SMTP id 61mr17113360qtb.392.1579451554787; Sun, 19 Jan 2020 08:32:34 -0800 (PST) MIME-Version: 1.0 References: <835zh7zd1k.fsf@gnu.org> <83wo9nxw7m.fsf@gnu.org> In-Reply-To: <83wo9nxw7m.fsf@gnu.org> From: Fabrice Popineau Date: Sun, 19 Jan 2020 17:32:17 +0100 Message-ID: Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem To: Eli Zaretskii Content-Type: multipart/related; boundary="000000000000dd1297059c80b839" X-Spam-Score: 1.6 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Le dim. 19 janv. 2020 à 17:11, Eli Zaretskii a écrit : > > Sorry, I don't. I only see one or 2 artefacts in the window, as I > described. > I should have added : try the cursor in column 12 or so, not at bol. Content analysis details: (1.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.160.171 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (fabrice.popineau[at]gmail.com) 0.0 HTML_MESSAGE BODY: HTML included in message 1.6 HTML_IMAGE_ONLY_12 BODY: HTML: images with 800-1200 bytes of words 0.0 HTML_IMAGE_RATIO_06 BODY: HTML has a low ratio of text to image area -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.160.171 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.6 (/) --000000000000dd1297059c80b839 Content-Type: multipart/alternative; boundary="000000000000dd1295059c80b838" --000000000000dd1295059c80b838 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le dim. 19 janv. 2020 =C3=A0 17:11, Eli Zaretskii a =C3=A9cr= it : > > Sorry, I don't. I only see one or 2 artefacts in the window, as I > described. > I should have added : try the cursor in column 12 or so, not at bol. [image: image.png] Like the one after Summary here? The cursor being at Manual, 1st line. What is annoying is that it gets worse with my usual setting. It seems like a race condition with something else. OTOH and luckily, there is nothing like that if w32-use-visible-system-caret is set to nil. Fabrice --000000000000dd1295059c80b838 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable



Le=C2=A0dim. 19 janv. 2020 =C3=A0=C2=A017:11, Eli Zaretskii <eliz@gnu.org> a =C3=A9= crit=C2=A0:

Sorry, I don't.=C2=A0 I only see one or 2 artefacts in the window, as I=
described.

I should have added : try th= e cursor in column 12 or so, not at bol.=C2=A0



Like the one afte= r Summary here? The cursor being at Manual, 1st line.
What is ann= oying is that it gets worse with my usual setting. It seems like=C2=A0
a race condition with something else.

OTOH a= nd luckily, there is nothing like that if w32-use-visible-system-caret is s= et to nil.

Fabrice



=C2=A0
--000000000000dd1295059c80b838-- --000000000000dd1297059c80b839 Content-Type: image/png; name="image.png" Content-Disposition: inline; filename="image.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_k5l8hg3f0 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 QAAEQGB5BP4/4xL6QRiJsI8AAAAASUVORK5CYII= --000000000000dd1297059c80b839-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 11:47:27 2020 Received: (at 39188) by debbugs.gnu.org; 19 Jan 2020 16:47:27 +0000 Received: from localhost ([127.0.0.1]:43792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itDjT-0002Bh-Ad for submit@debbugs.gnu.org; Sun, 19 Jan 2020 11:47:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42846) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itDjR-0002BJ-4y for 39188@debbugs.gnu.org; Sun, 19 Jan 2020 11:47:25 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:37435) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1itDjL-0008V1-VC; Sun, 19 Jan 2020 11:47:20 -0500 Received: from [176.228.60.248] (port=1974 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1itDjK-0005De-O2; Sun, 19 Jan 2020 11:47:19 -0500 Date: Sun, 19 Jan 2020 18:47:25 +0200 Message-Id: <83r1zvxujm.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Sun, 19 Jan 2020 17:32:17 +0100) Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem References: <835zh7zd1k.fsf@gnu.org> <83wo9nxw7m.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Fabrice Popineau > Date: Sun, 19 Jan 2020 17:32:17 +0100 > Cc: 39188@debbugs.gnu.org > > Sorry, I don't. I only see one or 2 artefacts in the window, as I > described. > > I should have added : try the cursor in column 12 or so, not at bol. That's what I did. > Like the one after Summary here? The cursor being at Manual, 1st line. > What is annoying is that it gets worse with my usual setting. It seems like > a race condition with something else. It's "your usual case" that I cannot reproduce. I only see 1 or 2 traces in a window. I'll try to see how to avoid those traces, but no promises, as I know almost nothing about the Windows GUI programming. > OTOH and luckily, there is nothing like that if w32-use-visible-system-caret is set to nil. I actually am surprised you are using that, it's main use case is for people who use a speech synthesizer. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 19 12:29:39 2020 Received: (at 39188) by debbugs.gnu.org; 19 Jan 2020 17:29:39 +0000 Received: from localhost ([127.0.0.1]:43820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itEOI-0003C6-MB for submit@debbugs.gnu.org; Sun, 19 Jan 2020 12:29:38 -0500 Received: from mail-qv1-f44.google.com ([209.85.219.44]:46996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itEOF-0003Bs-Vk for 39188@debbugs.gnu.org; Sun, 19 Jan 2020 12:29:37 -0500 Received: by mail-qv1-f44.google.com with SMTP id u1so12995556qvk.13 for <39188@debbugs.gnu.org>; Sun, 19 Jan 2020 09:29:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=LRazbkDm1qON/mKHE/x5EyLVikqYMiB5Kf/19dI6bps=; b=oP+nAhZUnBomb2IS0TZrRF5bHm06rHMH0Pwd+YRVqNPX29GaloPRkVLhRjPPkzMgcL G6RO2n9RzxFYf5NCDEXui0F/uHj+o0pNTWYr8qc5vu49pVuvFF/QRKRnnVVNTuYcV/Ny 7wPFWScNrkH3fubvS1TigJyF1eMWCjgw49JSgiqbwt4n1Nol9hUjiHwrT6LM2foJvNtF xrCZLIlGxjCl2lwYQmgitZe5rZ87g+IA22lSwhPk+CKUBwv5DsfdG6W9O/cea7Bx3ipn jlph/B1iD16qeFY8YW9wCRNN/OLIXYmbhZDiQfvBLZciaweBANcgiercqnykDsAVFqQ9 WyJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=LRazbkDm1qON/mKHE/x5EyLVikqYMiB5Kf/19dI6bps=; b=BrAd1Kgje6Neke9pRqlbSfR1SrIKzMWrHLZcOqGTlKt73nGZCrKYEsBJjvbyOmDIGZ mWuMevH1coZESAg0NKsfok3/bkQ+Vm8LV3VKaM5GSSy1CV4fT5LKiAtqDqSEg2OfFRBY RI0IHGDIA5hnE4tI+xxMb7C83Z7CjMUwEf4lF0THBFtST9wLwz+vD9uAwU5PMxTX3twq U5KA+jW2zeScDot51cnkexNCiFXoRkpY9p81plsp2e7ktuz/id9tx2eFEqRcdBWsoZJ6 Vk9HiXIysVrzDY1TWxAzk5ozLzPH52xFZNnyUNO5gEZiZ8ejudqZjzLpCLq+RHRYD7dY lCMg== X-Gm-Message-State: APjAAAUe6ah8Te72kvtJ2WLJ/1G7Emd6+mVFPLerCBrkyKRdwglFF738 v3rvshNqB8yDzyFAEIBE/GyUm5CrngW5I0IgZIO4HIjzhV175w== X-Google-Smtp-Source: APXvYqyTfBiRRj8ibMoNbMBU0HrXfF1ADVpvjBaLHiOsRXTuwh4SMlqXgMdK1BnC/gxERTGgN04s9E9qttLfLXWkdRU= X-Received: by 2002:ad4:444a:: with SMTP id l10mr17630444qvt.194.1579454970367; Sun, 19 Jan 2020 09:29:30 -0800 (PST) MIME-Version: 1.0 References: <835zh7zd1k.fsf@gnu.org> <83wo9nxw7m.fsf@gnu.org> <83r1zvxujm.fsf@gnu.org> In-Reply-To: <83r1zvxujm.fsf@gnu.org> From: Fabrice Popineau Date: Sun, 19 Jan 2020 18:29:14 +0100 Message-ID: Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000729294059c81848f" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000729294059c81848f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le dim. 19 janv. 2020 =C3=A0 17:47, Eli Zaretskii a =C3=A9cr= it : > > > OTOH and luckily, there is nothing like that if > w32-use-visible-system-caret is set to nil. > > I actually am surprised you are using that, it's main use case is for > people who use a speech synthesizer. > This is something that has changed in my back. I am using windows 10 insider, slow ring. So every few weeks, I get a new release with changes. I did not understand at first why my emacs cursor has changed. Then I found this w32-use-visible-system-caret variable which is initialized in w32term.c:w32_initialize() if (!SystemParametersInfo (SPI_GETSCREENREADER, 0, &w32_use_visible_system_caret, 0)) I have not the least idea why suddenly some screen reader has been detected on my machine. It is said that the windows narrator is not detected has such, so I am stuck. I have forcibly reverted the variable to nil. Fabrice --000000000000729294059c81848f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable



--000000000000729294059c81848f-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 20 12:19:44 2020 Received: (at 39188) by debbugs.gnu.org; 20 Jan 2020 17:19:44 +0000 Received: from localhost ([127.0.0.1]:45944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itaiF-00049p-7M for submit@debbugs.gnu.org; Mon, 20 Jan 2020 12:19:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itaiD-00049b-M7 for 39188@debbugs.gnu.org; Mon, 20 Jan 2020 12:19:41 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56001) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1itai8-0007pc-Ii; Mon, 20 Jan 2020 12:19:36 -0500 Received: from [176.228.60.248] (port=3972 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1itai8-0002O1-1C; Mon, 20 Jan 2020 12:19:36 -0500 Date: Mon, 20 Jan 2020 19:19:44 +0200 Message-Id: <835zh6xcy7.fsf@gnu.org> From: Eli Zaretskii To: fabrice.popineau@gmail.com In-reply-to: <83r1zvxujm.fsf@gnu.org> (message from Eli Zaretskii on Sun, 19 Jan 2020 18:47:25 +0200) Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem References: <835zh7zd1k.fsf@gnu.org> <83wo9nxw7m.fsf@gnu.org> <83r1zvxujm.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sun, 19 Jan 2020 18:47:25 +0200 > From: Eli Zaretskii > Cc: 39188@debbugs.gnu.org > > > Like the one after Summary here? The cursor being at Manual, 1st line. > > What is annoying is that it gets worse with my usual setting. It seems like > > a race condition with something else. > > It's "your usual case" that I cannot reproduce. Does your usual setup include scroll-conservatively? Because with that, I think I see what you describe. And that problem started long ago, in Emacs 23.4. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 20 13:42:14 2020 Received: (at 39188) by debbugs.gnu.org; 20 Jan 2020 18:42:14 +0000 Received: from localhost ([127.0.0.1]:46036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itc06-0006JR-Gb for submit@debbugs.gnu.org; Mon, 20 Jan 2020 13:42:14 -0500 Received: from mail-qk1-f176.google.com ([209.85.222.176]:41544) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itc04-0006JC-9y for 39188@debbugs.gnu.org; Mon, 20 Jan 2020 13:42:13 -0500 Received: by mail-qk1-f176.google.com with SMTP id x129so184049qke.8 for <39188@debbugs.gnu.org>; Mon, 20 Jan 2020 10:42:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=85S3BwZm5p0gG6PZwetZWxUpCBALCBBnuAq6PqCGH6g=; b=N/VA1opLKSF7t1vlDcLMENt4AklfBkvk0vwoD9vYsvyc13tWTgd0SXrIysw/NUG3I5 YY+L7Mr8GISFxfQJdoYlfUkelnxG140eIwGBFx9bQBAVng2kYOpAVfxafAbZYCOrW5aC AJE0ryrCYHoxGmUgtP/NyaH8WOKO6DnOvCz1wrJOpiq441Aiih4UEW8QOv5PZxzFIpzP rAYIJiMYmAs5HDoiyoA1DXNXhP+xjKDkMOL+ZpnBvZuEY6M/+FWHWXE6zWqvKXBS8bXE e3sFOay7F/MUiNoaC+lqK/n8TL+SJh1C4ymyO922gVMng3IWVXd/C877Y8V75+gCg+WD aVmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=85S3BwZm5p0gG6PZwetZWxUpCBALCBBnuAq6PqCGH6g=; b=iOZN58QeEHsWzkxS9L1+w+0r7JPt5xhtLb/fXt3YsVuAeuqNgwFpKaqNC+h7l/vXeK eAKgjwIinZYRBIxunSysqhlZGINe6yGkAhRq6ZrantSeWRvUnbUgGHEf+CkOyaSP3t1y 7nJ9yyUzAWKywFXXcwXIBXEL73I2Fw8PF7vJZPFiqEox/wdAEor7VqL/XUxfPx7m6kOk 60FDk1kW8TIcPhkmf6U+5KWwoOIYVDuptxZK8A/x3bY0v7MnlE6CpTAskwvD8hsbAoEC fLs0kL+j0+uDI2URsmN0qc3tl141VlESRmcn/MWVkgWdKkCOQIY4jvUo77D6lDRSzoVh 6SyQ== X-Gm-Message-State: APjAAAUi4huAynsMVPq75GmIiWzP8C+OoSsiGIgTysAD+b7gXN23R/jx YLSeT7oSFzgp3Y2+W0abv7i1KffyjVzWs6Xe0FM= X-Google-Smtp-Source: APXvYqy5v8WCewxL5YjBaoGaMKMXbrZxT9z4HmDyhvplG9uS3UfKHVrwoZO0ZNH8IlHjVAztVfvuQ5AKbOKTVdX2bpo= X-Received: by 2002:a37:63d2:: with SMTP id x201mr981715qkb.30.1579545726687; Mon, 20 Jan 2020 10:42:06 -0800 (PST) MIME-Version: 1.0 References: <835zh7zd1k.fsf@gnu.org> <83wo9nxw7m.fsf@gnu.org> <83r1zvxujm.fsf@gnu.org> <835zh6xcy7.fsf@gnu.org> In-Reply-To: <835zh6xcy7.fsf@gnu.org> From: Fabrice Popineau Date: Mon, 20 Jan 2020 19:41:48 +0100 Message-ID: Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000f21e5a059c96a5e8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000f21e5a059c96a5e8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Actually, yes, it does. Good guess. Maybe it is not the most important bug (except if Windows start to tell emacs that there are screen readers everywhere) Fabrice Le lun. 20 janv. 2020 =C3=A0 18:19, Eli Zaretskii a =C3=A9cr= it : > > Date: Sun, 19 Jan 2020 18:47:25 +0200 > > From: Eli Zaretskii > > Cc: 39188@debbugs.gnu.org > > > > > Like the one after Summary here? The cursor being at Manual, 1st line= . > > > What is annoying is that it gets worse with my usual setting. It seem= s > like > > > a race condition with something else. > > > > It's "your usual case" that I cannot reproduce. > > Does your usual setup include scroll-conservatively? Because with > that, I think I see what you describe. And that problem started long > ago, in Emacs 23.4. > --000000000000f21e5a059c96a5e8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Actually, yes, it does. Good guess.
Maybe it is not the most important bug (except if Windows start to tell
emacs that there are screen readers everywhere)

Fabrice

> Dat= e: Sun, 19 Jan 2020 18:47:25 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 39188@d= ebbugs.gnu.org
>
> > Like the one after Summary here? The cursor being at Manual, 1st = line.
> > What is annoying is that it gets worse with my usual setting. It = seems like
> > a race condition with something else.
>
> It's "your usual case" that I cannot reproduce.

Does your usual setup include scroll-conservatively?=C2=A0 Because with
that, I think I see what you describe.=C2=A0 And that problem started long<= br> ago, in Emacs 23.4.
--000000000000f21e5a059c96a5e8-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 21 11:32:54 2020 Received: (at 39188-done) by debbugs.gnu.org; 21 Jan 2020 16:32:54 +0000 Received: from localhost ([127.0.0.1]:48314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itwSU-0006D4-JB for submit@debbugs.gnu.org; Tue, 21 Jan 2020 11:32:54 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itwSS-0006Cp-9j for 39188-done@debbugs.gnu.org; Tue, 21 Jan 2020 11:32:53 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48744) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1itwSN-0006GQ-1O; Tue, 21 Jan 2020 11:32:47 -0500 Received: from [176.228.60.248] (port=1294 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1itwSL-0003Ss-Kn; Tue, 21 Jan 2020 11:32:46 -0500 Date: Tue, 21 Jan 2020 18:32:54 +0200 Message-Id: <838sm0wz0p.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Mon, 20 Jan 2020 19:41:48 +0100) Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem References: <835zh7zd1k.fsf@gnu.org> <83wo9nxw7m.fsf@gnu.org> <83r1zvxujm.fsf@gnu.org> <835zh6xcy7.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39188-done Cc: 39188-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Fabrice Popineau > Date: Mon, 20 Jan 2020 19:41:48 +0100 > Cc: 39188@debbugs.gnu.org > > Maybe it is not the most important bug (except if Windows start to tell > emacs that there are screen readers everywhere) I found the problem. As part of redisplay, we sometimes scroll rectangular portions of the window, as pixels, up and down. When we do so, we first turn off the cursor, but when the system caret is used instead of the cursor, we hide and unhide the caret in a separate UI thread. So there's a race between the main thread which scrolls the pixels and the UI thread that draws the caret, and that race causes the pixels of the caret to sometimes be copied with the rectangular area that is scrolled. The solution is to disable the scrolling in w32_scroll_run when the system caret is in use. This slows down redisplay to some extent (because w32_scroll_run is a redisplay optimization), but I don't see any easy way around that. Should be fixed now on the emacs-27 branch. From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 21 11:36:35 2020 Received: (at 39188-done) by debbugs.gnu.org; 21 Jan 2020 16:36:35 +0000 Received: from localhost ([127.0.0.1]:48324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itwW3-0006J5-FV for submit@debbugs.gnu.org; Tue, 21 Jan 2020 11:36:35 -0500 Received: from mail-qt1-f180.google.com ([209.85.160.180]:45646) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itwVy-0006Il-2W for 39188-done@debbugs.gnu.org; Tue, 21 Jan 2020 11:36:33 -0500 Received: by mail-qt1-f180.google.com with SMTP id w30so3080509qtd.12 for <39188-done@debbugs.gnu.org>; Tue, 21 Jan 2020 08:36:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VZxLgeWmAKTlACUQbQpYFY/9pmKPLEq+G5lPou/Eb1Q=; b=kx7Lb81dw2Ongp8rFgy5JAFs31jSgUal/+Xi6VEcDD0wB/4sjwJK7X5CkkNi0N9U1t NaXLYYKOV6V1Z/y1p0UAXVxbq0UhlWdngICD62QZgUS+RUsLPnhiD/osSqIN124/q4dD L4ldsDTchUaOt9aD45n/UJoD3+AKg4y3BrrzvsPh5EzdDkeiDgHY6l7UU6p0kHvOvRUe 670NIQJFir7WaZM8QlbZKnRdCbhwrJcqz4mJKzqXXSash1wjxE5X0Z5mkG9u+2/IV5E+ BmsNchXutsTEg1mkDZH212R3dBDH9dfscJG3q69F+J034+J6V0zZzxM11db1exg2rn3T 81EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VZxLgeWmAKTlACUQbQpYFY/9pmKPLEq+G5lPou/Eb1Q=; b=gZXh6my57PWVRrRVQhVD55Rx30WhLgUHmoAvGbabt6YqNTmkxWwSD78SwcJDFljQPM me79z4bE6TJGKF6slImz+yaLdfNdBB+3iMkFH7iebNQJzoj0fAwPs15NIlRl+C0hDifl QMDyeF+ZmDYvJU5kRwk1Oe0rTffUbyPtHYi87Cn4vhor3jNZ6hHnzBpFuOCDj+Aem2cd Rc5ZTpnFAoL8BB68p7aj8BZKFfJ3i7iron+Pp++bG3oguQUOQygx8s6rBgcQzKfMRCZ+ D1GDvcYzJQIm+lcQUT5AUkTpW+ml56JbacmusET2lkLfaczcAVn4K1Ek17T+Qv8LsDki jedg== X-Gm-Message-State: APjAAAWbFYp4xLCeYuGfoL7eNdj9IZnVdAupJ873DjodsNdCBXMfHGDr bO6HjmEJenUder7y8Xg7fJK9JoMyajBM0HortAgwaaVN X-Google-Smtp-Source: APXvYqw9kta7V0LKsWyF20/CftnHLLksxYRZekrlB/UIjsUnIuESUi1H0kTLkqD9Al4pzZDLcu5JykeCc7hMJRRgZOw= X-Received: by 2002:aed:2047:: with SMTP id 65mr5358776qta.78.1579624584534; Tue, 21 Jan 2020 08:36:24 -0800 (PST) MIME-Version: 1.0 References: <835zh7zd1k.fsf@gnu.org> <83wo9nxw7m.fsf@gnu.org> <83r1zvxujm.fsf@gnu.org> <835zh6xcy7.fsf@gnu.org> <838sm0wz0p.fsf@gnu.org> In-Reply-To: <838sm0wz0p.fsf@gnu.org> From: Fabrice Popineau Date: Tue, 21 Jan 2020 17:36:13 +0100 Message-ID: Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000003d602f059ca9028e" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39188-done Cc: 39188-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000003d602f059ca9028e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Great, thanks! Only you can find this quickly. Fabtice Le mar. 21 janv. 2020 =C3=A0 17:32, Eli Zaretskii a =C3=A9cr= it : > > From: Fabrice Popineau > > Date: Mon, 20 Jan 2020 19:41:48 +0100 > > Cc: 39188@debbugs.gnu.org > > > > Maybe it is not the most important bug (except if Windows start to tell > > emacs that there are screen readers everywhere) > > I found the problem. As part of redisplay, we sometimes scroll > rectangular portions of the window, as pixels, up and down. When we > do so, we first turn off the cursor, but when the system caret is used > instead of the cursor, we hide and unhide the caret in a separate UI > thread. So there's a race between the main thread which scrolls the > pixels and the UI thread that draws the caret, and that race causes > the pixels of the caret to sometimes be copied with the rectangular > area that is scrolled. > > The solution is to disable the scrolling in w32_scroll_run when the > system caret is in use. This slows down redisplay to some extent > (because w32_scroll_run is a redisplay optimization), but I don't see > any easy way around that. > > Should be fixed now on the emacs-27 branch. > --0000000000003d602f059ca9028e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Great, thanks!=C2=A0

Only you can find this quickly.

=
Fabtice

Le mar. 21 janv. 2020 =C3=A0 17:32, Eli Zare= tskii <eliz@gnu.org> a =C3=A9crit= =C2=A0:
> From: Fabrice Popineau= <fabrice.popineau@gmail.com>
> Date: Mon, 20 Jan 2020 19:41:48 +0100
> Cc: 39188@debbugs.gnu.org
>
> Maybe it is not the most important bug (except if Windows start to tel= l
> emacs that there are screen readers everywhere)

I found the problem.=C2=A0 As part of redisplay, we sometimes scroll
rectangular portions of the window, as pixels, up and down.=C2=A0 When we do so, we first turn off the cursor, but when the system caret is used
instead of the cursor, we hide and unhide the caret in a separate UI
thread.=C2=A0 So there's a race between the main thread which scrolls t= he
pixels and the UI thread that draws the caret, and that race causes
the pixels of the caret to sometimes be copied with the rectangular
area that is scrolled.

The solution is to disable the scrolling in w32_scroll_run when the
system caret is in use.=C2=A0 This slows down redisplay to some extent
(because w32_scroll_run is a redisplay optimization), but I don't see any easy way around that.

Should be fixed now on the emacs-27 branch.
--0000000000003d602f059ca9028e-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 21 11:59:28 2020 Received: (at 39188) by debbugs.gnu.org; 21 Jan 2020 16:59:28 +0000 Received: from localhost ([127.0.0.1]:48356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itws8-0006uq-8A for submit@debbugs.gnu.org; Tue, 21 Jan 2020 11:59:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60887) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itws3-0006uc-EW for 39188@debbugs.gnu.org; Tue, 21 Jan 2020 11:59:23 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49259) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1itwry-0005Ya-7u; Tue, 21 Jan 2020 11:59:14 -0500 Received: from [176.228.60.248] (port=2896 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1itwrv-0001VW-2T; Tue, 21 Jan 2020 11:59:12 -0500 Date: Tue, 21 Jan 2020 18:59:21 +0200 Message-Id: <834kwowxsm.fsf@gnu.org> From: Eli Zaretskii To: Fabrice Popineau In-reply-to: (message from Fabrice Popineau on Tue, 21 Jan 2020 17:36:13 +0100) Subject: Re: bug#39188: 28.0.50; w32 cursor redisplay problem References: <835zh7zd1k.fsf@gnu.org> <83wo9nxw7m.fsf@gnu.org> <83r1zvxujm.fsf@gnu.org> <835zh6xcy7.fsf@gnu.org> <838sm0wz0p.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 39188 Cc: 39188@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Fabrice Popineau > Date: Tue, 21 Jan 2020 17:36:13 +0100 > Cc: 39188-done@debbugs.gnu.org > > Only you can find this quickly. Actually, I didn't find it quickly enough. I wasn't aware we hide/unhide the caret in a separate thread until I put a breakpoint there, and GDB told me it was switching to another thread when the breakpoint breaks. That got me thinking... From unknown Fri Sep 19 06:16:32 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 19 Feb 2020 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator