Subject: bug#56525: 28.1.90; csv mode: csv-header-line+csv-align-mode incompatible with narrowing

From: Len Trigg <[email-masked]>
Date: Wed, 13 Jul 2022 11:03:29 +1200

When you enable csv-header-line the result is that the first line of the
csv is effectively shown twice, once as the header line (which is
persistent as you scroll through the buffer), and one that is shown only
when the first line of the buffer is visible. I would like to hide this
second version, so that only the persistent header line is visible. I
thought that it should be possible to narrow the buffer to exclude the
first line of the buffer. However, when csv-align-mode is also enabled,
unexpected results ensue. The persistent header gets lost when you
move around -- at some point it gets updated based on the narrowed buffer
contents. (Note that in practical use csv-header-line only makes sense
when csv-align-mode is also enabled, as that is what ensures the visual
alignment between the header and content).

In GNU Emacs 28.1.90 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20,
cairo version 1.16.0)
 of 2022-07-12 built on tron
Repository revision: 9183d1672c65da62e482c55d93b97cd15e4d0ef0
Repository branch: emacs-28
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: Ubuntu 20.04.4 LTS

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

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

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

Major mode: Lua

Minor modes in effect:
  dap-tooltip-mode: t
  dap-ui-controls-mode: t
  dap-ui-mode: t
  dap-mode: t
  global-company-mode: t
  company-mode: t
  recentf-mode: t
  symbol-overlay-mode: t
  ws-butler-mode: t
  display-fill-column-indicator-mode: t
  display-line-numbers-mode: t
  global-clipetty-mode: t
  clipetty-mode: t
  global-atomic-chrome-edit-mode: t
  pyvenv-mode: t
  projectile-mode: t
  shell-dirtrack-mode: t
  flycheck-mode: t
  yas-minor-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  editorconfig-mode: t
  diredfl-global-mode: t
  direnv-mode: t
  all-the-icons-ivy-rich-mode: t
  ivy-rich-mode: t
  ivy-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: t
  treemacs-fringe-indicator-mode: t
  global-ligature-mode: t
  ligature-mode: t
  highlight-indent-guides-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
  delete-selection-mode: t
  tooltip-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
  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:
/home2/len/.emacs.d/straight/build/transient/transient hides
/home2/len/.local/share/emacs/28.1.90/lisp/transient
/home2/len/.emacs.d/straight/build/org/ol-man hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-man
/home2/len/.emacs.d/straight/build/org/ob-calc hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-calc
/home2/len/.emacs.d/straight/build/org/ob-scheme hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-scheme
/home2/len/.emacs.d/straight/build/org/org-num hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-num
/home2/len/.emacs.d/straight/build/org/ob-eshell hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-eshell
/home2/len/.emacs.d/straight/build/org/ol-bibtex hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-bibtex
/home2/len/.emacs.d/straight/build/org/org-mobile hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-mobile
/home2/len/.emacs.d/straight/build/org/ob-makefile hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-makefile
/home2/len/.emacs.d/straight/build/org/ox-ascii hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-ascii
/home2/len/.emacs.d/straight/build/org/org-keys hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-keys
/home2/len/.emacs.d/straight/build/org/org-inlinetask hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-inlinetask
/home2/len/.emacs.d/straight/build/org/ol-bbdb hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-bbdb
/home2/len/.emacs.d/straight/build/org/org-lint hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-lint
/home2/len/.emacs.d/straight/build/org/ob-lua hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-lua
/home2/len/.emacs.d/straight/build/org/ob-sass hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-sass
/home2/len/.emacs.d/straight/build/org/ol hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol
/home2/len/.emacs.d/straight/build/org/ol-rmail hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-rmail
/home2/len/.emacs.d/straight/build/org/ox-html hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-html
/home2/len/.emacs.d/straight/build/org/ox-texinfo hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-texinfo
/home2/len/.emacs.d/straight/build/org/ox-beamer hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-beamer
/home2/len/.emacs.d/straight/build/org/org-protocol hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-protocol
/home2/len/.emacs.d/straight/build/org/org-faces hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-faces
/home2/len/.emacs.d/straight/build/org/org-list hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-list
/home2/len/.emacs.d/straight/build/org/ob-sed hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-sed
/home2/len/.emacs.d/straight/build/org/ob hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob
/home2/len/.emacs.d/straight/build/org/org-indent hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-indent
/home2/len/.emacs.d/straight/build/org/ob-emacs-lisp hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-emacs-lisp
/home2/len/.emacs.d/straight/build/org/org-version hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-version
/home2/len/.emacs.d/straight/build/org/org-goto hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-goto
/home2/len/.emacs.d/straight/build/org/oc-basic hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/oc-basic
/home2/len/.emacs.d/straight/build/org/org-refile hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-refile
/home2/len/.emacs.d/straight/build/org/ol-eww hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-eww
/home2/len/.emacs.d/straight/build/org/ob-matlab hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-matlab
/home2/len/.emacs.d/straight/build/org/ox-publish hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-publish
/home2/len/.emacs.d/straight/build/org/ob-sqlite hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-sqlite
/home2/len/.emacs.d/straight/build/org/org-clock hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-clock
/home2/len/.emacs.d/straight/build/org/org hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org
/home2/len/.emacs.d/straight/build/org/org-id hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-id
/home2/len/.emacs.d/straight/build/org/ox-koma-letter hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-koma-letter
/home2/len/.emacs.d/straight/build/org/ob-sql hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-sql
/home2/len/.emacs.d/straight/build/org/ol-mhe hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-mhe
/home2/len/.emacs.d/straight/build/org/ob-plantuml hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-plantuml
/home2/len/.emacs.d/straight/build/org/org-duration hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-duration
/home2/len/.emacs.d/straight/build/org/ob-ditaa hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-ditaa
/home2/len/.emacs.d/straight/build/org/org-attach hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-attach
/home2/len/.emacs.d/straight/build/org/ox-odt hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-odt
/home2/len/.emacs.d/straight/build/org/ob-julia hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-julia
/home2/len/.emacs.d/straight/build/org/org-crypt hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-crypt
/home2/len/.emacs.d/straight/build/org/ob-python hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-python
/home2/len/.emacs.d/straight/build/org/ob-forth hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-forth
/home2/len/.emacs.d/straight/build/org/ob-js hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-js
/home2/len/.emacs.d/straight/build/org/org-macro hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-macro
/home2/len/.emacs.d/straight/build/org/ob-gnuplot hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-gnuplot
/home2/len/.emacs.d/straight/build/org/org-table hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-table
/home2/len/.emacs.d/straight/build/org/ox-icalendar hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-icalendar
/home2/len/.emacs.d/straight/build/org/oc hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/oc
/home2/len/.emacs.d/straight/build/org/ob-groovy hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-groovy
/home2/len/.emacs.d/straight/build/org/ox-md hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-md
/home2/len/.emacs.d/straight/build/org/ob-shell hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-shell
/home2/len/.emacs.d/straight/build/org/org-footnote hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-footnote
/home2/len/.emacs.d/straight/build/org/ob-lisp hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-lisp
/home2/len/.emacs.d/straight/build/org/org-tempo hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-tempo
/home2/len/.emacs.d/straight/build/org/ox-org hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-org
/home2/len/.emacs.d/straight/build/org/org-element hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-element
/home2/len/.emacs.d/straight/build/org/org-compat hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-compat
/home2/len/.emacs.d/straight/build/org/ob-css hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-css
/home2/len/.emacs.d/straight/build/org/ob-maxima hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-maxima
/home2/len/.emacs.d/straight/build/org/ob-ruby hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-ruby
/home2/len/.emacs.d/straight/build/org/org-src hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-src
/home2/len/.emacs.d/straight/build/org/org-ctags hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-ctags
/home2/len/.emacs.d/straight/build/org/ox-latex hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-latex
/home2/len/.emacs.d/straight/build/org/ob-ocaml hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-ocaml
/home2/len/.emacs.d/straight/build/org/ob-lilypond hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-lilypond
/home2/len/.emacs.d/straight/build/org/ob-table hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-table
/home2/len/.emacs.d/straight/build/org/ob-latex hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-latex
/home2/len/.emacs.d/straight/build/org/ob-C hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-C
/home2/len/.emacs.d/straight/build/org/ol-doi hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-doi
/home2/len/.emacs.d/straight/build/org/org-macs hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-macs
/home2/len/.emacs.d/straight/build/org/ol-w3m hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-w3m
/home2/len/.emacs.d/straight/build/org/ob-haskell hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-haskell
/home2/len/.emacs.d/straight/build/org/ol-eshell hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-eshell
/home2/len/.emacs.d/straight/build/org/org-capture hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-capture
/home2/len/.emacs.d/straight/build/org/ob-perl hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-perl
/home2/len/.emacs.d/straight/build/org/oc-csl hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/oc-csl
/home2/len/.emacs.d/straight/build/org/ob-comint hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-comint
/home2/len/.emacs.d/straight/build/org/ob-tangle hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-tangle
/home2/len/.emacs.d/straight/build/org/org-entities hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-entities
/home2/len/.emacs.d/straight/build/org/org-colview hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-colview
/home2/len/.emacs.d/straight/build/org/ob-screen hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-screen
/home2/len/.emacs.d/straight/build/org/org-pcomplete hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-pcomplete
/home2/len/.emacs.d/straight/build/org/oc-biblatex hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/oc-biblatex
/home2/len/.emacs.d/straight/build/org/ob-ref hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-ref
/home2/len/.emacs.d/straight/build/org/ol-docview hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-docview
/home2/len/.emacs.d/straight/build/org/ob-core hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-core
/home2/len/.emacs.d/straight/build/org/org-feed hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-feed
/home2/len/.emacs.d/straight/build/org/ol-gnus hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-gnus
/home2/len/.emacs.d/straight/build/org/ox-man hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox-man
/home2/len/.emacs.d/straight/build/org/ob-lob hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-lob
/home2/len/.emacs.d/straight/build/org/ob-R hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-R
/home2/len/.emacs.d/straight/build/org/ox hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ox
/home2/len/.emacs.d/straight/build/org/ol-irc hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-irc
/home2/len/.emacs.d/straight/build/org/ob-java hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-java
/home2/len/.emacs.d/straight/build/org/ob-org hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-org
/home2/len/.emacs.d/straight/build/org/ob-awk hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-awk
/home2/len/.emacs.d/straight/build/org/ob-processing hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-processing
/home2/len/.emacs.d/straight/build/org/ob-eval hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-eval
/home2/len/.emacs.d/straight/build/org/ob-octave hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-octave
/home2/len/.emacs.d/straight/build/org/ob-exp hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-exp
/home2/len/.emacs.d/straight/build/org/org-timer hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-timer
/home2/len/.emacs.d/straight/build/org/org-archive hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-archive
/home2/len/.emacs.d/straight/build/org/org-datetree hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-datetree
/home2/len/.emacs.d/straight/build/org/ob-fortran hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-fortran
/home2/len/.emacs.d/straight/build/org/oc-natbib hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/oc-natbib
/home2/len/.emacs.d/straight/build/org/org-agenda hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-agenda
/home2/len/.emacs.d/straight/build/org/ob-dot hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-dot
/home2/len/.emacs.d/straight/build/org/org-plot hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-plot
/home2/len/.emacs.d/straight/build/org/org-mouse hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-mouse
/home2/len/.emacs.d/straight/build/org/ol-info hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ol-info
/home2/len/.emacs.d/straight/build/org/org-habit hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-habit
/home2/len/.emacs.d/straight/build/org/org-attach-git hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-attach-git
/home2/len/.emacs.d/straight/build/org/ob-clojure hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/ob-clojure
/home2/len/.emacs.d/straight/build/org/org-loaddefs hides
/home2/len/.local/share/emacs/28.1.90/lisp/org/org-loaddefs
/home2/len/.emacs.d/straight/build/eldoc/eldoc hides
/home2/len/.local/share/emacs/28.1.90/lisp/emacs-lisp/eldoc
/home2/len/.emacs.d/straight/build/let-alist/let-alist hides
/home2/len/.local/share/emacs/28.1.90/lisp/emacs-lisp/let-alist

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec epa gnus-util
rmail rmail-loaddefs mm-decode mm-bodies mm-encode mailabbrev gmm-utils
sendmail lsp-diagnostics lsp-headerline lsp-icons lsp-modeline lsp-ui
lsp-ui-flycheck lsp-ui-doc xwidget goto-addr lsp-ui-imenu lsp-ui-peek
lsp-ui-sideline lsp-ui-util face-remap lsp-zig lsp-steep lsp-svelte sql
view lsp-sqls lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-volar
lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typeprof lsp-ttcn3
lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf
lsp-remark lsp-r lsp-purescript dap-mouse dap-ui gdb-mi gud bui bui-list
bui-info bui-entry bui-core bui-history bui-button bui-utils cus-edit
cus-start lsp-lens dap-python lsp-pyls lsp-pwsh lsp-php
lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-magik lsp-nix
lsp-nim lsp-nginx lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-idris
lsp-haxe lsp-groovy lsp-hack lsp-graphql lsp-go lsp-completion
lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet
lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp
gnutls lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd
dom lsp-beancount lsp-bash lsp-ansible 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 lsp-pylsp lsp-javascript dap-java dap-mode dap-launch
lsp-docker yaml dap-overlays lsp-java lsp-treemacs lsp-treemacs-themes
lsp-mode lsp-protocol spinner network-stream puny nsm rmc epg rfc6068
epg-config company-box company-box-doc frame-local company-box-icons
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 recentf tree-widget
treemacs-bookmarks bookmark pp symbol-overlay ws-butler
display-fill-column-indicator display-line-numbers editorconfig-core
editorconfig-core-handle editorconfig-fnmatch mule-util cursor-sensor
counsel xdg disp-table term/xterm xterm clipetty server diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs generic python-pytest
python-pytest-autoloads python-x folding-isearch folding
python-x-autoloads folding-autoloads importmagic f f-shortdoc shortdoc
epc ctable concurrent deferred importmagic-autoloads epc-autoloads
ctable-autoloads concurrent-autoloads deferred-autoloads py-isort
py-isort-autoloads python-black reformatter python-black-autoloads
reformatter-autoloads blacken blacken-autoloads groovy-mode
groovy-mode-autoloads eradio-autoloads atomic-chrome websocket bindat
let-alist 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 typescript-mode typescript-mode-autoloads
lsp-java-autoloads dap-mode-autoloads lsp-docker-autoloads
lsp-treemacs-autoloads bui-autoloads lsp-ui-autoloads lsp-mode-autoloads
spinner-autoloads f-autoloads eldoc-autoloads dockerfile-mode sh-script
smie executable dockerfile-mode-autoloads go-mode find-file ffap
go-mode-autoloads js2-mode etags fileloop generator js
js2-mode-autoloads poly-R poly-markdown markdown-mode poly-noweb
poly-R-autoloads poly-noweb-autoloads poly-markdown-autoloads polymode
derived poly-lock polymode-base polymode-weave polymode-export
polymode-compat polymode-methods polymode-core polymode-classes
eieio-custom wid-edit eieio-base polymode-autoloads ess-view-data
ess-r-mode ess-r-flymake flymake-proc flymake ess-r-xref ess-trns
ess-r-package ess-r-completion ess-roxy ess-r-syntax ess-rd noutline
outline hideshow ess-s-lang ess-help ess-mode ess-rdired ess-inf
ess-tracebug ess-view-data-autoloads ess ess-utils ess-custom
ess-autoloads rust-utils rust-mode rust-rustfmt rust-playpen
rust-compile rust-cargo rust-mode-autoloads lua-mode lua-mode-autoloads
csharp-mode csharp-compilation cc-langs csharp-mode-autoloads
snakemake-mode python tramp-sh snakemake-mode-autoloads dts-mode
dts-mode-autoloads gnuplot info-look gnuplot-autoloads scad-dbus hydra
lv dbus scad-dbus-autoloads scad-mode cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs scad-mode-autoloads
projectile projectile-autoloads tree-sitter-langs-autoloads tree-sitter
tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get dired-aux
tsc-obsolete tree-sitter-autoloads tsc-autoloads grip-mode
grip-mode-autoloads plantuml-mode xml plantuml-mode-autoloads
graphviz-dot-mode graphviz-dot-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 compat vc-git
git-timemachine-autoloads blamer tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat shell pcomplete parse-time
iso8601 ls-lisp format-spec time-date blamer-autoloads
git-messenger-autoloads forge-autoloads yaml-autoloads
markdown-mode-autoloads ghub-autoloads treepy-autoloads
emacsql-sqlite-autoloads emacsql-autoloads closql-autoloads
flyspell-correct-popup flyspell-correct-popup-autoloads flyspell-correct
flyspell-correct-autoloads flyspell flycheck-aspell
flycheck-aspell-autoloads ispell flycheck find-func flycheck-autoloads
let-alist-autoloads pkg-info-autoloads epl-autoloads
company-box-autoloads frame-local-autoloads company-autoloads
yasnippet-snippets-autoloads yasnippet-snippets yasnippet
yasnippet-autoloads 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 evil-autoloads goto-chg-autoloads
rectangle-utils rect rectangle-utils-autoloads smartparens
smartparens-autoloads ws-butler-autoloads dtrt-indent
dtrt-indent-autoloads editorconfig editorconfig-autoloads
expand-region-autoloads clipetty-autoloads xclip xclip-autoloads
dired-dragon-autoloads diredfl diredfl-autoloads image-dired image-mode
exif dired-subtree-autoloads dired-hacks-utils-autoloads
dired-du-autoloads dired-single dired-single-autoloads
dired-hide-dotfiles dired-hide-dotfiles-autoloads direnv
direnv-autoloads ibuffer-vc ibuf-ext ibuffer-vc-autoloads midnight
dumb-jump popup dumb-jump-autoloads popup-autoloads popon
popon-autoloads embark-consult-autoloads embark-autoloads
consult-autoloads marginalia-autoloads orderless-autoloads
vertico-autoloads all-the-icons-completion-autoloads counsel-autoloads
request mailheader autorevert mail-utils request-autoloads
all-the-icons-ivy-rich ivy-rich all-the-icons-ivy-rich-autoloads
ivy-rich-autoloads all-the-icons-ivy all-the-icons-ivy-autoloads swiper
ivy ivy-faces ivy-overlay colir swiper-autoloads ivy-autoloads posframe
point-stack point-stack-autoloads crux-autoloads move-text
move-text-autoloads use-package-bind-key bind-key which-key
which-key-autoloads minimap minimap-autoloads treemacs-magit-autoloads
magit-autoloads magit-section-autoloads git-commit-autoloads
with-editor-autoloads transient-autoloads compat-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-annotations 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 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 diff-hl
log-view pcvs-util vc-dir ewoc diff-mode diff-hl-autoloads edmacro
kmacro vc vc-dispatcher hl-line whitespace xterm-color
xterm-color-autoloads rainbow-mode rainbow-mode-autoloads
spaceline-config spaceline-segments s spaceline powerline
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-autoloads
pulse color advice use-package-ensure xt-mouse use-package-core
use-package-autoloads bind-key-autoloads straight-autoloads straight
comp comp-cstr warnings rx cl-extra info autoload radix-tree easy-mmode
cl-seq pcase subr-x checkdoc lisp-mnt mail-parse rfc2231 rfc2047 rfc2045
mm-util ietf-drums mail-prsvr dired dired-loaddefs thingatpt help-mode
seq byte-opt cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv
lazy-lock avoid grep compile text-property-search comint ansi-color ring
delsel cus-load iso-transl tooltip 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 cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads xwidget-internal dbusbind
inotify dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 1435122 496257)
 (symbols 48 79454 16)
 (strings 32 362930 134496)
 (string-bytes 1 13905025)
 (vectors 16 139855)
 (vector-slots 8 3674181 612378)
 (floats 8 1525 1023)
 (intervals 56 116584 4444)
 (buffers 992 26))