unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#74691: Long errors with flymake-show-diagnostics-at-end-of-line really slows movement
@ 2024-12-04 15:50 spl3g
  2024-12-07 13:23 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: spl3g @ 2024-12-04 15:50 UTC (permalink / raw)
  To: 74691


[-- Attachment #1.1: Type: text/plain, Size: 10231 bytes --]

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))

[-- Attachment #1.2: Type: text/html, Size: 11043 bytes --]

[-- Attachment #2: image.png --]
[-- Type: image/png, Size: 24743 bytes --]

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

* bug#74691: Long errors with flymake-show-diagnostics-at-end-of-line really slows movement
  2024-12-04 15:50 bug#74691: Long errors with flymake-show-diagnostics-at-end-of-line really slows movement spl3g
@ 2024-12-07 13:23 ` Eli Zaretskii
       [not found]   ` <CAP66TDEhL_7A61pXDJJL04hw7wUAP6RoPVEuu2jBKO8y1Zk2UA@mail.gmail.com>
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2024-12-07 13:23 UTC (permalink / raw)
  To: spl3g; +Cc: 74691

> From: spl3g <spleefer6@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.





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

* bug#74691: Long errors with flymake-show-diagnostics-at-end-of-line really slows movement
       [not found]   ` <CAP66TDEhL_7A61pXDJJL04hw7wUAP6RoPVEuu2jBKO8y1Zk2UA@mail.gmail.com>
@ 2024-12-07 19:25     ` Eli Zaretskii
  2024-12-10 13:33       ` spl3g
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2024-12-07 19:25 UTC (permalink / raw)
  To: spl3g; +Cc: 74691

[Please use Reply All to reply, so as to keep the bug tracker CC'ed.]

> From: spl3g <spleefer6@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?





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

* bug#74691: Long errors with flymake-show-diagnostics-at-end-of-line really slows movement
  2024-12-07 19:25     ` Eli Zaretskii
@ 2024-12-10 13:33       ` spl3g
  2024-12-12 11:00         ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: spl3g @ 2024-12-10 13:33 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 74691

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

I was using typescript-ts-mode. Also just tried js-mode but it gave the
same results.

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

> [Please use Reply All to reply, so as to keep the bug tracker CC'ed.]
>
> > From: spl3g <spleefer6@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?
>

[-- Attachment #2: Type: text/html, Size: 1055 bytes --]

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

* bug#74691: Long errors with flymake-show-diagnostics-at-end-of-line really slows movement
  2024-12-10 13:33       ` spl3g
@ 2024-12-12 11:00         ` Eli Zaretskii
  2024-12-28 11:00           ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2024-12-12 11:00 UTC (permalink / raw)
  To: spl3g; +Cc: 74691

> From: spl3g <spleefer6@gmail.com>
> Date: Tue, 10 Dec 2024 16:33:16 +0300
> Cc: 74691@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.





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

* bug#74691: Long errors with flymake-show-diagnostics-at-end-of-line really slows movement
  2024-12-12 11:00         ` Eli Zaretskii
@ 2024-12-28 11:00           ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2024-12-28 11:00 UTC (permalink / raw)
  To: spleefer6; +Cc: 74691

Ping!

> Cc: 74691@debbugs.gnu.org
> Date: Thu, 12 Dec 2024 13:00:40 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> 
> > From: spl3g <spleefer6@gmail.com>
> > Date: Tue, 10 Dec 2024 16:33:16 +0300
> > Cc: 74691@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.
> 
> 
> 
> 





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

end of thread, other threads:[~2024-12-28 11:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-04 15:50 bug#74691: Long errors with flymake-show-diagnostics-at-end-of-line really slows movement spl3g
2024-12-07 13:23 ` Eli Zaretskii
     [not found]   ` <CAP66TDEhL_7A61pXDJJL04hw7wUAP6RoPVEuu2jBKO8y1Zk2UA@mail.gmail.com>
2024-12-07 19:25     ` Eli Zaretskii
2024-12-10 13:33       ` spl3g
2024-12-12 11:00         ` Eli Zaretskii
2024-12-28 11:00           ` Eli Zaretskii

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).