+ Rename message! => print!
+ New printerr! macro
+ Extended color support to interactive sessions (now propertized using
term faces, so we don't have to rely on a popup window to display it).
The would prioritize load-file-name over byte-compile-current-file
during byte-compiling, which would result featurep! being unable to
resolve the current module and load! from figuring out where "here" was
to build its relative paths from.
+ Consolidate the CATEGORY -> MODULE terminology
+ Rename functions to make their function easier to understand
+ Rename doom-module-expand-file => doom-module-path
+ Rename doom-module-find-path => doom-module-locate-path
Editorconfig is given precedence. If it successfully sets an
indent_style or indent_size for the current buffer, automatic
indentation detection will be disabled.
These two files shouldn't be byte-compiled. Until now it was expected
that you'd include a no-byte-compile: t header in these files. This is
more convenient.
Make autoloads will expand the include paths of Doom autoload cookies.
This fixes an issue where paths were expanded to include a file
extension, bypassing the benefits of byte-compilation.
This convenience macro lets you specify multiple packages with one
block, e.g.
(packages! rtags ivy-rtags glsl-mode)
Each entry can be a full recipe.
(packages! (rtags :disable t) (glsl-mode :recipe (...)))
This allows users to disable one master package, thus disabling all its
children. e.g. Disable irony, then irony-eldoc, flycheck-irony,
company-irony and company-irony-c-headers will be disabled too.
This offloads some of the work Doom has to do creating
`doom-packages-file` onto `make autoloads`. This closely mimics the
package-quickstart-refresh functionality in Emacs 27+, but is more
specialized.
This means package autoloads are now loaded on every startup.
Many :mode, :interpreter, and :commands declarations in def-package!
blocks are made redundant by this and will be cleaned up soon.