Package: emacs;
Reported by: Eval Exec <execvy <at> gmail.com>
Date: Thu, 12 Dec 2024 08:01:01 UTC
Severity: normal
Tags: moreinfo
Found in version 31.0.50
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 74813 in the body.
You can then email your comments to 74813 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
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Thu, 12 Dec 2024 08:01:02 GMT) Full text and rfc822 format available.Eval Exec <execvy <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Thu, 12 Dec 2024 08:01:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Eval Exec <execvy <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Thu, 12 Dec 2024 15:59:51 +0800
I opened a large rust file, about 5000 lines. scroll-up is quick and smooth, no laggy: 1462 72% - redisplay_internal (C function) 94 4% - eval 43 2% - mode--line-format-right-align 18 0% - string-pixel-width 2 0% - #<byte-code-function F8D> 2 0% work-buffer--release 11 0% - eval 7 0% - minions--prominent-modes 6 0% - cl-remove-if-not 6 0% - cl-remove 3 0% - cl-delete 1 0% #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_8> 2 0% unless 1 0% cdr 26 1% - breadcrumb--header-line 25 1% - funcall 16 0% - breadcrumb-project-crumbs 15 0% - breadcrumb--project-crumbs-1 5 0% breadcrumb--format-project-node 2 0% project-current 2 0% - file-relative-name 2 0% - apply 2 0% - #<interpreted-function F49> 2 0% - my-cacheable-file-relative-name 2 0% - let 2 0% - or 2 0% gethash 1 0% directory-file-name 1 0% project-root 1 0% split-string 1 0% file-name-nondirectory 1 0% breadcrumb--length 9 0% - breadcrumb-imenu-crumbs 9 0% - let 9 0% - which-function 9 0% - add-log-current-defun 6 0% - treesit-add-log-current-defun 6 0% - treesit-defun-at-point 6 0% - treesit-thing-at-point 6 0% - treesit-thing-at 3 0% - treesit-node-at 1 0% treesit-language-at 2 0% treesit-parent-until 3 0% re-search-backward 9 0% - minions--prominent-modes 8 0% - cl-remove-if-not 8 0% - cl-remove 4 0% - cl-delete 2 0% #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_8> 1 0% #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_8> 8 0% - tab-line-format 8 0% - tab-line-tabs-fixed-window-buffers 8 0% - let* 5 0% - sort 1 0% - tab-line-tabs-window-buffers 1 0% - let* 1 0% seq-remove 1 0% function 1 0% - #<interpreted-function 5E0> 1 0% gethash 2 0% - let 2 0% - seq-do-indexed 2 0% - seq-do 2 0% - mapc 1 0% - #<byte-code-function 63B> 1 0% #<interpreted-function EF4> 1 0% window-parameter 2 0% - if 2 0% frame-parameter 2 0% mode-line-window-control 1 0% - and 1 0% - not 1 0% member 1 0% mode-line-frame-control 1 0% mode-line-eol-desc 43 2% - tab-bar-make-keymap 43 2% - tab-bar-make-keymap-1 43 2% - tab-bar-format-list 43 2% - #<byte-code-function 715> 24 1% - tab-bar-format-align-right 21 1% - tab-bar-format-list 21 1% - #<byte-code-function 14D> 18 0% - keycast-tab-bar 18 0% - keycast--format 11 0% - format-spec 3 0% - #<byte-code-function 039> 3 0% kill-buffer 2 0% match-string 2 0% generate-new-buffer 5 0% format 1 0% make-string 3 0% - tab-bar-format-global 3 0% - #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_39> 2 0% - eval 1 0% - exec/gc-mode-string 1 0% - if 1 0% let* 1 0% - lsp--progress-status 1 0% - apply 1 0% - exec/lsp-progress-status-advice 1 0% - let 1 0% - apply 1 0% - #<native-comp-function lsp--progress-status> 1 0% lsp-workspaces 3 0% - string-pixel-width 1 0% - #<byte-code-function EF5> 1 0% work-buffer--release 7 0% - tab-bar-format-tabs 4 0% - #<byte-code-function 513> 4 0% - tab-bar--format-tab 2 0% - tab-bar-tab-name-format-default 1 0% alist-get 1 0% alist-get 3 0% tab-bar-tabs 5 0% - keycast-tab-bar 5 0% - keycast--format 2 0% - format-spec 1 0% generate-new-buffer 1 0% match-string 2 0% format 4 0% - tab-bar-format-global 4 0% #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_39> 2 0% - project-mode-line-format 1 0% - project-name 1 0% - #<byte-code-function D73> 1 0% - run-at-time 1 0% - timer-activate 1 0% - timer--activate 1 0% timer--time-less-p 1 0% format 11 0% - redisplay--pre-redisplay-functions 3 0% run-hook-with-args 7 0% - jit-lock-function 7 0% - jit-lock-fontify-now 7 0% - jit-lock--run-functions 7 0% - #<byte-code-function 14F> 7 0% - font-lock-fontify-region 7 0% - font-lock-default-fontify-region 4 0% - font-lock-fontify-keywords-region 4 0% - rainbow-delimiters--propertize 4 0% - syntax-ppss 4 0% parse-partial-sexp 3 0% - font-lock-fontify-syntactically-region 3 0% - treesit-font-lock-fontify-region 3 0% - treesit--font-lock-fontify-region-1 1 0% - rust-ts-mode--fontify-pattern 1 0% - let 1 0% - pcase-dolist 1 0% - #<byte-code-function 1E5> 1 0% gensym 1 0% - mode-line-default-help-echo 1 0% - window-at-side-p 1 0% - window-pixel-edges 1 0% window-edges 463 23% - command-execute 463 23% - funcall-interactively 463 23% - evil-scroll-page-down 463 23% - scroll-up 463 23% - apply 463 23% - ad-Advice-scroll-up 463 23% - #<primitive-function scroll-up> 85 4% - eval 43 2% - mode--line-format-right-align 27 1% - string-pixel-width 3 0% - #<byte-code-function F4E> 3 0% work-buffer--release 12 0% - eval 9 0% - minions--prominent-modes 9 0% - cl-remove-if-not 9 0% - cl-remove 4 0% - cl-delete 1 0% #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_8> 2 0% unless 1 0% - and 1 0% - not 1 0% member 21 1% - breadcrumb--header-line 21 1% - funcall 12 0% - breadcrumb-project-crumbs 10 0% - breadcrumb--project-crumbs-1 3 0% - project-root 3 0% - apply 3 0% - #<byte-code-function 899> 2 0% gethash 1 0% - apply 1 0% #<byte-code-function 29E> 3 0% breadcrumb--format-project-node 2 0% directory-file-name 1 0% split-string 1 0% - project-current 1 0% - apply 1 0% exec-project-current-advice 1 0% breadcrumb--length 1 0% breadcrumb--summarize 9 0% - breadcrumb-imenu-crumbs 9 0% - let 8 0% - which-function 8 0% - add-log-current-defun 8 0% - treesit-add-log-current-defun 8 0% - treesit-defun-at-point 8 0% - treesit-thing-at-point 8 0% - treesit-thing-at 5 0% treesit-node-at 3 0% - treesit-parent-until 2 0% - #<byte-code-function 728> 2 0% treesit-node-match-p 1 0% - if 1 0% propertize 7 0% - tab-line-format 7 0% - tab-line-tabs-fixed-window-buffers 7 0% - let* 5 0% - sort 5 0% - tab-line-tabs-window-buffers 5 0% - let* 4 0% - seq-remove 4 0% - seq-filter 3 0% - seq-map 2 0% - apply 2 0% - #<byte-code-function B1F> 1 0% - mapcar 1 0% - #<byte-code-function 0EB> 1 0% - #<byte-code-function 0FD> 1 0% - #<interpreted-function DBE> 1 0% eq 1 0% make-symbol 1 0% - seq-filter 1 0% seq-map 2 0% - let 2 0% - seq-do-indexed 2 0% - seq-do 2 0% - mapc 2 0% - #<byte-code-function E0D> 1 0% - #<interpreted-function C8B> 1 0% puthash 6 0% unless 3 0% - if 3 0% frame-parameter 3 0% - minions--prominent-modes 3 0% - cl-remove-if-not 3 0% - cl-remove 1 0% cl-delete 1 0% - exec/lsp-mode-string 1 0% format 1 0% cdr 40 1% display-line-numbers-update-width 8 0% - which-key--hide-popup 7 0% - which-key--hide-popup-ignore-command 7 0% - which-key--hide-buffer-side-window 7 0% quit-windows-on 1 0% which-key--lighter-restore 8 0% - exec/lsp-document-highlight-now 8 0% - let 8 0% - if 7 0% - progn 7 0% - if 7 0% - progn 7 0% - if 7 0% - progn 7 0% - let 6 0% - bounds-of-thing-at-point 3 0% thing-at-point--beginning-of-symbol 2 0% - #<byte-code-function 31C> 2 0% - forward-thing 1 0% format 1 0% forward-symbol 1 0% re-search-forward 1 0% - if 1 0% - progn 1 0% - lsp-document-highlight 1 0% lsp--remove-overlays 1 0% - and 1 0% - and 1 0% boundp 7 0% - timer-event-handler 7 0% - apply 5 0% - #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9> 5 0% jit-lock-context-fontify 1 0% diff-hl-flydiff-update 1 0% - blink-cursor-start 1 0% - blink-cursor--start-timer 1 0% - run-with-timer 1 0% - run-at-time 1 0% - timer-set-time 1 0% timer--time-setter 6 0% - evil--jump-hook 6 0% - evil-set-jump 4 0% - evil--jumps-push 1 0% - ring-ref 1 0% ring-index 1 0% push-mark 6 0% - corfu--auto-post-command 3 0% - cancel-timer 2 0% timerp 3 0% corfu--match-symbol-p 3 0% - winner-save-old-configurations 2 0% - winner-remember 1 0% - winner-win-data 1 0% winner-sorted-window-list 2 0% - gcmh-register-idle-gc 2 0% - run-with-timer 2 0% - run-at-time 1 0% timer-relative-time 1 0% - timer-set-time 1 0% timer--time-setter 2 0% - yas--post-command-handler 1 0% yas--check-commit-snippet 2 0% - copilot--post-command 2 0% - apply 2 0% - exec/copilot-complete-advice 2 0% - if 1 0% - or 1 0% - and 1 0% frame-visible-p 1 0% - progn 1 0% - apply 1 0% - #<native-comp-function copilot--post-command> 1 0% - run-with-idle-timer 1 0% - timer-set-idle-time 1 0% timer--time-setter 1 0% jit-lock--antiblink-post-command 1 0% - undo-auto--add-boundary 1 0% undo-auto--boundaries 1 0% gcmh-set-high-threshold 0 0% ... but scroll down is very laggy: 2667 87% - command-execute 2666 87% - funcall-interactively 2666 87% - evil-scroll-page-up 2666 87% - scroll-down 2665 87% - apply 2664 87% - ad-Advice-scroll-down 2663 87% - #<primitive-function scroll-down> 95 3% - eval 44 1% - mode--line-format-right-align 26 0% - string-pixel-width 3 0% - #<byte-code-function 5F0> 3 0% work-buffer--release 10 0% - eval 8 0% - minions--prominent-modes 8 0% - cl-remove-if-not 7 0% - cl-remove 5 0% - cl-delete 2 0% #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_8> 1 0% #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_8> 2 0% unless 35 1% - breadcrumb--header-line 31 1% - funcall 17 0% - breadcrumb-imenu-crumbs 17 0% - let 17 0% - which-function 17 0% - add-log-current-defun 17 0% - treesit-add-log-current-defun 11 0% - treesit-defun-at-point 11 0% - treesit-thing-at-point 11 0% - treesit-thing-at 6 0% - treesit-parent-until 3 0% - #<byte-code-function D20> 3 0% treesit-node-match-p 5 0% - treesit-node-at 1 0% treesit-buffer-root-node 6 0% - treesit-defun-name 6 0% - rust-ts-mode--defun-name 2 0% - treesit-node-text 1 0% treesit-node-buffer 13 0% - breadcrumb-project-crumbs 12 0% - breadcrumb--project-crumbs-1 4 0% breadcrumb--format-project-node 4 0% directory-file-name 1 0% - file-relative-name 1 0% - apply 1 0% - #<interpreted-function F49> 1 0% - my-cacheable-file-relative-name 1 0% - let 1 0% - or 1 0% gethash 1 0% throw 1 0% breadcrumb--summarize 3 0% - cl-remove-if 3 0% cl-remove 5 0% - tab-line-format 5 0% - tab-line-tabs-fixed-window-buffers 4 0% - let* 2 0% - sort 2 0% - tab-line-tabs-window-buffers 2 0% - let* 2 0% - seq-difference 1 0% - seq-reduce 1 0% - seq-empty-p 1 0% - apply 1 0% #<byte-code-function 307> 1 0% - let 1 0% seq-do-indexed 3 0% - if 3 0% frame-parameter 3 0% - minions--prominent-modes 3 0% - cl-remove-if-not 3 0% - cl-remove 2 0% cl-delete 1 0% - exec/lsp-mode-string 1 0% format 1 0% - exec/copilot-mode-line 1 0% - format 1 0% - if 1 0% - concat 1 0% format 1 0% propertize 1 0% - file-remote-p 1 0% - apply 1 0% my-file-remote-p-advice 257 8% - redisplay_internal (C function) 19 0% - eval 11 0% - mode--line-format-right-align 5 0% - string-pixel-width 1 0% - #<byte-code-function 14B> 1 0% work-buffer--release 3 0% - eval 3 0% - minions--prominent-modes 3 0% - cl-remove-if-not 3 0% cl-remove 5 0% - breadcrumb--header-line 4 0% - funcall 3 0% - breadcrumb-imenu-crumbs 3 0% - let 3 0% - which-function 3 0% - add-log-current-defun 3 0% - treesit-add-log-current-defun 3 0% - treesit-defun-at-point 3 0% - treesit-thing-at-point 3 0% - treesit-thing-at 3 0% - treesit-node-at 1 0% treesit-buffer-root-node 1 0% - breadcrumb-project-crumbs 1 0% - breadcrumb--project-crumbs-1 1 0% breadcrumb--format-project-node 2 0% - if 2 0% - frame-parameter 1 0% quote 1 0% - tab-line-format 1 0% - tab-line-tabs-fixed-window-buffers 1 0% - let* 1 0% - sort 1 0% tab-line-tabs-window-buffers 2 0% - tab-bar-make-keymap 2 0% - tab-bar-make-keymap-1 2 0% - tab-bar-format-list 2 0% - #<byte-code-function 243> 1 0% - tab-bar-format-tabs 1 0% #<byte-code-function 278> 1 0% - tab-bar-format-align-right 1 0% - tab-bar-format-list 1 0% - #<byte-code-function 50D> 1 0% - tab-bar-format-global 1 0% #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_39> 59 1% - display-line-numbers-update-width 9 0% - jit-lock-function 9 0% - jit-lock-fontify-now 9 0% - jit-lock--run-functions 9 0% - #<byte-code-function C4C> 9 0% - font-lock-fontify-region 9 0% - font-lock-default-fontify-region 5 0% - font-lock-fontify-syntactically-region 5 0% - treesit-font-lock-fontify-region 5 0% - treesit--font-lock-fontify-region-1 1 0% - rust-ts-mode--fontify-pattern 1 0% - let 1 0% - pcase-dolist 1 0% - #<byte-code-function 1E5> 1 0% gensym 4 0% - font-lock-fontify-keywords-region 4 0% - rainbow-delimiters--propertize 4 0% - syntax-ppss 4 0% parse-partial-sexp 8 0% - which-key--hide-popup 5 0% - which-key--hide-popup-ignore-command 5 0% - which-key--hide-buffer-side-window 5 0% quit-windows-on 2 0% which-key--lighter-restore 8 0% - exec/lsp-document-highlight-now 8 0% - let 8 0% - if 8 0% - progn 8 0% - if 8 0% - progn 8 0% - if 8 0% - progn 8 0% - let 7 0% - bounds-of-thing-at-point 5 0% thing-at-point--beginning-of-symbol 2 0% re-search-forward 8 0% - timer-event-handler 7 0% - apply 6 0% - #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9> 6 0% jit-lock-context-fontify 1 0% - copilot--post-command-debounce 1 0% - copilot--satisfy-trigger-predicates 1 0% - cl-every 1 0% - #<native-comp-function F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_73> 1 0% evil-insert-state-p 7 0% - winner-save-old-configurations 7 0% - winner-remember 3 0% - winner-win-data 3 0% winner-sorted-window-list 5 0% - copilot--post-command 5 0% - apply 5 0% - exec/copilot-complete-advice 4 0% - if 4 0% - progn 4 0% - apply 4 0% - #<native-comp-function copilot--post-command> 3 0% - run-with-idle-timer 2 0% - timer-set-idle-time 2 0% timer--time-setter 1 0% - timer-activate-when-idle 1 0% timer--activate 1 0% s-starts-with-p 5 0% - corfu--auto-post-command 4 0% corfu--match-symbol-p 1 0% cancel-timer 4 0% - gcmh-register-idle-gc 3 0% - run-with-timer 2 0% - run-at-time 1 0% - timer-set-time 1 0% timer--time-setter 1 0% - timer-activate 1 0% - timer--activate 1 0% timer--time-less-p 1 0% - cancel-timer 1 0% timerp 2 0% - evil--jump-hook 1 0% - evil-set-jump 1 0% push-mark 2 0% - evil-normal-post-command 2 0% evil-adjust-cursor 2 0% rp/pre-command 2 0% - internal-timer-start-idle 1 0% timerp 2 0% - yas--post-command-handler 2 0% yas--do-todo-snippet-indent 1 0% jit-lock--antiblink-post-command 1 0% - etcc--evil-set-cursor 1 0% display-graphic-p 1 0% evil--jump-handle-buffer-crossing 0 0% ... In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2) of 2024-12-07 built on Mufasa Repository revision: 6f6b641975e4828f96913b29b1476c6323c952d8 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12401004 System Description: NixOS 24.11 (Vicuna) Configured using: 'configure 'CFLAGS=-O3 -mtune=native -march=native' --prefix=/home/exec/Projects/git.savannah.gnu.org/git/emacs-build/master-commit-6f6b641975e4828f96913b29b1476c6323c952d8-O3 --with-imagemagick --with-modules --with-cairo --with-cairo-xcb --without-compress-install --with-native-compilation --with-mailutils --enable-link-time-optimization --with-tree-sitter --with-xinput2 --with-dbus --with-native-compilation=aot --with-file-notification=inotify' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ IMAGEMAGICK JPEG LCMS2 LIBOTF LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $EMACSLOADPATH: /nix/store/97ymyq978919zfqva4p15r4ddzzkkz0l-emacs-mu4e-1.12.7/share/emacs/site-lisp:/nix/store/4k2h9qsps52n1v56zq03yi67dwmxa81i-cmake-3.30.5/share/emacs/site-lisp: value of $LC_COLLATE: C value of $LC_MONETARY: en_US.UTF-8 value of $LC_NUMERIC: en_US.UTF-8 value of $LC_TIME: en_US.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8-unix Major mode: Rust Minor modes in effect: lsp-modeline-workspace-status-mode: t restore-point-mode: t global-atomic-chrome-edit-mode: t dogears-mode: t marginalia-mode: t yas-global-mode: t yas-minor-mode: t keycast-tab-bar-mode: t vertico-truncate-mode: t vertico-multiform-mode: t vertico-mode: t telega-root-auto-fill-mode: t telega-contact-birthdays-mode: t telega-active-video-chats-mode: t telega-active-locations-mode: t telega-patrons-mode: t telega-active-stories-mode: t tab-line-nerd-icons-global-mode: t global-tab-line-mode: t tab-line-mode: t global-org-modern-mode: t minions-mode: t display-line-numbers-mode: t electric-pair-mode: t highlight-numbers-mode: t hes-mode: t rainbow-delimiters-mode: t breadcrumb-local-mode: t copilot-mode: t treemacs-git-commit-diff-mode: t treemacs-project-follow-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t lsp-ui-mode: t which-key-mode: t lsp-inlay-hints-mode: t lsp-mode: t global-hungry-delete-mode: t hungry-delete-mode: t engine-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t global-git-commit-mode: t cargo-minor-mode: t burly-tabs-mode: t global-form-feed-st-mode: t form-feed-st-mode: t eat-eshell-mode: t sly-symbol-completion-mode: t super-save-mode: t super-hint-xref-mode: t super-hint-rg-mode: t windmove-mode: t save-place-mode: t recentf-mode: t winner-mode: t pdf-occur-global-minor-mode: t nerd-icons-completion-mode: t server-mode: t global-diff-hl-show-hunk-mouse-mode: t diff-hl-show-hunk-mouse-mode: t diff-hl-flydiff-mode: t diff-hl-margin-local-mode: t diff-hl-margin-mode: t global-diff-hl-mode: t diff-hl-mode: t sudo-edit-indicator-mode: t global-evil-surround-mode: t evil-surround-mode: t global-evil-visualstar-mode: t evil-visualstar-mode: t evil-commentary-mode: t global-evil-mc-mode: t evil-mc-mode: t evil-lion-mode: t gcmh-mode: t global-evil-collection-unimpaired-mode: t evil-collection-unimpaired-mode: t buffer-face-mode: t TeX-PDF-mode: t el-patch-use-package-mode: t global-auto-revert-mode: t evil-mode: t evil-local-mode: t general-override-mode: t elpaca-use-package-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t column-number-mode: -1 line-number-mode: -1 transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t hs-minor-mode: t Load-path shadows: /home/exec/.emacs.d/elpaca/builds/git-commit/magit-extras hides /home/exec/.emacs.d/elpaca/builds/magit/magit-extras /home/exec/.emacs.d/elpaca/builds/git-commit/magit-reflog hides /home/exec/.emacs.d/elpaca/builds/magit/magit-reflog /home/exec/.emacs.d/elpaca/builds/git-commit/magit-refs hides /home/exec/.emacs.d/elpaca/builds/magit/magit-refs /home/exec/.emacs.d/elpaca/builds/git-commit/magit-gitignore hides /home/exec/.emacs.d/elpaca/builds/magit/magit-gitignore /home/exec/.emacs.d/elpaca/builds/git-commit/magit-submodule hides /home/exec/.emacs.d/elpaca/builds/magit/magit-submodule /home/exec/.emacs.d/elpaca/builds/git-commit/magit-status hides /home/exec/.emacs.d/elpaca/builds/magit/magit-status /home/exec/.emacs.d/elpaca/builds/git-commit/magit-pull hides /home/exec/.emacs.d/elpaca/builds/magit/magit-pull /home/exec/.emacs.d/elpaca/builds/git-commit/magit-clone hides /home/exec/.emacs.d/elpaca/builds/magit/magit-clone /home/exec/.emacs.d/elpaca/builds/git-commit/magit hides /home/exec/.emacs.d/elpaca/builds/magit/magit /home/exec/.emacs.d/elpaca/builds/git-commit/magit-notes hides /home/exec/.emacs.d/elpaca/builds/magit/magit-notes /home/exec/.emacs.d/elpaca/builds/git-commit/magit-commit hides /home/exec/.emacs.d/elpaca/builds/magit/magit-commit /home/exec/.emacs.d/elpaca/builds/git-commit/magit-margin hides /home/exec/.emacs.d/elpaca/builds/magit/magit-margin /home/exec/.emacs.d/elpaca/builds/git-commit/magit-sparse-checkout hides /home/exec/.emacs.d/elpaca/builds/magit/magit-sparse-checkout /home/exec/.emacs.d/elpaca/builds/git-commit/magit-base hides /home/exec/.emacs.d/elpaca/builds/magit/magit-base /home/exec/.emacs.d/elpaca/builds/git-commit/magit-wip hides /home/exec/.emacs.d/elpaca/builds/magit/magit-wip /home/exec/.emacs.d/elpaca/builds/git-commit/magit-branch hides /home/exec/.emacs.d/elpaca/builds/magit/magit-branch /home/exec/.emacs.d/elpaca/builds/git-commit/magit-remote hides /home/exec/.emacs.d/elpaca/builds/magit/magit-remote /home/exec/.emacs.d/elpaca/builds/git-commit/magit-log hides /home/exec/.emacs.d/elpaca/builds/magit/magit-log /home/exec/.emacs.d/elpaca/builds/git-commit/magit-core hides /home/exec/.emacs.d/elpaca/builds/magit/magit-core /home/exec/.emacs.d/elpaca/builds/git-commit/magit-subtree hides /home/exec/.emacs.d/elpaca/builds/magit/magit-subtree /home/exec/.emacs.d/elpaca/builds/git-commit/magit-autorevert hides /home/exec/.emacs.d/elpaca/builds/magit/magit-autorevert /home/exec/.emacs.d/elpaca/builds/git-commit/magit-git hides /home/exec/.emacs.d/elpaca/builds/magit/magit-git /home/exec/.emacs.d/elpaca/builds/git-commit/magit-mode hides /home/exec/.emacs.d/elpaca/builds/magit/magit-mode /home/exec/.emacs.d/elpaca/builds/git-commit/magit-ediff hides /home/exec/.emacs.d/elpaca/builds/magit/magit-ediff /home/exec/.emacs.d/elpaca/builds/git-commit/magit-fetch hides /home/exec/.emacs.d/elpaca/builds/magit/magit-fetch /home/exec/.emacs.d/elpaca/builds/git-commit/magit-push hides /home/exec/.emacs.d/elpaca/builds/magit/magit-push /home/exec/.emacs.d/elpaca/builds/git-commit/magit-bundle hides /home/exec/.emacs.d/elpaca/builds/magit/magit-bundle /home/exec/.emacs.d/elpaca/builds/git-commit/magit-worktree hides /home/exec/.emacs.d/elpaca/builds/magit/magit-worktree /home/exec/.emacs.d/elpaca/builds/git-commit/magit-repos hides /home/exec/.emacs.d/elpaca/builds/magit/magit-repos /home/exec/.emacs.d/elpaca/builds/git-commit/magit-tag hides /home/exec/.emacs.d/elpaca/builds/magit/magit-tag /home/exec/.emacs.d/elpaca/builds/git-commit/git-commit hides /home/exec/.emacs.d/elpaca/builds/magit/git-commit /home/exec/.emacs.d/elpaca/builds/git-commit/magit-blame hides /home/exec/.emacs.d/elpaca/builds/magit/magit-blame /home/exec/.emacs.d/elpaca/builds/git-commit/magit-diff hides /home/exec/.emacs.d/elpaca/builds/magit/magit-diff /home/exec/.emacs.d/elpaca/builds/git-commit/magit-stash hides /home/exec/.emacs.d/elpaca/builds/magit/magit-stash /home/exec/.emacs.d/elpaca/builds/git-commit/magit-process hides /home/exec/.emacs.d/elpaca/builds/magit/magit-process /home/exec/.emacs.d/elpaca/builds/git-commit/git-rebase hides /home/exec/.emacs.d/elpaca/builds/magit/git-rebase /home/exec/.emacs.d/elpaca/builds/git-commit/magit-transient hides /home/exec/.emacs.d/elpaca/builds/magit/magit-transient /home/exec/.emacs.d/elpaca/builds/git-commit/magit-patch hides /home/exec/.emacs.d/elpaca/builds/magit/magit-patch /home/exec/.emacs.d/elpaca/builds/git-commit/magit-reset hides /home/exec/.emacs.d/elpaca/builds/magit/magit-reset /home/exec/.emacs.d/elpaca/builds/git-commit/magit-apply hides /home/exec/.emacs.d/elpaca/builds/magit/magit-apply /home/exec/.emacs.d/elpaca/builds/git-commit/magit-sequence hides /home/exec/.emacs.d/elpaca/builds/magit/magit-sequence /home/exec/.emacs.d/elpaca/builds/git-commit/magit-bookmark hides /home/exec/.emacs.d/elpaca/builds/magit/magit-bookmark /home/exec/.emacs.d/elpaca/builds/git-commit/magit-bisect hides /home/exec/.emacs.d/elpaca/builds/magit/magit-bisect /home/exec/.emacs.d/elpaca/builds/git-commit/magit-files hides /home/exec/.emacs.d/elpaca/builds/magit/magit-files /home/exec/.emacs.d/elpaca/builds/git-commit/magit-merge hides /home/exec/.emacs.d/elpaca/builds/magit/magit-merge /home/exec/.emacs.d/elpaca/builds/standard-themes/theme-loaddefs hides /home/exec/.emacs.d/elpaca/builds/ef-themes/theme-loaddefs /home/exec/.emacs.d/elpaca/builds/git-commit/magit-section hides /home/exec/.emacs.d/elpaca/builds/magit-section/magit-section /home/exec/.emacs.d/elpaca/builds/cmake-mode/cmake-mode hides /nix/store/4k2h9qsps52n1v56zq03yi67dwmxa81i-cmake-3.30.5/share/emacs/site-lisp/cmake-mode /home/exec/.emacs.d/elpaca/builds/which-key/which-key hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/master-commit-6f6b641975e4828f96913b29b1476c6323c952d8-O3/share/emacs/31.0.50/lisp/which-key /home/exec/.emacs.d/elpaca/builds/standard-themes/theme-loaddefs hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/master-commit-6f6b641975e4828f96913b29b1476c6323c952d8-O3/share/emacs/31.0.50/lisp/theme-loaddefs /home/exec/.emacs.d/elpaca/builds/transient/transient hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/master-commit-6f6b641975e4828f96913b29b1476c6323c952d8-O3/share/emacs/31.0.50/lisp/transient Features: (shadow sort mail-extr evil-collection-embark embark-org embark-consult embark disass evil-collection-shortdoc shortdoc mermaid-mode expand-region yaml-mode-expansions subword-mode-expansions text-mode-expansions cc-mode-expansions the-org-mode-expansions python-el-fgallina-expansions latex-mode-expansions js2-mode-expansions js-mode-expansions web-mode-expansions html-mode-expansions clojure-mode-expansions er-basic-expansions expand-region-core expand-region-custom semantic/symref/grep semantic/symref nerd-icons-dired diredfl yaml-ts-mode lsp-diagnostics lsp-modeline lsp-icons lsp-zig lsp-yang lsp-yaml lsp-xml lsp-wgsl lsp-volar lsp-vimscript lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typespec lsp-typeprof lsp-ttcn3 lsp-trunk lsp-toml lsp-tilt lsp-tex lsp-terraform lsp-svelte lsp-steep lsp-sqls lsp-sql lsp-sorbet lsp-solidity lsp-solargraph lsp-semgrep lsp-rust lsp-ruff lsp-ruby-syntax-tree lsp-ruby-lsp lsp-rubocop lsp-roslyn lsp-rf lsp-remark lsp-racket lsp-r lsp-qml lsp-pyright lsp-pylsp lsp-pyls lsp-pwsh lsp-purescript lsp-pls lsp-php lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-nushell lsp-nix lsp-nim lsp-nginx lsp-nextflow lsp-move lsp-mojo lsp-mint lsp-meson lsp-mdx lsp-marksman lsp-markdown lsp-magik lsp-fennel lsp-lua lsp-lisp lsp-kotlin lsp-json lsp-jq lsp-javascript lsp-idris lsp-haxe lsp-hack lsp-groovy lsp-graphql lsp-golangci-lint lsp-glsl lsp-gleam lsp-gdscript lsp-fsharp lsp-futhark lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elm lsp-elixir lsp-earthly lsp-dockerfile lsp-dhall lsp-d lsp-cypher lsp-cucumber lsp-css lsp-csharp lsp-crystal lsp-credo lsp-cobol lsp-cmake lsp-clojure lsp-clangd lsp-bufls lsp-go lsp-completion lsp-beancount lsp-bash lsp-awk lsp-autotools lsp-astro lsp-asm lsp-ansible lsp-angular lsp-ada lsp-semantic-tokens lsp-actionscript rust-ts-mode cus-start gptel-curl dabbrev cape gptel-transient gptel-ollama gptel-org gptel-openai restore-point evil-collection-atomic-chrome atomic-chrome dogears marginalia yasnippet-snippets yasnippet-capf yasnippet keycast vertico-truncate vertico-posframe vertico-multiform evil-collection-vertico vertico go-translate gt-text-utility gt-engine-echo gt-engine-libre gt-engine-chatgpt gt-engine-youdao gt-engine-stardict gt-engine-deepl gt-engine-google-rpc gt-engine-google gt-engine-bing gt-extension gt-faces gt-core gt-httpx sdcv cap-words superword subword evil-collection-telega telega-obsolete telega telega-tdlib-events telega-match telega-root telega-info telega-chat telega-modes telega-company telega-emoji telega-user telega-notifications telega-voip telega-msg telega-story telega-webpage telega-tme telega-sticker telega-vvnote telega-ffplay telega-i18n telega-sort telega-filter telega-ins telega-inline telega-util telega-folders telega-topic telega-media telega-tdlib dired-aux telega-server telega-core telega-customize emacsbug tab-line-nerd-icons evil-collection-imenu-list imenu-list tab-line rust-utils rust-prog-mode rust-mode rust-playpen rust-cargo rust-common rust-rustfmt rust-compile toml rg-info-hack rg-menu rg-ibuffer rg-result wgrep-rg rg-history rg-header org-sliced-images org-journal org-crypt cal-iso org-modern orderless cyphejor minions string-inflection wakatime-mode evil-collection-forge forge-repos forge-tablist forge-topics forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github forge-notify forge-revnote forge-pullreq forge-issue forge-topic eieio-custom bug-reference forge-post forge-repo forge forge-core forge-db closql emacsql-sqlite emacsql emacsql-compiler eieio-base rainbow-mode elisp-autofmt loadhist highlight-defined display-line-numbers elec-pair highlight-numbers parent-mode highlight-escape-sequences rainbow-delimiters hide-comnt hideshow breadcrumb copilot copilot-balancer editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch jsonrpc magit-file-icons el-patch-template dap-java dap-mode dap-tasks dap-launch lsp-docker yaml dap-overlays lsp-java treemacs-nerd-icons lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs-git-commit-diff-mode treemacs-project-follow-mode zoom treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator treemacs-faces treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros consult-lsp lsp-ui lsp-ui-doc evil-collection-lsp-ui-imenu lsp-ui-imenu lsp-ui-peek lsp-ui-sideline evil-collection-which-key which-key lsp-mode network-stream lsp-ui-util lsp-protocol groovy-mode evil-collection-hungry-delete hungry-delete minibuffer-header gptel-quick gotest fzf sideline quick-peek engine-mode evil-collection-ement ement-room-list taxy-magit-section taxy ement ement-notifications ement-notify ement-room ement-lib ement-api ement-structs ement-macros dns ellama llm-ollama llm-provider-utils llm-models llm-request-plz plz-event-source plz-media-type plz llm evil-collection-elfeed elfeed-show elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib xml-query dired-git-info dired-hacks dired-preview evil-collection-cmake-mode cmake-mode corfu-terminal popon corfu-popupinfo kind-icon svg-lib evil-collection-corfu corfu copilot-chat magit-bookmark evil-collection-magit 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 evil-collection-magit-repos magit-repos magit-apply magit-wip magit-log copilot-chat-org copilot-chat-shell-maker copilot-chat-markdown pr-review pr-review-render pr-review-action magit-diff git-commit magit-core magit-autorevert magit-margin magit-transient magit-process evil-collection-with-editor with-editor magit-mode magit-git magit-base which-func pr-review-input pr-review-api ghub-graphql treepy gsexp ghub pr-review-common evil-collection-markdown-mode markdown-mode copilot-chat-copilot copilot-chat-curl copilot-chat-request copilot-chat-common paredit clojure-ts-mode evil-collection-cider cider tramp-sh cider-debug cider-browse-ns cider-mode cider-xref-backend cider-find cider-inspector cider-completion cider-profile cider-eval cider-jar cider-repl-history pulse cider-repl cider-resolve cider-test cider-overlays cider-stacktrace cider-doc cider-browse-spec cider-clojuredocs cider-eldoc cider-docstring cider-client cider-common cider-completion-context cider-connection cider-popup sesman-browser nrepl-client cider-util sesman queue nrepl-dict spinner clojure-mode parseedn parseclj-parser parseclj-lex parseclj-alist chatgpt-shell chatgpt-shell-perplexity chatgpt-shell-openai chatgpt-shell-ollama chatgpt-shell-kagi chatgpt-shell-google chatgpt-shell-anthropic chatgpt-shell-prompt-compose evil-collection-smerge-mode smerge-mode shell-maker ielm evil-collection-eshell eshell em-prompt esh-mode esh-var esh-cmd esh-ext esh-proc esh-opt esh-io esh-arg esh-module esh-module-loaddefs esh-util mediawiki cargo-mode cnfonts burly-tabs burly frameset prism compile-multi form-feed-st google-this echo-bar fcitx evil-collection-eat eat term/xterm xterm evil-collection-term term ehelp evil-collection-python python ox-reveal ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox org-attach org-element org-persist org-id org-refile org-element-ast inline avl-tree htmlize evil-collection-explain-pause-mode explain-pause-mode explain-pause-top explain-pause-log-to-socket evil-collection-profiler profiler weather-metno solar cal-dst url-cache display-wttr kdeconnect vuiet evil-collection-ivy ivy delsel ivy-faces ivy-overlay colir mpv org-timer org-clock versuri esqlite pcsv esxml-query lastfm elquery anaphora spotify crux pest-mode popwin blackboard-theme standard-themes nimbus-theme tok-theme danneskjold-theme srcery-theme subatomic256-theme iscroll xml+ multiple-cursors mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more sgml-mode mc-cycle-cursors multiple-cursors-core evil-textobj-tree-sitter evil-textobj-tree-sitter-thing-at-point evil-textobj-tree-sitter-core citre citre-xref-adapter citre-global citre-tags citre-ctags citre-readtags citre-readtags-tables citre-ui-peek citre-ui-jump citre-backend-interface citre-common-tag citre-common-util ctable line-reminder ov ht fringe-helper solarized-theme solarized solarized-faces vscode-dark-plus-theme gruvbox-theme gruvbox sqlup-mode evil-collection-bm bm simplicity-theme twilight-bright-theme flatui-theme zen-mode origami origami-parsers cl evil-collection-sly sly sly-completion sly-buttons sly-messages sly-common evil-collection-apropos apropos evil-collection-arc-mode arc-mode archive-mode hyperspec sicp morlock sexy-monochrome-theme nofrils-acme-theme inverse-acme-theme acme-theme dracula-theme professional-theme plan9-theme ayu-theme base16-theme idea-darkula-theme hybrid-reverse-theme sublime-themes material-theme doom-themes doom-themes-base nyan-mode organic-green-theme inkpot-theme github-dark-vscode-theme almost-mono-themes cyberpunk-theme soothe-theme soothe-tva zenburn-theme mindre-theme kaolin-themes kaolin-themes-lib tron-legacy-theme wildcharm-theme atom-one-dark-theme parchment-theme autothemer visual-fill-column transpose-frame gameoflife evil-collection-docker docker docker-context docker-volume docker-network docker-image docker-container docker-faces docker-core docker-compose docker-process docker-utils docker-group dockerfile-mode emacs-everywhere cus-dir empv yeetube yeetube-mpv socks dumb-jump evil-collection-popup popup websocket bindat bing-dict bing-dict-cache hl-todo atom-dark-theme ef-themes uwu-theme vagrant evil-collection-ag ag vc-svn find-dired alarm-clock alert notifications gntp pinentry evil-collection-hackernews hackernews evil-collection-notmuch notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser notmuch-wash coolj goto-addr icalendar diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-compat mm-view mml-smime smime gnutls dig fussy flx affe clang-format apheleia apheleia-rcs apheleia-dp apheleia-formatters apheleia-utils apheleia-log apheleia-formatter-context vimrc-mode netease-cloud-music netease-cloud-music-functions gnuplot olivetti super-save evil-collection-helpful helpful cc-langs trace cl-print evil-collection-edebug edebug evil-collection-debug debug backtrace info-look evil-collection-info info help-fns radix-tree solidity-mode solidity-common evil-collection-git-timemachine git-timemachine markdown-ts-mode web-mode disp-table adoc-mode tempo evil-collection-go-mode go-mode find-file evil-collection-js2-mode js2-mode etags fileloop cider-autoloads clojure-mode-autoloads sly-autoloads yasnippet-snippets-autoloads which-key-autoloads vertico-truncate-autoloads vertico-posframe-autoloads vertico-autoloads go-translate-autoloads alert-autoloads gntp-autoloads sdcv-autoloads telega-autoloads tab-line-nerd-icons-autoloads keycast-autoloads rust-mode-autoloads toml-autoloads rg-autoloads writeroom-mode-autoloads nov-autoloads org-sliced-images-autoloads org-journal-autoloads org-download-autoloads org-modern-autoloads orderless-autoloads cyphejor-autoloads minions-autoloads string-inflection-autoloads wakatime-mode-autoloads webpaste-autoloads forge-autoloads closql-autoloads emacsql-autoloads git-commit-autoloads magit-file-icons-autoloads lsp-java-autoloads dap-mode-autoloads bui-autoloads lsp-treemacs-autoloads lsp-docker-autoloads yaml-autoloads lsp-pyright-autoloads consult-lsp-autoloads lsp-ui-autoloads lsp-mode-autoloads groovy-mode-autoloads imenu-list-autoloads hungry-delete-autoloads hide-comnt-autoloads minibuffer-header-autoloads gptel-quick-autoloads gptel-autoloads gotest-autoloads fzf-autoloads sideline-autoloads quick-peek-autoloads pos-tip-autoloads engine-mode-autoloads ement-autoloads taxy-magit-section-autoloads taxy-autoloads embark-consult-autoloads embark-autoloads ellama-autoloads llm-autoloads plz-event-source-autoloads plz-media-type-autoloads plz-autoloads elfeed-tube-mpv-autoloads elfeed-tube-autoloads elfeed-autoloads dogears-autoloads dired-git-info-autoloads dired-hacks-autoloads dired-preview-autoloads diredfl-autoloads cmake-mode-autoloads corfu-terminal-autoloads popon-autoloads corfu-autoloads copilot-autoloads copilot-chat-autoloads paredit-autoloads clojure-ts-mode-autoloads parseedn-autoloads parseclj-autoloads queue-autoloads spinner-autoloads sesman-autoloads chatgpt-shell-autoloads shell-maker-autoloads breadcrumb-autoloads mediawiki-autoloads treemacs-nerd-icons-autoloads treemacs-autoloads pfuture-autoloads cfrs-autoloads cargo-autoloads cargo-mode-autoloads pr-review-autoloads magit-autoloads with-editor-autoloads ghub-autoloads treepy-autoloads cnfonts-autoloads burly-autoloads prism-autoloads compile-multi-autoloads form-feed-st-autoloads google-this-autoloads echo-bar-autoloads zoom-autoloads fcitx-autoloads eat-autoloads vterm-autoloads chatgpt-autoloads ox-reveal-autoloads htmlize-autoloads wordreference-autoloads explain-pause-mode-autoloads weather-metno-autoloads display-wttr-autoloads kdeconnect-autoloads vuiet-autoloads lastfm-autoloads elquery-autoloads versuri-autoloads anaphora-autoloads esxml-autoloads kv-autoloads esqlite-autoloads pcsv-autoloads ivy-autoloads emms-autoloads spotify-autoloads crux-autoloads pest-mode-autoloads popwin-autoloads blackboard-theme-autoloads standard-themes-autoloads nimbus-theme-autoloads tok-theme-autoloads danneskjold-theme-autoloads srcery-theme-autoloads subatomic256-theme-autoloads iscroll-autoloads xml+-autoloads multiple-cursors-autoloads evil-textobj-tree-sitter-autoloads evil-numbers-autoloads citre-autoloads ctable-autoloads line-reminder-autoloads fringe-helper-autoloads ov-autoloads solarized-theme-autoloads vscode-dark-plus-theme-autoloads gruvbox-theme-autoloads sqlup-mode-autoloads bm-autoloads simplicity-theme-autoloads twilight-bright-theme-autoloads flatui-theme-autoloads zen-mode-autoloads origami-autoloads expand-region-autoloads morlock-autoloads highlight-defined-autoloads sexy-monochrome-theme-autoloads nofrils-acme-theme-autoloads inverse-acme-theme-autoloads acme-theme-autoloads dracula-theme-autoloads professional-theme-autoloads plan9-theme-autoloads ayu-theme-autoloads base16-theme-autoloads idea-darkula-theme-autoloads hybrid-reverse-theme-autoloads sublime-themes-autoloads material-theme-autoloads doom-themes-autoloads nyan-mode-autoloads organic-green-theme-autoloads inkpot-theme-autoloads github-dark-vscode-theme-autoloads almost-mono-themes-autoloads cyberpunk-theme-autoloads soothe-theme-autoloads zenburn-theme-autoloads mindre-theme-autoloads kaolin-themes-autoloads tron-legacy-theme-autoloads wildcharm-theme-autoloads atom-one-dark-theme-autoloads parchment-theme-autoloads autothemer-autoloads visual-fill-column-autoloads transpose-frame-autoloads gameoflife-autoloads docker-autoloads dockerfile-mode-autoloads emacs-everywhere-autoloads cus-dir-autoloads empv-autoloads yeetube-autoloads makefile-executor-autoloads dumb-jump-autoloads popup-autoloads bing-dict-autoloads hl-todo-autoloads atom-dark-theme-autoloads ef-themes-autoloads uwu-theme-autoloads vagrant-autoloads ag-autoloads alarm-clock-autoloads pinentry-autoloads hackernews-autoloads notmuch-autoloads fussy-autoloads flx-autoloads affe-autoloads clang-format-autoloads apheleia-autoloads elisp-autofmt-autoloads vimrc-mode-autoloads netease-cloud-music-autoloads mpv-autoloads gnuplot-autoloads mermaid-mode-autoloads atomic-chrome-autoloads websocket-autoloads restore-point-autoloads ace-window-autoloads avy-autoloads olivetti-autoloads super-save-autoloads helpful-autoloads solidity-mode-autoloads git-timemachine-autoloads markdown-ts-mode-autoloads web-mode-autoloads adoc-mode-autoloads go-mode-autoloads js2-mode-autoloads rust-playground-autoloads consult-dir-autoloads consult-ag-autoloads super-hint-xref super-hint-rg super-hint evil-collection-xref xref evil-collection-rg rg pixel-scroll cua-base piper ob-shell ob-gnuplot ob-C evil-collection-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src evil-collection-sh-script sh-script executable ob-comint org-pcomplete org-list org-footnote org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-compat org-macs molecule-mode lsp hyperbole evil-collection-gptel gptel windmove erc erc-backend erc-networks erc-common erc-compat erc-loaddefs eee evil-collection-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util dired-x consult-ripgrep-all evil-collection-eww eww vtable mule-util url-queue epa-file saveplace recentf tree-widget winner edit-list refine loop list-utils evil-collection-leetcode leetcode log4e aio mm-url evil-collection-gnus gnus nnheader range prompts file-info browse-at-remote f image-roll toc-mode evil-collection-pdf pdf-history pdf-occur ibuf-ext pdf-isearch let-alist pdf-misc pdf-loader pdf-tools pdf-view jka-compr pdf-cache pdf-info pdf-util pdf-macs evil-collection-image image-mode exif rst ibuffer-sidebar evil-collection-ibuffer ibuffer ibuffer-loaddefs scratch sql evil-collection-view view persistent-scratch exercism persist async-await iter2 generator promise url-http url-auth url-gw nsm promise-rejection-tracking promise-finally promise-done promise-es6-extensions promise-core async request a indent-bars evil-collection-outline noutline outline mode-line-bell powerthesaurus jeison evil-collection-consult consult evil-collection-ripgrep ripgrep evil-collection-wgrep wgrep evil-collection-grep grep evil-collection-vlf vlf vlf-base vlf-tune gptai ctrlf hl-line nerd-icons-completion 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 disable-mouse mingus libmpdee evil-collection-mpdel mpdel mpdel-browser libmpdel-directory mpdel-playlist mpdel-tablist mpdel-song mpdel-core navigel evil-collection-bookmark bookmark evil-collection-tablist tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local find-func cedet libmpdel tq time-stamp exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types xcb-debug server posframe esup esup-child benchmark ssh-config-mode jq-mode json-mode json-snatcher js c-ts-common treesit evil-collection-imenu imenu cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs evil-collection-yaml-mode yaml-mode toml-mode conf-mode align evil-collection-elisp-refs elisp-refs s highlight facemenu diff-hl-show-hunk diff-hl-inline-popup diff-hl-flydiff diff diff-hl-margin diff-hl-dired evil-collection-diff-hl diff-hl evil-collection-log-view log-view evil-collection-log-edit log-edit message sendmail yank-media rfc822 mml mml-sec evil-collection-epa epa derived 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 add-log pcvs-util evil-collection-vc-dir vc-dir ewoc nix-mode ffap smie nix-repl nix-shell nix-store evil-collection-magit-section magit-section cursor-sensor dash nix-log nix-instantiate nix-shebang nix-format nix sudo-edit tramp trampver tramp-integration tramp-message tramp-compat xdg shell pcomplete parse-time iso8601 time-date tramp-loaddefs evil-collection-devdocs devdocs mathjax zig-mode reformatter evil-terminal-cursor-changer evil-surround evil-visualstar evil-commentary evil-commentary-integration evil-collection-evil-mc evil-mc evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands evil-mc-common evil-exchange evil-lion evil-args smartscan gcmh timeout ess ess-utils ess-custom evil-collection-unimpaired evil-collection-vc-git evil-collection-tabulated-list evil-collection-tab-bar evil-collection-simple evil-collection-replace evil-collection-process-menu evil-collection-package-menu evil-collection-minibuffer evil-collection-man evil-collection-kmacro evil-collection-indent evil-collection-help evil-collection-flymake evil-collection-elisp-mode evil-collection-eldoc evil-collection-elpaca evil-collection-dired evil-collection-diff-mode evil-collection-custom evil-collection-compile evil-collection-comint evil-collection-calendar evil-collection-buff-menu evil-collection annalist sqlite3 sqlite3-api treebundel vc-git diff-mode track-changes files-x minimap git-link dired dired-loaddefs texfrag face-remap shr pixel-fill kinsoku url-file puny svg dom preview latex latex-flymake flymake project compile text-property-search comint ansi-osc tex-ispell tex-style tex dbus xml crm texmathp auctex lisp-mnt package browse-url url-handlers xterm-color edit-list-autoloads refine-autoloads list-utils-autoloads loop-autoloads leetcode-autoloads aio-autoloads log4e-autoloads prompts-autoloads file-info-autoloads hydra-autoloads lv-autoloads browse-at-remote-autoloads image-roll-autoloads saveplace-pdf-view-autoloads pdfgrep-autoloads toc-mode-autoloads pdf-tools-autoloads ibuffer-sidebar-autoloads scratch-autoloads persistent-scratch-autoloads exercism-autoloads a-autoloads request-autoloads async-autoloads async-await-autoloads promise-autoloads iter2-autoloads persist-autoloads indent-bars-autoloads rainbow-delimiters-autoloads rainbow-mode-autoloads mode-line-bell-autoloads powerthesaurus-autoloads hydra lv jeison-autoloads consult-autoloads ripgrep-autoloads wgrep-autoloads yasnippet-capf-autoloads yasnippet-autoloads cape-autoloads kind-icon-autoloads svg-lib-autoloads vlf-autoloads gptai-autoloads popper-autoloads ctrlf-autoloads nerd-icons-dired-autoloads nerd-icons-completion-autoloads nerd-icons-autoloads marginalia-autoloads disable-mouse-autoloads mingus-autoloads libmpdee-autoloads mpdel-autoloads libmpdel-autoloads navigel-autoloads tablist-autoloads exwm-autoloads xelb-autoloads posframe-autoloads esup-autoloads quickrun-autoloads ht-autoloads ssh-config-mode-autoloads jq-mode-autoloads json-mode-autoloads json-snatcher-autoloads yaml-mode-autoloads toml-mode-autoloads elisp-refs-autoloads symbol-overlay-autoloads highlight-escape-sequences-autoloads highlight-autoloads highlight-numbers-autoloads parent-mode-autoloads diff-hl-autoloads nix-mode-autoloads magit-section-autoloads sudo-edit-autoloads attrap-autoloads f-autoloads dash-autoloads s-autoloads devdocs-autoloads mathjax-autoloads zig-mode-autoloads reformatter-autoloads evil-terminal-cursor-changer-autoloads evil-surround-autoloads evil-visualstar-autoloads evil-commentary-autoloads evil-mc-autoloads evil-exchange-autoloads evil-lion-autoloads evil-args-autoloads smartscan-autoloads gcmh-autoloads timeout-autoloads ess-autoloads poly-R-autoloads poly-markdown-autoloads markdown-mode-autoloads poly-noweb-autoloads polymode-autoloads info-colors-autoloads el-patch-autoloads el-patch el-patch-stub evil-collection-autoloads annalist-autoloads sqlite3-autoloads treebundel-autoloads minimap-autoloads git-link-autoloads texfrag-autoloads auctex-autoloads tex-site xterm-color-autoloads ispell man ansi-color autorevert filenotify cal-menu calendar cal-loaddefs advice evil evil-integration evil-maps evil-commands reveal evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros evil-repeat evil-states evil-core comp comp-cstr comp-run comp-common rx evil-common thingatpt rect evil-vars ring goto-chg evil-autoloads goto-chg-autoloads transient pcase format-spec compat transient-autoloads general memoize sanityinc-tomorrow-bright-theme color-theme-sanityinc-tomorrow color general-autoloads memoize-autoloads color-theme-sanityinc-tomorrow-autoloads edmacro kmacro vc vc-dispatcher 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 subr-x map byte-opt gv bytecomp byte-compile url-vars mailcap elpaca-menu-org elpaca warnings elpaca-process elpaca-autoloads early-init cus-edit pp cus-load icons wid-edit cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen 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 lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 3285834 6994842) (symbols 48 154260 969) (strings 32 748167 235897) (string-bytes 1 22574041) (vectors 16 252920) (vector-slots 8 3660949 3090034) (floats 8 4388 18319) (intervals 56 167158 45609) (buffers 992 104))
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Thu, 12 Dec 2024 09:12:02 GMT) Full text and rfc822 format available.Message #8 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Eval Exec <execvy <at> gmail.com> Cc: 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Thu, 12 Dec 2024 11:11:45 +0200
> From: Eval Exec <execvy <at> gmail.com> > Date: Thu, 12 Dec 2024 15:59:51 +0800 > > > I opened a large rust file, about 5000 lines. > scroll-up is quick and smooth, no laggy: > [...] > > but scroll down is very laggy: > > 2667 87% - command-execute > 2666 87% - funcall-interactively > 2666 87% - evil-scroll-page-up > 2666 87% - scroll-down > 2665 87% - apply > 2664 87% - ad-Advice-scroll-down ^^^^^^^^^^^^^^^^^^^^^ > 2663 87% - #<primitive-function scroll-down> First, you have an advice on scroll-down. Furthermore, scrolling down exposes portions of a file that were never seen before, which needs to fontify them. If fontification is expensive, it is expected that you will see some lags. What happens if you scroll down, then go back to the beginning, and then scroll down again -- is scrolling down the second time much faster? Also, you didn't say which major mode did you use for this file.
Stefan Kangas <stefankangas <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Thu, 12 Dec 2024 11:09:01 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Sat, 28 Dec 2024 11:00:02 GMT) Full text and rfc822 format available.Message #13 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: execvy <at> gmail.com Cc: 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Sat, 28 Dec 2024 12:59:34 +0200
> Cc: 74813 <at> debbugs.gnu.org > Date: Thu, 12 Dec 2024 11:11:45 +0200 > From: Eli Zaretskii <eliz <at> gnu.org> > > > From: Eval Exec <execvy <at> gmail.com> > > Date: Thu, 12 Dec 2024 15:59:51 +0800 > > > > > > I opened a large rust file, about 5000 lines. > > scroll-up is quick and smooth, no laggy: > > [...] > > > > but scroll down is very laggy: > > > > 2667 87% - command-execute > > 2666 87% - funcall-interactively > > 2666 87% - evil-scroll-page-up > > 2666 87% - scroll-down > > 2665 87% - apply > > 2664 87% - ad-Advice-scroll-down > ^^^^^^^^^^^^^^^^^^^^^ > > 2663 87% - #<primitive-function scroll-down> > > First, you have an advice on scroll-down. > > Furthermore, scrolling down exposes portions of a file that were never > seen before, which needs to fontify them. If fontification is > expensive, it is expected that you will see some lags. What happens > if you scroll down, then go back to the beginning, and then scroll > down again -- is scrolling down the second time much faster? > > Also, you didn't say which major mode did you use for this file. Ping! Can you please answer my questions?
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Sat, 28 Dec 2024 13:33:02 GMT) Full text and rfc822 format available.Message #16 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: Eval Exec <execvy <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Sat, 28 Dec 2024 21:31:28 +0800
Friendly Pong. I'm busy these days. I will upload a reproducible minimal init.el tomorrow. On Sat, Dec 28, 2024 at 6:59 PM Eli Zaretskii <eliz <at> gnu.org> wrote: > > > Cc: 74813 <at> debbugs.gnu.org > > Date: Thu, 12 Dec 2024 11:11:45 +0200 > > From: Eli Zaretskii <eliz <at> gnu.org> > > > > > From: Eval Exec <execvy <at> gmail.com> > > > Date: Thu, 12 Dec 2024 15:59:51 +0800 > > > > > > > > > I opened a large rust file, about 5000 lines. > > > scroll-up is quick and smooth, no laggy: > > > [...] > > > > > > but scroll down is very laggy: > > > > > > 2667 87% - command-execute > > > 2666 87% - funcall-interactively > > > 2666 87% - evil-scroll-page-up > > > 2666 87% - scroll-down > > > 2665 87% - apply > > > 2664 87% - ad-Advice-scroll-down > > ^^^^^^^^^^^^^^^^^^^^^ > > > 2663 87% - #<primitive-function scroll-down> > > > > First, you have an advice on scroll-down. > > > > Furthermore, scrolling down exposes portions of a file that were never > > seen before, which needs to fontify them. If fontification is > > expensive, it is expected that you will see some lags. What happens > > if you scroll down, then go back to the beginning, and then scroll > > down again -- is scrolling down the second time much faster? > > > > Also, you didn't say which major mode did you use for this file. > > Ping! Can you please answer my questions?
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Sat, 04 Jan 2025 12:06:02 GMT) Full text and rfc822 format available.Message #19 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Eval Exec <execvy <at> gmail.com> Cc: 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Sat, 04 Jan 2025 14:05:36 +0200
> From: Eval Exec <execvy <at> gmail.com> > Date: Sat, 28 Dec 2024 21:31:28 +0800 > Cc: 74813 <at> debbugs.gnu.org > > Friendly Pong. I'm busy these days. I will upload a reproducible > minimal init.el tomorrow. Did you have time to come up with a reproducible recipe? > > On Sat, Dec 28, 2024 at 6:59 PM Eli Zaretskii <eliz <at> gnu.org> wrote: > > > > > Cc: 74813 <at> debbugs.gnu.org > > > Date: Thu, 12 Dec 2024 11:11:45 +0200 > > > From: Eli Zaretskii <eliz <at> gnu.org> > > > > > > > From: Eval Exec <execvy <at> gmail.com> > > > > Date: Thu, 12 Dec 2024 15:59:51 +0800 > > > > > > > > > > > > I opened a large rust file, about 5000 lines. > > > > scroll-up is quick and smooth, no laggy: > > > > [...] > > > > > > > > but scroll down is very laggy: > > > > > > > > 2667 87% - command-execute > > > > 2666 87% - funcall-interactively > > > > 2666 87% - evil-scroll-page-up > > > > 2666 87% - scroll-down > > > > 2665 87% - apply > > > > 2664 87% - ad-Advice-scroll-down > > > ^^^^^^^^^^^^^^^^^^^^^ > > > > 2663 87% - #<primitive-function scroll-down> > > > > > > First, you have an advice on scroll-down. > > > > > > Furthermore, scrolling down exposes portions of a file that were never > > > seen before, which needs to fontify them. If fontification is > > > expensive, it is expected that you will see some lags. What happens > > > if you scroll down, then go back to the beginning, and then scroll > > > down again -- is scrolling down the second time much faster? > > > > > > Also, you didn't say which major mode did you use for this file. > > > > Ping! Can you please answer my questions? >
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Sun, 05 Jan 2025 03:07:02 GMT) Full text and rfc822 format available.Message #22 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: Eval Exec <execvy <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Sun, 5 Jan 2025 11:05:58 +0800
[Message part 1 (text/plain, inline)]
I have a fever. I'll try again in three or four days. On Sat, Jan 4, 2025, 20:05 Eli Zaretskii <eliz <at> gnu.org> wrote: > > From: Eval Exec <execvy <at> gmail.com> > > Date: Sat, 28 Dec 2024 21:31:28 +0800 > > Cc: 74813 <at> debbugs.gnu.org > > > > Friendly Pong. I'm busy these days. I will upload a reproducible > > minimal init.el tomorrow. > > Did you have time to come up with a reproducible recipe? > > > > > On Sat, Dec 28, 2024 at 6:59 PM Eli Zaretskii <eliz <at> gnu.org> wrote: > > > > > > > Cc: 74813 <at> debbugs.gnu.org > > > > Date: Thu, 12 Dec 2024 11:11:45 +0200 > > > > From: Eli Zaretskii <eliz <at> gnu.org> > > > > > > > > > From: Eval Exec <execvy <at> gmail.com> > > > > > Date: Thu, 12 Dec 2024 15:59:51 +0800 > > > > > > > > > > > > > > > I opened a large rust file, about 5000 lines. > > > > > scroll-up is quick and smooth, no laggy: > > > > > [...] > > > > > > > > > > but scroll down is very laggy: > > > > > > > > > > 2667 87% - command-execute > > > > > 2666 87% - funcall-interactively > > > > > 2666 87% - evil-scroll-page-up > > > > > 2666 87% - scroll-down > > > > > 2665 87% - apply > > > > > 2664 87% - ad-Advice-scroll-down > > > > ^^^^^^^^^^^^^^^^^^^^^ > > > > > 2663 87% - #<primitive-function scroll-down> > > > > > > > > First, you have an advice on scroll-down. > > > > > > > > Furthermore, scrolling down exposes portions of a file that were > never > > > > seen before, which needs to fontify them. If fontification is > > > > expensive, it is expected that you will see some lags. What happens > > > > if you scroll down, then go back to the beginning, and then scroll > > > > down again -- is scrolling down the second time much faster? > > > > > > > > Also, you didn't say which major mode did you use for this file. > > > > > > Ping! Can you please answer my questions? > > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Fri, 10 Jan 2025 07:31:01 GMT) Full text and rfc822 format available.Message #25 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: execvy <at> gmail.com To: Eval Exec <execvy <at> gmail.com>, Eli Zaretskii <eliz <at> gnu.org>, 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Fri, 10 Jan 2025 15:30:34 +0800
I try to reproduce on `emacs -Q` for this file: https://raw.githubusercontent.com/bitcoin/bitcoin/refs/heads/master/src/secp256k1/src/precomputed_ecmult.c It's fundamental-mode, then I notice `C-v` and `M-v` 's scroll-up and scroll-down have performance difference: C-v is more smoother than scroll-up. On 1/5/25 11:05 AM, Eval Exec <execvy <at> gmail.com> wrote: > I have a fever. I'll try again in three or four days. > > > On Sat, Jan 4, 2025, 20:05 Eli Zaretskii <eliz <at> gnu.org > <mailto:eliz <at> gnu.org>> wrote: > > > From: Eval Exec <execvy <at> gmail.com <mailto:execvy <at> gmail.com>> > > Date: Sat, 28 Dec 2024 21:31:28 +0800 > > Cc: 74813 <at> debbugs.gnu.org <mailto:74813 <at> debbugs.gnu.org> > > > > Friendly Pong. I'm busy these days. I will upload a reproducible > > minimal init.el tomorrow. > > Did you have time to come up with a reproducible recipe? > > > > > On Sat, Dec 28, 2024 at 6:59 PM Eli Zaretskii <eliz <at> gnu.org > <mailto:eliz <at> gnu.org>> wrote: > > > > > > > Cc: 74813 <at> debbugs.gnu.org <mailto:74813 <at> debbugs.gnu.org> > > > > Date: Thu, 12 Dec 2024 11:11:45 +0200 > > > > From: Eli Zaretskii <eliz <at> gnu.org <mailto:eliz <at> gnu.org>> > > > > > > > > > From: Eval Exec <execvy <at> gmail.com <mailto:execvy <at> gmail.com>> > > > > > Date: Thu, 12 Dec 2024 15:59:51 +0800 > > > > > > > > > > > > > > > I opened a large rust file, about 5000 lines. > > > > > scroll-up is quick and smooth, no laggy: > > > > > [...] > > > > > > > > > > but scroll down is very laggy: > > > > > > > > > > 2667 87% - command-execute > > > > > 2666 87% - funcall-interactively > > > > > 2666 87% - evil-scroll-page-up > > > > > 2666 87% - scroll-down > > > > > 2665 87% - apply > > > > > 2664 87% - ad-Advice-scroll-down > > > > ^^^^^^^^^^^^^^^^^^^^^ > > > > > 2663 87% - #<primitive-function scroll-down> > > > > > > > > First, you have an advice on scroll-down. > > > > > > > > Furthermore, scrolling down exposes portions of a file that > were never > > > > seen before, which needs to fontify them. If fontification is > > > > expensive, it is expected that you will see some lags. What > happens > > > > if you scroll down, then go back to the beginning, and then > scroll > > > > down again -- is scrolling down the second time much faster? > > > > > > > > Also, you didn't say which major mode did you use for this file. > > > > > > Ping! Can you please answer my questions? > > > >
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Fri, 10 Jan 2025 08:03:01 GMT) Full text and rfc822 format available.Message #28 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: execvy <at> gmail.com Cc: 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Fri, 10 Jan 2025 10:01:42 +0200
> Date: Fri, 10 Jan 2025 15:30:34 +0800 > From: execvy <at> gmail.com > > I try to reproduce on `emacs -Q` for this file: https://raw.githubusercontent.com/bitcoin/bitcoin/refs/heads/master/src/secp256k1/src/precomputed_ecmult.c > > It's fundamental-mode, then I notice `C-v` and `M-v` 's scroll-up and scroll-down have performance difference: C-v is more smoother than scroll-up. I've now tried that file in fundamental-mode, and I don't see any perceptible differences between C-v and M-v. For example, scrolling from top to bottom by leaning on C-v takes 35 sec, and scrolling bottom to top with M-v takes the same 35 sec. What is your auto-repeat rate for the keyboard? That is, if you press and hold C-v, how many key presses per second does your system produce?
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Fri, 10 Jan 2025 08:05:02 GMT) Full text and rfc822 format available.Message #31 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: execvy <at> gmail.com To: Eli Zaretskii <eliz <at> gnu.org>, 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Fri, 10 Jan 2025 16:04:47 +0800
My auto-repeat rate is 100 times/second It's hard to notice performance difference by eyes and hands. You can do profiler-start (cpu) and profiler-report, then you will notice the profiler result is totally different. On 1/10/25 4:01 PM, Eli Zaretskii <eliz <at> gnu.org> wrote: > > Date: Fri, 10 Jan 2025 15:30:34 +0800 > > From: execvy <at> gmail.com > > > > I try to reproduce on `emacs -Q` for this file: https://raw.githubusercontent.com/bitcoin/bitcoin/refs/heads/master/src/secp256k1/src/precomputed_ecmult.c > > > > It's fundamental-mode, then I notice `C-v` and `M-v` 's scroll-up and scroll-down have performance difference: C-v is more smoother than scroll-up. > > I've now tried that file in fundamental-mode, and I don't see any > perceptible differences between C-v and M-v. For example, scrolling > from top to bottom by leaning on C-v takes 35 sec, and scrolling > bottom to top with M-v takes the same 35 sec. > > What is your auto-repeat rate for the keyboard? That is, if you press > and hold C-v, how many key presses per second does your system > produce? >
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Fri, 10 Jan 2025 08:22:02 GMT) Full text and rfc822 format available.Message #34 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: execvy <at> gmail.com Cc: 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Fri, 10 Jan 2025 10:20:55 +0200
> Date: Fri, 10 Jan 2025 16:04:47 +0800 > From: execvy <at> gmail.com > > My auto-repeat rate is 100 times/second Mine is 30/sec. Maybe this is the reason for what you see. Programmatically, M-v needs to do more than C-v does, so if your CPU is not powerful enough, maybe Emacs cannot keep up with 100 keys per second moving back. If this is the reason, then it's expected. > It's hard to notice performance difference by eyes and hands. > You can do profiler-start (cpu) and profiler-report, then you will notice > the profiler result is totally different. The profiler result is expected to be different, because M-v invokes different functions than C-v does. What I measured is the total time of scrolling through the entire file, and I didn't see any difference, as reported: 35 sec both down and up. I measured the time with a stopper, not by eyes.
bug-gnu-emacs <at> gnu.org
:bug#74813
; Package emacs
.
(Tue, 04 Mar 2025 03:01:01 GMT) Full text and rfc822 format available.Message #37 received at 74813 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Kangas <stefankangas <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: execvy <at> gmail.com, 74813 <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Mon, 3 Mar 2025 19:00:15 -0800
Eli Zaretskii <eliz <at> gnu.org> writes: >> Date: Fri, 10 Jan 2025 16:04:47 +0800 >> From: execvy <at> gmail.com >> >> My auto-repeat rate is 100 times/second > > Mine is 30/sec. Maybe this is the reason for what you see. > Programmatically, M-v needs to do more than C-v does, so if your CPU > is not powerful enough, maybe Emacs cannot keep up with 100 keys per > second moving back. > > If this is the reason, then it's expected. > >> It's hard to notice performance difference by eyes and hands. >> You can do profiler-start (cpu) and profiler-report, then you will notice >> the profiler result is totally different. > > The profiler result is expected to be different, because M-v invokes > different functions than C-v does. > > What I measured is the total time of scrolling through the entire > file, and I didn't see any difference, as reported: 35 sec both down > and up. I measured the time with a stopper, not by eyes. It sounds like this is just the expected behavior here. So I guess we should just close this?
Eli Zaretskii <eliz <at> gnu.org>
:Eval Exec <execvy <at> gmail.com>
:Message #42 received at 74813-done <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Stefan Kangas <stefankangas <at> gmail.com> Cc: execvy <at> gmail.com, 74813-done <at> debbugs.gnu.org Subject: Re: bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Date: Tue, 04 Mar 2025 16:22:32 +0200
> From: Stefan Kangas <stefankangas <at> gmail.com> > Date: Mon, 3 Mar 2025 19:00:15 -0800 > Cc: execvy <at> gmail.com, 74813 <at> debbugs.gnu.org > > Eli Zaretskii <eliz <at> gnu.org> writes: > > >> Date: Fri, 10 Jan 2025 16:04:47 +0800 > >> From: execvy <at> gmail.com > >> > >> My auto-repeat rate is 100 times/second > > > > Mine is 30/sec. Maybe this is the reason for what you see. > > Programmatically, M-v needs to do more than C-v does, so if your CPU > > is not powerful enough, maybe Emacs cannot keep up with 100 keys per > > second moving back. > > > > If this is the reason, then it's expected. > > > >> It's hard to notice performance difference by eyes and hands. > >> You can do profiler-start (cpu) and profiler-report, then you will notice > >> the profiler result is totally different. > > > > The profiler result is expected to be different, because M-v invokes > > different functions than C-v does. > > > > What I measured is the total time of scrolling through the entire > > file, and I didn't see any difference, as reported: 35 sec both down > > and up. I measured the time with a stopper, not by eyes. > > It sounds like this is just the expected behavior here. So I guess we > should just close this? Yes, done.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 02 Apr 2025 11:24:16 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.