Subject: 29.3; reindent-then-newline-and-indent bug when newline triggers abbrev expansion
From: [email-masked]
To: [email-masked], [email-masked]
Date: Sun, 09 Jun 2024 23:42:58 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

1. emacs -Q
2. Open an empty buffer in a mode like conf-mode.  Enable abbrev-mode.
3. Type "# this is a comment", select the line, and run M-x
   add-mode-abbrev, give it some abbrev like "tc".
4. On a new line, type tc and then M-x reindent-then-newline-and-indent

I expect this to insert "# this is a comment", but instead it inserts
"#this is a comment".  Note the missing space between the
comment-start marker and the comment text.

For context, this came up in a major mode (ledger-mode) where I had
bound RET to reindent-then-newline-and-indent, so it happens quite
freqently to me.

I think just making reindent-then-newline-and-indent use a marker for
the initial value of `pos' would work, but I haven't thought about it
very much.

In GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
version 1.18.0, Xaw3d scroll bars)
Windowing system distributor 'HC-Consult', version 11.0.12014000
System Description: NixOS 24.05 (Uakari)

Configured using:
 'configure
 --prefix=/nix/store/8r6lgsfyak1mr2gg3ka6zkffxswkj3wv-emacs-29.3
 --disable-build-details --with-modules --with-x-toolkit=lucid
 --with-cairo --with-xft --with-compress-install
 --with-toolkit-scroll-bars --with-native-compilation
 --without-imagemagick --with-mailutils --without-small-ja-dic
 --with-tree-sitter --with-xinput2 --without-xwidgets --with-dbus
 --with-selinux'

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

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

Major mode: Spacemacs buffer

Minor modes in effect:
  magit-todos-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-git-commit-mode: t
  windmove-mode: t
  pupo-mode: t
  purpose-mode: t
  evil-escape-mode: t
  global-display-line-numbers-mode: t
  global-vi-tilde-fringe-mode: t
  recentf-mode: t
  eval-sexp-fu-flash-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  indent-guide-global-mode: t
  dired-async-mode: t
  global-corfu-mode: t
  corfu-mode: t
  winner-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  global-spacemacs-whitespace-cleanup-mode: t
  spacemacs-whitespace-cleanup-mode: t
  winum-mode: t
  volatile-highlights-mode: t
  vertico-mode: t
  unkillable-scratch: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-term-cursor-mode: t
  term-cursor-mode: t
  save-place-mode: t
  savehist-mode: t
  persistent-scratch-autosave-mode: t
  org-wild-notifier-mode: t
  projectile-mode: t
  shell-dirtrack-mode: t
  server-mode: t
  mode-line-bell-mode: t
  marginalia-mode: t
  global-ligature-mode: t
  ligature-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  global-hl-todo-mode: t
  global-fasd-mode: t
  global-evil-quickscope-always-mode: t
  evil-quickscope-always-mode: t
  global-anzu-mode: t
  anzu-mode: t
  envrc-global-mode: t
  envrc-mode: t
  editorconfig-mode: t
  global-column-enforce-mode: t
  clean-aindent-mode: t
  hybrid-mode: t
  which-key-mode: t
  evil-mode: t
  evil-local-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  global-auto-revert-mode: t
  which-function-mode: t
  minibuffer-depth-indicate-mode: t
  midnight-mode: t
  display-time-mode: t
  override-global-mode: t
  ido-vertical-mode: t
  global-page-break-lines-mode: t
  page-break-lines-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
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/aaron/.emacs.d/elpa/29.3/develop/load-env-vars-20180511.2210/load-env-vars hides /home/aaron/.emacs.d/core/libs/forks/load-env-vars
/home/aaron/.emacs.d/elpa/29.3/develop/spinner-1.7.4/spinner hides /home/aaron/.emacs.d/core/libs/spinner
/nix/store/gxi8whqw0hp0h1c83hh5l171qzk98n5g-emacs-packages-deps/share/emacs/site-lisp/site-start hides /nix/store/8r6lgsfyak1mr2gg3ka6zkffxswkj3wv-emacs-29.3/share/emacs/site-lisp/site-start
~/.spacemacs.d/custom hides /nix/store/8r6lgsfyak1mr2gg3ka6zkffxswkj3wv-emacs-29.3/share/emacs/29.3/lisp/custom
/home/aaron/.emacs.d/elpa/29.3/develop/transient-20240603.2200/transient hides /nix/store/8r6lgsfyak1mr2gg3ka6zkffxswkj3wv-emacs-29.3/share/emacs/29.3/lisp/transient
/home/aaron/.emacs.d/elpa/29.3/develop/hierarchy-20190425.842/hierarchy hides /nix/store/8r6lgsfyak1mr2gg3ka6zkffxswkj3wv-emacs-29.3/share/emacs/29.3/lisp/emacs-lisp/hierarchy
/nix/store/gxi8whqw0hp0h1c83hh5l171qzk98n5g-emacs-packages-deps/share/emacs/site-lisp/elpa/let-alist-1.0.6/let-alist hides /nix/store/8r6lgsfyak1mr2gg3ka6zkffxswkj3wv-emacs-29.3/share/emacs/29.3/lisp/emacs-lisp/let-alist

Features:
(shadow mail-extr emacsbug term/xterm xterm json-mode json-snatcher
smartparens-javascript js c-ts-common smartparens-ruby ruby-mode
embark-org embark-consult embark pocket-reader pocket-lib
org-web-tools plz evil-collection-eww eww url-queue shr pixel-fill
kinsoku url-file svg mm-url gnus nnheader range esxml-query
rainbow-identifiers peg ov dotassoc kv auto-highlight-symbol ht
evil-iedit-state iedit iedit-lib mc-hide-unmatched-lines-mode
mc-mark-more smartparens-html sgml-mode facemenu dom mc-cycle-cursors
multiple-cursors-core yasnippet skeleton autoinsert eglot
external-completion array jsonrpc ert ewoc flymake-proc flymake
rustic-flycheck rustic-spellcheck rustic-expand rustic-lsp
rustic-playground rustic-rustfix rustic-racer rustic-babel
rustic-rustfmt rustic-comint rustic-clippy rustic-doc rustic-popup
rustic-cargo rustic-compile xterm-color rustic-interaction rustic
smartparens-rust rust-utils rust-prog-mode rust-mode rust-common
rust-rustfmt calc-arith calc-mode calc-misc magit-ediff
evil-collection-ediff ediff ediff-merg ediff-mult ediff-wind
ediff-diff ediff-help ediff-init ediff-util dabbrev calc-yank
calc-undo calc-alg link-hint ffap goto-chg network-stream gravatar dns
url-cache view consult-org cal-move sort evil-ledger 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-xact ledger-post ledger-exec
ledger-init ledger-navigate ledger-context ledger-commodities
ledger-regex avy calc-map calc-stat calc-vec calc-ext calc-menu
calc-aent calc calc-loaddefs calc-macs ob-C smartparens-c cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine ob-js
ob-perl ob-python smartparens-python python ob-scheme geiser-impl
geiser-custom geiser-base geiser ob-sql ob-shell flycheck-bashate
shfmt reformatter sh-script smie treesit magit-extras
emacsql-sqlite-builtin sqlite evil-collection-magit-todos magit-todos
pcre2el rxt re-builder evil-surround elisp-demos helpful cc-langs
cc-vars cc-defs trace edebug debug backtrace info-look elisp-refs
help-fns radix-tree mule-util consult-imenu consult magit-bookmark
bookmark executable nix-format ocamlformat whitespace tabify
orgit-forge orgit git-rebase evil-collection-forge forge-repos
forge-topics forge-tablist forge-commands forge-semi forge-bitbucket
buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github
ghub-graphql treepy gsexp ghub gnutls forge-notify forge-revnote
forge-pullreq forge-issue forge-topic yaml parse-time forge-post
smartparens-markdown markdown-mode color forge-repo forge forge-core
forge-db closql emacsql-sqlite-common emacsql emacsql-compiler
evil-collection-magit magit-submodule magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-tag magit-merge magit-branch magit-reset
magit-files magit-refs magit-status magit magit-repos magit-apply
magit-wip magit-log magit-diff smerge-mode git-commit log-edit message
sendmail yank-media rfc822 mml mml-sec epa gnus-util mm-decode
mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader
org-projectile org-project-capture org-project-capture-backend
org-category-capture org-capture cal-iso org-eldoc evil-org org-appear
org-download org-modern org-superstar toc-org org-indent image-file
image-converter oc-basic face-remap add-log misearch multi-isearch
windmove dired-quick-sort ls-lisp vertico-directory zoom-frm
frame-cmds frame-fns avoid spacemacs-purpose-popwin window-purpose-x
imenu-list window-purpose window-purpose-fixes
window-purpose-prefix-overload window-purpose-switch
window-purpose-layout window-purpose-core evil-escape
display-line-numbers vi-tilde-fringe persistent-soft list-utils pcache
eieio-base cl font-utils recentf tree-widget overseer pkg-info
url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr url-gw nsm puny epl auto-compile elisp-slime-nav
flycheck-elsa flycheck-package package-lint let-alist finder
eval-sexp-fu goto-addr vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs
vc-svn vc-cvs vc-rcs log-view pcvs-util vc vc-dispatcher bug-reference
evil-lisp-state highlight-numbers parent-mode highlight-parentheses
hideshow rainbow-delimiters smartparens-config smartparens-org
smartparens-text smartparens loadhist ol-man org-checklist ol-eshell
eshell-z em-dirs esh-var em-term term disp-table ehelp em-smart
esh-mode eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util files-x org-tempo tempo ol-info
org-habit ol-docview doc-view jka-compr image-mode exif ol-bibtex
bibtex iso8601 indent-guide fancy-battery battery dired-async
dired-aux evil-collection-dired dired-x dired dired-loaddefs cus-start
corfu bcc32-abbrev winner flyspell ispell window-purpose-configuration
window-purpose-utils org-clock flycheck-pos-tip pos-tip
flycheck-ledger flycheck evil-matchit evil-matchit-evil-setup
evil-matchit-sdk semantic/lex semantic/fw mode-local
spacemacs-whitespace-cleanup ws-butler winum etags fileloop xref
volatile-highlights vertico-repeat vertico-quick vertico
unkillable-scratch unicode-fonts undo-tree diff queue term-cursor
symbol-overlay string-inflection saveplace savehist popwin
persistent-scratch pdf-loader diary-lib diary-loaddefs
org-wild-notifier org-duration bcc32-org bcc32-org-lint org-lint
ox-texinfo ox-org ox-latex ox-icalendar ox-gfm ox-md ox-html table
ox-ascii ox-publish ox org-attach projectile project lisp-mnt grep
compile text-property-search ibuf-ext ibuffer ibuffer-loaddefs
org-agenda org-element org-persist xdg org-id avl-tree generator
org-refile magit-core magit-autorevert magit-margin magit-transient
magit-process with-editor shell server magit-mode transient magit-git
magit-base magit-section cursor-sensor crm org ob ob-tangle ob-ref
ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete
pcomplete comint ansi-osc org-list org-footnote org-faces org-entities
time-date ob-emacs-lisp ob-core ob-eval org-cycle org-table org-keys
oc org-loaddefs find-func cal-menu calendar cal-loaddefs ol org-fold
org-fold-core org-compat org-version org-macs async alert log4e
notifications dbus xml gntp org-rich-yank orderless mode-line-bell
marginalia ligature keycast info+ hl-todo compat fasd evil-unimpaired
f s dash evil-textobj-line evil-quickscope evil-easymotion
evil-collection-simple evil-collection-replace
evil-collection-buff-menu evil-collection annalist evil-anzu anzu
envrc inheritenv ansi-color editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch noutline outline
drag-stuff column-enforce-mode clean-aindent-mode bcc32
zenburn-theme-autoloads yapfify-autoloads yaml-mode-autoloads
ws-butler-autoloads writeroom-mode-autoloads
visual-fill-column-autoloads winum-autoloads window-purpose-autoloads
imenu-list-autoloads wgrep-autoloads web-mode-autoloads
web-beautify-autoloads volatile-highlights-autoloads
vim-powerline-autoloads vi-tilde-fringe-autoloads vertico-autoloads
uuidgen-autoloads utop-autoloads unkillable-scratch-autoloads
unicode-fonts-autoloads ucs-utils-autoloads font-utils-autoloads
persistent-soft-autoloads pcache-autoloads undo-tree-autoloads
queue-autoloads typescript-mode-autoloads tuareg-autoloads
caml-autoloads toml-mode-autoloads toc-org-autoloads tide-autoloads
terminal-here-autoloads term-cursor-autoloads tao-theme-autoloads
tagedit-autoloads symon-autoloads symbol-overlay-autoloads
string-inflection-autoloads string-edit-at-point-autoloads
sql-indent-autoloads spotify-autoloads sphinx-doc-autoloads
spacemacs-whitespace-cleanup-autoloads
spacemacs-purpose-popwin-autoloads space-doc-autoloads
solarized-theme-autoloads smeargle-autoloads slim-mode-autoloads
shfmt-autoloads reformatter-autoloads shell-pop-autoloads
scss-mode-autoloads sass-mode-autoloads rustic-autoloads
xterm-color-autoloads rust-mode-autoloads ron-mode-autoloads
reveal-in-osx-finder-autoloads restart-emacs-autoloads
rainbow-delimiters-autoloads quickrun-autoloads pytest-autoloads
pylookup-autoloads pyenv-mode-autoloads pydoc-autoloads
py-isort-autoloads pug-mode-autoloads prettier-js-autoloads
posframe-autoloads popwin-autoloads poetry-autoloads
pocket-reader-autoloads org-web-tools-autoloads esxml-autoloads
rainbow-identifiers-autoloads ov-autoloads pocket-lib-autoloads
plz-autoloads peg-autoloads kv-autoloads pippel-autoloads
pipenv-autoloads load-env-vars-autoloads pyvenv-autoloads
pip-requirements-autoloads persistent-scratch-autoloads
pdf-tools-autoloads tablist-autoloads password-generator-autoloads
paradox-autoloads spinner-autoloads ox-gfm-autoloads
overseer-autoloads osx-trash-autoloads osx-clipboard-autoloads
orgit-forge-autoloads orgit-autoloads org-wild-notifier-autoloads
org-superstar-autoloads org-rich-yank-autoloads
org-projectile-autoloads org-project-capture-autoloads
org-category-capture-autoloads org-present-autoloads
org-pomodoro-autoloads alert-autoloads log4e-autoloads gntp-autoloads
org-modern-autoloads org-mime-autoloads org-download-autoloads
org-contrib-autoloads org-cliplink-autoloads org-appear-autoloads
orderless-autoloads open-junk-file-autoloads ocp-indent-autoloads
ocamlformat-autoloads npm-mode-autoloads nose-autoloads
nodejs-repl-autoloads nixos-options-autoloads nix-mode-autoloads
nano-agenda-autoloads nameless-autoloads multi-vterm-autoloads
vterm-autoloads multi-term-autoloads multi-line-autoloads
shut-up-autoloads mode-line-bell-autoloads merlin-iedit-autoloads
merlin-eldoc-autoloads merlin-company-autoloads company-autoloads
markdown-toc-autoloads marginalia-autoloads magit-todos-autoloads
macrostep-autoloads lorem-ipsum-autoloads livid-mode-autoloads
skewer-mode-autoloads live-py-mode-autoloads link-hint-autoloads
ligature-autoloads launchctl-autoloads keycast-autoloads
json-reformat-autoloads json-navigator-autoloads hierarchy-autoloads
json-mode-autoloads json-snatcher-autoloads js2-refactor-autoloads
multiple-cursors-autoloads js2-mode-autoloads js-doc-autoloads
inspector-autoloads insert-shebang-autoloads info+-autoloads
indent-guide-autoloads importmagic-autoloads epc-autoloads
ctable-autoloads concurrent-autoloads impatient-mode-autoloads
simple-httpd-autoloads ibuffer-projectile-autoloads
hungry-delete-autoloads htmlize-autoloads hl-todo-autoloads
highlight-parentheses-autoloads highlight-numbers-autoloads
parent-mode-autoloads highlight-indentation-autoloads
hide-comnt-autoloads helpful-autoloads elisp-refs-autoloads
helm-make-autoloads haml-mode-autoloads google-translate-autoloads
google-c-style-autoloads golden-ratio-autoloads gnuplot-autoloads
gitignore-templates-autoloads git-timemachine-autoloads
git-modes-autoloads git-messenger-autoloads git-link-autoloads
gh-md-autoloads gendoxy-autoloads geiser-guile-autoloads
geiser-chicken-autoloads geiser-autoloads forge-autoloads
yaml-autoloads markdown-mode-autoloads ghub-autoloads treepy-autoloads
closql-autoloads emacsql-autoloads flyspell-correct-popup-autoloads
flyspell-correct-autoloads flycheck-ycmd-autoloads ycmd-autoloads
pkg-info-autoloads epl-autoloads request-deferred-autoloads
deferred-autoloads flycheck-rtags-autoloads rtags-autoloads
flycheck-pos-tip-autoloads pos-tip-autoloads
flycheck-package-autoloads package-lint-autoloads
flycheck-ocaml-autoloads merlin-autoloads flycheck-ledger-autoloads
flycheck-elsa-autoloads flycheck-bashate-autoloads flycheck-autoloads
flx-ido-autoloads flx-autoloads fish-mode-autoloads fasd-autoloads
fancy-battery-autoloads explain-pause-mode-autoloads
expand-region-autoloads evil-visualstar-autoloads
evil-visual-mark-mode-autoloads evil-unimpaired-autoloads
evil-tutor-autoloads evil-textobj-line-autoloads
evil-surround-autoloads evil-quickscope-autoloads evil-org-autoloads
evil-numbers-autoloads evil-nerd-commenter-autoloads
evil-matchit-autoloads evil-lisp-state-autoloads evil-lion-autoloads
evil-ledger-autoloads ledger-mode-autoloads evil-indent-plus-autoloads
evil-iedit-state-autoloads evil-goggles-autoloads
evil-exchange-autoloads evil-escape-autoloads
evil-easymotion-autoloads evil-collection-autoloads annalist-autoloads
evil-cleverparens-autoloads smartparens-autoloads evil-args-autoloads
evil-anzu-autoloads anzu-autoloads eval-sexp-fu-autoloads
eshell-z-autoloads eshell-prompt-extras-autoloads esh-help-autoloads
envrc-autoloads inheritenv-autoloads emr-autoloads iedit-autoloads
paredit-autoloads list-utils-autoloads emmet-mode-autoloads
embark-consult-autoloads embark-autoloads elisp-slime-nav-autoloads
elisp-demos-autoloads elisp-def-autoloads editorconfig-autoloads
eat-autoloads dune-autoloads dumb-jump-autoloads popup-autoloads
drag-stuff-autoloads disaster-autoloads dired-quick-sort-autoloads
devdocs-autoloads define-word-autoloads debbugs-autoloads
cython-mode-autoloads csv-mode-autoloads cpp-auto-include-autoloads
corfu-autoloads consult-yasnippet-autoloads yasnippet-autoloads
consult-autoloads compleseus-spacemacs-help-autoloads
command-log-mode-autoloads column-enforce-mode-autoloads
code-cells-autoloads clean-aindent-mode-autoloads
clang-format-autoloads centered-cursor-mode-autoloads
browse-at-remote-autoloads blacken-autoloads bcc32-org-autoloads
projectile-autoloads magit-autoloads magit-section-autoloads
git-commit-autoloads with-editor-autoloads transient-autoloads
compat-autoloads auto-highlight-symbol-autoloads ht-autoloads
auto-dictionary-autoloads auto-compile-autoloads
anaconda-mode-autoloads pythonic-autoloads f-autoloads dash-autoloads
s-autoloads all-the-icons-autoloads ahk-mode-autoloads
aggressive-indent-autoloads advent-of-code-autoloads request-autoloads
ace-window-autoloads ace-link-autoloads avy-autoloads hybrid-mode
evil-evilified-state pcre2el-autoloads hybrid-mode-autoloads
holy-mode-autoloads evil-evilified-state-autoloads
dotenv-mode-autoloads which-key hydra lv evil evil-integration
evil-maps evil-commands reveal evil-jumps evil-command-window
evil-types evil-search evil-ex evil-macros evil-repeat evil-states
evil-core advice evil-common thingatpt rect evil-vars diminish ring
bind-map which-key-autoloads hydra-autoloads lv-autoloads info
evil-autoloads goto-chg-autoloads diminish-autoloads
bind-map-autoloads async-autoloads thunk comp comp-cstr hl-line
xt-mouse autorevert filenotify base16-material-theme base16-theme
base16-theme-autoloads format-spec finder-inf which-func imenu
mb-depth midnight time edmacro kmacro cl-extra use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core ido-vertical-mode ido
core-spacemacs core-use-package-ext core-spacebind
core-transient-state core-micro-state core-toggle core-keybindings
core-fonts-support core-themes-support core-display-init core-jump
core-release-management core-custom-settings core-configuration-layer
core-progress-bar core-spacemacs-buffer core-funcs spacemacs-ht inline
help-mode warnings 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
password-cache json map url-vars eieio byte-opt eieio-core epg rfc6068
epg-config core-command-line core-debug derived core-hooks
page-break-lines easy-mmode core-env load-env-vars rx
core-dotspacemacs core-customization validate cus-edit pp cus-load
icons wid-edit core-emacs-backports core-compilation pcase bytecomp
byte-compile subr-x core-dumper spinner cl-macs gv cl-loaddefs cl-lib
core-versions core-load-paths core-early-funcs 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 x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 4385471 1634852)
 (symbols 48 117316 3)
 (strings 32 553337 210224)
 (string-bytes 1 19273720)
 (vectors 16 225531)
 (vector-slots 8 4617405 4037900)
 (floats 8 2258 8835)
 (intervals 56 248757 59744)
 (buffers 984 137))