Emacs 27.x has been the stable version of Emacs for nearly a year, and
introduces a litany of bugfixes, performance, and quality-of-life
improvements that significantly reduce Doom's maintenance burden (like
XDG support, early-init.el, image manipulation without imagemagick, a
native JSON library, harfbuzz support, pdumper, and others).
With so many big changes on Doom's horizon, I like having one less (big)
thing to worry about.
Also reverts bb677cf7a (#5232) as it is no longer needed.
In the PDF module, there is a macro that is used to prevent the
file-too-big prompt for PDFs since they're always too big. However, this
macro has an extra variable listed that then gets passed on to the
wrapped function and causes an error if the function doesn't support the
extra variable.
This fix simply checks if the extra value is present or not and only
calls the wrapped function with it if is actually present. After all,
the variable will still be nil even if nil isn't passed.
A call to `format-all--formatter-executable` with the formatter being
equal to `'lsp` or `'eglot` will return `nil`. Therefore, `funcall` was
never called in those cases.
`W` was used to emulate `C-w C-w`, which is useful to quickly change windows
most of the time. But this currently conflicts with edebug evil-collection bindings.
(gives `Key sequence W W starts with non-prefix key W`).
Better to leave the key alone, avoid error messages altogether, and let users redefine
the binding if they want to.
+ Rather than waiting for the first "interactive" major mode to be
visited to activate yas-minor-mode, we wait until the first time the
user invokes a snippet command to activate yas-global-mode.
+ yas-reload-all is one of the bottlenecks when loading a file for the
first time. Deferring it further should help with this.
+ yas-global-mode reaches more major modes than our former list of
hooks (fixes#5140).
Closes#5140
This happened because LSP hooks on kill-buffer-hook (and possibly
others) caused our temporary formatting buffer to talk to LSP as if it
were the original buffer. When the temp buffer was cleaned up, LSP
assumed the original buffer had been closed. No more!
In fact, to avoid similar issues, let's avoid any complex functionality
in hooks in this temp buffer.
This isn't the apheleia rewrite, just a redesign to fix the module's
current issues with its +onsave feature.
+ Rethinks how the formatter dispatches to lsp/eglot's formatter.
+ Stops format-all from being too imposing with its warnings.
+ Relies more on format-all-mode to control formatting-on-save.
+ Sidestep +format-buffer-a hackery when using lsp/eglot formatters.
Fixes#5121Fixes#5128Fixes#5133
Tab should only be changed for evil users in insert mode, since they
have fold cycling functionality available in normal mode and vanilla
users do not.