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