Subject: 28.0.50; display-line-numbers-mode / display-line-numbers-width-start incorrect

From: Len Trigg <[email-masked]>
Date: Thu, 29 Apr 2021 14:43:30 +1200

I am using display-line-numbers mode, and would like to avoid it
changing the width assigned to the line numbers as the buffer is
scrolled. I have (setq display-line-numbers-width-start t), which
purports to check in advance how much width is required. It seems
somehow incorrect though. To reproduce:

1 Create a buffer with 90 lines.

2 Ensure the window is approx 40 lines tall, displaying the first 40 lines
of the buffer.

3 Ensure display-line-numbers-width-start is t

4 Turn on display-line-numbers-mode.

5 Scroll down to near the bottom of the buffer. At some point, emacs
  adds an extra character of width to the line numbers, even though no
  line number higher than 90 is ever shown. If emacs needed an extra
  character for whatever reason, surely display-line-numbers-width-start
  should have incorporated that up front (otherwise what's the point)?

In GNU Emacs 28.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.24.20,
cairo version 1.16.0)
 of 2021-04-27 built on noir
Repository revision: 40c71e574ad27deee003a0850a40171750234d59
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12009000
System Description: Ubuntu 20.04.2 LTS

Configured using:
 'configure --prefix=/home/len/.local --with-xwidgets --with-rsvg
 --with-cairo --with-native-compilation'

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

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

Major mode: Text

Minor modes in effect:
  global-company-mode: t
  company-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  recentf-mode: t
  display-line-numbers-mode: t
  global-atomic-chrome-edit-mode: t
  pyvenv-mode: t
  projectile-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  editorconfig-mode: t
  diredfl-global-mode: t
  direnv-mode: t
  shell-dirtrack-mode: t
  backward-forward-mode: t
  override-global-mode: t
  which-key-mode: t
  treemacs-icons-dired-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: deferred
  treemacs-fringe-indicator-mode: t
  all-the-icons-ibuffer-mode: t
  ivy-mode: t
  global-ligature-mode: t
  ligature-mode: t
  diff-hl-margin-local-mode: t
  diff-hl-margin-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  xterm-mouse-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  show-paren-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/len/.emacs.d/straight/build/transient/transient hides
/home/len/.local/share/emacs/28.0.50/lisp/transient
/home/len/.emacs.d/straight/build/org/ob-stan hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-stan
/home/len/.emacs.d/straight/build/org/org-clock hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-clock
/home/len/.emacs.d/straight/build/org/ob-perl hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-perl
/home/len/.emacs.d/straight/build/org/ob-tangle hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-tangle
/home/len/.emacs.d/straight/build/org/ox-org hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-org
/home/len/.emacs.d/straight/build/org/ob-ledger hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-ledger
/home/len/.emacs.d/straight/build/org/ob-makefile hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-makefile
/home/len/.emacs.d/straight/build/org/ob-fortran hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-fortran
/home/len/.emacs.d/straight/build/org/ob-plantuml hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-plantuml
/home/len/.emacs.d/straight/build/org/ox-man hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-man
/home/len/.emacs.d/straight/build/org/ob-eval hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-eval
/home/len/.emacs.d/straight/build/org/org-lint hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-lint
/home/len/.emacs.d/straight/build/org/ox-publish hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-publish
/home/len/.emacs.d/straight/build/org/ox-latex hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-latex
/home/len/.emacs.d/straight/build/org/ob-groovy hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-groovy
/home/len/.emacs.d/straight/build/org/org-habit hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-habit
/home/len/.emacs.d/straight/build/org/ob-eshell hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-eshell
/home/len/.emacs.d/straight/build/org/ob-shell hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-shell
/home/len/.emacs.d/straight/build/org/org-duration hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-duration
/home/len/.emacs.d/straight/build/org/ol-rmail hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-rmail
/home/len/.emacs.d/straight/build/org/org-inlinetask hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-inlinetask
/home/len/.emacs.d/straight/build/org/ol-irc hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-irc
/home/len/.emacs.d/straight/build/org/ob-emacs-lisp hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-emacs-lisp
/home/len/.emacs.d/straight/build/org/ob-mscgen hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-mscgen
/home/len/.emacs.d/straight/build/org/ob-screen hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-screen
/home/len/.emacs.d/straight/build/org/ob-ocaml hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-ocaml
/home/len/.emacs.d/straight/build/org/ob-shen hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-shen
/home/len/.emacs.d/straight/build/org/org-entities hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-entities
/home/len/.emacs.d/straight/build/org/ob-matlab hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-matlab
/home/len/.emacs.d/straight/build/org/ob-gnuplot hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-gnuplot
/home/len/.emacs.d/straight/build/org/ol-bibtex hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-bibtex
/home/len/.emacs.d/straight/build/org/ob-sass hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-sass
/home/len/.emacs.d/straight/build/org/ob-css hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-css
/home/len/.emacs.d/straight/build/org/ob-vala hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-vala
/home/len/.emacs.d/straight/build/org/ob-R hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-R
/home/len/.emacs.d/straight/build/org/org-datetree hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-datetree
/home/len/.emacs.d/straight/build/org/ob-ebnf hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-ebnf
/home/len/.emacs.d/straight/build/org/org-mouse hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-mouse
/home/len/.emacs.d/straight/build/org/ob-sqlite hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-sqlite
/home/len/.emacs.d/straight/build/org/ob-maxima hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-maxima
/home/len/.emacs.d/straight/build/org/ox-beamer hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-beamer
/home/len/.emacs.d/straight/build/org/ol-bbdb hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-bbdb
/home/len/.emacs.d/straight/build/org/ob-C hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-C
/home/len/.emacs.d/straight/build/org/ol-w3m hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-w3m
/home/len/.emacs.d/straight/build/org/ob-ditaa hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-ditaa
/home/len/.emacs.d/straight/build/org/ox-odt hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-odt
/home/len/.emacs.d/straight/build/org/org-archive hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-archive
/home/len/.emacs.d/straight/build/org/ol-mhe hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-mhe
/home/len/.emacs.d/straight/build/org/ob-ref hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-ref
/home/len/.emacs.d/straight/build/org/ob-sql hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-sql
/home/len/.emacs.d/straight/build/org/ob-lua hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-lua
/home/len/.emacs.d/straight/build/org/org-faces hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-faces
/home/len/.emacs.d/straight/build/org/ob-abc hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-abc
/home/len/.emacs.d/straight/build/org/ob-ruby hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-ruby
/home/len/.emacs.d/straight/build/org/org-plot hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-plot
/home/len/.emacs.d/straight/build/org/org-compat hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-compat
/home/len/.emacs.d/straight/build/org/org-src hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-src
/home/len/.emacs.d/straight/build/org/org-macs hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-macs
/home/len/.emacs.d/straight/build/org/ob-dot hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-dot
/home/len/.emacs.d/straight/build/org/org-attach-git hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-attach-git
/home/len/.emacs.d/straight/build/org/org-pcomplete hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-pcomplete
/home/len/.emacs.d/straight/build/org/org-goto hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-goto
/home/len/.emacs.d/straight/build/org/ox-md hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-md
/home/len/.emacs.d/straight/build/org/org-attach hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-attach
/home/len/.emacs.d/straight/build/org/ob-latex hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-latex
/home/len/.emacs.d/straight/build/org/ob-coq hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-coq
/home/len/.emacs.d/straight/build/org/ob-asymptote hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-asymptote
/home/len/.emacs.d/straight/build/org/ob-octave hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-octave
/home/len/.emacs.d/straight/build/org/org-indent hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-indent
/home/len/.emacs.d/straight/build/org/org-version hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-version
/home/len/.emacs.d/straight/build/org/org-table hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-table
/home/len/.emacs.d/straight/build/org/org-timer hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-timer
/home/len/.emacs.d/straight/build/org/ox-ascii hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-ascii
/home/len/.emacs.d/straight/build/org/ob-core hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-core
/home/len/.emacs.d/straight/build/org/org-footnote hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-footnote
/home/len/.emacs.d/straight/build/org/ob-io hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-io
/home/len/.emacs.d/straight/build/org/ob-scheme hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-scheme
/home/len/.emacs.d/straight/build/org/ol hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol
/home/len/.emacs.d/straight/build/org/ox-html hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-html
/home/len/.emacs.d/straight/build/org/org-element hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-element
/home/len/.emacs.d/straight/build/org/ob-haskell hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-haskell
/home/len/.emacs.d/straight/build/org/org-loaddefs hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-loaddefs
/home/len/.emacs.d/straight/build/org/ob-sed hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-sed
/home/len/.emacs.d/straight/build/org/org-capture hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-capture
/home/len/.emacs.d/straight/build/org/ol-eshell hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-eshell
/home/len/.emacs.d/straight/build/org/ol-gnus hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-gnus
/home/len/.emacs.d/straight/build/org/ob-org hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-org
/home/len/.emacs.d/straight/build/org/ob-lilypond hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-lilypond
/home/len/.emacs.d/straight/build/org/org-agenda hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-agenda
/home/len/.emacs.d/straight/build/org/ox-texinfo hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-texinfo
/home/len/.emacs.d/straight/build/org/org-id hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-id
/home/len/.emacs.d/straight/build/org/ob-python hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-python
/home/len/.emacs.d/straight/build/org/ob-java hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-java
/home/len/.emacs.d/straight/build/org/ob-picolisp hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-picolisp
/home/len/.emacs.d/straight/build/org/ol-docview hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-docview
/home/len/.emacs.d/straight/build/org/ol-eww hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-eww
/home/len/.emacs.d/straight/build/org/ox hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox
/home/len/.emacs.d/straight/build/org/org-keys hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-keys
/home/len/.emacs.d/straight/build/org/org-ctags hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-ctags
/home/len/.emacs.d/straight/build/org/org hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org
/home/len/.emacs.d/straight/build/org/org-num hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-num
/home/len/.emacs.d/straight/build/org/ob-awk hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-awk
/home/len/.emacs.d/straight/build/org/org-refile hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-refile
/home/len/.emacs.d/straight/build/org/ob-hledger hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-hledger
/home/len/.emacs.d/straight/build/org/ol-info hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ol-info
/home/len/.emacs.d/straight/build/org/ob-lisp hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-lisp
/home/len/.emacs.d/straight/build/org/org-colview hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-colview
/home/len/.emacs.d/straight/build/org/ob-exp hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-exp
/home/len/.emacs.d/straight/build/org/org-feed hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-feed
/home/len/.emacs.d/straight/build/org/ob-comint hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-comint
/home/len/.emacs.d/straight/build/org/org-tempo hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-tempo
/home/len/.emacs.d/straight/build/org/org-protocol hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-protocol
/home/len/.emacs.d/straight/build/org/org-list hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-list
/home/len/.emacs.d/straight/build/org/org-crypt hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-crypt
/home/len/.emacs.d/straight/build/org/ob-forth hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-forth
/home/len/.emacs.d/straight/build/org/ob-js hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-js
/home/len/.emacs.d/straight/build/org/org-mobile hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-mobile
/home/len/.emacs.d/straight/build/org/ob-lob hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-lob
/home/len/.emacs.d/straight/build/org/ob-table hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-table
/home/len/.emacs.d/straight/build/org/ob-processing hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-processing
/home/len/.emacs.d/straight/build/org/ob-J hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-J
/home/len/.emacs.d/straight/build/org/ob-calc hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-calc
/home/len/.emacs.d/straight/build/org/org-install hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-install
/home/len/.emacs.d/straight/build/org/ob hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob
/home/len/.emacs.d/straight/build/org/org-macro hides
/home/len/.local/share/emacs/28.0.50/lisp/org/org-macro
/home/len/.emacs.d/straight/build/org/ob-clojure hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ob-clojure
/home/len/.emacs.d/straight/build/org/ox-icalendar hides
/home/len/.local/share/emacs/28.0.50/lisp/org/ox-icalendar
/home/len/.emacs.d/straight/build/let-alist/let-alist hides
/home/len/.local/share/emacs/28.0.50/lisp/emacs-lisp/let-alist
/home/len/.emacs.d/straight/build/eldoc/eldoc hides
/home/len/.local/share/emacs/28.0.50/lisp/emacs-lisp/eldoc

Features:
(shadow sort mail-extr emacsbug sendmail cl-print help-fns radix-tree
dabbrev lsp-diagnostics company-oddmuse company-keywords company-etags
company-gtags company-dabbrev-code company-dabbrev company-files
company-clang company-capf company-cmake company-semantic
company-template company-yasnippet company-bbdb company lsp-headerline
lsp-icons lsp-modeline lsp-ui lsp-ui-flycheck lsp-ui-doc xwidget
image-mode exif lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util
goto-addr vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
bug-reference mule-util magit-extras treemacs-magit magit-bookmark
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 magit-diff
smerge-mode diff git-commit log-edit message rfc822 mml mml-sec epa
gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
gmm-utils add-log magit-core magit-autorevert magit-margin
magit-transient magit-process with-editor magit-mode magit-git
magit-section magit-utils crm dired-aux view lsp-zig lsp-steep
lsp-svelte lsp-sqls lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-vetur
lsp-html lsp-verilog lsp-vala lsp-terraform lsp-tex lsp-sorbet
lsp-solargraph lsp-rust lsp-rf lsp-r lsp-purescript lsp-pwsh lsp-php
lsp-perl lsp-ocaml lsp-nix lsp-nim lsp-markdown lsp-lua lsp-kotlin
lsp-json lsp-javascript lsp-haxe lsp-groovy lsp-hack lsp-go
lsp-completion lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang
lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp
gnutls lsp-crystal lsp-cmake lsp-clojure lsp-clangd dom lsp-bash
lsp-angular lsp-ada lsp-actionscript ccls ccls-member-hierarchy
ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens
ccls-semantic-highlight ccls-common recentf treemacs-bookmarks bookmark
scad-dbus dbus xml scad-mode symbol-overlay ws-butler
display-fill-column-indicator display-line-numbers editorconfig-core
editorconfig-core-handle editorconfig-fnmatch ffap counsel xdg
disp-table server diary-lib diary-loaddefs cal-menu calendar
cal-loaddefs generic hydra python-pytest python-pytest-autoloads
importmagic epc ctable concurrent deferred cl importmagic-autoloads
epc-autoloads ctable-autoloads concurrent-autoloads deferred-autoloads
auto-remove auto-remove-autoloads py-isort py-isort-autoloads
python-black reformatter python-black-autoloads reformatter-autoloads
blacken blacken-autoloads flycheck-mypy flycheck-mypy-autoloads elpy
elpy-rpc elpy-shell elpy-profile elpy-django elpy-refactor python
tramp-sh tramp tramp-loaddefs trampver tramp-integration tramp-compat
parse-time iso8601 time-date ls-lisp ido files-x cus-edit pp
elpy-autoloads highlight-indentation-autoloads groovy-mode
groovy-mode-autoloads shell-extras eradio-autoloads atomic-chrome
websocket bindat atomic-chrome-autoloads websocket-autoloads
counsel-keepassxc-autoloads pyvenv eshell esh-cmd esh-ext esh-opt
esh-proc esh-io esh-arg esh-module esh-groups esh-util pyvenv-autoloads
ccls-autoloads lsp-pyls lsp-ivy lsp-mode tree-widget wid-edit spinner
network-stream puny nsm rmc markdown-mode noutline outline lv f epg
epg-config lsp-protocol lsp-ivy-autoloads lsp-ui-autoloads
lsp-mode-autoloads spinner-autoloads f-autoloads eldoc-autoloads
js2-mode etags fileloop generator js cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs js2-mode-autoloads
ess ess-utils ess-custom ess-autoloads dts-mode dts-mode-autoloads
gnuplot info-look gnuplot-autoloads scad-dbus-autoloads
scad-mode-autoloads projectile ibuf-ext projectile-autoloads grip-mode
grip-mode-autoloads markdown-mode-autoloads org-bullets-autoloads
multi-web-mode multi-web-mode-autoloads yaml-mode yaml-mode-autoloads
csv-mode-autoloads ediff ediff-merg ediff-mult ediff-wind ediff-diff
ediff-help ediff-init ediff-util git-timemachine transient format-spec
vc-git git-timemachine-autoloads git-messenger-autoloads flycheck-aspell
ispell flycheck-aspell-autoloads flycheck derived find-func jka-compr
let-alist flycheck-autoloads let-alist-autoloads pkg-info-autoloads
epl-autoloads company-autoloads yasnippet-snippets-autoloads
yasnippet-snippets ivy-yasnippet yasnippet multiple-cursors
mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines
mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core multiple-cursors-autoloads iedit-autoloads
visual-regexp-autoloads wgrep-ag wgrep-ag-autoloads wgrep
wgrep-autoloads evil-numbers-autoloads rectangle-utils rect
rectangle-utils-autoloads smartparens thingatpt smartparens-autoloads
ws-butler-autoloads dtrt-indent dtrt-indent-autoloads editorconfig
editorconfig-autoloads expand-region-autoloads diredfl diredfl-autoloads
dired-du-autoloads dired-single dired-single-autoloads
dired-hide-dotfiles dired-hide-dotfiles-autoloads direnv
direnv-autoloads shell pcomplete midnight dumb-jump popup
dumb-jump-autoloads popup-autoloads ivy-yasnippet-autoloads
yasnippet-autoloads counsel-autoloads request mailheader autorevert
mail-utils request-autoloads swiper swiper-autoloads posframe
backward-forward backward-forward-autoloads crux-autoloads edmacro
kmacro move-text move-text-autoloads use-package-bind-key bind-key
which-key which-key-autoloads minimap minimap-autoloads
treemacs-magit-autoloads magit-autoloads git-commit-autoloads
with-editor-autoloads transient-autoloads treemacs-icons-dired
treemacs-icons-dired-autoloads treemacs treemacs-header-line
treemacs-compatibility treemacs-mode treemacs-interface
treemacs-extensions treemacs-mouse-interface treemacs-tags imenu xref
project treemacs-persistence treemacs-filewatch-mode filenotify
treemacs-follow-mode treemacs-rendering treemacs-async
treemacs-workspaces treemacs-dom treemacs-visuals
treemacs-fringe-indicator treemacs-scope treemacs-faces treemacs-icons
treemacs-themes treemacs-core-utils pfuture inline ht treemacs-logging
treemacs-customization treemacs-macros treemacs-autoloads cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads
all-the-icons-ibuffer ibuffer ibuffer-loaddefs
all-the-icons-ibuffer-autoloads all-the-icons-ivy ivy ivy-faces
ivy-overlay colir all-the-icons-ivy-autoloads ivy-autoloads
all-the-icons all-the-icons-faces data-material data-weathericons
data-octicons data-fileicons data-faicons data-alltheicons
all-the-icons-autoloads ligature ligature-autoloads
symbol-overlay-autoloads highlight-indent-guides
highlight-indent-guides-autoloads diff-hl-margin diff-hl-dired dired
dired-loaddefs diff-hl log-view pcvs-util vc-dir ewoc vc vc-dispatcher
diff-mode easy-mmode diff-hl-autoloads hl-line whitespace xterm-color
xterm-color-autoloads rainbow-mode rainbow-mode-autoloads pcase
spaceline-config spaceline-segments s spaceline powerline comp comp-cstr
warnings rx powerline-separators powerline-themes dash
spaceline-autoloads s-autoloads dash-autoloads powerline-autoloads
finder-inf jetbrains-darcula-theme-autoloads modus-vivendi-theme
modus-themes modus-vivendi-theme-autoloads use-package-diminish
auto-minor-mode auto-minor-mode-autoloads diminish diminish-autoloads
try package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap url-handlers
url-parse auth-source eieio eieio-core eieio-loaddefs password-cache
json map url-vars try-autoloads olivetti olivetti-autoloads mixed-pitch
face-remap mixed-pitch-autoloads pulse color advice use-package-ensure
xt-mouse use-package-core use-package-autoloads bind-key-autoloads
straight-autoloads info cl-seq cl-extra help-mode seq byte-opt straight
subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv
lazy-lock paren avoid grep compile text-property-search comint
ansi-color ring delsel cus-load iso-transl tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type 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 elisp-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 charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads xwidget-internal dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo move-toolbar gtk x-toolkit x multi-tty make-network-process
nativecomp emacs)

Memory information:
((conses 16 1428188 1245272)
 (symbols 48 61064 3)
 (strings 32 220570 170030)
 (string-bytes 1 8148602)
 (vectors 16 115384)
 (vector-slots 8 2862776 1062890)
 (floats 8 1201 2813)
 (intervals 56 29889 20776)
 (buffers 992 62))