Subject: bug#59068: 29.0.50; noverlay causing indirect append issues

From: Michael Kleehammer <[email-masked]>
Date: Sun, 6 Nov 2022 00:09:18 -0500

I compiled master at b7a76f288cc and two different indirect editing
packages, edit-indirect and separedit, now have the same bug.  When I
build with 69121c33e4a, which is a commit right before the noverlay
feature was merged in, I cannot reproduce the bug.

Unfortunately I don't know enough indirect buffers or overlays to
reproduce the bug with -Q, so I'll have to describe how to reproduce the
issue using edit-indirect.  If someone can suggest how to reproduce this
with only native functions, I'll be happy to test it.

I realize the bug is manifesting in non-core packages, but it certainly
appears like noverlay could have a bug they uncover.  Since the recent
email about noverlay said the only change should be speed, it is
probably worth someone looking into that knows what it could be.

Both edit-indirect and separedit offer indirect editing of a string or
comment block in another buffer.  Usually you make changes and commit
the buffer which replaces the original string or comment and deletes the
indirect buffer.  This still works fine.

However, both allow you to save which replaces the original while
keeping the indirect buffer open for further editing.  Subsequent saves
are supposed to keep replacing the original, but they now *append* to
the original.

For example:

- Mark two lines of text in a buffer.
- Execute the edit-indirect-region command which will create an indirect
  buffer with only the two lines.
- In indirect buffer add some text like "1" to one of the lines and save
  the buffer using C-x C-s.
- Verify it overwrote the two lines in the original buffer.
- In the indirect, change the "1" to "1 2" and save again.
- Now the original will show 4 lines: two lines with the "1" change and
  two lines with the "1 2" change.

Before noverlay was merged in, the second save would result in only the
two lines with the "1 2" change.

Interestingly, neither org-mode's indirect editing of a source block using
org-edit-special (C-') nor the pop-to-org package exhibits the bug.

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.33, cairo version 1.16.0) of 2022-10-31 built on pop-os
Repository revision: b7a76f288cc9d3a962cd5790203dc89303e81c97
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Pop!_OS 22.04 LTS

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

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

Major mode: Magit

Minor modes in effect:
  magit-auto-revert-mode: t
  evil-commentary-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  which-function-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-hl-prog-extra-mode: t
  midnight-mode: t
  global-corfu-mode: t
  corfu-mode: t
  evil-goggles-mode: t
  global-git-commit-mode: t
  marginalia-mode: t
  vertico-mode: t
  prescient-persist-mode: t
  global-evil-matchit-mode: t
  evil-matchit-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  global-evil-collection-unimpaired-mode: t
  evil-collection-unimpaired-mode: t
  smart-jump-mode: t
  pcre-mode: t
  recentf-mode: t
  global-so-long-mode: t
  save-place-mode: t
  electric-pair-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  shell-dirtrack-mode: t
  evil-mode: t
  evil-local-mode: t
  windmove-mode: t
  which-key-mode: t
  override-global-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/mkleehammer/.emacs.d/elpa/transient-20221028.1430/transient
hides /usr/local/share/emacs/29.0.50/lisp/transient
/home/mkleehammer/.emacs.d/elpa/string-edit-20220604.2128/string-edit
hides /usr/local/share/emacs/29.0.50/lisp/textmodes/string-edit
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-id hides
/usr/local/share/emacs/29.0.50/lisp/org/org-id
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-faces
hides /usr/local/share/emacs/29.0.50/lisp/org/org-faces
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-timer
hides /usr/local/share/emacs/29.0.50/lisp/org/org-timer
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-icalendar
hides /usr/local/share/emacs/29.0.50/lisp/org/ox-icalendar
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-shell
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-shell
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-org hides
/usr/local/share/emacs/29.0.50/lisp/org/ox-org
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-man hides
/usr/local/share/emacs/29.0.50/lisp/org/ox-man
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-inlinetask
hides /usr/local/share/emacs/29.0.50/lisp/org/org-inlinetask
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-core
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-core
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-C hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-C
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-pcomplete
hides /usr/local/share/emacs/29.0.50/lisp/org/org-pcomplete
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-groovy
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-groovy
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-dot hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-dot
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-clock
hides /usr/local/share/emacs/29.0.50/lisp/org/org-clock
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-footnote
hides /usr/local/share/emacs/29.0.50/lisp/org/org-footnote
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-eshell
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-eshell
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-js hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-js
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-bbdb
hides /usr/local/share/emacs/29.0.50/lisp/org/ol-bbdb
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-tempo
hides /usr/local/share/emacs/29.0.50/lisp/org/org-tempo
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-man hides
/usr/local/share/emacs/29.0.50/lisp/org/ol-man
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-md hides
/usr/local/share/emacs/29.0.50/lisp/org/ox-md
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox hides
/usr/local/share/emacs/29.0.50/lisp/org/ox
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-keys
hides /usr/local/share/emacs/29.0.50/lisp/org/org-keys
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-colview
hides /usr/local/share/emacs/29.0.50/lisp/org/org-colview
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-forth
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-forth
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-sass
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-sass
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-sql hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-sql
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-protocol
hides /usr/local/share/emacs/29.0.50/lisp/org/org-protocol
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol hides
/usr/local/share/emacs/29.0.50/lisp/org/ol
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-tangle
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-tangle
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-python
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-python
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-scheme
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-scheme
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-ctags
hides /usr/local/share/emacs/29.0.50/lisp/org/org-ctags
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-eww hides
/usr/local/share/emacs/29.0.50/lisp/org/ol-eww
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-table
hides /usr/local/share/emacs/29.0.50/lisp/org/org-table
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-haskell
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-haskell
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-latex
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-latex
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-src
hides /usr/local/share/emacs/29.0.50/lisp/org/org-src
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-ocaml
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-ocaml
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org hides
/usr/local/share/emacs/29.0.50/lisp/org/org
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-makefile
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-makefile
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-bibtex
hides /usr/local/share/emacs/29.0.50/lisp/org/ol-bibtex
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-goto
hides /usr/local/share/emacs/29.0.50/lisp/org/org-goto
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-exp hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-exp
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-latex
hides /usr/local/share/emacs/29.0.50/lisp/org/ox-latex
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-ref hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-ref
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-plantuml
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-plantuml
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-table
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-table
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-lob hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-lob
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-version
hides /usr/local/share/emacs/29.0.50/lisp/org/org-version
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-gnus
hides /usr/local/share/emacs/29.0.50/lisp/org/ol-gnus
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-comint
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-comint
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-lilypond
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-lilypond
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-eval
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-eval
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-mhe hides
/usr/local/share/emacs/29.0.50/lisp/org/ol-mhe
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-capture
hides /usr/local/share/emacs/29.0.50/lisp/org/org-capture
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-lint
hides /usr/local/share/emacs/29.0.50/lisp/org/org-lint
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-lua hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-lua
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-datetree
hides /usr/local/share/emacs/29.0.50/lisp/org/org-datetree
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-install
hides /usr/local/share/emacs/29.0.50/lisp/org/org-install
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-agenda
hides /usr/local/share/emacs/29.0.50/lisp/org/org-agenda
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-gnuplot
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-gnuplot
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-fortran
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-fortran
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-beamer
hides /usr/local/share/emacs/29.0.50/lisp/org/ox-beamer
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-perl
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-perl
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-koma-letter
hides /usr/local/share/emacs/29.0.50/lisp/org/ox-koma-letter
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob hides
/usr/local/share/emacs/29.0.50/lisp/org/ob
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-R hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-R
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-maxima
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-maxima
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-plot
hides /usr/local/share/emacs/29.0.50/lisp/org/org-plot
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-ditaa
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-ditaa
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-sed hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-sed
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-compat
hides /usr/local/share/emacs/29.0.50/lisp/org/org-compat
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-mouse
hides /usr/local/share/emacs/29.0.50/lisp/org/org-mouse
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-awk hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-awk
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-irc hides
/usr/local/share/emacs/29.0.50/lisp/org/ol-irc
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-feed
hides /usr/local/share/emacs/29.0.50/lisp/org/org-feed
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-entities
hides /usr/local/share/emacs/29.0.50/lisp/org/org-entities
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-attach
hides /usr/local/share/emacs/29.0.50/lisp/org/org-attach
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-lisp
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-lisp
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-macro
hides /usr/local/share/emacs/29.0.50/lisp/org/org-macro
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-publish
hides /usr/local/share/emacs/29.0.50/lisp/org/ox-publish
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-css hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-css
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-odt hides
/usr/local/share/emacs/29.0.50/lisp/org/ox-odt
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-habit
hides /usr/local/share/emacs/29.0.50/lisp/org/org-habit
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-archive
hides /usr/local/share/emacs/29.0.50/lisp/org/org-archive
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-refile
hides /usr/local/share/emacs/29.0.50/lisp/org/org-refile
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-eshell
hides /usr/local/share/emacs/29.0.50/lisp/org/ol-eshell
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-org hides
/usr/local/share/emacs/29.0.50/lisp/org/ob-org
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-w3m hides
/usr/local/share/emacs/29.0.50/lisp/org/ol-w3m
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-emacs-lisp
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-emacs-lisp
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-processing
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-processing
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-loaddefs
hides /usr/local/share/emacs/29.0.50/lisp/org/org-loaddefs
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-info
hides /usr/local/share/emacs/29.0.50/lisp/org/ol-info
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-macs
hides /usr/local/share/emacs/29.0.50/lisp/org/org-macs
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-matlab
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-matlab
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-ascii
hides /usr/local/share/emacs/29.0.50/lisp/org/ox-ascii
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-attach-git
hides /usr/local/share/emacs/29.0.50/lisp/org/org-attach-git
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-ruby
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-ruby
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-java
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-java
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-html
hides /usr/local/share/emacs/29.0.50/lisp/org/ox-html
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-julia
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-julia
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-calc
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-calc
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-octave
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-octave
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-num
hides /usr/local/share/emacs/29.0.50/lisp/org/org-num
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-sqlite
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-sqlite
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-docview
hides /usr/local/share/emacs/29.0.50/lisp/org/ol-docview
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-mobile
hides /usr/local/share/emacs/29.0.50/lisp/org/org-mobile
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-clojure
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-clojure
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-element
hides /usr/local/share/emacs/29.0.50/lisp/org/org-element
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ol-rmail
hides /usr/local/share/emacs/29.0.50/lisp/org/ol-rmail
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ox-texinfo
hides /usr/local/share/emacs/29.0.50/lisp/org/ox-texinfo
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-list
hides /usr/local/share/emacs/29.0.50/lisp/org/org-list
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/ob-screen
hides /usr/local/share/emacs/29.0.50/lisp/org/ob-screen
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-indent
hides /usr/local/share/emacs/29.0.50/lisp/org/org-indent
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-crypt
hides /usr/local/share/emacs/29.0.50/lisp/org/org-crypt
/home/mkleehammer/.emacs.d/elpa/org-plus-contrib-20210531/org-duration
hides /usr/local/share/emacs/29.0.50/lisp/org/org-duration

Features:
(shadow sort mail-extr emacsbug magit-extras goto-addr face-remap
evil-collection-forge forge-list forge-commands forge-semi
forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab
forge-github ghub-graphql treepy gsexp ghub forge-notify forge-revnote
forge-pullreq forge-issue forge-topic let-alist yaml bug-reference
forge-post evil-collection-markdown-mode markdown-mode forge-repo forge
forge-core forge-db closql emacsql-sqlite emacsql emacsql-compiler
magit-bookmark evil-collection-magit magit-submodule magit-obsolete
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 magit-diff smerge-mode
evil-collection-diff-mode diff-mode magit-core magit-autorevert
autorevert magit-margin magit-transient magit-process magit-mode
dired-aux separedit generic warnings calc-misc evil-collection-compile
compile separedit-autoloads loaddefs-gen lisp-mnt mm-archive
network-stream url-cache url-http url-auth url-gw nsm consult-imenu
web-mode disp-table goto-chg org-eldoc org-superstar ol-eww
evil-collection-eww eww xdg url-queue 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 shr pixel-fill kinsoku url-file svg dom gnus-group
gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail
mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range gnus-win
evil-collection-gnus gnus nnheader range ol-docview
evil-collection-doc-view doc-view filenotify ol-bibtex bibtex iso8601
ol-bbdb ol-w3m ob-sql-mode sql evil-org org-appear org-element avl-tree
org-num evil-collection-org 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 evil-collection-outline noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys
org-compat org-macs org-loaddefs evil-collection-calendar cal-menu
calendar cal-loaddefs poporg cl jka-compr mule-util
evil-collection-helpful helpful cc-langs trace info-look f f-shortdoc
evil-collection-shortdoc shortdoc help-fns radix-tree
evil-collection-elisp-refs elisp-refs executable evil-commentary
evil-commentary-integration undo-tree diff queue
evil-collection-flycheck flycheck which-func evil-collection-edebug
edebug evil-collection-debug debug backtrace color-identifiers-mode
rainbow-delimiters cursor-sensor evil-collection-js2-mode js2-mode etags
fileloop dumb-jump evil-collection-popup popup evil-collection-xref xref
js cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs evil-collection-imenu imenu
evil-collection-consult consult-vertico consult compat-28
evil-collection-bookmark bookmark evil-surround avy fortune
hl-prog-extra midnight display-line-numbers evil-collection-corfu corfu
hydra lv evil-goggles iedit iedit-lib fd-dired ibuf-ext
evil-collection-ibuffer ibuffer ibuffer-loaddefs find-dired
evil-collection-wdired wdired dired-x edit-indirect auto-virtualenv s vc
vc-dispatcher pyvenv evil-collection-eshell em-prompt esh-mode eshell
esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module
esh-groups esh-util evil-collection-custom cus-edit pp cus-load icons
files-x evil-collection-python python project finder-inf git-commit
magit-git magit-base evil-collection-magit-section magit-section crm
dash compat-27 compat-26 with-editor transient format-spec compat
compat-macs server evil-collection-log-edit log-edit message sendmail
yank-media puny rfc822 mml mml-sec evil-collection-epa epa derived epg
rfc6068 epg-config gnus-util text-property-search 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 git-modes gitignore-mode gitconfig-mode conf-mode
gitattributes-mode evil-textobj-func evil-collection-view view
scroll-on-jump marginalia evil-collection-vertico vertico prescient
char-fold evil-matchit evil-matchit-evil-setup evil-matchit-sdk
semantic/lex semantic/fw mode-local find-func ws-butler pulse color
evil-collection-unimpaired evil-collection-which-key
evil-collection-tabulated-list evil-collection-tab-bar
evil-collection-so-long evil-collection-simple evil-collection-replace
evil-collection-process-menu evil-collection-package-menu
evil-collection-minibuffer evil-collection-info evil-collection-indent
evil-collection-image image-mode evil-collection-dired dired
dired-loaddefs exif evil-collection-help evil-collection-elisp-mode
evil-collection-eldoc evil-collection-comint calc-ext
evil-collection-calc evil-collection-buff-menu evil-collection annalist
smart-jump-mode pcre2el rxt pcase re-builder modus-vivendi-theme
modus-themes recentf tree-widget wid-edit so-long saveplace elec-pair
yasnippet evil evil-integration evil-maps evil-commands reveal flyspell
ispell evil-jumps evil-command-window evil-search evil-ex shell
pcomplete comint ansi-osc ansi-color evil-types evil-macros evil-repeat
evil-states evil-core evil-common windmove calc calc-loaddefs calc-macs
thingatpt rect evil-digraphs evil-vars ring edmacro kmacro general
diminish which-key cl-extra help-mode use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
use-package-core ef-themes-autoloads evil-collection-autoloads advice
evil-autoloads flycheck-autoloads magit-autoloads git-commit-autoloads
modus-themes-autoloads rx projectile-autoloads
realgud-recursive-autoloads easy-mmode info 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 dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process emacs)

Memory information:
((conses 16 929401 71764)
 (symbols 48 62235 0)
 (strings 32 267925 8161)
 (string-bytes 1 7890068)
 (vectors 16 125883)
 (vector-slots 8 2192724 108913)
 (floats 8 1219 614)
 (intervals 56 8171 973)
 (buffers 984 24))