Subject: 30.0.50; TTY frame doesn't automatically redisplay itself after having closed another frame

From: Daniel Clemente <[email-masked]>
Date: Mon, 3 Jun 2024 15:33:16 +0000

This happens since I started using TTY emacs (with no X support)
around 2 months ago. It's easy to reproduce but it may have something
to do with my terminal or window manager.

The problem is that Emacs doesn't redisplay in one particular case.
It's just a minor annoyance because I can just press a key or move the
mouse and the frame will redisplay. But it may hint at some other bug
that could be worthy of fixing.

I can consistently do this to reproduce it:

1. Launch emacs --daemon -Q
2. Using my tiling window manager "wmii", I divide the screen in a
left part and a right part. Each one has other non-Emacs windows
3. In the left side, I press a key to launch a terminal with TTY
emacs. I use a command like this: urxvtcd -e emacsclient -c &
4. I move focus to the right side, I launch another
terminal+emacsclient with the same command
5. Sanity check; verifying that everything works: I move to the left
terminal and press wmii keys to make the terminal wider or thinner. It
works as expected, it redisplays; Emacs uses all available space
inside the X window
6. Now I go to the right side. I press a key to kill the terminal
running emacsclient. Now only the terminal in the left side remains
7. I move to the left side (pressing a wmii key) and I press the wmii
keys to make the terminal wider or thinner (same as step 5). wmii
obeys, the X windows change size as expected.
8. However, the Emacs TTY frame isn't redisplayed: if I made it wider,
the new area at the right of the frame is shown in black (it sometimes
shows garbage from previous attempts). The mode line doesn't extend to
the right. If I make it thinner, the text isn't readjusted to the new
line length. Etc. The cursor keeps blinking.
9. I can keep circulating through other X windows and come back to
this X window, and try to resize it again. It still doesn't redisplay.
Pressing Ctrl also doesn't redisplay it
10. Only when I press a non-modifier key (e.g. right arrow) or I move
the mouse, it redisplays and starts using the whole X window

Note that step 6 is essential. This issue only appears immediately
after having killed another emacslient. It doesn't happen e.g. after
killing another type of X window. Or after having shuffled the X
windows (moving the terminal around, left/right, without killing it).
It's just after killing a frame.

I debugged what does the SIGWINCH handler
(handle_window_change_signal) do in this case (in step 7).
It's run, it does a loop with several ttys, it finds the right one, it
then calls change_frame_size (passing parameter: delay=true), which
just schedules the change (/* We can't deal with the change now, queue
it for later.  */). The change is well scheduled. The problem seems to
be that no redisplay happens after it.

(gdb) n
5972 change_frame_size (f, width, height, false, true, false);
(gdb) s
change_frame_size (f=0x5555597a11e0, new_width=44, new_height=51, pretend=false,
    delay=true, safe=false) at dispnew.c:6085
6085    change_frame_size_1 (f, new_width, new_height, pretend, delay, safe);
(gdb) list
6080 if (!FRAME_WINDOW_P (XFRAME (frame)))
6081  change_frame_size_1 (XFRAME (frame), new_width, new_height,
6082       pretend, delay, safe);
6083    }
6084  else
6085    change_frame_size_1 (f, new_width, new_height, pretend, delay, safe);
6086 }
6087 ^L
6088 /***********************************************************************
6089   Terminal Related Lisp Functions
(gdb) s
change_frame_size_1 (f=0x5555597a11e0, new_width=44, new_height=51,
pretend=false,
    delay=true, safe=false) at dispnew.c:6023
6023  if (delay || (redisplaying_p && !safe))
(gdb) n
6025      if (CONSP (frame_size_history)
(gdb)
6036      f->new_width = new_width;
(gdb) p CONSP (frame_size_history)
$25 = 0
(gdb) n
6037      f->new_height = new_height;
(gdb)
6038      f->new_size_p = true;
(gdb)
6039      delayed_size_change = true;
(gdb)
change_frame_size (f=0x5555597a11e0, new_width=44, new_height=51, pretend=false,
    delay=true, safe=false) at dispnew.c:6086
6086 }
(gdb)
handle_window_change_signal (sig=28) at dispnew.c:5964
5964  FOR_EACH_FRAME (tail, frame)
(gdb) cont

I have reproduced this with and without glyph debug enabled; with -O0
and -O3, and with several builds.

I couldn't reproduce it with xterm but I just tried it for some
seconds. I can try more if it looks like it's a urxvt problem.
My urxvt (rxvt-unicode) is customized but from a first glance I don't
see anything related to this.

If there's a bug, maybe it's in my window manager (wmii) since I know
it has minor focusing bugs. However, Emacs under X didn't have this
problem.

In GNU Emacs 30.0.50 (build 15, x86_64-pc-linux-gnu) of 2024-06-02 built on sonn
Repository revision: d9512da49514623ef3e35524dc894c06f2c0ce20
Repository branch: master
System Description: Devuan GNU/Linux 5 (daedalus)

Configured using:
 'configure --prefix=/opt/dc/emacs/ --without-dbus --with-tiff=no --without-tiff
 --without-libsystemd --without-dbus --with-mailutils
--with-native-compilation --with-x-toolkit=no
 --without-imagemagick --without-xft --without-harfbuzz
--without-freetype --without-libotf
 --without-xwidgets --without-xpm --without-jpeg --without-gif
--without-png --without-webp
 --without-rsvg --without-cairo --without-x
--enable-checking=yes,glyphs 'CFLAGS=-g3 -O0''

Configured features:
GMP GNUTLS LCMS2 LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER SECCOMP SOUND SQLITE3
THREADS XIM ZLIB

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

Major mode: Org

Minor modes in effect:
  xterm-mouse-mode: t
  erc-track-mode: t
  erc-services-mode: t
  erc-ring-mode: t
  erc-netsplit-mode: t
  erc-menu-mode: t
  erc-match-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-readonly-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  erc-networks-mode: t
  savehist-mode: t
  recentf-mode: t
  hexl-follow-ascii: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  async-bytecomp-package-mode: t
  global-git-commit-mode: t
  jdecomp-mode: t
  projectile-mode: t
  global-semantic-decoration-mode: t
  global-semanticdb-minor-mode: t
  global-semantic-show-unmatched-syntax-mode: -1
  semantic-mode: t
  rcirc-track-minor-mode: t
  jabber-activity-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  unpackaged/org-export-html-with-useful-ids-mode: t
  org-superstar-mode: t
  minibuffer-depth-indicate-mode: t
  global-so-long-mode: t
  display-time-mode: t
  global-hl-line-mode: t
  xclip-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/w/helm/helm-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-files
/w/helm/helm-comint hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-comint
/w/helm/helm-elisp-package hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-elisp-package
/w/helm/helm-external hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-external
/w/helm/helm-easymenu hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-easymenu
/w/helm/helm-font hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-font
/w/helm/helm-imenu hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-imenu
/w/helm/helm-x-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-x-files
/w/helm/helm-regexp hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-regexp
/w/helm/helm-net hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-net
/w/helm/helm-ring hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-ring
/w/helm/helm-find hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-find
/w/helm/helm-misc hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-misc
/w/helm/helm-occur hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-occur
/w/helm/helm-sys hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-sys
/w/helm/helm-types hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-types
/w/helm/helm-elisp hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-elisp
/w/helm/helm-adaptive hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-adaptive
/w/helm/helm-shell hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-shell
/w/helm/helm-id-utils hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-id-utils
/w/helm/helm-bookmark hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-bookmark
/w/helm/helm-mode hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-mode
/w/helm/helm-eshell hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-eshell
/w/helm/helm-dabbrev hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-dabbrev
/w/helm/helm-grep hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-grep
/w/helm/helm-color hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-color
/w/helm/helm-help hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-help
/w/helm/helm-buffers hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-buffers
/w/helm/helm-locate hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-locate
/w/helm/helm-tags hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-tags
/w/helm/helm-autoloads hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-autoloads
/w/helm/helm-info hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-info
/w/helm/helm-semantic hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-semantic
/w/helm/helm-config hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-config
/w/helm/helm-command hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-command
/w/helm/helm-utils hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-utils
/w/helm/helm-eval hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-eval
/w/helm/helm-for-files hides
/home/dc/.emacs.d/elpa/helm-20191101.641/helm-for-files
/w/helm/helm-man hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-man
/w/helm/helm-multi-match hides
/home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-multi-match
/w/helm/helm-lib hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-lib
/w/helm/helm-source hides
/home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-source
/w/helm/helm hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm
/home/dc/.emacs.d/elpa/transient-20220717.1713/transient hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/transient
/w/org-mode/lisp/org-fold-core hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-fold-core
/w/org-mode/lisp/ob-haskell hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-haskell
/w/org-mode/lisp/org-plot hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-plot
/w/org-mode/lisp/ox-icalendar hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-icalendar
/w/org-mode/lisp/org-footnote hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-footnote
/w/org-mode/lisp/org-archive hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-archive
/w/org-mode/lisp/ob-exp hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-exp
/w/org-mode/lisp/ob-octave hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-octave
/w/org-mode/lisp/oc-natbib hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-natbib
/w/org-mode/lisp/org-num hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-num
/w/org-mode/lisp/ob-processing hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-processing
/w/org-mode/lisp/org-mouse hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-mouse
/w/org-mode/lisp/ob-core hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-core
/w/org-mode/lisp/ob-awk hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-awk
/w/org-mode/lisp/org-table hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-table
/w/org-mode/lisp/org-lint hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-lint
/w/org-mode/lisp/oc-basic hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-basic
/w/org-mode/lisp/ob-scheme hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-scheme
/w/org-mode/lisp/ox-latex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-latex
/w/org-mode/lisp/org-loaddefs hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-loaddefs
/w/org-mode/lisp/ob-table hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-table
/w/org-mode/lisp/ob-shell hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-shell
/w/org-mode/lisp/org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org
/w/org-mode/lisp/ol-man hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-man
/w/org-mode/lisp/ol-rmail hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-rmail
/w/org-mode/lisp/ox-man hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-man
/w/org-mode/lisp/org-cycle hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-cycle
/w/org-mode/lisp/org-datetree hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-datetree
/w/org-mode/lisp/ol-mhe hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-mhe
/w/org-mode/lisp/ob-css hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-css
/w/org-mode/lisp/org-fold hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-fold
/w/org-mode/lisp/ob-lilypond hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lilypond
/w/org-mode/lisp/ob-comint hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-comint
/w/org-mode/lisp/ob-plantuml hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-plantuml
/w/org-mode/lisp/ol-bbdb hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-bbdb
/w/org-mode/lisp/ox-ascii hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-ascii
/w/org-mode/lisp/ob-python hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-python
/w/org-mode/lisp/ob-ref hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ref
/w/org-mode/lisp/ob-js hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-js
/w/org-mode/lisp/ox-md hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-md
/w/org-mode/lisp/oc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc
/w/org-mode/lisp/org-keys hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-keys
/w/org-mode/lisp/org-feed hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-feed
/w/org-mode/lisp/org-capture hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-capture
/w/org-mode/lisp/org-ctags hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-ctags
/w/org-mode/lisp/ob-lob hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lob
/w/org-mode/lisp/ob-forth hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-forth
/w/org-mode/lisp/ob-clojure hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-clojure
/w/org-mode/lisp/ob-sass hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sass
/w/org-mode/lisp/ol-eshell hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-eshell
/w/org-mode/lisp/org-timer hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-timer
/w/org-mode/lisp/ob-R hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-R
/w/org-mode/lisp/org-src hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-src
/w/org-mode/lisp/ox-koma-letter hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-koma-letter
/w/org-mode/lisp/ob-tangle hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-tangle
/w/org-mode/lisp/ob-matlab hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-matlab
/w/org-mode/lisp/org-macro hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-macro
/w/org-mode/lisp/ob-makefile hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-makefile
/w/org-mode/lisp/ox-texinfo hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-texinfo
/w/org-mode/lisp/ob-org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-org
/w/org-mode/lisp/ol-docview hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-docview
/w/org-mode/lisp/org-list hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-list
/w/org-mode/lisp/ob-eval hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-eval
/w/org-mode/lisp/org-element hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-element
/w/org-mode/lisp/ob hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob
/w/org-mode/lisp/ob-sqlite hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sqlite
/w/org-mode/lisp/org-clock hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-clock
/w/org-mode/lisp/org-compat hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-compat
/w/org-mode/lisp/org-mobile hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-mobile
/w/org-mode/lisp/ol hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol
/w/org-mode/lisp/ob-groovy hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-groovy
/w/org-mode/lisp/org-goto hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-goto
/w/org-mode/lisp/ob-emacs-lisp hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-emacs-lisp
/w/org-mode/lisp/ol-eww hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-eww
/w/org-mode/lisp/org-tempo hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-tempo
/w/org-mode/lisp/oc-csl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-csl
/w/org-mode/lisp/ob-ruby hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ruby
/w/org-mode/lisp/org-crypt hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-crypt
/w/org-mode/lisp/ol-irc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-irc
/w/org-mode/lisp/org-faces hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-faces
/w/org-mode/lisp/ob-latex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-latex
/w/org-mode/lisp/org-colview hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-colview
/w/org-mode/lisp/ol-bibtex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-bibtex
/w/org-mode/lisp/ob-lua hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lua
/w/org-mode/lisp/org-protocol hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-protocol
/w/org-mode/lisp/org-attach-git hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-attach-git
/w/org-mode/lisp/ob-screen hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-screen
/w/org-mode/lisp/org-agenda hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-agenda
/w/org-mode/lisp/org-persist hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-persist
/w/org-mode/lisp/ob-sql hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sql
/w/org-mode/lisp/ob-gnuplot hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-gnuplot
/w/org-mode/lisp/ob-sed hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sed
/w/org-mode/lisp/ol-gnus hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-gnus
/w/org-mode/lisp/org-inlinetask hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-inlinetask
/w/org-mode/lisp/ox-html hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-html
/w/org-mode/lisp/oc-biblatex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-biblatex
/w/org-mode/lisp/org-pcomplete hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-pcomplete
/w/org-mode/lisp/ob-perl hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-perl
/w/org-mode/lisp/org-version hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-version
/w/org-mode/lisp/org-indent hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-indent
/w/org-mode/lisp/org-refile hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-refile
/w/org-mode/lisp/ob-julia hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-julia
/w/org-mode/lisp/ol-info hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-info
/w/org-mode/lisp/ol-doi hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-doi
/w/org-mode/lisp/org-habit hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-habit
/w/org-mode/lisp/org-entities hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-entities
/w/org-mode/lisp/ox-publish hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-publish
/w/org-mode/lisp/org-duration hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-duration
/w/org-mode/lisp/ob-ditaa hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ditaa
/w/org-mode/lisp/ob-dot hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-dot
/w/org-mode/lisp/ob-C hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-C
/w/org-mode/lisp/ox-org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-org
/w/org-mode/lisp/ox-beamer hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-beamer
/w/org-mode/lisp/ob-fortran hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-fortran
/w/org-mode/lisp/ob-maxima hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-maxima
/w/org-mode/lisp/ob-eshell hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-eshell
/w/org-mode/lisp/ol-w3m hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-w3m
/w/org-mode/lisp/org-id hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-id
/w/org-mode/lisp/ox-odt hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-odt
/w/org-mode/lisp/ob-java hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-java
/w/org-mode/lisp/ob-calc hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-calc
/w/org-mode/lisp/org-attach hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-attach
/w/org-mode/lisp/ob-ocaml hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ocaml
/w/org-mode/lisp/oc-bibtex hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-bibtex
/w/org-mode/lisp/ox hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox
/w/org-mode/lisp/ob-lisp hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lisp
/w/org-mode/lisp/org-macs hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-macs
/w/flim/sasl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/net/sasl
/home/dc/.emacs.d/elpa/hierarchy-20190425.842/hierarchy hides
/opt/dc/emacs/share/emacs/30.0.50/lisp/emacs-lisp/hierarchy

Features:
(shadow elmo-multi modb-standard elmo-maildir emacsbug helm-dabbrev
perl-mode semantic/tag-file
semantic/bovine/c semantic/decorate/include hideif
semantic/bovine/c-by semantic/lex-spp
semantic/bovine/gcc semantic/bovine semantic/analyze/refs eglot
external-completion jsonrpc flymake
solar cal-dst holidays holiday-loaddefs org-duration cal-iso
face-remap vc vc-hg ffap oc-basic
ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus
nnselect ol-docview ol-bibtex
bibtex ol-bbdb ol-w3m ol-doi org-link-doi zone zone-select vc-mtn
semantic/db-file data-debug
cedet-files semantic/texi semantic/db-find semantic/db-ref etags
fileloop xref bug-reference texinfo
texinfo-loaddefs helm-git-grep dired-aux loadhist cl-print shortdoc
mule-util help-fns radix-tree
use-package-core cus-start tabify misearch multi-isearch vc-git
vc-dispatcher winner tramp-archive
tramp-gvfs xterm-keybinder xt-mouse term/rxvt term/xterm xterm
hideshow ox-texinfo erc-track
erc-services erc-ring erc-netsplit erc-menu erc-match erc-goodies
erc-pcomplete erc-button erc-fill
erc-stamp erc-join erc erc-backend erc-networks erc-common erc-compat
erc-loaddefs quail rot13
git-link nukneval bustrofedon dired-filetype-face dired-tar gnus-dired
dired-x mime-w3m w3m-lnum w3m
doc-view w3m-hist bookmark-w3m w3m-ems w3m-favicon w3m-image w3m-fb
tab-line w3m-proc w3m-util
savehist tramp-cache time-stamp tramp-sh recentf tree-widget em-term
term ehelp esh-ext esh-proc
esh-opt esh-io esh-arg esh-module esh-groups esh-util jka-compr
binview calc calc-loaddefs calc-macs
hexl taskjuggler-mode skeleton generic generic-x boxquote rect
rainbow-delimiters rainbow-mode fc
flashcard-sm5 flashcard keywiz gamegrid tt-mode helm-mode helm-misc
helm-for-files helm-bookmark
helm-adaptive magit-bookmark bookmark fringe helm-external helm-sys
helm-net helm-man helm-color
helm-elisp helm-files image-dired image-dired-tags
image-dired-external image-dired-util image-mode
exif tramp trampver tramp-integration files-x tramp-message
tramp-compat tramp-loaddefs helm-buffers
helm-occur helm-tags helm-locate helm-grep helm-regexp helm-info
helm-utils helm-types helm-eval
edebug helm-help helm helm-global-bindings helm-easymenu helm-core
async-bytecomp helm-source
helm-multi-match helm-lib async helm-config helm-autoloads diary-lib
diary-loaddefs 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 which-func imenu magit-diff
smerge-mode diff diff-mode track-changes
git-commit log-edit pcvs-util add-log magit-core magit-autorevert
autorevert filenotify magit-margin
magit-transient magit-process with-editor server magit-mode transient
edmacro kmacro magit-git
magit-base magit-section dash chuck-mode jdecomp arc-mode archive-mode
cus-edit cus-load projectile
lisp-mnt ibuf-ext semantic/dep srecode/mode semantic/senator
semantic/wisent semantic/wisent/wisent
srecode/insert srecode/filters srecode/args ede/speedbar ede/files ede
ede/detect ede/base ede/auto
ede/source eieio-speedbar speedbar dframe eieio-custom srecode/find
srecode/map srecode/ctxt
srecode/compile srecode/dictionary srecode/fields srecode/table
semantic/decorate/mode
semantic/decorate pulse srecode semantic/db-mode semantic/idle
semantic/analyze semantic/sort
semantic/scope semantic/analyze/fcn semantic/db eieio-base
semantic/format ezimage semantic/tag-ls
semantic/find semantic/ctxt semantic/util-modes semantic/util semantic
semantic/tag semantic/lex
semantic/fw mode-local cedet rcirc offlineimap sasl-xoauth2 oauth2
url-http url-auth url-gw nsm
plstore crm wl-template wl-fldmgr wl-score wl-demo wl-thread wl-action
wl wl-draft wl-folder
elmo-nntp elmo-net elmo-cache elmo-map elmo-dop ps-print
ps-print-loaddefs lpr elmo-filter
wl-summary wl-refile wl-message wl-mime mime-play filename mime-edit
mime-setup mail-mime-setup
semi-setup smtp wl-e21 wl-highlight invisible inv-23 elmo-mime
mmelmo-buffer mmelmo-imap mmimap
mmbuffer mime-view mime-conf calist semi-def wl-address pldap wl-util
wl-vars wl-version
modb-generic elmo-flag elmo-localdir elmo elmo-signal elmo-msgdb modb
modb-entity elmo-date
eword-encode mime-parse mime mmgeneric elmo-util eword-decode mel
mime-def alist pces pces-e20
pces-20 mcs-e20 mcs-20 mcharset timezone elmo-vars path-util
elmo-version luna std11 pccl pccl-20
ccl broken static apel-ver product jabber jabber-truncate jabber-time
jabber-autoaway
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar jabber-activity
jabber-watch jabber-modeline jabber-ahc-presence jabber-ahc
jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp jabber-browse jabber-search
jabber-register jabber-roster
jabber-presence jabber-muc jabber-bookmarks jabber-private
jabber-muc-nick-coloring jabber-widget
jabber-disco jabber-chat jabber-history jabber-chatbuffer jabber-alert
jabber-iq jabber-core
jabber-console sgml-mode facemenu jabber-keymap jabber-sasl sasl
sasl-anonymous sasl-login
sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls
jabber-xml jabber-menu jabber-util
goto-addr hexrgb markdown-mode color thingatpt yasnippet org-contacts
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 iso8601
gnus-spec gnus-int gnus-range message sendmail yank-media puny dired
dnd dired-loaddefs rfc822 mml
mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader
mail-utils range mm-util
mail-prsvr gnus-util org-crypt ob-sqlite ob-sql ob-shell shell ob-ruby
ob-python python project
compat ob-plantuml ob-perl ob-lilypond ob-js ob-haskell ob-gnuplot
ox-odt rng-loc rng-uri rng-parse
rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok
nxml-util ox-latex
ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox ob-dot
ob-ditaa ob-C cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
ob-R org-capture org-attach
org-protocol iimage org-clock cal-move org-inlinetask org-superstar
org-element org-persist xdg
avl-tree generator org-test ert-x ert pp ewoc debug backtrace org-id
org-refile org-element-ast
inline org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-src sh-script smie treesit
executable ob-comint org-pcomplete pcomplete org-list org-footnote
org-faces org-entities time-date
noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol
org-fold org-fold-core
org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs
org-version org-compat org-macs
format-spec ibuf-macs ibuffer ibuffer-loaddefs mb-depth comp comp-cstr
warnings comp-run comp-common
rx advice mwheel easy-mmode so-long longlines grep compile
text-property-search comint regexp-opt
ansi-osc ansi-color ring revbufs derived disp-table hide-mode-line
time image hl-line color-theme
wid-edit reporter xclip finder-inf elp boxquote-autoloads
calfw-autoloads calfw-gcal-autoloads
calfw-ical-autoloads calfw-org-autoloads csv-mode-autoloads
debbugs-autoloads emacsql-psql-autoloads
emacsql-autoloads emmet-mode-autoloads feature-mode-autoloads
git-link-autoloads gnuplot-autoloads
google-translate-autoloads haskell-mode-autoloads cl-extra help-mode
helm-sql-connect-autoloads
htmlize-autoloads idle-org-agenda-autoloads jabber-autoloads
fsm-autoloads jdecomp-autoloads
jedi-autoloads jedi-core-autoloads jinja2-mode-autoloads
json-reformat-autoloads jsonian-autoloads
magit-autoloads pcase git-commit-autoloads magit-section-autoloads
mingus-autoloads
libmpdee-autoloads mmm-jinja2-autoloads mmm-mode-autoloads
oauth2-autoloads org-superstar-autoloads
persist-autoloads projectile-autoloads python-environment-autoloads
rcirc-color-autoloads
srv-autoloads cl terraform-mode-autoloads tmr-autoloads transient-autoloads
typescript-mode-autoloads vimrc-mode-autoloads vue-html-mode-autoloads
with-editor-autoloads
xclip-autoloads xterm-keybinder-autoloads yasnippet-autoloads
zone-nyan-autoloads info tool-bar
dash-autoloads package browse-url url url-proxy url-privacy url-expand
url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq
eieio eieio-core cl-macs icons 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 tabulated-list replace newcomment
text-mode lisp-mode prog-mode
register page tab-bar menu-bar rfn-eshadow isearch easymenu timer
select 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 inotify lcms2 multi-tty
make-network-process
native-compile emacs)

Memory information:
((conses 16 2587178 277881) (symbols 48 75184 4) (strings 32 356852
19178) (string-bytes 1 14917666)
 (vectors 16 196150) (vector-slots 8 3132209 215133) (floats 8 1636
35165) (intervals 56 51327 3431)
 (buffers 984 212))