Subject: bug#76504: closed (Re: bug#76504: 31.0.50; Excessive redisplay when display-line-numbers-mode is enabled)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 09 Mar 2025 09:25:02 +0000

Your bug report

#76504: 31.0.50; Excessive redisplay when display-line-numbers-mode is enabled

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
76504: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76504
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#76504: 31.0.50; Excessive redisplay when display-line-numbers-mode is enabled
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Sun, 09 Mar 2025 11:23:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Cc: [email-masked]
> Date: Sun, 23 Feb 2025 20:42:16 +0200
> From: Eli Zaretskii <[email-masked]>
> 
> > From: Davide Masserut <[email-masked]>
> > Date: Sun, 23 Feb 2025 18:45:49 +0100
> > 
> > Eli Zaretskii <[email-masked]> writes:
> > 
> > > What is your keyboard auto-repeat rate on that system?
> > 
> > 50 character per second, but I just did the same test with auto-repeat
> > set at 25 c/s and got the same results (21,480 / 1,875 = 11.456).
> > 
> > However, the difference in behaviour is much smaller, as you probably
> > expected.
> > [...]
> > The same test with auto-repeat set to 50 c/s and the balanced power
> > profile results in a 4.6 factor (10,053 / 2,165).
> 
> With 50 or with 25 c/s?
> 
> > > Anyway, what's important is the time it takes to scroll through a file
> > > with and without line numbers.  So please try the command below and
> > > post the times it reports after scrolling through some large file with
> > > and without the line numbers:
> > >
> > > (defun scroll-up-benchmark ()
> > >   (interactive)
> > >   (let ((oldgc gcs-done)
> > >         (oldtime (float-time)))
> > >     (condition-case nil (while t (scroll-up) (redisplay))
> > >       (error (message "GCs: %d Elapsed time: %f seconds"
> > >                       (- gcs-done oldgc) (- (float-time) oldtime))))))
> > 
> > xdisp.c power-saver
> > GCs: 492 Elapsed time: 55.600977 seconds
> > GCs: 493 Elapsed time: 55.490811 seconds
> > 
> > xdisp.c power-saver line numbers
> > GCs: 488 Elapsed time: 66.925708 seconds
> > GCs: 495 Elapsed time: 66.195398 seconds
> > 
> > xdisp.c balanced
> > GCs: 491 Elapsed time: 26.969390 seconds
> > GCs: 492 Elapsed time: 27.098322 seconds
> > 
> > xdisp.c balanced line numbers
> > GCs: 494 Elapsed time: 32.596467 seconds
> > GCs: 494 Elapsed time: 32.593883 seconds
> 
> This is what I expect to see: line-number display slows down redisplay
> by about 10% to 20%.
> 
> I see no bug here.

No further comments, so I'm closing this bug.

Subject: 31.0.50; Excessive redisplay when display-line-numbers-mode is enabled
From: Davide Masserut <[email-masked]>
To: [email-masked]
Date: Sun, 23 Feb 2025 16:27:50 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

To reproduce:
- Open a file with many lines
- Enable display-line-numbers-mode
- Hold down C-n

On my T480s (i5-8350U) in power-saving mode, this results in choppy cursor
movement.

The built-in profiler shows that moving the cursor down through my
1200-row init file results in 25,174 redisplays when
display-line-numbers-mode is enabled, compared to 2,193 when it is
disabled.

I have attached the profiler outputs.

        2193  50% - redisplay_internal (C function)
          77   1%  - jit-lock-function
          77   1%   - jit-lock-fontify-now
          76   1%    - jit-lock--run-functions
          76   1%     - run-hook-wrapped
          76   1%      - #<byte-code-function B23>
          76   1%       - font-lock-fontify-region
          75   1%        - font-lock-default-fontify-region
          62   1%         - font-lock-fontify-keywords-region
          33   0%          - lisp--el-match-keyword
          28   0%           - lisp--el-funcall-position-p
          25   0%            - syntax-ppss
          25   0%               parse-partial-sexp
           1   0%              match-data
           5   0%             re-search-forward
          10   0%          - #<byte-code-function 811>
           6   0%           - eval
           6   0%            - elisp--font-lock-backslash
           6   0%             - syntax-ppss
           6   0%                parse-partial-sexp
           4   0%             put-text-property
           9   0%            lisp--match-hidden-arg
           5   0%            re-search-forward
           4   0%          - #<byte-code-function 192>
           4   0%           - lisp-mode--search-key
           4   0%              re-search-forward
           1   0%          - #<byte-code-function C1DB>
           1   0%           - lisp-mode--search-key
           1   0%            - re-search-forward
           1   0%             - internal--syntax-propertize
           1   0%              - syntax-propertize
           1   0%                 elisp-mode-syntax-propertize
          12   0%         - font-lock-fontify-syntactically-region
          12   0%          - font-lock-default-fontify-syntactically
           4   0%           - lisp-font-lock-syntactic-face-function
           2   0%            - lisp-string-after-doc-keyword-p
           1   0%             - backward-sexp
           1   0%              - forward-sexp
           1   0%               - forward-sexp-default-function
           1   0%                  backward-prefix-chars
           1   0%               looking-at
           2   0%            - lisp-string-in-doc-position-p
           1   0%               intern-soft
           4   0%             parse-partial-sexp
           3   0%           - syntax-ppss
           3   0%              parse-partial-sexp
           1   0%             put-text-property
           1   0%         - font-lock-extend-region-wholelines
           1   0%            syntax-propertize-wholelines
           1   0%        - font-lock-set-defaults
           1   0%         - derived-mode-p
           1   0%            provided-mode-derived-p
           1   0%      text-property-any
          70   1%  - eval
          43   0%   - if
          38   0%      frame-parameter
           3   0%    - display-graphic-p
           1   0%       framep-on-display
          14   0%   - unless
           9   0%    - if
           7   0%     - display-graphic-p
           3   0%        framep-on-display
           1   0%      #<byte-code-function 6F8>
           5   0%   - mode-line-eol-desc
           3   0%      coding-system-eol-type-mnemonic
           2   0%      assoc
           3   0%   - mode-line-window-control
           1   0%      window-dedicated-p
           3   0%     mode-line-frame-control
          34   0%    file-remote-p
          22   0%  - mode-line-default-help-echo
           9   0%   - window-at-side-p
           4   0%    - window-pixel-edges
           4   0%     - window-edges
           1   0%        window-normalize-window
           3   0%      window-normalize-window
           3   0%     minibuffer-window-active-p
           1   0%     window-frame
           1   0%     minibuffer-window
           3   0%  - redisplay--pre-redisplay-functions
           3   0%   - run-hook-with-args
           2   0%    - redisplay--update-region-highlight
           1   0%       redisplay--unhighlight-overlay-function
        1312  30% - command-execute
         886  20%  - funcall-interactively
         882  20%   - next-line
         862  19%    - line-move
         339   7%       line-move-visual
         169   3%     - line-move-partial
          85   1%      - default-line-height
          80   1%       - default-font-height
           9   0%        - display-multi-font-p
           3   0%         - framep-on-display
           1   0%            terminal-live-p
           2   0%       - display-graphic-p
           2   0%          framep-on-display
          53   1%      - window-screen-lines
          27   0%       - default-line-height
          27   0%          default-font-height
          24   0%       - window-inside-pixel-edges
          22   0%        - window-edges
          13   0%         - window-current-scroll-bars
           5   0%            window-normalize-window
           4   0%          - frame-current-scroll-bars
           3   0%             window-normalize-frame
           5   0%      - window-inside-pixel-edges
           5   0%       - window-edges
           1   0%        - window-current-scroll-bars
           1   0%           frame-current-scroll-bars
          36   0%     - default-line-height
          33   0%      - default-font-height
           2   0%       - display-multi-font-p
           2   0%        - framep-on-display
           1   0%           terminal-live-p
          12   0%     - window-inside-pixel-edges
          12   0%      - window-edges
           5   0%       - window-current-scroll-bars
           2   0%        - frame-current-scroll-bars
           1   0%           frame-parameter
          11   0%     - truncated-partial-width-window-p
           6   0%      - window-full-width-p
           1   0%         window-normalize-window
           2   0%        window-normalize-window
          15   0%    - called-interactively-p
           8   0%       backtrace-frame
           1   0%     execute-extended-command
         372   8%  - byte-code
         372   8%   - read-extended-command
         372   8%    - read-extended-command-1
         372   8%     - completing-read-default
          49   1%        redisplay_internal (C function)
           5   0%    handle-shift-selection
           1   0%    interactive-form
         717  16%   Automatic GC
          32   0% + internal-timer-start-idle
          19   0% + jit-lock--antiblink-post-command
          18   0% + undo-auto--add-boundary
          11   0% + clear-minibuffer-message
           8   0% + help-command-error-confusable-suggestions
           7   0%   eldoc-pre-command-refresh-echo-area
           5   0% + tooltip-hide
           3   0%   eldoc-schedule-timer
           2   0%   internal-echo-keystrokes-prefix
           1   0% + timer-event-handler
           0   0%   ...
       25174  90% - redisplay_internal (C function)
          90   0%  - jit-lock-function
          89   0%   - jit-lock-fontify-now
          88   0%    - jit-lock--run-functions
          88   0%     - run-hook-wrapped
          88   0%      - #<byte-code-function E8A>
          88   0%       - font-lock-fontify-region
          87   0%        - font-lock-default-fontify-region
          68   0%         - font-lock-fontify-keywords-region
          38   0%          - lisp--el-match-keyword
          29   0%           - lisp--el-funcall-position-p
          26   0%            - syntax-ppss
          25   0%               parse-partial-sexp
           1   0%               #<byte-code-function 769>
           1   0%            - #<byte-code-function 1DB>
           1   0%               set-match-data
           1   0%              match-data
           1   0%              intern-soft
           6   0%             re-search-forward
           2   0%             match-string
           1   0%             intern-soft
          14   0%            lisp--match-hidden-arg
           9   0%          - #<byte-code-function 811>
           8   0%           - eval
           8   0%            - elisp--font-lock-backslash
           8   0%             - syntax-ppss
           8   0%                parse-partial-sexp
           1   0%             put-text-property
           2   0%            re-search-forward
           2   0%          - #<byte-code-function 192>
           2   0%           - lisp-mode--search-key
           1   0%              re-search-forward
           1   0%          - lisp--match-confusable-symbol-character
           1   0%             re-search-forward
          17   0%         - font-lock-fontify-syntactically-region
          17   0%          - font-lock-default-fontify-syntactically
           6   0%             parse-partial-sexp
           5   0%           - lisp-font-lock-syntactic-face-function
           3   0%            - lisp-string-after-doc-keyword-p
           2   0%             - backward-sexp
           2   0%              - forward-sexp
           2   0%               - forward-sexp-default-function
           2   0%                  scan-sexps
           1   0%            - lisp-string-in-doc-position-p
           1   0%               looking-at
           3   0%           - syntax-ppss
           2   0%              parse-partial-sexp
           1   0%              #<byte-code-function 5BE>
           1   0%             looking-back
           1   0%             put-text-property
           2   0%         - font-lock-extend-region-wholelines
           2   0%            syntax-propertize-wholelines
           1   0%     next-single-property-change
          73   0%  - eval
          53   0%   - if
          47   0%      frame-parameter
           5   0%    - display-graphic-p
           2   0%     - framep-on-display
           2   0%        terminal-live-p
           9   0%   - unless
           5   0%    - if
           3   0%     - display-graphic-p
           2   0%      - framep-on-display
           2   0%         terminal-live-p
           1   0%      #<byte-code-function 6F8>
           4   0%   - mode-line-eol-desc
           1   0%      assoc
           1   0%      coding-system-eol-type-mnemonic
           4   0%     mode-line-frame-control
           2   0%     mode-line-window-control
          29   0%    file-remote-p
          22   0%  - mode-line-default-help-echo
          11   0%   - window-at-side-p
           7   0%    - window-pixel-edges
           7   0%     - window-edges
           1   0%        window-normalize-window
           2   0%      window-normalize-window
           2   0%     frame-selected-window
           2   0%     window-frame
           1   0%     minibuffer-window-active-p
          12   0%  - redisplay--pre-redisplay-functions
           5   0%     run-hook-with-args
           2   0%     selected-window
           1   0%     window-buffer
        1812   6% - command-execute
        1258   4%  - funcall-interactively
        1256   4%   - next-line
        1239   4%    - line-move
         675   2%       line-move-visual
         129   0%     - line-move-partial
          66   0%      - default-line-height
          63   0%       - default-font-height
           6   0%        - display-multi-font-p
           4   0%         - framep-on-display
           2   0%            terminal-live-p
           1   0%       - display-graphic-p
           1   0%          framep-on-display
          47   0%      - window-screen-lines
          25   0%       - default-line-height
          23   0%          default-font-height
           1   0%          display-graphic-p
          17   0%       - window-inside-pixel-edges
          16   0%        - window-edges
           2   0%           window-current-scroll-bars
           1   0%           window-normalize-window
           6   0%      - window-inside-pixel-edges
           6   0%       - window-edges
           2   0%        - window-current-scroll-bars
           2   0%         - frame-current-scroll-bars
           1   0%            frame-parameter
          36   0%     - default-line-height
          35   0%      - default-font-height
           3   0%         display-multi-font-p
           1   0%        display-graphic-p
          16   0%     - window-inside-pixel-edges
          15   0%      - window-edges
           4   0%       - window-current-scroll-bars
           3   0%        - frame-current-scroll-bars
           1   0%           frame-parameter
           1   0%         window-normalize-window
           5   0%     - truncated-partial-width-window-p
           3   0%        window-full-width-p
          14   0%    - called-interactively-p
           4   0%       backtrace-frame
           4   0%       advice--called-interactively-skip
           1   0%     execute-extended-command
         527   1%  - byte-code
         527   1%   - read-extended-command
         527   1%    - read-extended-command-1
         527   1%     - completing-read-default
          43   0%        redisplay_internal (C function)
           8   0%      - command-execute
           6   0%       - funcall-interactively
           4   0%        - self-insert-command
           1   0%           undo-auto-amalgamate
           2   0%        - delete-backward-char
           2   0%         - use-region-p
           2   0%            region-active-p
           2   0%         list
           2   0%      - timer-event-handler
           2   0%       - apply
           2   0%        - blink-cursor-start
           2   0%           add-hook
           3   0%    interactive-form
           1   0%    handle-shift-selection
         832   2%   Automatic GC
          23   0% + jit-lock--antiblink-post-command
          12   0% + internal-timer-start-idle
          10   0% + clear-minibuffer-message
          10   0% + undo-auto--add-boundary
           8   0% + help-command-error-confusable-suggestions
           4   0%   internal-echo-keystrokes-prefix
           4   0%   eldoc-schedule-timer
           2   0% + timer-event-handler
           2   0%   eldoc-pre-command-refresh-echo-area
           2   0% + tooltip-hide
           0   0%   ...

In GNU Emacs 31.0.50 (build 48, x86_64-pc-linux-gnu, GTK+ Version
 3.24.48, cairo version 1.18.2) of 2025-02-23 built on T480s
Repository revision: d4d60973e27442605612383743addff1c1a8e9fb
Repository branch: master
System Description: Arch Linux

Configured using:
 'configure -C --prefix /home/davide/.local --with-pgtk
 --disable-gc-mark-trace
 --enable-locallisppath=/usr/share/emacs/site-lisp/
 'CFLAGS=-march=native -O2' MAKEFLAGS=-j8'

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

Important settings:
  value of $LC_COLLATE: en_IE.UTF-8
  value of $LC_CTYPE: en_IE.UTF-8
  value of $LC_MESSAGES: en_IE.UTF-8
  value of $LC_MONETARY: en_IE.UTF-8
  value of $LC_NUMERIC: en_IE.UTF-8
  value of $LC_TIME: en_IE.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Info

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  save-place-mode: t
  global-auto-revert-mode: t
  server-mode: t
  editorconfig-mode: t
  recentf-mode: t
  corfu-popupinfo-mode: t
  corfu-history-mode: t
  global-corfu-mode: t
  corfu-mode: t
  marginalia-mode: t
  vertico-multiform-mode: t
  vertico-mouse-mode: t
  vertico-mode: t
  winner-mode: t
  repeat-mode: t
  override-global-mode: t
  savehist-mode: t
  minibuffer-depth-indicate-mode: t
  find-function-mode: t
  electric-pair-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  isearch-fold-quotes-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  undelete-frame-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t

Load-path shadows:
/home/davide/.emacs.d/elpa/magit-4.3.0/magit-autorevert hides /home/davide/.emacs.d/elpa/magit-section-4.3.0/magit-autorevert
~/src/org-pomodoro/org-pomodoro hides /home/davide/.emacs.d/elpa/org-pomodoro-20220318.1618/org-pomodoro
~/src/org-pomodoro/org-pomodoro-autoloads hides /home/davide/.emacs.d/elpa/org-pomodoro-20220318.1618/org-pomodoro-autoloads
~/src/org-pomodoro/org-pomodoro-pkg hides /home/davide/.emacs.d/elpa/org-pomodoro-20220318.1618/org-pomodoro-pkg
/home/davide/.emacs.d/elpa/cmake-mode-20250114.1444/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/davide/.emacs.d/elpa/modus-themes-4.6.0/theme-loaddefs hides /home/davide/.local/share/emacs/31.0.50/lisp/theme-loaddefs
/home/davide/.emacs.d/elpa/org-9.7.23/ox-texinfo hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-texinfo
/home/davide/.emacs.d/elpa/org-9.7.23/ol-info hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-info
/home/davide/.emacs.d/elpa/org-9.7.23/org-crypt hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-crypt
/home/davide/.emacs.d/elpa/org-9.7.23/ox-man hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-man
/home/davide/.emacs.d/elpa/org-9.7.23/ob-tangle hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-tangle
/home/davide/.emacs.d/elpa/org-9.7.23/org-inlinetask hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-inlinetask
/home/davide/.emacs.d/elpa/org-9.7.23/org-list hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-list
/home/davide/.emacs.d/elpa/org-9.7.23/ol-bbdb hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-bbdb
/home/davide/.emacs.d/elpa/org-9.7.23/ob-C hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-C
/home/davide/.emacs.d/elpa/org-9.7.23/org-pcomplete hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-pcomplete
/home/davide/.emacs.d/elpa/org-9.7.23/ox-beamer hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-beamer
/home/davide/.emacs.d/elpa/org-9.7.23/org-capture hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-capture
/home/davide/.emacs.d/elpa/org-9.7.23/ob-ocaml hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-ocaml
/home/davide/.emacs.d/elpa/org-9.7.23/org-fold hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-fold
/home/davide/.emacs.d/elpa/org-9.7.23/org-element hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-element
/home/davide/.emacs.d/elpa/org-9.7.23/ob-ref hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-ref
/home/davide/.emacs.d/elpa/org-9.7.23/org-plot hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-plot
/home/davide/.emacs.d/elpa/org-9.7.23/org-refile hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-refile
/home/davide/.emacs.d/elpa/org-9.7.23/ob-plantuml hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-plantuml
/home/davide/.emacs.d/elpa/org-9.7.23/ol-eshell hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-eshell
/home/davide/.emacs.d/elpa/org-9.7.23/ob-table hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-table
/home/davide/.emacs.d/elpa/org-9.7.23/org-duration hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-duration
/home/davide/.emacs.d/elpa/org-9.7.23/ol-gnus hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-gnus
/home/davide/.emacs.d/elpa/org-9.7.23/org-keys hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-keys
/home/davide/.emacs.d/elpa/org-9.7.23/ob-screen hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-screen
/home/davide/.emacs.d/elpa/org-9.7.23/ob-eshell hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-eshell
/home/davide/.emacs.d/elpa/org-9.7.23/org-agenda hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-agenda
/home/davide/.emacs.d/elpa/org-9.7.23/ob-groovy hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-groovy
/home/davide/.emacs.d/elpa/org-9.7.23/org-datetree hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-datetree
/home/davide/.emacs.d/elpa/org-9.7.23/org-element-ast hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-element-ast
/home/davide/.emacs.d/elpa/org-9.7.23/ob-org hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-org
/home/davide/.emacs.d/elpa/org-9.7.23/ob-awk hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-awk
/home/davide/.emacs.d/elpa/org-9.7.23/org-loaddefs hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-loaddefs
/home/davide/.emacs.d/elpa/org-9.7.23/org-macs hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-macs
/home/davide/.emacs.d/elpa/org-9.7.23/ob-sql hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-sql
/home/davide/.emacs.d/elpa/org-9.7.23/org-macro hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-macro
/home/davide/.emacs.d/elpa/org-9.7.23/ox hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox
/home/davide/.emacs.d/elpa/org-9.7.23/org-cycle hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-cycle
/home/davide/.emacs.d/elpa/org-9.7.23/org-compat hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-compat
/home/davide/.emacs.d/elpa/org-9.7.23/ob-js hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-js
/home/davide/.emacs.d/elpa/org-9.7.23/org-persist hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-persist
/home/davide/.emacs.d/elpa/org-9.7.23/ob-core hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-core
/home/davide/.emacs.d/elpa/org-9.7.23/ob-dot hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-dot
/home/davide/.emacs.d/elpa/org-9.7.23/ob-ditaa hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-ditaa
/home/davide/.emacs.d/elpa/org-9.7.23/ob-comint hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-comint
/home/davide/.emacs.d/elpa/org-9.7.23/ox-icalendar hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-icalendar
/home/davide/.emacs.d/elpa/org-9.7.23/ox-html hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-html
/home/davide/.emacs.d/elpa/org-9.7.23/ob-lilypond hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-lilypond
/home/davide/.emacs.d/elpa/org-9.7.23/ol-docview hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-docview
/home/davide/.emacs.d/elpa/org-9.7.23/oc-basic hides /home/davide/.local/share/emacs/31.0.50/lisp/org/oc-basic
/home/davide/.emacs.d/elpa/org-9.7.23/org-mobile hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-mobile
/home/davide/.emacs.d/elpa/org-9.7.23/org-attach-git hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-attach-git
/home/davide/.emacs.d/elpa/org-9.7.23/ox-odt hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-odt
/home/davide/.emacs.d/elpa/org-9.7.23/ox-ascii hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-ascii
/home/davide/.emacs.d/elpa/org-9.7.23/ob-sass hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-sass
/home/davide/.emacs.d/elpa/org-9.7.23/ob-scheme hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-scheme
/home/davide/.emacs.d/elpa/org-9.7.23/ob-shell hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-shell
/home/davide/.emacs.d/elpa/org-9.7.23/ol-mhe hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-mhe
/home/davide/.emacs.d/elpa/org-9.7.23/org-feed hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-feed
/home/davide/.emacs.d/elpa/org-9.7.23/org-archive hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-archive
/home/davide/.emacs.d/elpa/org-9.7.23/oc-biblatex hides /home/davide/.local/share/emacs/31.0.50/lisp/org/oc-biblatex
/home/davide/.emacs.d/elpa/org-9.7.23/ob-sed hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-sed
/home/davide/.emacs.d/elpa/org-9.7.23/oc-bibtex hides /home/davide/.local/share/emacs/31.0.50/lisp/org/oc-bibtex
/home/davide/.emacs.d/elpa/org-9.7.23/ob-julia hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-julia
/home/davide/.emacs.d/elpa/org-9.7.23/org-footnote hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-footnote
/home/davide/.emacs.d/elpa/org-9.7.23/ol hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol
/home/davide/.emacs.d/elpa/org-9.7.23/org-entities hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-entities
/home/davide/.emacs.d/elpa/org-9.7.23/oc-csl hides /home/davide/.local/share/emacs/31.0.50/lisp/org/oc-csl
/home/davide/.emacs.d/elpa/org-9.7.23/org-fold-core hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-fold-core
/home/davide/.emacs.d/elpa/org-9.7.23/org-attach hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-attach
/home/davide/.emacs.d/elpa/org-9.7.23/org-src hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-src
/home/davide/.emacs.d/elpa/org-9.7.23/ob-fortran hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-fortran
/home/davide/.emacs.d/elpa/org-9.7.23/ob-makefile hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-makefile
/home/davide/.emacs.d/elpa/org-9.7.23/oc-natbib hides /home/davide/.local/share/emacs/31.0.50/lisp/org/oc-natbib
/home/davide/.emacs.d/elpa/org-9.7.23/org-timer hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-timer
/home/davide/.emacs.d/elpa/org-9.7.23/ob-python hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-python
/home/davide/.emacs.d/elpa/org-9.7.23/ob hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob
/home/davide/.emacs.d/elpa/org-9.7.23/ol-man hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-man
/home/davide/.emacs.d/elpa/org-9.7.23/ob-ruby hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-ruby
/home/davide/.emacs.d/elpa/org-9.7.23/ol-doi hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-doi
/home/davide/.emacs.d/elpa/org-9.7.23/ob-emacs-lisp hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-emacs-lisp
/home/davide/.emacs.d/elpa/org-9.7.23/ob-octave hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-octave
/home/davide/.emacs.d/elpa/org-9.7.23/org-num hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-num
/home/davide/.emacs.d/elpa/org-9.7.23/ob-eval hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-eval
/home/davide/.emacs.d/elpa/org-9.7.23/org-mouse hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-mouse
/home/davide/.emacs.d/elpa/org-9.7.23/ob-lua hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-lua
/home/davide/.emacs.d/elpa/org-9.7.23/ox-publish hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-publish
/home/davide/.emacs.d/elpa/org-9.7.23/ob-perl hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-perl
/home/davide/.emacs.d/elpa/org-9.7.23/org-id hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-id
/home/davide/.emacs.d/elpa/org-9.7.23/ob-matlab hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-matlab
/home/davide/.emacs.d/elpa/org-9.7.23/ob-forth hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-forth
/home/davide/.emacs.d/elpa/org-9.7.23/org-colview hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-colview
/home/davide/.emacs.d/elpa/org-9.7.23/org-protocol hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-protocol
/home/davide/.emacs.d/elpa/org-9.7.23/oc hides /home/davide/.local/share/emacs/31.0.50/lisp/org/oc
/home/davide/.emacs.d/elpa/org-9.7.23/org-habit hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-habit
/home/davide/.emacs.d/elpa/org-9.7.23/org-lint hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-lint
/home/davide/.emacs.d/elpa/org-9.7.23/ob-exp hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-exp
/home/davide/.emacs.d/elpa/org-9.7.23/ob-calc hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-calc
/home/davide/.emacs.d/elpa/org-9.7.23/ol-w3m hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-w3m
/home/davide/.emacs.d/elpa/org-9.7.23/org-ctags hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-ctags
/home/davide/.emacs.d/elpa/org-9.7.23/org-goto hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-goto
/home/davide/.emacs.d/elpa/org-9.7.23/ob-css hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-css
/home/davide/.emacs.d/elpa/org-9.7.23/ob-maxima hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-maxima
/home/davide/.emacs.d/elpa/org-9.7.23/org-version hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-version
/home/davide/.emacs.d/elpa/org-9.7.23/ob-R hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-R
/home/davide/.emacs.d/elpa/org-9.7.23/ob-haskell hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-haskell
/home/davide/.emacs.d/elpa/org-9.7.23/org-indent hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-indent
/home/davide/.emacs.d/elpa/org-9.7.23/ob-latex hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-latex
/home/davide/.emacs.d/elpa/org-9.7.23/ob-sqlite hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-sqlite
/home/davide/.emacs.d/elpa/org-9.7.23/ol-irc hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-irc
/home/davide/.emacs.d/elpa/org-9.7.23/ol-bibtex hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-bibtex
/home/davide/.emacs.d/elpa/org-9.7.23/org-table hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-table
/home/davide/.emacs.d/elpa/org-9.7.23/ox-md hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-md
/home/davide/.emacs.d/elpa/org-9.7.23/ox-org hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-org
/home/davide/.emacs.d/elpa/org-9.7.23/org-faces hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-faces
/home/davide/.emacs.d/elpa/org-9.7.23/ol-rmail hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-rmail
/home/davide/.emacs.d/elpa/org-9.7.23/ob-java hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-java
/home/davide/.emacs.d/elpa/org-9.7.23/ol-eww hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ol-eww
/home/davide/.emacs.d/elpa/org-9.7.23/ob-clojure hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-clojure
/home/davide/.emacs.d/elpa/org-9.7.23/ob-processing hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-processing
/home/davide/.emacs.d/elpa/org-9.7.23/org-tempo hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-tempo
/home/davide/.emacs.d/elpa/org-9.7.23/ob-lob hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-lob
/home/davide/.emacs.d/elpa/org-9.7.23/org hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org
/home/davide/.emacs.d/elpa/org-9.7.23/ob-gnuplot hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-gnuplot
/home/davide/.emacs.d/elpa/org-9.7.23/ox-latex hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-latex
/home/davide/.emacs.d/elpa/org-9.7.23/ox-koma-letter hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ox-koma-letter
/home/davide/.emacs.d/elpa/org-9.7.23/ob-lisp hides /home/davide/.local/share/emacs/31.0.50/lisp/org/ob-lisp
/home/davide/.emacs.d/elpa/org-9.7.23/org-clock hides /home/davide/.local/share/emacs/31.0.50/lisp/org/org-clock

Features:
(shadow sort mail-extr emacsbug jka-compr tempel magit-extras
bug-reference mm-archive face-remap 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 magit-repos magit-apply
magit-wip magit-log which-func imenu magit-diff smerge-mode diff
git-commit log-edit pcvs-util add-log magit-core magit-autorevert
magit-margin magit-transient magit-process with-editor shell pcomplete
magit-mode transient benchmark magit-git magit-base magit-section llama
vc-git files-x package-vc vc vc-dispatcher network-stream url-cache
url-http url-auth url-gw nsm display-line-numbers finder-inf
vertico-directory cursor-sensor vertico-repeat mule-util 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
format-spec notmuch-wash diff-mode track-changes coolj goto-addr
icalendar diary-lib diary-loaddefs cal-menu calendar cal-loaddefs
notmuch-tag crm notmuch-lib notmuch-version notmuch-compat hl-line
message sendmail yank-media dired dired-loaddefs rfc822 mml mailabbrev
mail-utils gmm-utils mailheader mm-view mml-smime mml-sec epa derived
epg rfc6068 epg-config gnus-util smime gnutls puny dig mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr saveplace autorevert filenotify server time-date
checkdoc lisp-mnt flymake project compile text-property-search comint
ansi-osc ansi-color thingatpt delight comp comp-cstr warnings comp-run
comp-common editorconfig editorconfig-core editorconfig-core-handle
editorconfig-fnmatch use-package-delight recentf tree-widget cape
kind-icon svg-lib color svg dom xml corfu-popupinfo corfu-history corfu
marginalia orderless vertico-multiform vertico-mouse vertico compat
winner ring repeat modus-operandi-theme modus-themes edmacro kmacro
cl-extra help-mode use-package-bind-key bind-key easy-mmode
use-package-ensure use-package-core savehist mb-depth find-func
elec-pair auth-source-pass cus-edit pp cus-load wid-edit
auctex-autoloads tex-site cape-autoloads cdlatex-autoloads
cmake-mode-autoloads corfu-autoloads csv-mode-autoloads dape-autoloads
debbugs-autoloads delight-autoloads diff-hl-autoloads eat-autoloads
eglot-tempel-autoloads eldoc-box-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads expreg-autoloads fish-mode-autoloads
git-modes-autoloads gnuplot-autoloads go-mode-autoloads gptel-autoloads
indent-bars-autoloads jinx-autoloads kind-icon-autoloads
ledger-mode-autoloads lua-mode-autoloads magit-autoloads pcase
magit-section-autoloads llama-autoloads marginalia-autoloads
markdown-mode-autoloads modus-themes-autoloads
notmuch-indicator-autoloads nov-autoloads esxml-autoloads kv-autoloads
olivetti-autoloads orderless-autoloads org-autoloads
org-pomodoro-autoloads alert-autoloads log4e-autoloads gntp-autoloads
osm-autoloads password-store-autoloads qml-mode-autoloads
rainbow-mode-autoloads show-font-autoloads svg-lib-autoloads
systemd-autoloads rx tablist-autoloads tempel-autoloads
terminal-here-autoloads tmr-autoloads ultra-scroll-autoloads
vertico-autoloads vundo-autoloads info with-editor-autoloads
wolfram-autoloads yaml-mode-autoloads package browse-url xdg url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs icons password-cache json
subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
term/common-win touch-screen pgtk-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
lcms2 multi-tty move-toolbar make-network-process tty-child-frames
native-compile emacs)

Memory information:
((conses 16 2070575 280433) (symbols 48 31497 4)
 (strings 32 321088 33304) (string-bytes 1 10795290)
 (vectors 16 69767) (vector-slots 8 787845 105968) (floats 8 315 5129)
 (intervals 56 239473 9104) (buffers 992 22))