X-Loop: help-debbugs@HIDDEN
Subject: bug#79874: 31.0.50; Feature request: load additional directories in addition to the lisp-dir
Resent-From: Aritro Sen <1.sen.aritro@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 21 Nov 2025 09:27:03 +0000
Resent-Message-ID: <handler.79874.B.176371721218360 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 79874
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: 79874 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.176371721218360
(code B ref -1); Fri, 21 Nov 2025 09:27:03 +0000
Received: (at submit) by debbugs.gnu.org; 21 Nov 2025 09:26:52 +0000
Received: from localhost ([127.0.0.1]:53736 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vMNPm-0004ly-UB
for submit <at> debbugs.gnu.org; Fri, 21 Nov 2025 04:26:51 -0500
Received: from lists.gnu.org ([2001:470:142::17]:45388)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <1.sen.aritro@HIDDEN>)
id 1vMCBj-0004Fd-VU
for submit <at> debbugs.gnu.org; Thu, 20 Nov 2025 16:27:37 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <1.sen.aritro@HIDDEN>)
id 1vMCBb-0003vG-04
for bug-gnu-emacs@HIDDEN; Thu, 20 Nov 2025 16:27:29 -0500
Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <1.sen.aritro@HIDDEN>)
id 1vMCBX-0000go-QI
for bug-gnu-emacs@HIDDEN; Thu, 20 Nov 2025 16:27:26 -0500
Received: by mail-pj1-x1036.google.com with SMTP id
98e67ed59e1d1-341988c720aso1071483a91.3
for <bug-gnu-emacs@HIDDEN>; Thu, 20 Nov 2025 13:27:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1763674041; x=1764278841; darn=gnu.org;
h=content-transfer-encoding:from:content-language:subject:to
:user-agent:mime-version:date:message-id:from:to:cc:subject:date
:message-id:reply-to;
bh=eSV9UHNNv3WU3WEc8gjKPDUGbB5R0+s0M/KKrKrR6dU=;
b=EDL2o6u6RmQjQpmOkVO6CgoljVx3++iz6MXNhtfyWpUni1xRICKWbmlOHizIdopQNK
aPvgwH4hi8RHVOk6paF3CX1p50j8e+EQkp1T664roHS1aKrbgNtO4Csm0BW8jVwDYxKP
EcC7FIh5Q22WSiGY7UI4egL/GiVORnK2sNWowFY/d865/wjLJxNyNT2OfnV349ucjo5O
jx/aq9yYotr0VWoC00XJS0IvatEgwvg2yCAEa/DZz12G6M9mx6Ql82Dn+sxYX67sV3Bo
WpiakfePpqHFKpHCbDQA8GctMkUX7lIRROUYV8KjaXU/E5KK7NJhApWU6I0wrA0UydlZ
IfDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1763674041; x=1764278841;
h=content-transfer-encoding:from:content-language:subject:to
:user-agent:mime-version:date:message-id:x-gm-gg:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=eSV9UHNNv3WU3WEc8gjKPDUGbB5R0+s0M/KKrKrR6dU=;
b=BHYMediHWrZNROSS1PX6Lzmq4rhJwys3N2n+0ZEvGKtbFokYrkn1QMq7eC7e5YAikL
dWiTLlu6oEUFXGFS4igJkJaTR/GiGoK1marz4XE4gOg2eRw7HdgcHeo9ZJAR5f7KpJxf
9JHs9Lm1hF7dRJvzhhwBa/CTmhZR2/yzemyNpMLMuto/9z6HAfIUtS7z6oz3yQj/1+q0
ZiUEAvTkUNIOdvTmoR9V/TqrCiAYgF09KgKFfDg0XeJT5CsfDhyXMFMikro8/Ys2Nkne
ed8VQ1VjBdRi74PFYzDbiI//58n79q3Y/PYJruxMJx+QnW2px0EyQ3bB4GlMNbmLLaRK
vGiw==
X-Gm-Message-State: AOJu0YzNcAU80uValct1/oAvEPlHinKo6n5CJjtSo+ReEny3sgey1pjo
RiL1zVK/5SjRqg01WTtZLHqhM8anJ3tLLo1/uKdPrkcvScfzxzE+OkKxhM27C2jR
X-Gm-Gg: ASbGncvwcrWQWtaSfOTDXbzcajEmu/UX9X0rahB6uf7eINFdIA0uv52JtOKA0qN4rZl
52/l55xkROMeQ2h7/XKbeBZbLRTapZ/KpSW5VrpoBhgE5IkVKYd2KgMt5RuMwXbVs4wpBPi33Ab
55NTS4/fRZFRyb7u2XV0DH7Za4xqzINzL4NOArmVYOqswr0lrKsy3F7DBlzQl59YWoGj7dUPOR0
APDCETVAGr8kpjVBvzt8/XicHG2KJxseBrZ5A2M+NrBh3zBWj709brQyP0zo/Z1E94bSSD6p8jM
by8hlClzGNkYTfgCygnrJV2z1eZNQLCoi1C+r1b6nQ3Z+jKAXQWHTdZIELuoh3pbqCDyWSIfsd/
GojObuUZ9h71PHoZEPBbbAjSIdTWXZKz7urx/8yT/l8jo2TPn+LmNF982EujUfZ+B0NQO+mHBbt
GkDkCrUc1uMbyrcnKoEJVN5hv+Ufg94w==
X-Google-Smtp-Source: AGHT+IHv0C7UU821XKznRrHl5LinUlY1rCenXP4/QCgw/4UVKJptxAF8orzmGzfWm2I6A35xX9M84w==
X-Received: by 2002:a17:90b:274b:b0:33b:dec9:d9aa with SMTP id
98e67ed59e1d1-3472a981a77mr3966824a91.25.1763674040766;
Thu, 20 Nov 2025 13:27:20 -0800 (PST)
Received: from [10.252.78.17] ([110.224.106.19])
by smtp.gmail.com with ESMTPSA id
98e67ed59e1d1-34727be2fa7sm3323228a91.6.2025.11.20.13.27.19
for <bug-gnu-emacs@HIDDEN>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Thu, 20 Nov 2025 13:27:20 -0800 (PST)
Message-ID: <eebc9a23-bc19-4572-ad5c-bbb663f2b6cb@HIDDEN>
Date: Fri, 21 Nov 2025 02:57:11 +0530
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
From: Aritro Sen <1.sen.aritro@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=2607:f8b0:4864:20::1036;
envelope-from=1.sen.aritro@HIDDEN; helo=mail-pj1-x1036.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Mailman-Approved-At: Fri, 21 Nov 2025 04:26:49 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)
When using use-package to install a package, apart from the root
directory or the mentioned lisp-dir, there may be other directories to
load too when installing directly via git, for example the extensions
sub-directory in corfu (or say vertico), as shown below:
(use-package corfu
:vc (corfu :url "https://github.com/minad/corfu.git"
:branch "main")
:ensure t
:hook (after-init . global-corfu-mode)
:config
(compile-and-load-subdirs "corfu" "extensions"))
Here, it'd have been better if we could mention additional
sub-directories to load, like say the extensions directory. Currently, I
am doing the same using the compile-and-load-subdirs function, but I am
pretty sure this is neither foolproof nor anything more than a hotfix,
given that I am using Emacs for just about a week now.
(defun compile-and-load-subdirs (library subdirs)
"Compile, generate autoloads, and load SUBDIRS of LIBRARY.
SUBDIRS can be a string or list of strings representing subdirectories."
(let* ((base-dir (file-name-directory (locate-library library)))
(subdir-list (if (listp subdirs) subdirs (list subdirs))))
(dolist (subdir subdir-list)
(let* ((target-dir (expand-file-name subdir base-dir))
(autoload-file (expand-file-name
(format "%s-%s-autoloads.el" library subdir)
target-dir)))
(when (file-directory-p target-dir)
(unless (file-exists-p autoload-file)
(message "Generating autoloads for %s" target-dir)
(package-generate-autoloads
(format "%s-%s" library subdir)
target-dir))
(load autoload-file)
(native-compile-async target-dir t))))))
However, I do believe this feature could be in-built with
use-package. Let me know if there is a better way I might have
completely missed, which won't require the use of this function.
In GNU Emacs 31.0.50 (build 11, x86_64-pc-linux-gnu, GTK+ Version
3.24.51, cairo version 1.18.4) of 2025-11-21 built on debian
Repository revision: 918b9f04f422efb7b614a9f71b004523a39d7674
Repository branch: master
System Description: Debian GNU/Linux forky/sid
Configured using:
'configure --enable-autodepend --enable-link-time-optimization
--with-dbus --with-file-notification=inotify --with-imagemagick
--with-native-compilation=aot --with-pdumper=yes --with-pgtk
--with-small-ja-dic --with-sound=alsa --with-tree-sitter
--with-wide-int --with-x-toolkit=no --without-compress-install
--without-gpm --without-libsmack --without-selinux --without-xaw3d
--without-xdbe --without-xft --without-xim --without-xinput2
'CFLAGS=-O2 -march=native -Wall -Wl,-z,nodlopen -Wl,-z,noexecstack
-fhardened' 'CXXFLAGS=-O2 -march=native -Wall -Wl,-z,nodlopen
-Wl,-z,noexecstack -fhardened' 'TREE_SITTER_CFLAGS=-isystem
/home/aritro/.local/share/git-builds/emacs-build/treesitter-build/include'
'TREE_SITTER_LIBS=-L/home/aritro/.local/share/git-builds/emacs-build/treesitter-build/lib
-ltree-sitter''
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB
Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
mlscroll-mode: t
ultra-scroll-mode: t
pixel-scroll-precision-mode: t
minions-mode: t
gc-maybe-mode: t
server-mode: t
lin-global-mode: t
pulsar-global-mode: t
pulsar-mode: t
global-colorful-mode: t
colorful-mode: t
global-hl-todo-mode: t
hl-todo-mode: t
diff-hl-flydiff-mode: t
global-diff-hl-mode: t
editorconfig-mode: t
vertico-multiform-mode: t
vertico-mouse-mode: t
nerd-icons-completion-mode: t
marginalia-mode: t
savehist-mode: t
recentf-mode: t
lsp-treemacs-sync-mode: t
eros-mode: t
sly-symbol-completion-mode: t
apheleia-global-mode: t
apheleia-mode: t
treemacs-filewatch-mode: t
treemacs-follow-mode: t
treemacs-git-mode: t
treemacs-fringe-indicator-mode: t
flyover-mode: t
global-flycheck-mode: t
flycheck-mode: t
global-corfu-mode: t
corfu-mode: t
vertico-mode: t
display-line-numbers-mode: t
hl-line-mode: t
display-fill-column-indicator-mode: t
override-global-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
context-menu-mode: t
global-font-lock-mode: t
font-lock-mode: t
minibuffer-nonselected-mode: t
minibuffer-regexp-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/aritro/.local/state/emacs/elpa/clojure-mode/clojure-mode-autoloads
hides
/home/aritro/.local/state/emacs/elpa/clojure-mode-20250527.840/clojure-mode-autoloads
/home/aritro/.local/state/emacs/elpa/clojure-mode/clojure-mode hides
/home/aritro/.local/state/emacs/elpa/clojure-mode-20250527.840/clojure-mode
/home/aritro/.local/state/emacs/elpa/clojure-mode/clojure-mode-pkg hides
/home/aritro/.local/state/emacs/elpa/clojure-mode-20250527.840/clojure-mode-pkg
/home/aritro/.local/state/emacs/elpa/dired-hacks/dired-hacks-utils hides
/home/aritro/.local/state/emacs/elpa/dired-hacks-utils-20240629.1906/dired-hacks-utils
Features:
(mailalias mailclient textsec uni-scripts idna-mapping ucs-normalize
uni-confusable textsec-check undo-fu ispell shadow sort mail-extr
emacsbug tramp-cmds vertico-directory vertico-repeat cursor-sensor
mlscroll ultra-scroll pixel-scroll cua-base minions gc-maybe server lin
pulsar colorful-mode hl-todo diff-hl-flydiff diff-hl log-view log-edit
add-log pcvs-util vc-dir editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch vertico-multiform
vertico-mouse nerd-icons-completion nerd-icons nerd-icons-faces
nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon
nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon
nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline
nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon
marginalia savehist recentf lsp-zig lsp-yang lsp-yaml lsp-xml lsp-wgsl
lsp-volar lsp-vimscript lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala
lsp-v lsp-typos lsp-typespec lsp-typeprof lsp-ttcn3 lsp-ts-query
lsp-trunk lsp-toml-tombi lsp-toml lsp-tilt lsp-tex lsp-terraform
lsp-svelte lsp-steep lsp-sqls lsp-sql lsp-sorbet lsp-solidity
lsp-solargraph lsp-semgrep lsp-ruff lsp-ruby-syntax-tree lsp-ruby-lsp
lsp-rubocop lsp-roslyn lsp-roc lsp-rf lsp-remark lsp-racket lsp-r
lsp-qml lsp-python-ty lsp-pylsp lsp-pyls lsp-pwsh lsp-purescript
lsp-postgres lsp-pls lsp-php lsp-perlnavigator lsp-perl lsp-openscad
lsp-odin lsp-ocaml lsp-nushell lsp-nix lsp-nim lsp-nginx lsp-nextflow
lsp-move lsp-mojo lsp-mint lsp-meson lsp-mdx lsp-matlab lsp-marksman
lsp-markdown lsp-magik lsp-fennel lsp-lua lsp-lisp lsp-kubernetes-helm
lsp-kotlin lsp-json lsp-jq lsp-javascript lsp-idris lsp-haxe lsp-hack
lsp-groovy lsp-graphql lsp-golangci-lint lsp-glsl lsp-gleam lsp-gdscript
lsp-fsharp lsp-futhark lsp-fortran lsp-eslint lsp-erlang lsp-emmet
lsp-elm lsp-elixir lsp-earthly lsp-dockerfile lsp-dhall lsp-d lsp-cypher
lsp-cucumber lsp-copilot lsp-css lsp-c3 lsp-csharp lsp-crystal lsp-credo
lsp-cobol lsp-cmake lsp-clojure lsp-treemacs lsp-clangd lsp-bufls lsp-go
lsp-beancount lsp-bash lsp-awk lsp-autotools lsp-astro lsp-asm
lsp-ansible lsp-angular lsp-ada lsp-actionscript climacs-languages
zig-ts-mode-autoloads zig-mode zig-mode-autoloads wat-ts-mode-autoloads
vhdl-mode hippie-exp vhdl-ts-mode-autoloads verilog-mode
verilog-ts-mode-autoloads uiua-mode uiua-ts-mode-autoloads reformatter
uiua-mode-autoloads reformatter-autoloads typst-ts-transient
typst-ts-misc-commands typst-ts-lsp typst-ts-editing
typst-ts-edit-indirect typst-ts-watch-mode typst-ts-compile
typst-ts-faces elec-pair typst-ts-symbols
typst-ts-embedding-lang-settings typst-ts-core typst-ts-variables
typst-ts-mode-autoloads swift-ts-mode-autoloads scala-ts-mode-autoloads
cperl-mode perl-ts-mode-autoloads js odin-ts-mode-autoloads
ocaml-ts-mode-autoloads nasm-mode-autoloads llvm-ts-mode-autoloads
kotlin-ts-mode kotlin-ts-mode-autoloads jq-ts-mode-autoloads
janet-ts-mode-autoloads janet-mode-autoloads haskell-ts-mode-autoloads
gleam-ts-mode-autoloads git-commit-ts-mode-autoloads
devicetree-ts-mode-autoloads c++-ts-mode c-ts-mode
cuda-ts-mode-autoloads clojure-ts-mode-autoloads clojure-mode align
clojure-mode-autoloads c-ts-common c3-ts-mode-autoloads
awk-ts-mode-autoloads treesit-fold treesit-fold-summary
treesit-fold-parsers treesit-fold-util treesit-fold-autoloads beardbolt
disass beardbolt-autoloads eros eros-autoloads sly-overlay-autoloads
sly-macrostep sly-macrostep-autoloads sly-stepper sly-stepper-autoloads
popup sly-asdf-flymake-base sly-asdf-autoloads popup-autoloads
sly-quicklisp ert-x sly-tests mule-util sly-tramp sly-indentation
sly-cl-indent sly-stickers hi-lock sly-trace-dialog sly-fontifying-fu
sly-package-fu sly-scratch sly-fancy-trace sly-fancy-inspector sly-mrepl
sly-autodoc sly-parse sly gud sly-completion sly-buttons sly-messages
sly-common apropos hyperspec sly-autoloads geiser-chez-autoloads
geiser-guile-autoloads macrostep-geiser-autoloads cmacexp cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
macrostep macrostep-autoloads climacs-navigation ibuf-macs ibuf-ext
ibuffer ibuffer-loaddefs ibuffer-vc-autoloads transient svg
ready-player-dired ready-player-autoloads delsel find-dired grep dired-x
dired-hacks-utils dired-hacks-autoloads dired-aux
dired-hacks-utils-autoloads diredfl-autoloads climacs-undo diff vundo
vundo-autoloads undo-fu-session undo-fu-session-autoloads
undo-fu-autoloads climacs-term disk-usage-autoloads eat-autoloads
tramp-cache time-stamp tramp trampver tramp-integration tramp-message
tramp-compat parse-time iso8601 tramp-loaddefs term disp-table shell
ehelp term/xterm xterm vterm-autoloads climacs-format apheleia
apheleia-rcs apheleia-formatters apheleia-dp apheleia-utils apheleia-log
apheleia-formatter-context apheleia-autoloads climacs-lsp
lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs
treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator pulse treemacs-faces
treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils
pfuture treemacs-logging treemacs-customization treemacs-macros
lsp-treemacs-autoloads lsp-ui lsp-ui-flycheck lsp-rust lsp-modeline
lsp-ui-doc lsp-ui-imenu lsp-ui-peek lsp-ui-sideline goto-addr
lsp-ui-util face-remap lsp-ui-autoloads lsp-mode-clients-autoloads
use-package use-package-delight use-package-diminish find-file
lsp-completion lsp-semantic-tokens ido lsp-icons lsp-mode lsp-protocol
tree-widget spinner markdown-mode lv ht filenotify lsp-mode-autoloads
spinner-autoloads color markdown-mode-autoloads climacs-lint
flycheck-guile-autoloads geiser geiser-mode geiser-xref geiser-compile
geiser-repl geiser-capf geiser-debug geiser-image geiser-doc geiser-menu
geiser-autodoc geiser-edit etags fileloop generator geiser-completion
geiser-eval geiser-connection tq geiser-syntax scheme geiser-log
geiser-popup view geiser-impl geiser-custom geiser-base geiser-autoloads
flyover flyover-autoloads whitespace checkdoc flycheck jka-compr
let-alist flycheck-autoloads climacs-completion emoji rfc1345 quail cape
cape-autoloads corfu-extensions-autoloads corfu corfu-autoloads xref org
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script
smie executable ob-comint org-pcomplete pcomplete org-list org-footnote
org-faces org-entities noutline outline org-version ob-emacs-lisp
ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys
oc org-loaddefs cal-menu calendar cal-loaddefs org-compat org-macs
format-spec flymake consult bookmark consult-autoloads
marginalia-autoloads vertico-extensions-autoloads vertico
vertico-autoloads orderless orderless-autoloads climacs-edit
multiple-cursors cl mc-separate-operations rectangular-region-mode
mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more
sgml-mode facemenu dom thingatpt mc-cycle-cursors multiple-cursors-core
comp comp-cstr rect multiple-cursors-autoloads benchmark dtrt-indent
dtrt-indent-autoloads climacs-util python project treesit helpful
cc-langs cc-vars cc-defs imenu trace cl-print edebug info-look f
help-fns elisp-refs helpful-autoloads elisp-refs-autoloads dash s
f-autoloads tar-mode arc-mode archive-mode edmacro kmacro ert ewoc debug
backtrace find-func pcre2el rxt advice re-builder pcre2el-autoloads
pcase minions-autoloads display-line-numbers hl-line
display-fill-column-indicator loaddefs-gen radix-tree vc-git diff-mode
track-changes files-x mm-archive message sendmail yank-media dired
dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config
gnus-util time-date mailabbrev gmm-utils mailheader mm-decode mm-bodies
mm-encode mail-utils gnutls network-stream url-cache url-http url-auth
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw
nsm puny package-vc vc vc-dispatcher lisp-mnt climacs-ui dbus compile
text-property-search comint ansi-osc ansi-color ring xml
use-package-bind-key bind-key easy-mmode moody compat ef-themes
modus-themes use-package-ensure use-package-core finder-inf
colorful-mode-autoloads diff-hl-autoloads ef-themes-autoloads
gc-maybe-autoloads hl-todo-autoloads knockknock-autoloads lin-autoloads
mlscroll-autoloads modus-themes-autoloads moody-autoloads
nerd-icons-completion-autoloads nerd-icons-corfu-autoloads
nerd-icons-dired-autoloads nerd-icons-ibuffer-autoloads
nerd-icons-autoloads pulsar-autoloads treemacs-autoloads cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads info
dash-autoloads ultra-scroll-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 url-vars comp-run bytecomp byte-compile comp-common rx
xdg-no-littering inline xdg cus-edit pp cus-start cus-load wid-edit
cl-extra help-mode warnings icons cl-loaddefs cl-lib rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
touch-screen pgtk-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar
make-network-process tty-child-frames native-compile emacs)
Memory information:
((conses 16 3373990 7576934) (symbols 48 86606 26543)
(strings 32 599937 365155) (string-bytes 1 17363854)
(vectors 16 189384) (vector-slots 8 2436457 2171141)
(floats 8 965 20476) (intervals 56 233257 58849) (buffers 1064 22))
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Aritro Sen <1.sen.aritro@HIDDEN> Subject: bug#79874: Acknowledgement (31.0.50; Feature request: load additional directories in addition to the lisp-dir) Message-ID: <handler.79874.B.176371721218360.ack <at> debbugs.gnu.org> References: <eebc9a23-bc19-4572-ad5c-bbb663f2b6cb@HIDDEN> X-Gnu-PR-Message: ack 79874 X-Gnu-PR-Package: emacs Reply-To: 79874 <at> debbugs.gnu.org Date: Fri, 21 Nov 2025 09:27:03 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 79874 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 79874: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79874 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: bug#79874: 31.0.50; Feature request: load additional directories in addition to the lisp-dir
Resent-From: Aritro Sen <1.sen.aritro@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 25 Nov 2025 20:37:02 +0000
Resent-Message-ID: <handler.79874.B.176410298223383 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79874
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: 79874 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.176410298223383
(code B ref -1); Tue, 25 Nov 2025 20:37:02 +0000
Received: (at submit) by debbugs.gnu.org; 25 Nov 2025 20:36:22 +0000
Received: from localhost ([127.0.0.1]:42691 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vNzlt-00064w-5O
for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:36:22 -0500
Received: from lists.gnu.org ([2001:470:142::17]:36084)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <1.sen.aritro@HIDDEN>)
id 1vMcP9-0002l6-L1
for submit <at> debbugs.gnu.org; Fri, 21 Nov 2025 20:27:26 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <1.sen.aritro@HIDDEN>)
id 1vMcP0-00064A-Az
for bug-gnu-emacs@HIDDEN; Fri, 21 Nov 2025 20:27:03 -0500
Received: from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <1.sen.aritro@HIDDEN>)
id 1vMcOq-0000KI-UG
for bug-gnu-emacs@HIDDEN; Fri, 21 Nov 2025 20:27:00 -0500
Received: by mail-ot1-x32b.google.com with SMTP id
46e09a7af769-7c7660192b0so1748100a34.0
for <bug-gnu-emacs@HIDDEN>; Fri, 21 Nov 2025 17:26:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1763774792; x=1764379592; darn=gnu.org;
h=content-transfer-encoding:in-reply-to:content-language:references
:to:from:subject:user-agent:mime-version:date:message-id:from:to:cc
:subject:date:message-id:reply-to;
bh=H8bB0bwuDuT5tqFK9eQjq6djoENcWQEPznQQuX/lWOA=;
b=HTtcuqmKjW5++zsQWTMNVk59Y5oOnwe4II5XvfPC/SpI4XuwS5sR4FZZBDoTaM2+Bk
HXvIEwwQqUS8BBwZcCniUUiLnQS+E5p81P+0ql2wcZ/VfoVylyoco8jDC6mWuJ3fspCS
MqeeLR6kgcNPv0KQ7iE/fvlpU/Yzj2aiGYsTvXqh+kBhcyB67OKUmXS9W58fIiNnq2qo
49OrgO/QlI8SYErwUlIDO+DW+9IvYsV9LTpEYHwhDB05nohcRirb16G7cYl8nqOzasHn
hCjTBvhCWxeDqe0NRUcOTji/34HpXniHPlFworjS0+dbfvskT41/SjxCKiBCHsI1nHYH
TD6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1763774792; x=1764379592;
h=content-transfer-encoding:in-reply-to:content-language:references
:to:from:subject:user-agent:mime-version:date:message-id:x-gm-gg
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=H8bB0bwuDuT5tqFK9eQjq6djoENcWQEPznQQuX/lWOA=;
b=tEoWGA+Cz4leaSBhHS5ZtNBlL9YDCQdGDB2v1+SKoyjz0IqZhaFyCw97fkS0BCqFtC
0iQAhd0zTQXfG8TuZXnmlPR6yhWKpyDeuu23MPXdXvdp1PaVPUepDjLXGsSNMvwgLjEz
htj7ADv4gY5jcxV1YkngrvUKzelTF/Aagsm0qI8qvzJw8k3bpSxNkM83VAa+80c5hj2i
Tl3izgZamSP1zoLacjkbOrZ3lXyaY3il46YNqXGtycaRo+4JK0uMh4Qr0ulc3PMBgMW1
bguSo1MR/9+ynk+zvOL5jRzC7VCeL4m7ge5OofO5SkyvE5Vldk2XG4er3NToeSCLj9tI
qvgw==
X-Gm-Message-State: AOJu0YxjOPAM4ttiQQjU0HKCMSAoCp+LDcAYizM748As9dn1zgBw+CgL
zWnJWCAtqO1PfWRtaFU/27f3YcufIVYMgbPrAJQMhDJ40+UZ3xo09iQZHBJo3by+P2A=
X-Gm-Gg: ASbGncsGZUz7IqgOr5KPSGs3muSnDTwTFo02GlZEFMyxDHycmIvAgCCSYVe4imLyp4u
0WTw1LnspM/L3wbHdRI9O11E3Q5ANqTMf9Bd9kP2UKEyTUcE0p4NNKkx+GMY/rBy/9jVJBrViRF
8jJadzOkGlGOfEyrtSm3QWxlkakjFbPO5RfYdLd5TTn8TruI5sKAVXhD7aOTUmyvvxHK4vCKa/3
zBoy2hksE0iHmyXxLSl/FtCnV+/IJ8c3s5Z7TQ7S2ukkY5WiIy9sLqm0XNOi5tLoDDSRl8DAimo
JSxY3sATUjz3XV3ehppywarZB5h5UlaF2n8TRbjdUpEOI4A9osLYl2qBXjWMVWxewqEVO2ORk2T
W1RTCzkcBS/h12yF5ybZdPbl3dztVkl3vB5hhzV2JHOtCR2EZbFZDNRb9lk9OZjDx/oLHDcIIAw
qxxZByuedkZN2utQKMhJE=
X-Google-Smtp-Source: AGHT+IHdp5G2MbLQUTLVuFA8RsL45ID56GoE1bOeMv555u8OHl6SrRxAo8LS2BCSqllIXEZ9aJCMZg==
X-Received: by 2002:a17:903:2f8f:b0:297:f09a:51cd with SMTP id
d9443c01a7336-29b6c3e884bmr50588645ad.14.1763758660390;
Fri, 21 Nov 2025 12:57:40 -0800 (PST)
Received: from [10.252.78.17] ([110.224.102.12])
by smtp.gmail.com with ESMTPSA id
d9443c01a7336-29b5b25e56esm65748855ad.57.2025.11.21.12.57.38
for <bug-gnu-emacs@HIDDEN>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 21 Nov 2025 12:57:39 -0800 (PST)
Message-ID: <e2c82fff-ca88-4dc1-97ba-5cc28067c278@HIDDEN>
Date: Sat, 22 Nov 2025 02:27:36 +0530
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Aritro Sen <1.sen.aritro@HIDDEN>
References: <eebc9a23-bc19-4572-ad5c-bbb663f2b6cb@HIDDEN>
Content-Language: en-US
In-Reply-To: <eebc9a23-bc19-4572-ad5c-bbb663f2b6cb@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=2607:f8b0:4864:20::32b;
envelope-from=1.sen.aritro@HIDDEN; helo=mail-ot1-x32b.google.com
X-Spam-Score: 0.0 (/)
X-Mailman-Approved-At: Tue, 25 Nov 2025 15:34:32 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 3.5 (+++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: For example, this hotfix seems to do the work too: diff --git
a/doc/emacs/package.texi b/doc/emacs/package.texi index c29beea3b08..fc53d33efa2
100644 --- a/doc/emacs/package.texi +++ b/doc/emacs/package.texi @@ -721,6
+721,14 @@ Fetching Package Sourc [...]
Content analysis details: (3.5 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS
[110.224.102.12 listed in zen.spamhaus.org]
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (1.sen.aritro[at]gmail.com)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust
[2001:470:142:0:0:0:0:17 listed in]
[list.dnswl.org]
-1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list
manager
For example, this hotfix seems to do the work too:
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index c29beea3b08..fc53d33efa2 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -721,6 +721,14 @@ Fetching Package Sources
use for loading the Lisp sources, which defaults to the root directory
of the repository.
+@item :lisp-subdirs
+A string or a list of strings providing the names of subdirectories
+containing additional Lisp sources. These names are interpreted
+relative to the directory specified by @code{:lisp-dir} (or the root
+directory of the repository if @code{:lisp-dir} is unspecified). The
+specified subdirectories are added to the load path and scanned for
+library dependencies and autoloads.
+
@item :main-file
A string providing the main file of the project, from which to gather
package metadata. If not given, the default is the package name with
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 6642522d11e..cbda0f50860 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -464,6 +464,10 @@ package-vc--unpack-1
(let* ((pkg-spec (package-vc--desc->spec pkg-desc))
(lisp-dir (plist-get pkg-spec :lisp-dir))
(lisp-path (expand-file-name (or lisp-dir ".") pkg-dir))
+ (all-dirs (cons lisp-path
+ (mapcar
+ (lambda (dir) (expand-file-name dir lisp-path))
+ (ensure-list (plist-get pkg-spec
:lisp-subdirs)))))
missing)
;; In case the package was installed directly from source, the
@@ -481,19 +485,21 @@ package-vc--unpack-1
"\\|")
regexp-unmatchable))
(deps '()))
- (dolist (file (directory-files lisp-path t "\\.el\\'" t))
- (unless (string-match-p ignored-files file)
- (with-temp-buffer
- (insert-file-contents file)
- (when-let* ((require-lines (lm-header-multiline
"package-requires")))
- (thread-last
- (mapconcat #'identity require-lines " ")
- package-read-from-string
- lm--prepare-package-dependencies
- (nconc deps)
- (setq deps))))))
+ (dolist (dir all-dirs)
+ (dolist (file (directory-files dir t "\\.el\\'" t))
+ (unless (string-match-p ignored-files file)
+ (with-temp-buffer
+ (insert-file-contents file)
+ (when-let* ((require-lines (lm-header-multiline
"package-requires")))
+ (thread-last
+ (mapconcat #'identity require-lines " ")
+ package-read-from-string
+ lm--prepare-package-dependencies
+ (nconc deps)
+ (setq deps)))))))
(dolist (dep deps)
(cl-callf version-to-list (cadr dep)))
+ (setq deps (assq-delete-all (package-desc-name pkg-desc) deps))
(setf (package-desc-reqs pkg-desc) deps)
(setf missing (package-vc-install-dependencies (delete-dups deps)))
(setf missing (delq (assq (package-desc-name pkg-desc)
@@ -505,7 +511,21 @@ package-vc--unpack-1
;; Generate autoloads
(let* ((name (package-desc-name pkg-desc))
(auto-name (format "%s-autoloads.el" name)))
- (package-generate-autoloads name lisp-path)
+ (let* ((output-file (expand-file-name auto-name lisp-path))
+ (autoload-timestamps nil)
+ (backup-inhibited t)
+ (version-control 'never))
+ (loaddefs-generate
+ all-dirs output-file nil
+ (prin1-to-string
+ '(add-to-list
+ 'load-path
+ (or (and load-file-name
+ (directory-file-name
+ (file-name-directory load-file-name)))
+ (car load-path)))))
+ (let ((buf (find-buffer-visiting output-file)))
+ (when buf (kill-buffer buf))))
(when lisp-dir
(write-region
(with-temp-buffer
diff --git a/lisp/use-package/use-package-core.el
b/lisp/use-package/use-package-core.el
index 96b7a61edc9..b5cd4fcdfb1 100644
--- a/lisp/use-package/use-package-core.el
+++ b/lisp/use-package/use-package-core.el
@@ -1732,7 +1732,7 @@ use-package-handler/:vc
body))
(defconst use-package-vc-valid-keywords
- '( :url :branch :lisp-dir :main-file :vc-backend :rev
+ '( :url :branch :lisp-dir :lisp-subdirs :main-file :vc-backend :rev
:shell-command :make :ignored-files)
"Valid keywords for the `:vc' keyword.
See Info node `(emacs)Fetching Package Sources'.")
Though, again, this is not completely well thought out, and I am open to
suggestion.
On 11/21/25 2:57 AM, Aritro Sen wrote:
> When using use-package to install a package, apart from the root
> directory or the mentioned lisp-dir, there may be other directories to
> load too when installing directly via git, for example the extensions
> sub-directory in corfu (or say vertico), as shown below:
>
> (use-package corfu
> :vc (corfu :url "https://github.com/minad/corfu.git"
> :branch "main")
> :ensure t
> :hook (after-init . global-corfu-mode)
> :config
> (compile-and-load-subdirs "corfu" "extensions"))
>
> Here, it'd have been better if we could mention additional
> sub-directories to load, like say the extensions directory. Currently, I
> am doing the same using the compile-and-load-subdirs function, but I am
> pretty sure this is neither foolproof nor anything more than a hotfix,
> given that I am using Emacs for just about a week now.
>
> (defun compile-and-load-subdirs (library subdirs)
> "Compile, generate autoloads, and load SUBDIRS of LIBRARY.
> SUBDIRS can be a string or list of strings representing subdirectories."
> (let* ((base-dir (file-name-directory (locate-library library)))
> (subdir-list (if (listp subdirs) subdirs (list subdirs))))
> (dolist (subdir subdir-list)
> (let* ((target-dir (expand-file-name subdir base-dir))
> (autoload-file (expand-file-name
> (format "%s-%s-autoloads.el" library subdir)
> target-dir)))
> (when (file-directory-p target-dir)
> (unless (file-exists-p autoload-file)
> (message "Generating autoloads for %s" target-dir)
> (package-generate-autoloads
> (format "%s-%s" library subdir)
> target-dir))
> (load autoload-file)
> (native-compile-async target-dir t))))))
>
> However, I do believe this feature could be in-built with
> use-package. Let me know if there is a better way I might have
> completely missed, which won't require the use of this function.
>
> In GNU Emacs 31.0.50 (build 11, x86_64-pc-linux-gnu, GTK+ Version
> 3.24.51, cairo version 1.18.4) of 2025-11-21 built on debian
> Repository revision: 918b9f04f422efb7b614a9f71b004523a39d7674
> Repository branch: master
> System Description: Debian GNU/Linux forky/sid
>
> Configured using:
> 'configure --enable-autodepend --enable-link-time-optimization
> --with-dbus --with-file-notification=inotify --with-imagemagick
> --with-native-compilation=aot --with-pdumper=yes --with-pgtk
> --with-small-ja-dic --with-sound=alsa --with-tree-sitter
> --with-wide-int --with-x-toolkit=no --without-compress-install
> --without-gpm --without-libsmack --without-selinux --without-xaw3d
> --without-xdbe --without-xft --without-xim --without-xinput2
> 'CFLAGS=-O2 -march=native -Wall -Wl,-z,nodlopen -Wl,-z,noexecstack
> -fhardened' 'CXXFLAGS=-O2 -march=native -Wall -Wl,-z,nodlopen
> -Wl,-z,noexecstack -fhardened' 'TREE_SITTER_CFLAGS=-isystem
> /home/aritro/.local/share/git-builds/emacs-build/treesitter-build/include'
>
> 'TREE_SITTER_LIBS=-L/home/aritro/.local/share/git-builds/emacs-build/treesitter-build/lib
>
> -ltree-sitter''
>
> Configured features:
> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ
> IMAGEMAGICK JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
> NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
> TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB
>
> Important settings:
> value of $LANG: en_US.UTF-8
> value of $XMODIFIERS: @im=ibus
> locale-coding-system: utf-8-unix
>
> Major mode: Lisp Interaction
>
> Minor modes in effect:
> mlscroll-mode: t
> ultra-scroll-mode: t
> pixel-scroll-precision-mode: t
> minions-mode: t
> gc-maybe-mode: t
> server-mode: t
> lin-global-mode: t
> pulsar-global-mode: t
> pulsar-mode: t
> global-colorful-mode: t
> colorful-mode: t
> global-hl-todo-mode: t
> hl-todo-mode: t
> diff-hl-flydiff-mode: t
> global-diff-hl-mode: t
> editorconfig-mode: t
> vertico-multiform-mode: t
> vertico-mouse-mode: t
> nerd-icons-completion-mode: t
> marginalia-mode: t
> savehist-mode: t
> recentf-mode: t
> lsp-treemacs-sync-mode: t
> eros-mode: t
> sly-symbol-completion-mode: t
> apheleia-global-mode: t
> apheleia-mode: t
> treemacs-filewatch-mode: t
> treemacs-follow-mode: t
> treemacs-git-mode: t
> treemacs-fringe-indicator-mode: t
> flyover-mode: t
> global-flycheck-mode: t
> flycheck-mode: t
> global-corfu-mode: t
> corfu-mode: t
> vertico-mode: t
> display-line-numbers-mode: t
> hl-line-mode: t
> display-fill-column-indicator-mode: t
> override-global-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
> context-menu-mode: t
> global-font-lock-mode: t
> font-lock-mode: t
> minibuffer-nonselected-mode: t
> minibuffer-regexp-mode: t
> line-number-mode: t
> indent-tabs-mode: t
> transient-mark-mode: t
> auto-composition-mode: t
> auto-encryption-mode: t
> auto-compression-mode: t
>
> Load-path shadows:
> /home/aritro/.local/state/emacs/elpa/clojure-mode/clojure-mode-autoloads
> hides
> /home/aritro/.local/state/emacs/elpa/clojure-mode-20250527.840/clojure-mode-autoloads
> /home/aritro/.local/state/emacs/elpa/clojure-mode/clojure-mode hides
> /home/aritro/.local/state/emacs/elpa/clojure-mode-20250527.840/clojure-mode
> /home/aritro/.local/state/emacs/elpa/clojure-mode/clojure-mode-pkg
> hides
> /home/aritro/.local/state/emacs/elpa/clojure-mode-20250527.840/clojure-mode-pkg
> /home/aritro/.local/state/emacs/elpa/dired-hacks/dired-hacks-utils
> hides
> /home/aritro/.local/state/emacs/elpa/dired-hacks-utils-20240629.1906/dired-hacks-utils
>
> Features:
> (mailalias mailclient textsec uni-scripts idna-mapping ucs-normalize
> uni-confusable textsec-check undo-fu ispell shadow sort mail-extr
> emacsbug tramp-cmds vertico-directory vertico-repeat cursor-sensor
> mlscroll ultra-scroll pixel-scroll cua-base minions gc-maybe server lin
> pulsar colorful-mode hl-todo diff-hl-flydiff diff-hl log-view log-edit
> add-log pcvs-util vc-dir editorconfig editorconfig-core
> editorconfig-core-handle editorconfig-fnmatch vertico-multiform
> vertico-mouse nerd-icons-completion nerd-icons nerd-icons-faces
> nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon
> nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon
> nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline
> nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon
> marginalia savehist recentf lsp-zig lsp-yang lsp-yaml lsp-xml lsp-wgsl
> lsp-volar lsp-vimscript lsp-vhdl lsp-vetur lsp-html lsp-verilog lsp-vala
> lsp-v lsp-typos lsp-typespec lsp-typeprof lsp-ttcn3 lsp-ts-query
> lsp-trunk lsp-toml-tombi lsp-toml lsp-tilt lsp-tex lsp-terraform
> lsp-svelte lsp-steep lsp-sqls lsp-sql lsp-sorbet lsp-solidity
> lsp-solargraph lsp-semgrep lsp-ruff lsp-ruby-syntax-tree lsp-ruby-lsp
> lsp-rubocop lsp-roslyn lsp-roc lsp-rf lsp-remark lsp-racket lsp-r
> lsp-qml lsp-python-ty lsp-pylsp lsp-pyls lsp-pwsh lsp-purescript
> lsp-postgres lsp-pls lsp-php lsp-perlnavigator lsp-perl lsp-openscad
> lsp-odin lsp-ocaml lsp-nushell lsp-nix lsp-nim lsp-nginx lsp-nextflow
> lsp-move lsp-mojo lsp-mint lsp-meson lsp-mdx lsp-matlab lsp-marksman
> lsp-markdown lsp-magik lsp-fennel lsp-lua lsp-lisp lsp-kubernetes-helm
> lsp-kotlin lsp-json lsp-jq lsp-javascript lsp-idris lsp-haxe lsp-hack
> lsp-groovy lsp-graphql lsp-golangci-lint lsp-glsl lsp-gleam lsp-gdscript
> lsp-fsharp lsp-futhark lsp-fortran lsp-eslint lsp-erlang lsp-emmet
> lsp-elm lsp-elixir lsp-earthly lsp-dockerfile lsp-dhall lsp-d lsp-cypher
> lsp-cucumber lsp-copilot lsp-css lsp-c3 lsp-csharp lsp-crystal lsp-credo
> lsp-cobol lsp-cmake lsp-clojure lsp-treemacs lsp-clangd lsp-bufls lsp-go
> lsp-beancount lsp-bash lsp-awk lsp-autotools lsp-astro lsp-asm
> lsp-ansible lsp-angular lsp-ada lsp-actionscript climacs-languages
> zig-ts-mode-autoloads zig-mode zig-mode-autoloads wat-ts-mode-autoloads
> vhdl-mode hippie-exp vhdl-ts-mode-autoloads verilog-mode
> verilog-ts-mode-autoloads uiua-mode uiua-ts-mode-autoloads reformatter
> uiua-mode-autoloads reformatter-autoloads typst-ts-transient
> typst-ts-misc-commands typst-ts-lsp typst-ts-editing
> typst-ts-edit-indirect typst-ts-watch-mode typst-ts-compile
> typst-ts-faces elec-pair typst-ts-symbols
> typst-ts-embedding-lang-settings typst-ts-core typst-ts-variables
> typst-ts-mode-autoloads swift-ts-mode-autoloads scala-ts-mode-autoloads
> cperl-mode perl-ts-mode-autoloads js odin-ts-mode-autoloads
> ocaml-ts-mode-autoloads nasm-mode-autoloads llvm-ts-mode-autoloads
> kotlin-ts-mode kotlin-ts-mode-autoloads jq-ts-mode-autoloads
> janet-ts-mode-autoloads janet-mode-autoloads haskell-ts-mode-autoloads
> gleam-ts-mode-autoloads git-commit-ts-mode-autoloads
> devicetree-ts-mode-autoloads c++-ts-mode c-ts-mode
> cuda-ts-mode-autoloads clojure-ts-mode-autoloads clojure-mode align
> clojure-mode-autoloads c-ts-common c3-ts-mode-autoloads
> awk-ts-mode-autoloads treesit-fold treesit-fold-summary
> treesit-fold-parsers treesit-fold-util treesit-fold-autoloads beardbolt
> disass beardbolt-autoloads eros eros-autoloads sly-overlay-autoloads
> sly-macrostep sly-macrostep-autoloads sly-stepper sly-stepper-autoloads
> popup sly-asdf-flymake-base sly-asdf-autoloads popup-autoloads
> sly-quicklisp ert-x sly-tests mule-util sly-tramp sly-indentation
> sly-cl-indent sly-stickers hi-lock sly-trace-dialog sly-fontifying-fu
> sly-package-fu sly-scratch sly-fancy-trace sly-fancy-inspector sly-mrepl
> sly-autodoc sly-parse sly gud sly-completion sly-buttons sly-messages
> sly-common apropos hyperspec sly-autoloads geiser-chez-autoloads
> geiser-guile-autoloads macrostep-geiser-autoloads cmacexp cc-mode
> cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
> macrostep macrostep-autoloads climacs-navigation ibuf-macs ibuf-ext
> ibuffer ibuffer-loaddefs ibuffer-vc-autoloads transient svg
> ready-player-dired ready-player-autoloads delsel find-dired grep dired-x
> dired-hacks-utils dired-hacks-autoloads dired-aux
> dired-hacks-utils-autoloads diredfl-autoloads climacs-undo diff vundo
> vundo-autoloads undo-fu-session undo-fu-session-autoloads
> undo-fu-autoloads climacs-term disk-usage-autoloads eat-autoloads
> tramp-cache time-stamp tramp trampver tramp-integration tramp-message
> tramp-compat parse-time iso8601 tramp-loaddefs term disp-table shell
> ehelp term/xterm xterm vterm-autoloads climacs-format apheleia
> apheleia-rcs apheleia-formatters apheleia-dp apheleia-utils apheleia-log
> apheleia-formatter-context apheleia-autoloads climacs-lsp
> lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs
> treemacs-header-line treemacs-compatibility treemacs-mode
> treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
> treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
> treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
> treemacs-visuals treemacs-fringe-indicator pulse treemacs-faces
> treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils
> pfuture treemacs-logging treemacs-customization treemacs-macros
> lsp-treemacs-autoloads lsp-ui lsp-ui-flycheck lsp-rust lsp-modeline
> lsp-ui-doc lsp-ui-imenu lsp-ui-peek lsp-ui-sideline goto-addr
> lsp-ui-util face-remap lsp-ui-autoloads lsp-mode-clients-autoloads
> use-package use-package-delight use-package-diminish find-file
> lsp-completion lsp-semantic-tokens ido lsp-icons lsp-mode lsp-protocol
> tree-widget spinner markdown-mode lv ht filenotify lsp-mode-autoloads
> spinner-autoloads color markdown-mode-autoloads climacs-lint
> flycheck-guile-autoloads geiser geiser-mode geiser-xref geiser-compile
> geiser-repl geiser-capf geiser-debug geiser-image geiser-doc geiser-menu
> geiser-autodoc geiser-edit etags fileloop generator geiser-completion
> geiser-eval geiser-connection tq geiser-syntax scheme geiser-log
> geiser-popup view geiser-impl geiser-custom geiser-base geiser-autoloads
> flyover flyover-autoloads whitespace checkdoc flycheck jka-compr
> let-alist flycheck-autoloads climacs-completion emoji rfc1345 quail cape
> cape-autoloads corfu-extensions-autoloads corfu corfu-autoloads xref org
> ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script
> smie executable ob-comint org-pcomplete pcomplete org-list org-footnote
> org-faces org-entities noutline outline org-version ob-emacs-lisp
> ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys
> oc org-loaddefs cal-menu calendar cal-loaddefs org-compat org-macs
> format-spec flymake consult bookmark consult-autoloads
> marginalia-autoloads vertico-extensions-autoloads vertico
> vertico-autoloads orderless orderless-autoloads climacs-edit
> multiple-cursors cl mc-separate-operations rectangular-region-mode
> mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more
> sgml-mode facemenu dom thingatpt mc-cycle-cursors multiple-cursors-core
> comp comp-cstr rect multiple-cursors-autoloads benchmark dtrt-indent
> dtrt-indent-autoloads climacs-util python project treesit helpful
> cc-langs cc-vars cc-defs imenu trace cl-print edebug info-look f
> help-fns elisp-refs helpful-autoloads elisp-refs-autoloads dash s
> f-autoloads tar-mode arc-mode archive-mode edmacro kmacro ert ewoc debug
> backtrace find-func pcre2el rxt advice re-builder pcre2el-autoloads
> pcase minions-autoloads display-line-numbers hl-line
> display-fill-column-indicator loaddefs-gen radix-tree vc-git diff-mode
> track-changes files-x mm-archive message sendmail yank-media dired
> dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config
> gnus-util time-date mailabbrev gmm-utils mailheader mm-decode mm-bodies
> mm-encode mail-utils gnutls network-stream url-cache url-http url-auth
> mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw
> nsm puny package-vc vc vc-dispatcher lisp-mnt climacs-ui dbus compile
> text-property-search comint ansi-osc ansi-color ring xml
> use-package-bind-key bind-key easy-mmode moody compat ef-themes
> modus-themes use-package-ensure use-package-core finder-inf
> colorful-mode-autoloads diff-hl-autoloads ef-themes-autoloads
> gc-maybe-autoloads hl-todo-autoloads knockknock-autoloads lin-autoloads
> mlscroll-autoloads modus-themes-autoloads moody-autoloads
> nerd-icons-completion-autoloads nerd-icons-corfu-autoloads
> nerd-icons-dired-autoloads nerd-icons-ibuffer-autoloads
> nerd-icons-autoloads pulsar-autoloads treemacs-autoloads cfrs-autoloads
> posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads
> pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads info
> dash-autoloads ultra-scroll-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 url-vars comp-run bytecomp byte-compile comp-common rx
> xdg-no-littering inline xdg cus-edit pp cus-start cus-load wid-edit
> cl-extra help-mode warnings icons cl-loaddefs cl-lib rmc iso-transl
> tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
> lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
> touch-screen pgtk-dnd tool-bar dnd fontset image regexp-opt fringe
> tabulated-list replace newcomment text-mode lisp-mode prog-mode register
> page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
> scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
> frame minibuffer nadvice seq simple cl-generic indonesian philippine
> cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
> european ethiopic indian cyrillic chinese composite emoji-zwj charscript
> charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
> cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
> files window text-properties overlay sha1 md5 base64 format env
> code-pages mule custom widget keymap hashtable-print-readable backquote
> threads dbusbind inotify dynamic-setting system-font-setting
> font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar
> make-network-process tty-child-frames native-compile emacs)
>
> Memory information:
> ((conses 16 3373990 7576934) (symbols 48 86606 26543)
> (strings 32 599937 365155) (string-bytes 1 17363854)
> (vectors 16 189384) (vector-slots 8 2436457 2171141)
> (floats 8 965 20476) (intervals 56 233257 58849) (buffers 1064 22))
>
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.