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.
Trying to do this automatically is buggy to the point of insanity. It's
not reliable enough to use as a :post-build target for the pdf-tools
package.
Better to fail gracefully, let the user know what they must do, and let
them do it at their own discretion.
This fixes a number of UX issues with pdf-tools trying to eagerly build
epdfinfo at the least appropriate times, e.g. when org-mode processes
org-pdf-tools links.
Mentioned in #5086
Now that pdf-tools-install compiles epdfinfo asynchronously, pdf files
are loaded before it is finished, yielding errors while pdf-view-mode
initializes. There is currently no effective workaround;
pdf-tools-install must be executed manually.
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.
Also changes def-package-hook! -> use-package-hook!
The old macros are now marked obsolete and will be removed when straight
integration is merged.
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.
The old usage of set-popup-rule! is deprecated and may not work right!
The :ui popup module has also seen a major refactor to improve
efficiency and load times.
Sorry! This is the last "big" change before 2.1!