As of recent commits of Emacs 31, elisp files missing a
"lexical-binding: t" cookie will emit this warning:
Warning (files): Missing ‘lexical-binding’ cookie in "path/to/elisp/file".
You can add one with ‘M-x elisp-enable-lexical-binding RET’.
See ‘(elisp)Selecting Lisp Dialect’ and ‘(elisp)Converting to Lexical Binding’
for more information.
You can look forward to many of these if you use any old and
unmaintained elisp packages, or if you have elisp shell scripts with
shebang lines (which make this warning unavoidable).
This commit silences these warnings because it's poorly implemented.
It's obnoxious to users and they aren't the ones that should be told
this. It ought to be emitted during byte-compilation or by linters (e.g.
`M-x checkdoc`) at the folks actually in a position to do something
about the warning (i.e. the developers).
Ref: https://lists.gnu.org/r/emacs-devel/2024-05/msg00283.html
Now `doom-debug-mode` manipulates `doom-log-level` if you activate it
with a prefix arg, setting it to 1 by default, reducing its verbosity
and cutting down on noise in the logs.
Since we disable tooltip-mode, the echo-area should expand to display
multi-line output, to be consistent with our default for
resize-mini-windows. This also fixes the truncation of annotations in
PDF buffers (#1615).
Fix: #1615
For the sake of reducing complexity, I stop Doom from stripping symlinks
or the "/sudo:" prefix from tramp paths in recentf's file list. It's
extra work that's not strictly necessary or unanimously desired.
Also removes the tidbit about `recentf-show-abbreviated`; the variable
was removed just prior to 29's release so it is no longer an option.
Due to a typo in the hook's self-removal, causing this function to
trigger many times per second. It isn't doing much thanks to the
debouncing, but was still legitimately triggering doom-switch-frame-hook
every ~2 seconds despite no change in frame focus.
Also removes the ineffectual inhibit-redisplay let-bind.
Amend: 653b465c74
Redesign this hook around `after-focus-change-function`, along with
debouncing, to prevent it from triggering too aggressively (due to
misbehaving desktop environments, elisp packages that tinker with frame
focus, or accidental (and rapid) focus changes by the user).
`doom-switch-{window,buffer}-hook` have also been simplified, and
`doom-switch-window-hook` now will not trigger when focusing another
frame (only when you switch windows *within* any one frame).
This also fixes diff-hl not updating when refocusing an Emacs frame.
lewang/ws-butler@d3927f6131 -> emacsmirror/nongnu_elpa@9ee5a7657a
ws-butler was moved to a branch of the emacsmirror/nongnu_elpa repo, but
Straight already uses this repo for recipe lookups and struggles to host
multiple packages that live in the same repo but different branches. To
get around this, Straight must be forced to clone it twice with an
explicit recipe.
This needs to be revisited, because this will likely happen again in the
future...
Fix: #8333
Ref: emacsmirror/nongnu_elpa@b890949b1b
Otherwise, the known projects list could be empty the first time the
project switcher prompt is shown via any command that isn't explicitly
`projectile-switch-project` (like invoking `projectile-find-file` from a
non-project buffer).
Ref: #8330
Without the trailing slash, the known projects file ended up being
{doom-cache-dir}/projectileprojects.eld when it should be
{doom-cache-dir}/projectile/projects.eld.
Amend: ad7d9fa657
Projectile was bumped in #8317, which introduced per-project file
caches, but they were written to the root of the project. Rather than
litter projects with these dotfiles, I advise projectile to write them
to a single place (under `doom-profile-cache-dir`).
Also moves the known-projectiles cache file to the same directory.
Amend: #8317
In the interest of slimming down Doom's core (as we near v3), I've
deprecated these macros. They doesn't really need to exist. Sure, the
alternatives aren't as ergonomic or elegant, but they're good enough
that we don't need these trivial wrappers. Their local uses have been
refactored out as well.
`input-decode-map`s bindings are terminal-local and are memoized at an
indeterminable time by `read-key-sequence`, rendering that
`display-graphic-p` check stale by the first client frame and these
TAB/RET fixes unavailable to daemon users.
Amend: 538ddf5e66Fix: #8269Close: #8303
Also ensures the envvar is removed if it's empty, and doesn't permeate
an empty DEBUG when executing doom/reload.
Amend: 8c7711920eClose: #8310
Co-authored-by: AjaiKN <AjaiKN@users.noreply.github.com>
Users shouldn't be using both, and `load-theme` should be higher
priority (because it's easier to do by accident).
Fix: #8257
Amend: #8119
Amend: 50b9afbb2d
Like Fish, using nushell as your shell-file-name can cause downstream
issues wherever Emacs (or Emacs packages) spawn child processes via a
shell command and rely on its output. For example: diff-hl users may not
see a git gutter if nushell (or fish) is their $SHELL.