Subject: 29.0.50; Feature request: display project name in buffer-menu

From: Jen-Chieh Shen <[email-masked]>
Date: Fri, 16 Sep 2022 22:25:03 +0800

Hi, Emacs dev team!

Is there an option to display the project's name in the buffer menu? I
didn't see any option like that in the buffer-menu.el file, hence I have
opened up this feature request.

What do you think? Would this be a good feature?

In GNU Emacs 29.0.50 (build 1, x86_64-w64-mingw32) of 2022-09-14 built
 on AVALON
Repository revision: 15f42f193ba85489ee2a1e4406dae7944eee97b8
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 10.0.19044
System Description: Microsoft Windows 10 Pro (v10.0.2009.19044.2006)

Configured using:
 'configure --with-modules --without-dbus --with-native-compilation
 --without-compress-install CFLAGS=-O2'

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XPM ZLIB

(NATIVE_COMP present but libgccjit not available)

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1252

Major mode: Lisp Interaction

Minor modes in effect:
  region-state-mode: t
  whole-line-or-region-global-mode: t
  whole-line-or-region-local-mode: t
  global-whitespace-cleanup-mode: t
  whitespace-cleanup-mode: t
  which-key-mode: t
  global-region-occurrences-highlighter-mode: t
  region-occurrences-highlighter-mode: t
  gcmh-mode: t
  diminish-buffer-mode: t
  delete-selection-mode: t
  company-box-mode: t
  yas-minor-mode: t
  highlight-indent-guides-mode: t
  display-fill-column-indicator-mode: t
  auto-highlight-symbol-mode: t
  alt-codes-mode: t
  highlight-numbers-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  vs-revbuf-mode: t
  vertico-flx-mode: t
  vertico-mode: t
  right-click-context-mode: t
  minions-mode: t
  message-clean-mode: t
  marginalia-mode: t
  indent-control-mode: t
  global-hl-todo-mode: t
  hl-todo-mode: t
  global-hl-line-mode: t
  electric-pair-mode: t
  electric-indent-sexp-mode: t
  echo-bar-mode: t
  balanced-windows-mode: t
  auto-scroll-bar-mode: t
  goto-address-mode: t
  company-fuzzy-mode: t
  global-company-mode: t
  company-mode: t
  display-line-numbers-mode: t
  line-reminder-mode: t
  recentf-mode: t
  leaf-key-override-global-mode: t
  recentf-excl-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: 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
  abbrev-mode: t

Load-path shadows:
c:/Users/JenChieh/AppData/Roaming/.emacs.d/elpa/ada-mode-7.2.1/gnat-core
hides c:/Users/JenChieh/AppData/Roaming/.emacs.d/elpa/wisi-3.1.8/gnat-core
c:/Users/JenChieh/AppData/Roaming/.emacs.d/elpa/transient-20220915.1511/transient
hides c:/Program
Files/Emacs/emacs-29.0.50/share/emacs/29.0.50/lisp/transient
~/.emacs.d/site-lisp/custom hides c:/Program
Files/Emacs/emacs-29.0.50/share/emacs/29.0.50/lisp/custom

Features:
(shadow sort company-kaomoji kaomoji kaomoji-data mail-extr emacsbug
jcs-message-mode message yank-media puny dired dired-loaddefs rfc822 mml
mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
vertico-directory mule-util time-date region-state whole-line-or-region
whitespace-cleanup-mode which-key region-occurrences-highlighter hi-lock
gcmh diminish-buffer delsel jcs-company company-box company-box-icons
company-box-doc face-remap company-box-util frame-local
company-yasnippet company-gtags company-etags etags fileloop generator
xref ring company-files company-dabbrev-code company-dabbrev
company-abbrev company-keywords company-semantic company-template
company-capf jcs-snippet-mode yasnippet-snippets yasnippet
highlight-indent-guides advice color display-fill-column-indicator
auto-highlight-symbol alt-codes highlight-numbers parent-mode docstr
docstr-key docstr-writers docstr-util docstr-faces page-break-lines
jcs-edit vs-revbuf fextern vertico-flx flx-style flx-rs-core flx-rs flx
mbs jcs-vertico vertico right-click-context ordinal popup minions
message-clean-mode marginalia indent-control asoc hl-todo hl-line
elec-pair electric-indent-sexp echo-bar balanced-windows auto-scroll-bar
goto-addr time company-fuzzy company vc-hg vc-git diff-mode vc-bzr
vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view easy-mmode pcvs-util vc
vc-dispatcher eask-api-util f f-shortdoc shortdoc text-property-search s
display-line-numbers indicators line-reminder ov ht dash fringe-helper
vs-dark-theme use-ttf on jcs-disp moody compat compat-macs dashboard-ls
jcs-dashboard project dashboard dashboard-widgets recentf tree-widget
wid-edit ffap thingatpt config jcs-key edmacro kmacro jcs-hook
jcs-project jcs-mode jcs-template jcs-theme jcs-env jcs-plugin show-eol
whitespace leaf jcs-dev comp comp-cstr warnings icons cl-extra help-mode
jcs-file pcase jcs-function noflet cl-indent jcs-nav jcs-window jcs-util
jcs-log jcs-package msgu recentf-excl prt spinner 0xc-autoloads
actionscript-mode-autoloads ada-mode-autoloads adaptive-wrap-autoloads
alt-codes-autoloads annotate-autoloads apache-mode-autoloads
applescript-mode-autoloads arduino-mode-autoloads ede/auto eieio-base
ascii-table-autoloads asoc-autoloads auth-source-keytar-autoloads
auto-highlight-symbol-autoloads auto-read-only-autoloads
auto-rename-tag-autoloads auto-scroll-bar-autoloads
autotetris-mode-autoloads balanced-windows-autoloads
basic-mode-autoloads better-scroll-autoloads bool-flip-autoloads
browse-kill-ring-autoloads buffer-menu-filter-autoloads
buffer-menu-project-autoloads buffer-move-autoloads
buffer-wrap-autoloads calfw-autoloads caml-autoloads
cargo-mode-autoloads ccls-autoloads centaur-tabs-autoloads
clojure-mode-autoloads cmake-font-lock-autoloads cmake-mode-autoloads
cobol-mode-autoloads coffee-mode-autoloads com-css-sort-autoloads
command-log-mode-autoloads company-autoconf-autoloads
company-box-autoloads company-c-headers-autoloads company-cmd-autoloads
company-coffee-autoloads company-dockerfile-autoloads
company-emojify-autoloads company-fuzzy-autoloads company-glsl-autoloads
company-kaomoji-autoloads company-makefile-autoloads
company-meta-net-autoloads company-nginx-autoloads
company-powershell-autoloads company-shell-autoloads company-autoloads
consult-autoloads crystal-mode-autoloads csproj-mode-autoloads
csv-mode-autoloads d-mode-autoloads dashboard-ls-autoloads
dashboard-autoloads define-it-autoloads define-word-autoloads
diff-hl-autoloads diminish-buffer-autoloads diredfl-autoloads
dist-file-mode-autoloads docker-autoloads aio-autoloads
docker-compose-mode-autoloads docker-tramp-autoloads
dockerfile-mode-autoloads docstr-autoloads dotenv-mode-autoloads
dumb-jump-autoloads eask-mode-autoloads eask-api-autoloads
echo-bar-autoloads editorconfig-autoloads
editorconfig-generate-autoloads eldoc-meta-net-autoloads
electric-cursor-autoloads electric-indent-sexp-autoloads
elfeed-autoloads elisp-def-autoloads elisp-demos-autoloads
elixir-mode-autoloads elm-mode-autoloads emmet-mode-autoloads
emoji-github-autoloads emojify-autoloads eping-autoloads
erlang-autoloads eshell-syntax-highlighting-autoloads ess-autoloads
esup-autoloads exec-path-from-shell-autoloads expand-region-autoloads
feature-mode-autoloads file-header-autoloads fill-page-autoloads
flx-rs-autoloads flycheck-eask-autoloads flycheck-elsa-autoloads
flycheck-grammarly-autoloads flycheck-languagetool-autoloads
flycheck-ocaml-autoloads flycheck-package-autoloads
flycheck-relint-autoloads fountain-mode-autoloads frame-local-autoloads
fsharp-mode-autoloads gcmh-autoloads gdscript-mode-autoloads
git-assembler-mode-autoloads git-link-autoloads git-modes-autoloads
github-browse-file-autoloads github-tags-autoloads
gitignore-templates-autoloads glsl-mode-autoloads go-mode-autoloads
google-this-autoloads google-translate-autoloads
goto-char-preview-autoloads goto-line-preview-autoloads
graphql-mode-autoloads haml-mode-autoloads hammy-autoloads
haskell-mode-autoloads haxe-mode-autoloads helpful-autoloads
elisp-refs-autoloads hexo-autoloads hgignore-mode-autoloads
highlight-escape-sequences-autoloads highlight-indent-guides-autoloads
highlight-numbers-autoloads hl-preproc-autoloads hl-todo-autoloads
hlsl-mode-autoloads htmltagwrap-autoloads ialign-autoloads
iedit-autoloads impatient-showdown-autoloads impatient-mode-autoloads
htmlize-autoloads indent-control-autoloads ini-mode-autoloads
isearch-project-autoloads javadoc-lookup-autoloads javap-mode-autoloads
jayces-mode-autoloads jenkinsfile-mode-autoloads groovy-mode-autoloads
json-mode-autoloads json-snatcher-autoloads kaomoji-autoloads
keypression-autoloads keytar-autoloads kotlin-mode-autoloads
leaf-autoloads license-templates-autoloads line-reminder-autoloads
indicators-autoloads log4e-autoloads logms-autoloads logview-autoloads
datetime-autoloads extmap-autoloads lsp-dart-autoloads
dart-mode-autoloads lsp-grammarly-autoloads grammarly-autoloads
lsp-haskell-autoloads lsp-java-autoloads lsp-julia-autoloads
julia-mode-autoloads lsp-latex-autoloads lsp-ltex-autoloads
lsp-metals-autoloads dap-mode-autoloads lsp-docker-autoloads
bui-autoloads lsp-mssql-autoloads lsp-pascal-autoloads
lsp-pyright-autoloads lsp-sonarlint-autoloads lsp-sourcekit-autoloads
lsp-tailwindcss-autoloads lsp-treemacs-autoloads lsp-ui-autoloads
lua-mode-autoloads manage-minor-mode-table-autoloads
manage-minor-mode-autoloads marginalia-autoloads markdown-toc-autoloads
masm-mode-autoloads merlin-autoloads message-clean-mode-autoloads
meta-view-autoloads meta-net-autoloads csharp-mode-autoloads
minions-autoloads moody-autoloads most-used-words-autoloads
move-text-autoloads msgu-autoloads multi-shell-autoloads mwim-autoloads
nasm-mode-autoloads nginx-mode-autoloads nhexl-mode-autoloads
nim-mode-autoloads flycheck-nimsuggest-autoloads commenter-autoloads
epc-autoloads ctable-autoloads concurrent-autoloads deferred-autoloads
nix-mode-autoloads magit-section-autoloads noflet-autoloads on-autoloads
org-fancy-priorities-autoloads org-superstar-autoloads
organize-imports-java-autoloads ov-autoloads package-build-autoloads
package-lint-autoloads page-break-lines-autoloads parent-mode-autoloads
parse-it-autoloads password-generator-autoloads password-mode-autoloads
phpt-mode-autoloads php-mode-autoloads pip-requirements-autoloads rx
polymode-autoloads pos-tip-autoloads powerline-autoloads
powershell-autoloads preview-it-autoloads gh-md-autoloads
processing-mode-autoloads project-abbrev-autoloads
protobuf-mode-autoloads prt-autoloads python-mode-autoloads
qml-mode-autoloads quelpa-autoloads rainbow-mode-autoloads
recentf-excl-autoloads reformatter-autoloads
region-occurrences-highlighter-autoloads region-state-autoloads
relint-autoloads request-autoloads restart-emacs-autoloads
reveal-in-folder-autoloads right-click-context-autoloads
ordinal-autoloads rjsx-mode-autoloads js2-mode-autoloads
robots-txt-mode-autoloads rust-mode-autoloads scala-mode-autoloads
scrollable-quick-peek-autoloads quick-peek-autoloads scss-mode-autoloads
shader-mode-autoloads shell-pop-autoloads shift-number-autoloads
show-eol-autoloads shrink-whitespace-autoloads sideline-blame-autoloads
sideline-color-autoloads sideline-flycheck-autoloads flycheck-autoloads
pkg-info-autoloads epl-autoloads sideline-flymake-autoloads
sideline-lsp-autoloads lsp-mode-autoloads markdown-mode-autoloads
sideline-autoloads simple-httpd-autoloads smart-comment-autoloads
smex-autoloads sort-words-autoloads sql-indent-autoloads
suggest-autoloads spinner-autoloads loop-autoloads swift-mode-autoloads
tablist-autoloads toc-org-autoloads togetherly-autoloads
toggle-quotes-autoloads toggle-window-autoloads transient-autoloads
compat-autoloads transpose-frame-autoloads transwin-autoloads
tree-sitter-indent-autoloads tree-sitter-langs-autoloads
treemacs-autoloads cfrs-autoloads posframe-autoloads hydra-autoloads
lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads
ts-autoloads ts-fold-autoloads fringe-helper-autoloads
tree-sitter-autoloads tsc-autoloads turbo-log-autoloads
typescript-mode-autoloads undo-tree-autoloads queue-autoloads
unfill-autoloads uniquify-files-autoloads use-ttf-autoloads
vc-msg-autoloads popup-autoloads vertico-flx-autoloads mbs-autoloads
f-autoloads s-autoloads ht-autoloads flx-style-autoloads flx-autoloads
vertico-autoloads vimrc-mode-autoloads visual-regexp-autoloads
vs-dark-theme-autoloads vs-edit-mode-autoloads vs-light-theme-autoloads
vs-revbuf-autoloads fextern-autoloads vsc-multiple-cursors-autoloads
multiple-cursors-autoloads vue-mode-autoloads edit-indirect-autoloads
ssass-mode-autoloads vue-html-mode-autoloads mmm-mode-autoloads
wat-mode-autoloads web-mode-autoloads websocket-autoloads
which-key-autoloads whitespace-cleanup-mode-autoloads
whole-line-or-region-autoloads wiki-summary-autoloads winum-autoloads
dash-autoloads info wisi-autoloads xr-autoloads yaml-autoloads
yaml-mode-autoloads yarn-mode-autoloads yasnippet-snippets-autoloads
yasnippet-autoloads zoom-window-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 password-cache json subr-x
map byte-opt gv bytecomp byte-compile cconv url-vars cl-loaddefs cl-lib
early-init rmc iso-transl tooltip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp
disp-table term/w32-win w32-win w32-vars term/common-win 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
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 w32notify w32 lcms2 multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 262338 263860)
 (symbols 48 21852 0)
 (strings 32 74616 74773)
 (string-bytes 1 2781923)
 (vectors 16 37936)
 (vector-slots 8 565258 368786)
 (floats 8 289 717)
 (intervals 56 4064 321)
 (buffers 1000 12))