GNU bug report logs - #74691
Long errors with flymake-show-diagnostics-at-end-of-line really slows movement

Previous Next

Package: emacs;

Reported by: spl3g <spleefer6 <at> gmail.com>

Date: Wed, 4 Dec 2024 17:22:02 UTC

Severity: normal

Tags: moreinfo, unreproducible

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 74691 in the body.
You can then email your comments to 74691 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Wed, 04 Dec 2024 17:22:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to spl3g <spleefer6 <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 04 Dec 2024 17:22:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: spl3g <spleefer6 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Long errors with flymake-show-diagnostics-at-end-of-line really slows
 movement
Date: Wed, 4 Dec 2024 18:50:55 +0300
[Message part 1 (text/plain, inline)]
Hello,

When the error is so large that it takes up several lines, any buffer
action is done with a substantial delay.

Example of that error:
[image: image.png]


In GNU Emacs 30.0.92 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.43, cairo version 1.18.2)
System Description: NixOS 25.05 (Warbler)

Configured using:
 'configure
 --prefix=/nix/store/kdcv18ksfq345gaalphckqh53kn14b79-emacs-pgtk-30.0.92
 --disable-build-details --with-modules --with-pgtk
 --with-compress-install --with-toolkit-scroll-bars
 --with-native-compilation --without-imagemagick --with-mailutils
 --without-small-ja-dic --with-tree-sitter --without-xinput2
 --without-xwidgets --with-dbus --with-selinux'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
  value of $EMACSLOADPATH:
  value of $EMACSNATIVELOADPATH:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: TypeScript

Minor modes in effect:
  global-git-commit-mode: t
  eat-eshell-visual-command-mode: t
  eat-eshell-mode: t
  eglot-inlay-hints-mode: t
  eglot--managed-mode: t
  flymake-mode: t
  corfu-popupinfo-mode: t
  corfu-prescient-mode: t
  global-corfu-mode: t
  corfu-mode: t
  server-mode: t
  display-line-numbers-mode: t
  indent-guide-mode: t
  rainbow-delimiters-mode: t
  direnv-mode: t
  global-treesit-auto-mode: t
  vertico-prescient-mode: t
  prescient-persist-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  marginalia-mode: t
  vertico-mode: t
  mood-line-mode: t
  apheleia-mode: t
  global-auto-revert-mode: t
  recentf-mode: t
  save-place-mode: t
  electric-pair-mode: t
  which-key-mode: t
  savehist-mode: t
  elpaca-use-package-mode: t
  override-global-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/nix/store/mjr52ssd4ihj3qprj7hlq1cl686asf97-emacs-packages-deps/share/emacs/site-lisp/site-start
hides
/nix/store/kdcv18ksfq345gaalphckqh53kn14b79-emacs-pgtk-30.0.92/share/emacs/site-lisp/site-start

Features:
(shadow mail-extr emacsbug gnus-msg shortdoc network-stream url-http
url-gw nsm url-cache url-auth kind-icon svg-lib kind-icon-autoloads
svg-lib-autoloads nerd-icons-corfu nerd-icons nerd-icons-faces
nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon
nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon
nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline
nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon
nerd-icons-corfu-autoloads nerd-icons-autoloads elpaca-manager
elpaca-info cus-edit cus-start cus-load posframe
posframe-autoloads reveal pcmpl-git
magit-patch magit-subtree magit-gitignore magit-ediff ediff ediff-merg
ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util
json-ts-mode man helpful cc-langs trace cl-print edebug info-look f
elisp-refs novice embark-org embark-consult embark ffap web-mode
goto-addr dired-aux diary-lib diary-loaddefs cal-iso org-agenda consult
magit-bookmark bookmark org-duration org-clock toc-org verb verb-util
org-indent oc-basic org-element org-persist org-id org-refile
org-element-ast inline avl-tree ol-eww eww url-queue mm-url ol-rmail
ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view
mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg
dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap
nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus
nnheader range ol-docview doc-view jka-compr image-mode exif ol-bibtex
bibtex ol-bbdb ol-w3m ol-doi org-link-doi misearch multi-isearch view
sort tetris gamegrid vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
log-view vc bug-reference git-rebase magit-extras magit-submodule
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit package
url-handlers magit-repos magit-apply magit-wip magit-log magit-diff
smerge-mode git-commit log-edit message sendmail puny dired
dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader
pcvs-util add-log magit-core magit-autorevert magit-margin
magit-transient magit-process with-editor magit-mode transient
browse-url magit-git magit-base which-func info magit-section benchmark
crm anzu fish-completion eshell-syntax-highlighting em-unix em-term
em-script em-prompt em-pred em-ls em-hist em-glob em-extpipe em-tramp
em-cmpl em-dirs em-basic em-banner em-alias eshell esh-mode esh-var eat
term/xterm xterm term disp-table ehelp esh-cmd esh-ext esh-opt esh-proc
esh-io esh-arg esh-module esh-module-loaddefs esh-util apheleia
apheleia-rcs apheleia-dp apheleia-formatters apheleia-utils apheleia-log
apheleia-formatter-context dabbrev pulse yank-media markdown-mode color
markdown-mode-autoloads hl-line help-fns radix-tree eglot
external-completion jsonrpc flymake ert pp ewoc debug backtrace vc-git
vc-dispatcher mood-line-segment-vc typescript-ts-mode js c-ts-common
imenu cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs vertico-directory cursor-sensor compile
text-property-search cape corfu-popupinfo corfu-prescient corfu server
mood-line-segment-checker display-line-numbers
indent-guide rainbow-delimiters direnv diff-mode track-changes derived
tempel-collection treesit-auto lsp-snippet-tempel lsp-snippet
generator tempel sideline ht rect mule-util face-remap vertico-prescient
prescient char-fold dumb-jump popup dash s xref project undo-tree diff
queue marginalia vertico mood-line magit-autoloads pcase
with-editor-autoloads sql-indent-autoloads scratch-autoloads
direnv-autoloads gleam-ts-mode-autoloads odin-mode-autoloads
web-mode-autoloads nix-mode-autoloads magit-section-autoloads
fish-mode-autoloads rust-mode-autoloads apheleia-autoloads
tempel-collection-autoloads tempel-autoloads treesit-auto-autoloads
cape-autoloads lsp-snippet-tempel-autoloads sideline-autoloads
ht-autoloads eshell-syntax-highlighting-autoloads eat-autoloads
fish-completion-autoloads expand-region-autoloads anzu-autoloads
vertico-prescient-autoloads corfu-prescient-autoloads corfu-autoloads
prescient-autoloads dumb-jump-autoloads popup-autoloads
undo-tree-autoloads queue-autoloads ace-window-autoloads avy-autoloads
helpful-autoloads f-autoloads elisp-refs-autoloads dash-autoloads
s-autoloads rainbow-delimiters-autoloads dape-autoloads
embark-consult-autoloads embark-autoloads consult-autoloads
marginalia-autoloads vertico-autoloads verb-autoloads toc-org-autoloads
org-modern-indent-autoloads indent-guide-autoloads mood-line-autoloads
all-the-icons-autoloads autorevert filenotify tramp-cache time-stamp
recentf tree-widget wid-edit saveplace tramp-sh tramp trampver
tramp-integration files-x tramp-message tramp-compat xdg shell
parse-time iso8601 tramp-loaddefs base16-stylix-theme base16-theme
edmacro kmacro elec-pair which-key general no-littering compat
benchmark-init comp comp-cstr warnings comp-run comp-common advice
general-autoloads no-littering-autoloads benchmark-init-autoloads
savehist cl-extra help-mode elpaca-use-package use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core
elpaca-use-package-autoloads elpaca-log elpaca-ui elpaca-menu-elpa
elpaca-menu-melpa url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json map
byte-opt gv bytecomp byte-compile url-vars mailcap elpaca-menu-org
elpaca elpaca-process elpaca-autoloads org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-src sh-script smie treesit executable
ob-comint org-pcomplete pcomplete comint ansi-osc ansi-color ring
org-list org-footnote org-faces org-entities time-date subr-x noutline
outline icons org-version ob-emacs-lisp ob-core ob-eval org-cycle
org-table ol rx org-fold org-fold-core org-keys oc org-loaddefs
thingatpt find-func cal-menu calendar cal-loaddefs org-compat org-macs
format-spec cl-loaddefs cl-lib early-init rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/pgtk-win pgtk-win term/common-win touch-screen
pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list
replace newcomment text-mode lisp-mode prog-mode register page tab-bar
menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse
jit-lock font-lock syntax font-core term/tty-colors frame minibuffer
nadvice seq simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop
case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 3504364 472450) (symbols 48 119028 6) (strings 32 497254 23980)
 (string-bytes 1 14284234) (vectors 16 129051) (vector-slots 8 2462135
291002)
 (floats 8 1388 21668) (intervals 56 188721 11562) (buffers 992 130))
[Message part 2 (text/html, inline)]
[image.png (image/png, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Sat, 07 Dec 2024 13:24:01 GMT) Full text and rfc822 format available.

Message #8 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: spl3g <spleefer6 <at> gmail.com>
Cc: 74691 <at> debbugs.gnu.org
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Sat, 07 Dec 2024 15:23:30 +0200
> From: spl3g <spleefer6 <at> gmail.com>
> Date: Wed, 4 Dec 2024 18:50:55 +0300
> 
> When the error is so large that it takes up several lines, any buffer action is done with a substantial delay.
> 
> Example of that error:
> image.png

I cannot reproduce that.  I simulated Flymake's diagnostics by
defining an overlay with a long 'before-string' at the end of line,
but couldn't see any delays.

If you (or someone else) can show a recipe that I could try to
reproduce the delays, I will gladly look into this.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Sat, 07 Dec 2024 19:27:01 GMT) Full text and rfc822 format available.

Message #11 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: spl3g <spleefer6 <at> gmail.com>
Cc: 74691 <at> debbugs.gnu.org
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Sat, 07 Dec 2024 21:25:58 +0200
[Please use Reply All to reply, so as to keep the bug tracker CC'ed.]

> From: spl3g <spleefer6 <at> gmail.com>
> Date: Sat, 7 Dec 2024 22:12:50 +0300
> 
> Oh, I think it is mostly my configuration's fault. But I could reproduce it a little bit with emacs -Q if I set (setq
> scroll-conservatively 101) and move beyond the screen.

I tried that now with scroll-conservatively, but I still cannot
reproduce.

What is the major mode in the buffer where you see this?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Tue, 10 Dec 2024 14:29:03 GMT) Full text and rfc822 format available.

Message #14 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: spl3g <spleefer6 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 74691 <at> debbugs.gnu.org
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Tue, 10 Dec 2024 16:33:16 +0300
[Message part 1 (text/plain, inline)]
I was using typescript-ts-mode. Also just tried js-mode but it gave the
same results.

сб, 7 дек. 2024 г. в 22:26, Eli Zaretskii <eliz <at> gnu.org>:

> [Please use Reply All to reply, so as to keep the bug tracker CC'ed.]
>
> > From: spl3g <spleefer6 <at> gmail.com>
> > Date: Sat, 7 Dec 2024 22:12:50 +0300
> >
> > Oh, I think it is mostly my configuration's fault. But I could reproduce
> it a little bit with emacs -Q if I set (setq
> > scroll-conservatively 101) and move beyond the screen.
>
> I tried that now with scroll-conservatively, but I still cannot
> reproduce.
>
> What is the major mode in the buffer where you see this?
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Thu, 12 Dec 2024 11:02:01 GMT) Full text and rfc822 format available.

Message #17 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: spl3g <spleefer6 <at> gmail.com>
Cc: 74691 <at> debbugs.gnu.org
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Thu, 12 Dec 2024 13:00:40 +0200
> From: spl3g <spleefer6 <at> gmail.com>
> Date: Tue, 10 Dec 2024 16:33:16 +0300
> Cc: 74691 <at> debbugs.gnu.org
> 
> I was using typescript-ts-mode. Also just tried js-mode but it gave the same results.

Still cannot reproduce, sorry.

Can you invoke "M-x profiler-start RET RET", then run your
reproduction recipe for at least 10 to 20 seconds, then type
"M-x profiler-report", and post the full expanded profile here?  To
expand the profile, type "C-u RET" in the profile buffer, and then
make sure there are no lines preceded with "+", which means they were
not expanded; typing RET on each such line will expand it.

Perhaps looking at the profile will give us some clues.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Sat, 28 Dec 2024 11:02:01 GMT) Full text and rfc822 format available.

Message #20 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: spleefer6 <at> gmail.com
Cc: 74691 <at> debbugs.gnu.org
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Sat, 28 Dec 2024 13:00:47 +0200
Ping!

> Cc: 74691 <at> debbugs.gnu.org
> Date: Thu, 12 Dec 2024 13:00:40 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > From: spl3g <spleefer6 <at> gmail.com>
> > Date: Tue, 10 Dec 2024 16:33:16 +0300
> > Cc: 74691 <at> debbugs.gnu.org
> > 
> > I was using typescript-ts-mode. Also just tried js-mode but it gave the same results.
> 
> Still cannot reproduce, sorry.
> 
> Can you invoke "M-x profiler-start RET RET", then run your
> reproduction recipe for at least 10 to 20 seconds, then type
> "M-x profiler-report", and post the full expanded profile here?  To
> expand the profile, type "C-u RET" in the profile buffer, and then
> make sure there are no lines preceded with "+", which means they were
> not expanded; typing RET on each such line will expand it.
> 
> Perhaps looking at the profile will give us some clues.
> 
> 
> 
> 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Sat, 15 Feb 2025 03:25:02 GMT) Full text and rfc822 format available.

Message #23 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 74691 <at> debbugs.gnu.org, spleefer6 <at> gmail.com
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Sat, 15 Feb 2025 03:24:37 +0000
Eli Zaretskii <eliz <at> gnu.org> writes:

> Ping!
>
>> Cc: 74691 <at> debbugs.gnu.org
>> Date: Thu, 12 Dec 2024 13:00:40 +0200
>> From: Eli Zaretskii <eliz <at> gnu.org>
>>
>> > From: spl3g <spleefer6 <at> gmail.com>
>> > Date: Tue, 10 Dec 2024 16:33:16 +0300
>> > Cc: 74691 <at> debbugs.gnu.org
>> >
>> > I was using typescript-ts-mode. Also just tried js-mode but it gave the same results.
>>
>> Still cannot reproduce, sorry.
>>
>> Can you invoke "M-x profiler-start RET RET", then run your
>> reproduction recipe for at least 10 to 20 seconds, then type
>> "M-x profiler-report", and post the full expanded profile here?  To
>> expand the profile, type "C-u RET" in the profile buffer, and then
>> make sure there are no lines preceded with "+", which means they were
>> not expanded; typing RET on each such line will expand it.
>>
>> Perhaps looking at the profile will give us some clues.

spl3g, could you please look into the questions asked by Eli above?

Thanks in advance.




Added tag(s) moreinfo. Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 15 Feb 2025 03:25:02 GMT) Full text and rfc822 format available.

Added tag(s) unreproducible. Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 15 Feb 2025 03:25:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Sat, 01 Mar 2025 12:07:02 GMT) Full text and rfc822 format available.

Message #30 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: 74691 <at> debbugs.gnu.org, spleefer6 <at> gmail.com
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Sat, 01 Mar 2025 14:06:48 +0200
Ping! Ping!

> From: Stefan Kangas <stefankangas <at> gmail.com>
> Date: Sat, 15 Feb 2025 03:24:37 +0000
> Cc: spleefer6 <at> gmail.com, 74691 <at> debbugs.gnu.org
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > Ping!
> >
> >> Cc: 74691 <at> debbugs.gnu.org
> >> Date: Thu, 12 Dec 2024 13:00:40 +0200
> >> From: Eli Zaretskii <eliz <at> gnu.org>
> >>
> >> > From: spl3g <spleefer6 <at> gmail.com>
> >> > Date: Tue, 10 Dec 2024 16:33:16 +0300
> >> > Cc: 74691 <at> debbugs.gnu.org
> >> >
> >> > I was using typescript-ts-mode. Also just tried js-mode but it gave the same results.
> >>
> >> Still cannot reproduce, sorry.
> >>
> >> Can you invoke "M-x profiler-start RET RET", then run your
> >> reproduction recipe for at least 10 to 20 seconds, then type
> >> "M-x profiler-report", and post the full expanded profile here?  To
> >> expand the profile, type "C-u RET" in the profile buffer, and then
> >> make sure there are no lines preceded with "+", which means they were
> >> not expanded; typing RET on each such line will expand it.
> >>
> >> Perhaps looking at the profile will give us some clues.
> 
> spl3g, could you please look into the questions asked by Eli above?
> 
> Thanks in advance.
> 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Sun, 02 Mar 2025 20:32:02 GMT) Full text and rfc822 format available.

Message #33 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: spl3g <spleefer6 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 74691 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Sun, 2 Mar 2025 23:31:26 +0300
[Message part 1 (text/plain, inline)]
Sorry for disappearing. Here is the profiler report, I hope it helps.

       26183  68% - command-execute
       23524  61%  - funcall-interactively
       13409  35%   - previous-line
       13409  35%    - line-move
        8444  22%       line-move-visual
           3   0%     - line-move-partial
           3   0%      - default-line-height
           3   0%         default-font-height
           2   0%     - window-inside-pixel-edges
           2   0%      - window-edges
           1   0%       - window-current-scroll-bars
           1   0%          frame-current-scroll-bars
           2   0%     - truncated-partial-width-window-p
           1   0%      - window-full-width-p
           1   0%         window-normalize-window
           1   0%     - default-line-height
           1   0%        default-font-height
       10115  26%   - next-line
       10112  26%    - line-move
        4074  10%       line-move-visual
          14   0%     - line-move-partial
           6   0%      - default-line-height
           6   0%       - default-font-height
           1   0%        - display-multi-font-p
           1   0%           framep-on-display
           6   0%      - window-screen-lines
           4   0%       - window-inside-pixel-edges
           4   0%        - window-edges
           3   0%         - window-current-scroll-bars
           1   0%          - frame-current-scroll-bars
           1   0%             window-normalize-frame
           2   0%       - default-line-height
           2   0%          default-font-height
           6   0%     - default-line-height
           6   0%        default-font-height
           4   0%     - truncated-partial-width-window-p
           3   0%        window-normalize-window
           1   0%    - called-interactively-p
           1   0%       backtrace-frame
        2656   6%  - byte-code
        2656   6%   - read-extended-command
        2656   6%    - read-extended-command-1
        2656   6%     - completing-read-default
        1658   4%        redisplay_internal (C function)
         930   2%      - icomplete-post-command-hook
         930   2%       - icomplete-exhibit
         787   2%        - sit-for
         766   2%           redisplay_internal (C function)
         143   0%        - icomplete-completions
         142   0%         - icomplete--sorted-completions
         142   0%          - completion-all-sorted-completions
         136   0%           - completion-all-completions
         136   0%            - completion--nth-completion
         136   0%             - seq-some
         136   0%              - seq-do
         136   0%               - mapc
         136   0%                - #<byte-code-function 02C>
         136   0%                 - #<byte-code-function 116>
         136   0%                  - completion-flex-all-completions
         136   0%                   - completion-substring--all-completions
         136   0%                    - completion-pcm--all-completions
         135   0%                     - #<native-comp-function
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_56>
         135   0%                      - complete-with-action
         135   0%                       - all-completions
          14   0%                        - #<byte-code-function 203>
           5   0%                         - #<byte-code-function C46>
           5   0%                            commandp
           3   0%           - minibuffer--sort-by-length-alpha
           1   0%              #<native-comp-function
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_45>
           1   0%             delete-dups
           1   0%             last
           1   0%           - #<byte-code-function D3C>
           1   0%            - mapcar
           1   0%             - #<byte-code-function 689>
           1   0%                completion--flex-score
          16   0%      - command-execute
          16   0%       - funcall-interactively
          16   0%        - icomplete-fido-ret
          16   0%         - icomplete-force-complete-and-exit
          16   0%          - minibuffer-force-complete-and-exit
          16   0%           - completion--complete-and-exit
          16   0%            - #<native-comp-function
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_56>
          16   0%             - complete-with-action
          16   0%                try-completion
           1   0%      - timer-event-handler
           1   0%       - apply
           1   0%        - show-paren-function
           1   0%           show-paren--default
           1   0%      - frame-windows-min-size
           1   0%       - window-min-size
           1   0%        - window--min-size-1
           1   0%         - window-size-fixed-p
           1   0%            window--size-fixed-1
           1   0%    handle-shift-selection
        6275  16% - redisplay_internal (C function)
          38   0%  - eval
          11   0%   - eglot--mode-line-format
           4   0%    - eglot-project-nickname
           1   0%     - apply
           1   0%      - #<byte-code-function D75>
           1   0%         slot-value
           1   0%       cl-type-of
          10   0%     flymake--mode-line-title
           4   0%     unless
           3   0%   - flymake--mode-line-exception
           2   0%    - flymake-running-backends
           2   0%     - flymake--collect
           1   0%        #<byte-code-function F42>
           1   0%    - flymake-reporting-backends
           1   0%     - called-interactively-p
           1   0%        backtrace-frame
           3   0%   - if
           2   0%      display-graphic-p
           1   0%     mode-line-eol-desc
           1   0%   - flymake--mode-line-counters
           1   0%      flymake-running-backends
           1   0%     flymake--mode-line-counter
           6   0%    file-remote-p
           3   0%  - redisplay--pre-redisplay-functions
           2   0%   - run-hook-with-args
           2   0%      treesit--pre-redisplay
           1   0%  - mode-line-default-help-echo
           1   0%     window-at-side-p
        3333   8%   Automatic GC
        2073   5% - timer-event-handler
        2073   5%  - apply
        2066   5%   - #<byte-code-function 5E8>
        2065   5%    - jsonrpc-connection-receive
        2062   5%     - jsonrpc--continue
        2061   5%      - #<byte-code-function 802>
        2061   5%       - #<byte-code-function E43>
        2061   5%        - #<byte-code-function 1A8>
        2061   5%         - run-hook-with-args
        2058   5%          - eldoc-display-in-echo-area
        2058   5%           - eldoc--message
        2058   5%            - eldoc-minibuffer-message
        2058   5%             - message
        2056   5%                redisplay_internal (C function)
           3   0%          - eldoc-display-in-buffer
           3   0%           - eldoc--format-doc-buffer
           2   0%              special-mode
           1   0%        #<byte-code-function 15F>
           3   0%     - apply
           3   0%      - jsonrpc--event
           3   0%       - #<byte-code-function E52>
           3   0%        - apply
           3   0%           jsonrpc--log-event
           1   0%    - #<byte-code-function 4CB>
           1   0%     - kill-buffer
           1   0%      - replace-buffer-in-windows
           1   0%       - unrecord-window-buffer
           1   0%          window-normalize-window
           7   0%   - #<native-comp-function
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>
           7   0%    - eldoc-print-current-symbol-info
           7   0%     - eldoc--invoke-strategy
           7   0%      - eldoc-documentation-compose
           6   0%       - eglot-hover-eldoc-function
           4   0%        - jsonrpc-async-request
           4   0%         - jsonrpc--async-request-1
           4   0%          - jsonrpc-connection-send
           4   0%           - apply
           4   0%            - #<byte-code-function 332>
           2   0%             - jsonrpc--json-encode
           2   0%                json-serialize
           1   0%               process-send-string
           1   0%             - jsonrpc--event
           1   0%              - #<byte-code-function ED0>
           1   0%               - apply
           1   0%                  jsonrpc--log-event
           2   0%        - eglot--highlight-piggyback
           2   0%         - jsonrpc-async-request
           2   0%          - jsonrpc--async-request-1
           2   0%           - jsonrpc-connection-send
           2   0%            - apply
           2   0%             - #<byte-code-function 332>
           2   0%              - jsonrpc--event
           1   0%               - #<byte-code-function A55>
           1   0%                - apply
           1   0%                   jsonrpc--log-event
           1   0%       - eglot-signature-eldoc-function
           1   0%          jsonrpc-async-request
          64   0% - eldoc-pre-command-refresh-echo-area
          64   0%  - eldoc--message
          64   0%   - eldoc-minibuffer-message
          64   0%      message
          12   0% - internal-echo-keystrokes-prefix
           2   0%  - #<byte-code-function 3B4>
           1   0%     universal-argument--description
           6   0% - jit-lock--antiblink-post-command
           3   0%  - syntax-ppss
           1   0%     parse-partial-sexp
           1   0%     #<byte-code-function 9F7>
           1   0%     syntax-table
           1   0%    syntax--lbp
           1   0% - clear-minibuffer-message
           1   0%    timerp
           1   0%   jsonrpc--process-filter
           0   0%   ...


сб, 1 мар. 2025 г. в 15:06, Eli Zaretskii <eliz <at> gnu.org>:

> Ping! Ping!
>
> > From: Stefan Kangas <stefankangas <at> gmail.com>
> > Date: Sat, 15 Feb 2025 03:24:37 +0000
> > Cc: spleefer6 <at> gmail.com, 74691 <at> debbugs.gnu.org
> >
> > Eli Zaretskii <eliz <at> gnu.org> writes:
> >
> > > Ping!
> > >
> > >> Cc: 74691 <at> debbugs.gnu.org
> > >> Date: Thu, 12 Dec 2024 13:00:40 +0200
> > >> From: Eli Zaretskii <eliz <at> gnu.org>
> > >>
> > >> > From: spl3g <spleefer6 <at> gmail.com>
> > >> > Date: Tue, 10 Dec 2024 16:33:16 +0300
> > >> > Cc: 74691 <at> debbugs.gnu.org
> > >> >
> > >> > I was using typescript-ts-mode. Also just tried js-mode but it gave
> the same results.
> > >>
> > >> Still cannot reproduce, sorry.
> > >>
> > >> Can you invoke "M-x profiler-start RET RET", then run your
> > >> reproduction recipe for at least 10 to 20 seconds, then type
> > >> "M-x profiler-report", and post the full expanded profile here?  To
> > >> expand the profile, type "C-u RET" in the profile buffer, and then
> > >> make sure there are no lines preceded with "+", which means they were
> > >> not expanded; typing RET on each such line will expand it.
> > >>
> > >> Perhaps looking at the profile will give us some clues.
> >
> > spl3g, could you please look into the questions asked by Eli above?
> >
> > Thanks in advance.
> >
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74691; Package emacs. (Mon, 03 Mar 2025 12:59:02 GMT) Full text and rfc822 format available.

Message #36 received at 74691 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: spl3g <spleefer6 <at> gmail.com>
Cc: 74691 <at> debbugs.gnu.org, stefankangas <at> gmail.com
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Mon, 03 Mar 2025 14:57:58 +0200
> From: spl3g <spleefer6 <at> gmail.com>
> Date: Sun, 2 Mar 2025 23:31:26 +0300
> Cc: Stefan Kangas <stefankangas <at> gmail.com>, 74691 <at> debbugs.gnu.org
> 
> Sorry for disappearing. Here is the profiler report, I hope it helps.
> 
>        26183  68% - command-execute
>        23524  61%  - funcall-interactively
>        13409  35%   - previous-line
>        13409  35%    - line-move
>         8444  22%       line-move-visual
>            3   0%     - line-move-partial
>            3   0%      - default-line-height
>            3   0%         default-font-height
>            2   0%     - window-inside-pixel-edges
>            2   0%      - window-edges
>            1   0%       - window-current-scroll-bars
>            1   0%          frame-current-scroll-bars
>            2   0%     - truncated-partial-width-window-p
>            1   0%      - window-full-width-p
>            1   0%         window-normalize-window
>            1   0%     - default-line-height
>            1   0%        default-font-height
>        10115  26%   - next-line
>        10112  26%    - line-move
>         4074  10%       line-move-visual
>           14   0%     - line-move-partial

Thanks, but I don't see anything that could explain what you report.
The profile says line-move-visual takes a relatively large proportion
of time, which is somewhat surprising, but I cannot see how it gets us
closer to finding the root cause.

So I tend to close this bug as unreproducible, unless someone else can
reproduce and provider some additional information or a recipe for
reproducing this reliably.

Thanks.




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 15 Mar 2025 11:17:01 GMT) Full text and rfc822 format available.

Notification sent to spl3g <spleefer6 <at> gmail.com>:
bug acknowledged by developer. (Sat, 15 Mar 2025 11:17:02 GMT) Full text and rfc822 format available.

Message #41 received at 74691-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: spleefer6 <at> gmail.com
Cc: 74691-done <at> debbugs.gnu.org, stefankangas <at> gmail.com
Subject: Re: bug#74691: Long errors with
 flymake-show-diagnostics-at-end-of-line really slows movement
Date: Sat, 15 Mar 2025 13:15:56 +0200
> Cc: 74691 <at> debbugs.gnu.org, stefankangas <at> gmail.com
> Date: Mon, 03 Mar 2025 14:57:58 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > From: spl3g <spleefer6 <at> gmail.com>
> > Date: Sun, 2 Mar 2025 23:31:26 +0300
> > Cc: Stefan Kangas <stefankangas <at> gmail.com>, 74691 <at> debbugs.gnu.org
> > 
> > Sorry for disappearing. Here is the profiler report, I hope it helps.
> > 
> >        26183  68% - command-execute
> >        23524  61%  - funcall-interactively
> >        13409  35%   - previous-line
> >        13409  35%    - line-move
> >         8444  22%       line-move-visual
> >            3   0%     - line-move-partial
> >            3   0%      - default-line-height
> >            3   0%         default-font-height
> >            2   0%     - window-inside-pixel-edges
> >            2   0%      - window-edges
> >            1   0%       - window-current-scroll-bars
> >            1   0%          frame-current-scroll-bars
> >            2   0%     - truncated-partial-width-window-p
> >            1   0%      - window-full-width-p
> >            1   0%         window-normalize-window
> >            1   0%     - default-line-height
> >            1   0%        default-font-height
> >        10115  26%   - next-line
> >        10112  26%    - line-move
> >         4074  10%       line-move-visual
> >           14   0%     - line-move-partial
> 
> Thanks, but I don't see anything that could explain what you report.
> The profile says line-move-visual takes a relatively large proportion
> of time, which is somewhat surprising, but I cannot see how it gets us
> closer to finding the root cause.
> 
> So I tend to close this bug as unreproducible, unless someone else can
> reproduce and provider some additional information or a recipe for
> reproducing this reliably.

No further comments within 2 weeks, so I'm now closing it.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 12 Apr 2025 11:24:13 GMT) Full text and rfc822 format available.

This bug report was last modified 94 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.