Subject: 30.0.50; slow saving of scores when leaving an nnml group in gnus

From: "Fraga, Eric" <[email-masked]>
Date: Mon, 17 Jul 2023 12:01:34 +0000

Recently, I've noticed a slow down in leaving some of my nnml groups.
Using the profiler, I see the outcomes shown below, capturing cpu and
memory when entering a virtual group, that collects 3 different nnml
groups, and then immediately leaving that group.  The same behaviour is
seen when entering a single nnml group.

A significant amount of time is taken saving scores, as far as I can
tell.  I use adaptive scoring.  Nothing with respect to scoring has
changed in my configuration in some time (years probably).

The offending function appears to be "lisp--local-defform-body-p" with
large memory and cpu use.

Cpu report (partly expanded):

       10133  79% - command-execute
        8519  66%  - funcall-interactively
        4767  37%   - gnus-summary-exit
        4659  36%    - gnus-score-save
        4655  36%     - gnus-pp
        4655  36%      - pp
        4655  36%       - pp-to-string
        4655  36%        - pp-fill
        4647  36%         - pp--object
        4627  36%          - pp-fill
        4615  36%           - pp-fill
        4555  35%            - pp-fill
        4263  33%             - pp-fill
        4243  33%              - indent-according-to-mode
        4243  33%               - lisp-indent-line
        4163  32%                - calculate-lisp-indent
        4163  32%                 - lisp-indent-function
        4163  32%                    lisp--local-defform-body-p
          48   0%                + lisp-ppss
         240   1%             + indent-according-to-mode
          72   0%    + gnus-run-hooks
          32   0%    + gnus-close-group
           4   0%    + gnus-summary-update-info
        3688  28%   + gnus-topic-select-group
          60   0%   + file-notify-handle-event
           3   0%   + execute-extended-command
        1614  12%  + byte-code
        2260  17%   Automatic GC
         407   3% + timer-event-handler
           0   0%   ...

and memory report, also partly expanded:

    832,940,181  99% - command-execute
    805,535,710  96%  - funcall-interactively
    540,874,166  64%   - gnus-summary-exit
    537,712,423  64%    - gnus-score-save
    536,634,533  64%     - gnus-pp
    535,956,310  64%      - pp
    535,618,670  64%       - pp-to-string
    535,610,465  64%        - pp-fill
    533,695,189  63%         - pp--object
    533,684,957  63%          - pp-fill
    533,683,933  63%           - pp-fill
    533,651,141  63%            - pp-fill
    532,169,752  63%             - pp-fill
    531,888,880  63%              - indent-according-to-mode
    531,888,880  63%               - lisp-indent-line
    484,726,608  58%                - calculate-lisp-indent
    484,661,024  58%                 - lisp-indent-function
    484,661,024  58%                    lisp--local-defform-body-p
        902,445   0%             + indent-according-to-mode
             21   0%       nnheader-set-temp-buffer
      1,609,314   0%    + gnus-summary-update-info
        924,174   0%    + gnus-close-group
        579,308   0%    + gnus-run-hooks
          2,069   0%      gnus-score-adaptive
          1,529   0%    + gnus-configure-windows
             21   0%      gnus-set-global-variables
    263,358,645  31%   + gnus-topic-select-group
        839,207   0%   + execute-extended-command
        463,692   0%   + file-notify-handle-event
     27,404,471   3%  + byte-code
        983,687   0% + timer-event-handler
         53,056   0% + redisplay_internal (C function)
         14,903   0%   Automatic GC
          6,224   0% + hl-line-highlight
             21   0%   gnus-set-global-variables
              0   0%   ...

After discussion on the gnus mailing list, the culprit would appear to
be the pretty-printing.  Setting pp-default-function to 'pp-28 instead
of 'pp-fill restores the behaviour to what is desirable in terms of
speed.

Thank you,
eric

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.37, cairo version 1.16.0) of 2023-07-10 built on dt2022
Repository revision: b56f46c9deeb782297695e39baf8f3c65c85281b
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --prefix=/home/ucecesf/pd/emacs --with-native-compilation
 --with-x-toolkit=gtk3 --with-xwidgets'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11
XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  display-line-numbers-mode: t
  evil-surround-mode: t
  tsa-keys: t
  electric-pair-mode: t
  indent-guide-mode: t
  savehist-mode: t
  vertico-mode: t
  marginalia-mode: t
  global-atomic-chrome-edit-mode: t
  override-global-mode: t
  emms-mode-line-mode: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  recentf-mode: t
  display-time-mode: t
  global-aggressive-indent-mode: t
  aggressive-indent-mode: t
  which-key-mode: t
  windmove-mode: t
  org-roam-db-autosync-mode: t
  global-auto-revert-mode: t
  hl-line-mode: t
  evil-owl-mode: t
  general-override-mode: t
  global-evil-fringe-mark-mode: t
  evil-local-mode: t
  server-mode: t
  save-place-mode: t
  dynamic-completion-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
  window-divider-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
~/git/org-contrib/lisp/ol-man hides ~/git/org-mode/lisp/ol-man
~/s/emacs/time-tracker/time-tracker hides ~/s/emacs/time-tracker
~/git/org-mode/lisp/org-num hides ~/s/emacs/org-num
~/s/emacs/markdown-mode hides /home/ucecesf/.emacs.d/elpa,v30/markdown-mode-20230607.320/markdown-mode
/home/ucecesf/.emacs.d/elpa,v30/transient-20230602.2121/transient hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/transient
~/s/emacs/custom hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/custom
/home/ucecesf/.emacs.d/elpa,v30/use-package-20230426.2324/use-package-lint hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/use-package-lint
/home/ucecesf/.emacs.d/elpa,v30/use-package-20230426.2324/use-package-ensure hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/use-package-ensure
/home/ucecesf/.emacs.d/elpa,v30/use-package-20230426.2324/use-package hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/use-package
/home/ucecesf/.emacs.d/elpa,v30/use-package-20230426.2324/use-package-bind-key hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/use-package-bind-key
/home/ucecesf/.emacs.d/elpa,v30/use-package-20230426.2324/use-package-delight hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/use-package-delight
/home/ucecesf/.emacs.d/elpa,v30/use-package-20230426.2324/use-package-jump hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/use-package-jump
/home/ucecesf/.emacs.d/elpa,v30/use-package-20230426.2324/use-package-diminish hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/use-package-diminish
/home/ucecesf/.emacs.d/elpa,v30/use-package-20230426.2324/use-package-core hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/use-package-core
/home/ucecesf/.emacs.d/elpa,v30/bind-key-20230203.2004/bind-key hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/use-package/bind-key
~/git/org-mode/lisp/ob-js hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-js
~/git/org-mode/lisp/ob-matlab hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-matlab
~/git/org-mode/lisp/ob-octave hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-octave
~/git/org-mode/lisp/ob-awk hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-awk
~/git/org-mode/lisp/ob-emacs-lisp hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-emacs-lisp
~/git/org-mode/lisp/org-faces hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-faces
~/git/org-mode/lisp/ol-doi hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-doi
~/git/org-mode/lisp/ob-eshell hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-eshell
~/git/org-mode/lisp/ob-C hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-C
~/git/org-mode/lisp/ob-sqlite hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-sqlite
~/git/org-mode/lisp/ob-haskell hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-haskell
~/git/org-mode/lisp/org-feed hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-feed
~/git/org-mode/lisp/ol-gnus hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-gnus
~/git/org-mode/lisp/org-inlinetask hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-inlinetask
~/git/org-mode/lisp/ol-irc hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-irc
~/git/org-mode/lisp/org-src hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-src
~/git/org-mode/lisp/oc-csl hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/oc-csl
~/git/org-mode/lisp/ob-shell hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-shell
~/git/org-mode/lisp/org-duration hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-duration
~/git/org-mode/lisp/org-persist hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-persist
~/git/org-mode/lisp/ob-scheme hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-scheme
~/git/org-mode/lisp/ob-fortran hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-fortran
~/git/org-mode/lisp/ox-latex hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-latex
~/git/org-mode/lisp/org-clock hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-clock
~/git/org-mode/lisp/org-archive hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-archive
~/git/org-mode/lisp/ob-java hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-java
~/git/org-mode/lisp/org-pcomplete hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-pcomplete
~/git/org-mode/lisp/org-protocol hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-protocol
~/git/org-contrib/lisp/ol-man hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-man
~/git/org-mode/lisp/org-keys hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-keys
~/git/org-mode/lisp/ol-rmail hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-rmail
~/git/org-mode/lisp/ob-ref hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-ref
~/git/org-mode/lisp/ob hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob
~/git/org-mode/lisp/org-tempo hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-tempo
~/git/org-mode/lisp/oc-biblatex hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/oc-biblatex
~/git/org-mode/lisp/ox-beamer hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-beamer
~/git/org-mode/lisp/ob-lua hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-lua
~/git/org-mode/lisp/ox-ascii hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-ascii
~/git/org-mode/lisp/oc-bibtex hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/oc-bibtex
~/git/org-mode/lisp/org-capture hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-capture
~/git/org-mode/lisp/org-compat hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-compat
~/git/org-mode/lisp/org hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org
~/git/org-mode/lisp/org-refile hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-refile
~/git/org-mode/lisp/ob-sass hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-sass
~/git/org-mode/lisp/ob-lob hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-lob
~/git/org-mode/lisp/ox-icalendar hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-icalendar
~/git/org-mode/lisp/org-mouse hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-mouse
~/git/org-mode/lisp/ox-publish hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-publish
~/git/org-mode/lisp/ob-sql hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-sql
~/git/org-mode/lisp/org-id hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-id
~/git/org-mode/lisp/org-datetree hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-datetree
~/git/org-mode/lisp/ob-processing hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-processing
~/git/org-mode/lisp/org-mobile hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-mobile
~/git/org-mode/lisp/ox-texinfo hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-texinfo
~/git/org-mode/lisp/org-habit hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-habit
~/git/org-mode/lisp/org-lint hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-lint
~/git/org-mode/lisp/org-loaddefs hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-loaddefs
~/git/org-mode/lisp/ob-eval hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-eval
~/git/org-mode/lisp/ol-eshell hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-eshell
~/git/org-mode/lisp/ob-comint hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-comint
~/git/org-mode/lisp/ob-screen hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-screen
~/git/org-mode/lisp/ol hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol
~/git/org-mode/lisp/ob-table hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-table
~/git/org-mode/lisp/org-ctags hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-ctags
~/git/org-mode/lisp/org-element hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-element
~/git/org-mode/lisp/ol-mhe hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-mhe
~/git/org-mode/lisp/ol-eww hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-eww
~/git/org-mode/lisp/org-fold-core hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-fold-core
~/git/org-mode/lisp/org-entities hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-entities
~/git/org-mode/lisp/ob-groovy hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-groovy
~/git/org-mode/lisp/ob-tangle hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-tangle
~/git/org-mode/lisp/oc hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/oc
~/git/org-mode/lisp/ob-gnuplot hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-gnuplot
~/git/org-mode/lisp/ob-python hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-python
~/git/org-mode/lisp/org-indent hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-indent
~/git/org-mode/lisp/ob-forth hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-forth
~/git/org-mode/lisp/ol-bbdb hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-bbdb
~/git/org-mode/lisp/ob-latex hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-latex
~/git/org-mode/lisp/ol-w3m hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-w3m
~/git/org-mode/lisp/ox-org hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-org
~/git/org-mode/lisp/ol-docview hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-docview
~/git/org-mode/lisp/ob-makefile hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-makefile
~/git/org-mode/lisp/ob-julia hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-julia
~/git/org-mode/lisp/ob-lilypond hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-lilypond
~/git/org-mode/lisp/ob-maxima hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-maxima
~/git/org-mode/lisp/ob-ocaml hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-ocaml
~/git/org-mode/lisp/org-list hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-list
~/git/org-mode/lisp/ob-core hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-core
~/git/org-mode/lisp/org-agenda hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-agenda
~/git/org-mode/lisp/org-macs hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-macs
~/git/org-mode/lisp/ox hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox
~/git/org-mode/lisp/ob-plantuml hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-plantuml
~/git/org-mode/lisp/ob-css hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-css
~/git/org-mode/lisp/org-attach-git hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-attach-git
~/git/org-mode/lisp/ol-bibtex hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-bibtex
~/git/org-mode/lisp/org-goto hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-goto
~/git/org-mode/lisp/ob-ditaa hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-ditaa
~/git/org-mode/lisp/oc-natbib hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/oc-natbib
~/git/org-mode/lisp/org-num hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-num
~/git/org-mode/lisp/ob-lisp hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-lisp
~/git/org-mode/lisp/org-cycle hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-cycle
~/git/org-mode/lisp/ob-ruby hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-ruby
~/git/org-mode/lisp/ob-dot hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-dot
~/git/org-mode/lisp/ox-odt hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-odt
~/git/org-mode/lisp/ox-koma-letter hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-koma-letter
~/git/org-mode/lisp/oc-basic hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/oc-basic
~/git/org-mode/lisp/ox-html hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-html
~/git/org-mode/lisp/org-table hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-table
~/git/org-mode/lisp/org-timer hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-timer
~/git/org-mode/lisp/ob-exp hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-exp
~/git/org-mode/lisp/ob-R hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-R
~/git/org-mode/lisp/ob-org hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-org
~/git/org-mode/lisp/ox-md hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-md
~/git/org-mode/lisp/org-macro hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-macro
~/git/org-mode/lisp/ox-man hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ox-man
~/git/org-mode/lisp/ob-clojure hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-clojure
~/git/org-mode/lisp/org-fold hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-fold
~/git/org-mode/lisp/ob-calc hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-calc
~/git/org-mode/lisp/org-footnote hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-footnote
~/git/org-mode/lisp/org-plot hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-plot
~/git/org-mode/lisp/ob-sed hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-sed
~/git/org-mode/lisp/org-attach hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-attach
~/git/org-mode/lisp/ob-perl hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ob-perl
~/git/org-mode/lisp/ol-info hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/ol-info
~/git/org-mode/lisp/org-version hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-version
~/git/org-mode/lisp/org-colview hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-colview
~/git/org-mode/lisp/org-crypt hides /home/ucecesf/pd/emacs/share/emacs/30.0.50/lisp/org/org-crypt

Features:
(shadow emacsbug emoji-labels emoji multisession password-store-otp pass
password-store auth-source-pass ibuffer ibuffer-loaddefs trace debug
backtrace imenu woman man eudcb-bbdb eudc eudc-options-file eudc-vars
thai-util thai-word lao-util enriched calc-map calc-stat calc-vec
calc-menu calc-aent ediff-vers ediff ediff-merg ediff-mult ediff-wind
ediff-diff ediff-help ediff-init ediff-util cl-indent with-editor
cl-print smerge-mode diff tex-mode em-unix em-term em-script em-prompt
em-pred em-ls em-hist em-glob em-extpipe em-cmpl em-dirs em-basic
em-banner em-alias esh-mode esh-var quail ispell cua-base
mastodon-profile mastodon-auth mastodon-client plstore wdired
gnuplot-context log-edit add-log vc-bzr vc-sccs vc-svn vc-cvs latexenc
vc-hg canlock view org-archive org-caldav url-dav gnus-html help-fns
consult-org loaddefs-gen lisp-mnt radix-tree vc-filewise vc-rcs cus-edit
cus-start tabify elfeed-link grep vc-src misearch multi-isearch
dired-aux etags fileloop gnus-cus gnus-eform magit-base mule-util
flow-fill cal-julian cal-iso diff-hl log-view pcvs-util vc-dir vc
org-indent cape-char gnus-gravatar gravatar gnus-picon smiley mm-archive
gnus-async ecomplete smtpmail textsec uni-scripts idna-mapping
ucs-normalize uni-confusable textsec-check gnus-bcklg gnus-cite
bbdb-message mail-extr display-fill-column-indicator gnus-dup gnus-ml
gnus-topic qp pop3 epa-file network-stream nnmbox nnml bbdb-gnus nnnil
cape gnus-alias gnus-icalendar icalendar vcard gnus-delay gnus-draft
gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache
gnus-msg nndraft nnmh gnus-search eieio-opt speedbar ezimage dframe
display-line-numbers evil-surround diminish writegood-mode time-stamp
jinx elec-pair indent-guide eol-conversion savehist vertico orderless
use-package-ensure marginalia atomic-chrome websocket twittering-mode
ement ement-notify dns mastodon-notifications mastodon-alt
mastodon-media url-cache mastodon-tl ts mastodon mastodon-search
mastodon-toot facemenu mastodon-iso persist emojify apropos tar-mode
arc-mode archive-mode mastodon-http request eww-lnum
use-package-bind-key bind-key elfeed-show elfeed-search elfeed-csv
elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib xml-query octave
maxima maxima-font-lock julia-repl julia-mode julia-mode-latexsubs
jacaranda-mode generic generic-x remarkable qrencode persist-state
emms-mpris emms-librefm-stream emms-librefm-scrobbler
emms-playlist-limit emms-i18n emms-history emms-score emms-stream-info
emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl
emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played
emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams
emms-show-all emms-tag-editor emms-tag-tracktag emms-mark emms-mode-line
emms-cache emms-info-native bindat emms-info-exiftool emms-info-tinytag
emms-info-metaflac emms-info-opusinfo emms-info-ogginfo
emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv
emms-playing-time emms-info emms-later-do emms-player-mplayer
emms-player-simple emms-source-playlist emms-source-file locate
emms-setup emms emms-compat ledger-mode ledger-check ledger-texi
ledger-test ledger-sort ledger-report ledger-reconcile ledger-occur
ledger-fonts ledger-fontify ledger-state ledger-complete ledger-schedule
ledger-init ledger-xact ledger-post ledger-exec ledger-navigate eshell
esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups
esh-util files-x ledger-context ledger-commodities ledger-regex gnuplot
info-look gams-mode find-lisp align mailalias bbdb-mua bbdb-com crm bbdb
bbdb-site term disp-table ehelp ace-jump-mode dired-x dired-narrow
delsel dired-hacks-utils gnus-dired consult-dir embark-consult consult
recentf tree-widget orgalist time aggressive-indent time-tracker
use-package-core which-key windmove org-roam-dailies org-ref
org-ref-core org-ref-glossary org-ref-bibtex avy doi-utils url-http
url-auth url-gw nsm org-ref-utils org-ref-export ox-pandoc ht
org-ref-misc-links org-ref-label-link org-ref-ref-links
org-ref-citation-links xref org-ref-bibliography-links hydra lv
org-roam-migrate org-roam-log org-roam-mode org-roam-capture org-roam-id
org-roam-node org-roam-db emacsql-sqlite-builtin sqlite org-roam-utils
org-roam-compat org-roam emacsql-sqlite emacsql-sqlite-common emacsql
emacsql-compiler org-panes org-attach org-clock ob-mathematica mma cl
ob-julia ob-awk ob-sqlite ob-sql ob-shell shell ob-ruby ob-python python
project ob-plantuml ob-org ob-octave ob-maxima ob-ledger ob-latex
ob-jacaranda ob-gnuplot ob-gams ob-dot ob-ditaa ob-clojure ob-calc
calc-store calc-trail calc-ext calc calc-loaddefs calc-macs ob-R
org-sticky-header org-recur cal-china lunar solar cal-dst cal-bahai
cal-islam cal-hebrew holidays holiday-loaddefs org-duration hi-lock
autorevert vc-git diff-mode easy-mmode vc-dispatcher ol-eww eww mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo
gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo
gnus-spec gnus-int gnus-range message sendmail yank-media rfc822 mml
mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util
mail-prsvr wid-edit ol-docview doc-view jka-compr image-mode exif dired
dired-loaddefs ol-bbdb ol-w3m ol-doi org-link-doi notifications dbus
appt diary-lib diary-loaddefs ox-bibtex ox-beamer ox-koma-letter
embark-org embark ffap bibtex-completion org-capture filenotify biblio
biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp
biblio-crossref biblio-arxiv timezone biblio-doi biblio-core url-queue
ido hl-line citar-org citar citar-file citar-cache citar-format
oc-natbib oc-csl citeproc citeproc-itemgetters citeproc-biblatex
parse-time citeproc-bibtex parsebib ol-bibtex citeproc-cite
citeproc-subbibs citeproc-sort citeproc-name citeproc-formatters
citeproc-number rst compile citeproc-proc citeproc-disamb
citeproc-itemdata citeproc-generic-elements citeproc-macro
citeproc-choose citeproc-date citeproc-context citeproc-prange
citeproc-style citeproc-locale citeproc-term f f-shortdoc citeproc-rt
citeproc-lib citeproc-s s let-alist queue oc-bibtex oc-basic bibtex
iso8601 org-wc org-inlinetask org-crypt org-protocol org-mime ox-org
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-element
org-element-ast inline org-persist xdg org-id org-refile avl-tree
generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-src sh-script smie treesit executable ob-comint org-pcomplete
pcomplete comint ansi-osc ansi-color org-list org-footnote org-faces
org-entities time-date noutline outline ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs
evil-owl general evil-fringe-mark evil-fringe-mark-overlays
fringe-helper evil evil-keybindings evil-integration evil-maps
evil-commands reveal evil-jumps evil-command-window evil-search evil-ex
evil-types evil-macros evil-repeat evil-states evil-core advice
evil-common thingatpt rect evil-digraphs evil-vars ring comp comp-cstr
exwm-systemtray xcb-systemtray xcb-xembed exwm-randr xcb-randr 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 ement-room transient cl-extra
help-mode edmacro kmacro bookmark pp face-remap ement-lib ement-api
ement-structs ement-macros magit-section format-spec dash cursor-sensor
compat warnings icons plz rx shr text-property-search pixel-fill kinsoku
url-file puny svg xml dom ewoc color saveplace help-at-pt completion
cus-load finder-inf aggressive-indent-autoloads anaphora-autoloads
atomic-chrome-autoloads bbdb-autoloads cape-autoloads
circadian-autoloads citar-autoloads citeproc-org-autoloads
company-autoloads diff-hl-autoloads diminish-autoloads
dired-narrow-autoloads dired-hacks-utils-autoloads
elfeed-webkit-autoloads elfeed-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads ement-autoloads emms-autoloads
evil-fringe-mark-autoloads evil-owl-autoloads evil-surround-autoloads
evil-autoloads exwm-autoloads flyspell-correct-autoloads
flyspell-lazy-autoloads fringe-helper-autoloads general-autoloads
gnu-elpa-keyring-update-autoloads gnuplot-autoloads goto-chg-autoloads
helpful-autoloads elisp-refs-autoloads jinx-autoloads
julia-mode-autoloads julia-repl-autoloads jupyter-autoloads
keycast-autoloads ledger-mode-autoloads magit-autoloads pcase
git-commit-autoloads marginalia-autoloads markdown-mode-autoloads
mastodon-autoloads maxima-autoloads minibar-autoloads
modus-themes-autoloads notmuch-autoloads nov-autoloads esxml-autoloads
kv-autoloads dash-functional-autoloads orderless-autoloads
org-caldav-autoloads org-recur-autoloads org-ref-autoloads
citeproc-autoloads biblio-autoloads biblio-core-autoloads avy-autoloads
hydra-autoloads lv-autoloads org-roam-autoloads emacsql-autoloads
org-upcoming-modeline-autoloads org-ql-autoloads
org-super-agenda-autoloads osm-autoloads ov-autoloads
ox-pandoc-autoloads ht-autoloads parsebib-autoloads pass-autoloads
f-autoloads password-store-otp-autoloads password-store-autoloads
peg-autoloads persist-autoloads persist-state-autoloads
plantuml-mode-autoloads plz-autoloads popper-autoloads queue-autoloads
request-autoloads simple-httpd-autoloads string-inflection-autoloads
svg-lib-autoloads taxy-magit-section-autoloads taxy-autoloads
magit-section-autoloads tracking-autoloads transient-autoloads
dash-autoloads twittering-mode-autoloads use-package-autoloads
bind-key-autoloads vertico-autoloads visual-fill-column-autoloads
websocket-autoloads which-key-autoloads with-editor-autoloads info
compat-autoloads xelb-autoloads zmq-autoloads package browse-url 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 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/x-win x-win
term/common-win x-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 xwidget-internal 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 9157701 5008251)
 (symbols 48 107945 56)
 (strings 32 871264 416197)
 (string-bytes 1 38152774)
 (vectors 16 438360)
 (vector-slots 8 9234957 2258167)
 (floats 8 4912 64642)
 (intervals 56 498539 30564)
 (buffers 976 280))
-- 
Eric S Fraga via gnus (Emacs 30.0.50 2023-07-10) on Debian 12.0