unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up
@ 2024-12-12  7:59 Eval Exec
  2024-12-12  9:11 ` Eli Zaretskii
  0 siblings, 1 reply; 2+ messages in thread
From: Eval Exec @ 2024-12-12  7:59 UTC (permalink / raw)
  To: 74813


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





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

* bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up
  2024-12-12  7:59 bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Eval Exec
@ 2024-12-12  9:11 ` Eli Zaretskii
  0 siblings, 0 replies; 2+ messages in thread
From: Eli Zaretskii @ 2024-12-12  9:11 UTC (permalink / raw)
  To: Eval Exec; +Cc: 74813

> From: Eval Exec <execvy@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.





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

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

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-12  7:59 bug#74813: 31.0.50; scroll-down is 10x slower and laggy than scroll-up Eval Exec
2024-12-12  9:11 ` 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).