Autosaving our buffers can trigger unwanted side-effects, like save
hooks and formatters, which is too magical. Instead, trust the user to
know what they're doing.
The former default display function would strive to open windows below
the current magit window (splitting it), but this would stack and
quickly become cramped. The behavior is now to reuse the same
window *unless* you're opening the process buffer or from the commit
window.
Disabling git-gutter in fundamental-mode theoretically reduces the
number of times git-gutter is initialized (because it has to switch to
and from fundamental-mode once, sometimes twice, when changing major
modes).
git-gutter also has trouble with org-indent-mode, so we disable it
there.
And it isn't useful in image-mode.
Init extra fonts within doom-init-fonts-h. This was moved because I used
to believe that set-fontset-font (according to its documentation) could
only change the frame-local fontset. It turns out that the exception
when you pass t for its first argument, which targets the default (i.e.
global) fontset.
There are a few kinks to iron out, but for the most part it's done. Doom
Emacs, powered by straight. Goodbye gnutls and elpa/quelpa issues.
This update doesn't come with rollback or lockfile support yet, but I
will eventually include one with Doom, and packages will be (by default,
anyway) updated in sync with Doom.
Relevant threads: #1577#1566#1473
- Adds the auto-minor-mode package to replace our in-house
implementation.
- Merges associate! into the def-project-mode! macro because associate!
on its own is less useful than auto-minor-mode-alist,
auto-minor-mode-magic-alist or hooks.
- Changes the semantics of :modes and :add-hooks properties of
def-project-mode!. Its arguments are evaluated as is; lists will need
to be quoted.
squash! core-lib: remove associate! macro
- file! replaces FILE!
- dir! replaces DIR!
- doom-{glob,path,dir} have the power to construct paths out of the
segment pieces provided to it.
- Move doom-files-in to core-lib and refactor to use the above.
Now uses an interned hook name (that could be removed, unlike the
uninterned symbol make-symbol creates).
Also, for consistency: fun -> fn
No fun allowed!
Adds new convenience macros like print! and insert!, and adds classes;
which are helper functions that can be called inline within format!,
print! et co, e.g.
(format! "%s" (filename "/tmp/some/file")) ; => file
(format! "%s" (relpath "/tmp/some/file" "/tmp")) ; => some/file
(format! "%s" (dirname "/tmp/some/file")) ; => /tmp/some
Check out doom-format-class-alist for more.