Subject: 28.2; slowness in global minor mode
From: "Michael Grant" <[email-masked]>
To: [email-masked]
Date: Fri, 09 Aug 2024 18:57:54 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

To reproduce:

emacs -Q --eval '
(progn (require (quote cl))
   (load "~/.emacs.d/elpa/yascroll-20220212.1742/yascroll-autoloads.el")
   (cl-loop repeat 100 collect (generate-new-buffer "Test"))
   (global-yascroll-bar-mode 1)
   (setq yascroll:delay-to-hide nil)
   (cl-loop for i below 200 do (insert (format "line %d\n" i)))
   (goto-char (point-min))
   (insert "\n\n --> Now type C-x C-b and see how long it takes! 
<--\n\n"))'

note, you need to have the yascroll package installed.  Your package
directory may vary.  This does not seem specific to yascroll, it's just 
easily
reproduced with yascroll.

The expected result is that it shows the buffer list nearly instantly.
The actual result is it takes several seconds!

It seems like something is looping over each buffer and calling
something on each buffer to see if yascroll needs to be enabled.

If a bugfix is not forthcoming, a workaround would be appreciated!

In GNU Emacs 28.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, 
cairo version 1.16.0)
  of 2023-05-13, modified by Debian built on x86-ubc-01
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
  'configure --build x86_64-linux-gnu --prefix=/usr
  --sharedstatedir=/var/lib --libexecdir=/usr/libexec
  --localstatedir=/var/lib --infodir=/usr/share/info
  --mandir=/usr/share/man --with-libsystemd --with-pop=yes
  
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/28.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/28.2/site-lisp:/usr/share/emacs/site-lisp
  --with-sound=alsa --without-gconf --with-mailutils
  --with-native-compilation --build x86_64-linux-gnu --prefix=/usr
  --sharedstatedir=/var/lib --libexecdir=/usr/libexec
  --localstatedir=/var/lib --infodir=/usr/share/info
  --mandir=/usr/share/man --with-libsystemd --with-pop=yes
  
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/28.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/28.2/site-lisp:/usr/share/emacs/site-lisp
  --with-sound=alsa --without-gconf --with-mailutils
  --with-native-compilation --with-cairo --with-x=yes
  --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
  -ffile-prefix-map=/build/emacs-mPr7Vr/emacs-28.2+1=. 
-fstack-protector-strong
  -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
  -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB

Important settings:
   value of $LC_ALL: en_US.UTF-8
   value of $LANG: en_US.UTF-8
   locale-coding-system: utf-8-unix

Major mode: Text

Minor modes in effect:
   global-yascroll-bar-mode: t
   yascroll-bar-mode: t
   shell-dirtrack-mode: t
   recentf-mode: t
   delete-selection-mode: t
   cua-mode: t
   xterm-mouse-mode: t
   tooltip-mode: t
   global-eldoc-mode: t
   show-paren-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   column-number-mode: t
   line-number-mode: t
   auto-fill-function: do-auto-fill
   transient-mark-mode: t

Load-path shadows:
/usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash hides 
/usr/share/emacs/site-lisp/elpa/dash-2.19.1/dash
/usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash-pkg hides 
/usr/share/emacs/site-lisp/elpa/dash-2.19.1/dash-pkg
/usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash-autoloads hides 
/usr/share/emacs/site-lisp/elpa/dash-2.19.1/dash-autoloads
/usr/share/emacs/site-lisp/elpa/git-commit-2.99.0/git-commit hides 
/usr/share/emacs/site-lisp/elpa/git-commit-3.3.0/git-commit
/usr/share/emacs/site-lisp/elpa/git-commit-2.99.0/git-commit-autoloads 
hides 
/usr/share/emacs/site-lisp/elpa/git-commit-3.3.0/git-commit-autoloads
/usr/share/emacs/site-lisp/elpa/git-commit-2.99.0/git-commit-pkg hides 
/usr/share/emacs/site-lisp/elpa/git-commit-3.3.0/git-commit-pkg
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-worktree hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-worktree
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-margin hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-margin
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-fetch hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-fetch
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-patch hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-patch
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-status hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-status
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-git hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-git
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-wip hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-wip
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-transient hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-transient
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-reset hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-reset
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-merge hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-merge
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-clone hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-clone
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-obsolete hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-obsolete
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-bisect hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-bisect
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-branch hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-branch
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-pull hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-pull
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-subtree hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-subtree
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-autorevert hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-autorevert
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-refs hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-refs
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-core hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-core
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-apply hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-apply
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-stash hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-stash
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-blame hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-blame
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-push hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-push
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-autoloads hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-autoloads
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-sequence hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-sequence
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-reflog hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-reflog
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-process hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-process
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-section hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-section
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-repos hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-repos
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-gitignore hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-gitignore
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-ediff hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-ediff
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-notes hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-notes
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-files hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-files
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-bookmark hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-bookmark
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/git-rebase hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/git-rebase
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-commit hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-commit
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-log hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-log
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-utils hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-utils
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-pkg hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-pkg
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-mode hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-mode
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-remote hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-remote
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-submodule hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-submodule
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-tag hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-tag
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-imenu hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-imenu
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-extras hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-extras
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-diff hides 
/usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-diff
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-section hides 
/usr/share/emacs/site-lisp/elpa/magit-section-3.3.0/magit-section
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor-autoloads 
hides 
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.5/with-editor-autoloads
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor hides 
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.5/with-editor
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor-pkg hides 
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.5/with-editor-pkg
/usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash hides 
/usr/share/emacs/site-lisp/elpa-src/dash-2.19.1/dash
/usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash-pkg hides 
/usr/share/emacs/site-lisp/elpa-src/dash-2.19.1/dash-pkg
/usr/share/emacs/site-lisp/elpa/dash-2.17.0/dash-autoloads hides 
/usr/share/emacs/site-lisp/elpa-src/dash-2.19.1/dash-autoloads
/usr/share/emacs/site-lisp/elpa/dash-functional-1.2.0/dash-functional-autoloads 
hides 
/usr/share/emacs/site-lisp/elpa-src/dash-functional-1.2.0/dash-functional-autoloads
/usr/share/emacs/site-lisp/elpa/dash-functional-1.2.0/dash-functional-pkg 
hides 
/usr/share/emacs/site-lisp/elpa-src/dash-functional-1.2.0/dash-functional-pkg
/usr/share/emacs/site-lisp/elpa/dash-functional-1.2.0/dash-functional 
hides 
/usr/share/emacs/site-lisp/elpa-src/dash-functional-1.2.0/dash-functional
/usr/share/emacs/site-lisp/elpa/git-commit-2.99.0/git-commit hides 
/usr/share/emacs/site-lisp/elpa-src/git-commit-3.3.0/git-commit
/usr/share/emacs/site-lisp/elpa/git-commit-2.99.0/git-commit-autoloads 
hides 
/usr/share/emacs/site-lisp/elpa-src/git-commit-3.3.0/git-commit-autoloads
/usr/share/emacs/site-lisp/elpa/git-commit-2.99.0/git-commit-pkg hides 
/usr/share/emacs/site-lisp/elpa-src/git-commit-3.3.0/git-commit-pkg
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-margin hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-margin
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-fetch hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-fetch
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-reset hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-reset
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-merge hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-merge
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-branch hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-branch
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-pull hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-pull
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-autorevert hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-autorevert
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-refs hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-refs
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-core hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-core
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-apply hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-apply
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-push hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-push
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-autoloads hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-autoloads
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-sequence hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-sequence
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-repos hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-repos
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-bookmark hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-bookmark
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/git-rebase hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/git-rebase
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-commit hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-commit
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-log hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-log
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-pkg hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-pkg
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-mode hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-mode
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-worktree hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-worktree
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-transient hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-transient
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-remote hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-remote
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-notes hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-notes
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-obsolete hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-obsolete
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-bisect hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-bisect
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-git hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-git
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-ediff hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-ediff
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-gitignore hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-gitignore
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-tag hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-tag
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-imenu hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-imenu
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-clone hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-clone
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-process hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-process
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-extras hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-extras
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-submodule hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-submodule
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-section hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-section
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-blame hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-blame
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-stash hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-stash
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-reflog hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-reflog
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-status hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-status
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-wip hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-wip
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-files hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-files
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-diff hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-diff
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-subtree hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-subtree
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-utils hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-utils
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-patch hides 
/usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-patch
/usr/share/emacs/site-lisp/elpa/magit-popup-2.13.2/magit-popup-autoloads 
hides 
/usr/share/emacs/site-lisp/elpa-src/magit-popup-2.13.2/magit-popup-autoloads
/usr/share/emacs/site-lisp/elpa/magit-popup-2.13.2/magit-popup-pkg hides 
/usr/share/emacs/site-lisp/elpa-src/magit-popup-2.13.2/magit-popup-pkg
/usr/share/emacs/site-lisp/elpa/magit-popup-2.13.2/magit-popup hides 
/usr/share/emacs/site-lisp/elpa-src/magit-popup-2.13.2/magit-popup
/usr/share/emacs/site-lisp/elpa/magit-section-3.3.0/magit-section-pkg 
hides 
/usr/share/emacs/site-lisp/elpa-src/magit-section-3.3.0/magit-section-pkg
/usr/share/emacs/site-lisp/elpa/magit-section-3.3.0/magit-section-autoloads 
hides 
/usr/share/emacs/site-lisp/elpa-src/magit-section-3.3.0/magit-section-autoloads
/usr/share/emacs/site-lisp/elpa/magit-2.99.0/magit-section hides 
/usr/share/emacs/site-lisp/elpa-src/magit-section-3.3.0/magit-section
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor-autoloads 
hides 
/usr/share/emacs/site-lisp/elpa-src/with-editor-3.0.5/with-editor-autoloads
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor hides 
/usr/share/emacs/site-lisp/elpa-src/with-editor-3.0.5/with-editor
/usr/share/emacs/site-lisp/elpa/with-editor-3.0.2/with-editor-pkg hides 
/usr/share/emacs/site-lisp/elpa-src/with-editor-3.0.5/with-editor-pkg
/home/mgrant/.emacs.d/lisp/completion hides 
/usr/share/emacs/28.2/lisp/completion
/home/mgrant/.emacs.d/lisp/vt-control hides 
/usr/share/emacs/28.2/lisp/vt-control
/usr/share/emacs/site-lisp/elpa/transient-0.2.0.30/transient hides 
/usr/share/emacs/28.2/lisp/transient
/home/mgrant/.emacs.d/lisp/ispell hides 
/usr/share/emacs/28.2/lisp/textmodes/ispell
/home/mgrant/.emacs.d/lisp/sendmail hides 
/usr/share/emacs/28.2/lisp/mail/sendmail

Features:
(shadow sort mail-extr emacsbug sendmail yascroll noutline outline
compile find-func autoload radix-tree tar-mode arc-mode archive-mode
lisp-mnt mm-archive message dired dired-loaddefs rfc822 mml mml-sec epa
derived gnus-util rmail rmail-loaddefs text-property-search mailabbrev
gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils gnutls
network-stream url-http mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr url-gw nsm rmc puny url-cache url-auth epg rfc6068
epg-config comp comp-cstr warnings rx cl-extra help-mode conf-mode
perl-mode mule-util ebuff-menu tramp-cmds misearch multi-isearch vc-hg
vc-git diff-mode easy-mmode vc-bzr vc-dispatcher rng-xsd xsd-regexp
rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse
rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln
nxml-rap sgml-mode facemenu dom nxml-util nxml-enc xmltok tramp-cache
tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat shell pcomplete parse-time iso8601 ls-lisp format-spec
time-date term/tmux term/xterm xterm edmacro kmacro cus-edit pp
cus-start cus-load wombat-theme recentf tree-widget wid-edit server
comint ansi-color ring delsel cua-base xt-mouse finder-inf package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip 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 cl-generic 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 simple abbrev obarray cl-preloaded nadvice
button loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 1744081 264145)
  (symbols 48 23091 5)
  (strings 32 244938 38092)
  (string-bytes 1 7876596)
  (vectors 16 60131)
  (vector-slots 8 1535270 107920)
  (floats 8 84 1519)
  (intervals 56 213549 17711)
  (buffers 992 29))