Subject: 29.0.50; vc-git-registered hangs when examining files in .git directory for submodule

From: Robert Irelan <[email-masked]>
Date: Sun, 6 Feb 2022 14:56:30 -0800

`vc-git-registered` hangs in the following situation:

- I have a Git repo in my home directory, `~`, which contains a
  submodule, `~/.doom.d`.
- Magit is trying to save the `COMMIT_EDITMSG` file when I want to
  make a commit in `~/.doom.d`. The `COMMIT_EDITMSG` file is located at
  `~/.git/modules/.doom.d/COMMIT_EDITMSG`. As part of that, it tries to
  save this file.
- In my `before-save-hook`, I have `vc-before-save`. This attempts to
  determine whether `COMMIT_EDITMSG` is registered as part of the Git
  repo. As part of that, it calls `vc-git-registered`, which in turn
  calls `vc-git-root`, which is defined as

      (defun vc-git-root (file)
        (vc-find-root file ".git"))

  This returns `~` (since `COMMIT_EDITMSG` is not located directly under
  `~/.doom.d`).
- Eventually, we attempt a `call-process` with the command line
  `git --no-pager ls-files -c -z -- .git/modules/.doom.d/COMMIT_EDITMSG`
  with `default-directory` set to `~`. This command takes around 20
  seconds to exit with an empty output and exit status 0. I believe at
  this point the code may continue to loop, since it hangs for longer
  than that until I hit `C-g` a bunch of times.

I propose that `vc-git-registered` return nil if the path contains
`/.git/`, since the contents of `.git` are never part of the Git
repository.

Alternatively, though, this may be an issue with `git ls-files`, or at
least how we're using it? I'm running git version 2.35.1, and `git
ls-files` also hangs when I tried to save this message
(located at `~/*message*-20220206-144033`).

In GNU Emacs 29.0.50 (build 1, x86_64-apple-darwin21.3.0, NS
appkit-2113.30 Version 12.2 (Build 21D49))
 of 2022-02-04 built on laraaji
Repository revision: e35194866706e5632db3070f4e32950ecc0a58f4
Repository branch: HEAD
Windowing system distributor 'Apple', version 10.3.2113
System Description:  macOS 12.2

Configured using:
 'configure --prefix=/opt/local --disable-silent-rules --without-dbus
 --without-gconf --without-libotf --without-m17n-flt --with-libgmp
 --with-gnutls --with-json --with-xml2 --with-modules --infodir
 /opt/local/share/info/emacs --with-ns --with-lcms2 --without-harfbuzz
 --without-xaw3d --with-native-compilation --with-imagemagick
 --with-rsvg 'CFLAGS=-pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch
 x86_64' 'CPPFLAGS=-I/opt/local/include
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk'
 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-no_pie
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
 -arch x86_64''

Configured features:
ACL GIF GLIB GMP GNUTLS IMAGEMAGICK JPEG JSON LCMS2 LIBXML2 MODULES
NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XIM ZLIB

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

Major mode: Elisp

Minor modes in effect:
  global-anzu-mode: t
  anzu-mode: t
  evil-traces-mode: t
  git-gutter-mode: t
  projectile-mode: t
  whitespace-mode: t
  flycheck-popup-tip-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  parinfer-rust-mode: t
  eros-mode: t
  highlight-quoted-mode: t
  rainbow-delimiters-mode: t
  vi-tilde-fringe-mode: t
  highlight-numbers-mode: t
  display-line-numbers-mode: t
  rainbow-identifiers-mode: t
  save-place-mode: t
  global-so-long-mode: t
  gcmh-mode: t
  winner-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  editorconfig-mode: t
  which-key-mode: t
  better-jumper-mode: t
  better-jumper-local-mode: t
  global-company-mode: t
  company-mode: t
  marginalia-mode: t
  evil-goggles-mode: t
  evil-escape-mode: t
  evil-snipe-override-mode: t
  evil-snipe-mode: t
  evil-snipe-override-local-mode: t
  evil-snipe-local-mode: t
  hl-todo-mode: t
  el-patch-use-package-mode: t
  org-super-agenda-mode: t
  org-roam-db-autosync-mode: t
  outline-minor-mode: t
  global-git-commit-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  savehist-mode: t
  doom-modeline-mode: t
  solaire-global-mode: t
  adaptive-wrap-prefix-mode: t
  vertico-mode: t
  recentf-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  auto-compile-mode: t
  ns-auto-titlebar-mode: t
  shell-dirtrack-mode: t
  evil-mode: t
  evil-local-mode: t
  windmove-mode: t
  +popup-mode: t
  override-global-mode: t
  general-override-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-quote-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/use-package/use-package-diminish
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-diminish
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/use-package/use-package
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/use-package/use-package-lint
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-lint
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/use-package/use-package-delight
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-delight
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/use-package/use-package-jump
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-jump
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/use-package/use-package-core
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-core
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/use-package/use-package-ensure
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-ensure
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/use-package/use-package-bind-key
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/use-package-bind-key
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/bind-key/bind-key
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/use-package/bind-key
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/straight/straight-x
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/straight.el/straight-x
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/straight/straight
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/straight.el/straight
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/straight/straight-ert-print-hack
hides /Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/straight.el/straight-ert-print-hack
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/cmake-mode/cmake-mode
hides /opt/local/share/emacs/site-lisp/cmake-mode
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/repos/straight.el/indent
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/indent
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/transient/transient
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/xref/xref
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/xref
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/project/project
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/project
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-exp
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-exp
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-emacs-lisp
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/oc
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-css
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-css
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-lob
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lob
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-irc
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-irc
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-forth
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-forth
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-macs
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-macs
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-version
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-version
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-scheme
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-scheme
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-C
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-C
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-capture
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-capture
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-ref
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ref
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-clojure
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-clojure
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-mouse
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mouse
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-ctags
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-ctags
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-entities
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-entities
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-archive
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-archive
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-screen
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-screen
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-bibtex
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-bibtex
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-haskell
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-haskell
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-table
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-table
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-eww
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-eww
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-man
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-man
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-org
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-org
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-num
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-num
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-plot
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-plot
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-rmail
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-rmail
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-awk
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-awk
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-groovy
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-groovy
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-octave
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-octave
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-faces
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-faces
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/oc-biblatex
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-biblatex
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-colview
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-colview
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-R
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-R
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-refile
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-refile
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-timer
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-timer
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-mobile
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mobile
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-fortran
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-fortran
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-shell
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-shell
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-perl
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-perl
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-sqlite
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sqlite
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/oc-basic
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-basic
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-sed
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sed
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-list
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-list
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-ruby
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ruby
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-eval
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-eval
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-habit
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-habit
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-clock
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-clock
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-goto
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-goto
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-html
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-html
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-src
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-src
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-lisp
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lisp
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-eshell
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-eshell
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-ditaa
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ditaa
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-pcomplete
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-pcomplete
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-lint
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-lint
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-latex
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-latex
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-sass
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sass
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-tangle
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-tangle
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-calc
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-calc
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-java
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-java
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-icalendar
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-icalendar
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-mhe
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-mhe
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-attach-git
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-attach-git
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-md
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-md
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-beamer
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-beamer
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-element
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-element
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/oc-natbib
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-natbib
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-protocol
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-protocol
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-gnuplot
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-tempo
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-tempo
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-latex
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-latex
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-w3m
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-w3m
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-id
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-id
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-man
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-man
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-doi
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-doi
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-feed
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-feed
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-julia
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-julia
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-lua
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lua
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-table
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-table
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-ocaml
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ocaml
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/oc-csl
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-csl
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-gnus
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-gnus
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-indent
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-indent
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-lilypond
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lilypond
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-matlab
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-matlab
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-datetree
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-datetree
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-docview
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-docview
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-python
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-python
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-makefile
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-makefile
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-duration
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-duration
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-agenda
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-agenda
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-dot
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-dot
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-js
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-js
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-publish
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-publish
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-inlinetask
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-inlinetask
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-org
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-org
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-keys
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-keys
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-core
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-core
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-compat
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-compat
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-odt
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-odt
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-info
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-info
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-plantuml
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-plantuml
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-eshell
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-eshell
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-ascii
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-ascii
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-loaddefs
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-loaddefs
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-koma-letter
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-koma-letter
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-maxima
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-maxima
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ol-bbdb
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-bbdb
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-macro
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-macro
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-sql
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sql
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-attach
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-attach
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-processing
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-processing
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ox-texinfo
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-texinfo
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-crypt
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-crypt
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-footnote
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-footnote
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/org-install
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-install
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/org/ob-comint
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-comint
/Users/bytedance/.doom.d/doom.emacs.d/.local/straight/build-29.0.50/map/map
hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/emacs-lisp/map

Features:
(shadow sort mail-extr emacsbug sendmail diary-lib diary-loaddefs
cal-iso parse-time evil-anzu anzu emmet-mode cl html-mode-expansions
smartparens-html sgml-mode facemenu dom image-file image-converter
org-hugo-auto-export-mode git-auto-commit-mode oc-basic ffap ol-bibtex
bibtex iso8601 evil-collection-indent elisp-demos
evil-collection-helpful helpful trace evil-collection-edebug edebug
info-look evil-collection-info info evil-collection-elisp-refs
elisp-refs char-fold company-ispell company-yasnippet company-dabbrev
evil-traces evil-ex help-fns radix-tree evil-collection-help cl-print
evil-collection-debug debug backtrace bug-reference visual-fill-column
goto-addr hide-mode-line cus-start magit-gitflow git-gutter-fringe
fringe-helper git-gutter evil-collection-vc-git vc-git projectile
disp-table whitespace flycheck-popup-tip evil-collection-popup popup
flycheck-cask evil-embrace evil-surround embrace expand-region
text-mode-expansions the-org-mode-expansions er-basic-expansions
expand-region-core expand-region-custom parinfer-rust-mode
parinfer-rust-changes parinfer-rust parinfer-rust-helper eros
highlight-quoted rainbow-delimiters vi-tilde-fringe highlight-numbers
parent-mode display-line-numbers rainbow-identifiers saveplace so-long
editorconfig-core editorconfig-core-handle editorconfig-fnmatch gcmh
winner smartparens-config smartparens-text smartparens flycheck-package
package-lint evil-collection-finder finder finder-inf lisp-mnt
evil-collection-flycheck consult-flycheck flycheck ws-butler
editorconfig cursor-sensor delsel evil-collection-minibuffer
vertico-repeat alert log4e notifications dbus xml gntp
evil-collection-which-key which-key better-jumper company-capf company
orderless marginalia evil-goggles evil-easymotion evil-escape evil-snipe
evil-collection-magit-todos magit-todos pcre2el rxt re-builder hl-todo
async el-patch org-super-agenda ts ht org-habit org-inlinetask
org-roam-dailies org-roam-protocol org-protocol org-duration org-drill
persist org-agenda evil-collection-org orgit org-roam-migrate
org-roam-mode org-roam-capture org-roam-node org-roam-db org-roam
org-roam-compat org-roam-utils org-capture emacsql-sqlite url-http
url-auth url-gw nsm emacsql emacsql-compiler smartparens-org org-yt
org-element 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-footnote org-src
ob-comint org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys oc
org-compat org-macs org-loaddefs find-func evil-collection-calendar
cal-menu calendar cal-loaddefs magit-bookmark magit-autoloads
magit-submodule magit-obsolete magit-popup 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 evil-collection-imenu imenu magit-diff smerge-mode diff
evil-collection-diff-mode diff-mode magit-core magit-autorevert
magit-margin magit-transient magit-process evil-collection-package-menu
core-packages package browse-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util url-handlers
url-parse auth-source json map url-vars git-commit
evil-collection-log-edit log-edit message mailcap yank-media rmc puny
evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec
password-cache evil-collection-epa epa epg rfc6068 epg-config gnus-util
time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils
mailheader pcvs-util add-log magit-mode magit-git magit-section
magit-utils crm auto-minor-mode raku-detect with-editor doom-snippets
doom-snippets-lib yasnippet evil-collection-elisp-mode elisp-mode
savehist server autorevert filenotify nav-flash pulse color desktop
frameset jka-compr dtrt-indent doom-modeline doom-modeline-segments
doom-modeline-env doom-modeline-core shrink-path f s all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons dash doom-themes-ext-org
solaire-mode face-remap doom-one-light-theme doom-themes
doom-themes-base .emacs adaptive-wrap evil-collection-explain-pause-mode
explain-pause-mode explain-pause-top explain-pause-log-to-socket
evil-collection-profiler profiler hl-line+ hl-line evil-collection-rg rg
vc vc-dispatcher rg-info-hack rg-menu transient format-spec eieio
eieio-core eieio-loaddefs rg-ibuffer rg-result wgrep-rg
evil-collection-wgrep wgrep rg-history rg-header ibuf-ext
evil-collection-ibuffer ibuffer ibuffer-loaddefs evil-collection-grep
grep evil-collection-compile compile vertico-directory consult-vertico
evil-collection-vertico vertico evil-collection-consult consult recentf
tree-widget evil-collection-bookmark bookmark text-property-search
auto-compile packed evil-collection-custom cus-edit cus-load wid-edit
evil-collection-comint evil-collection annalist let-alist
ns-auto-titlebar evil evil-integration evil-maps evil-commands reveal
flyspell ispell evil-jumps evil-command-window evil-search shell
pcomplete comint ansi-color evil-types evil-macros evil-repeat
evil-states evil-core advice evil-common windmove calc calc-loaddefs
calc-macs thingatpt rect evil-digraphs evil-vars ring edmacro kmacro
derived use-package-bind-key bind-key easy-mmode core-editor
core-projects core-ui core-keybinds pp general use-package-core
core-modules el-patch-stub tex-site core comp comp-cstr warnings rx
cl-seq cl-extra help-mode seq byte-opt bytecomp byte-compile cconv
core-lib pcase subr-x cl-macs gv cl-loaddefs cl-lib iso-transl tooltip
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
term/ns-win ns-win ucs-normalize mule-util term/common-win 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 keymap hashtable-print-readable backquote threads
kqueue cocoa ns lcms2 multi-tty make-network-process native-compile
emacs)

Memory information:
((conses 16 1666415 1471469)
 (symbols 48 69074 6)
 (strings 32 264189 186241)
 (string-bytes 1 9568485)
 (vectors 16 133897)
 (vector-slots 8 4472464 1242772)
 (floats 8 2074 13312)
 (intervals 56 45250 28120)
 (buffers 992 141))

-- 
Robert Irelan
[email-masked]