In +format--set:
../modules/editor/format/autoload/settings.el:81:26:Warning: ‘error’ called
with 0 args to fill 1 format field(s)
Signed-off-by: Edwin Török <edwin@etorok.net>
setting +write-mode-hook had no effect because +write-mode-hook was not
defined yet, it is only defined by the minor mode definition inside
autoload.el (which didn't get autoloaded yet).
Due to this when activating `+write-mode` the `mixed-pitch-mode` did not
get activated.
Fix this by moving these all to autoload.
Signed-off-by: Edwin Török <edwin@etorok.net>
If you accidentally open multiple magit status windows, you'll be stuck
in a deadlock, where `q` will do nothing. Now, +magit/quit will use
`quit-window` on excess magit-status windows instead.
Caused my misuse of if-let* to let-bind dynamic variables. The expanded
code doesn't quite work out the way I expected, causing
python-shell-interpreter to be nil regardless of which side of the
if-else statement ran.
Uses a less destructive method (the same that Spacemacs uses) than the
one introduced in 13cee68, by introducing MODE-local-vars-hook hooks,
which run after local vars have been initialized.
The old method was to call `hack-local-variables` *before* mode hooks
run, however, this causes variables set by modes to have higher
precedence than local vars, which is unacceptable.
Also moved intero-mode & dante-mode to haskell-mode-local-vars-hook
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.
+ doom-project-p & doom-project-root are aliases for
projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
consistency, since projectile-project-name and
projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
It's possible for the debugger to be invoked from inside code wrapped in
a (quiet! ...) call. The debugger pauses Emacs in a broken state where
the functions locally rebound by quiet! (e.g. message, load-file,
write-region, etc) are never returned to their original definitions.
This attempts to reduce that probabilityby changing how quiet! silences
code. Rather than silencing them completely, they will be logged
to *Messages* but not displayed in the echo area.
Also, quiet! is now used less, where it isn't strictly needed (or where
inhibit-message is sufficient).
This is experimental. I'd eventually like users to be able to management
Doom from inside Emacs, if they desire. This may be the only way to have
a decent user experience on Windows, for that matter.
Also adds a popup rule for it.
Replaces instances of replace-regexp (interactive-only functions),
removing the need for with-no-warnings and quiet!.
Improves regexp responsible for compacting whitespace in between
properties, which reduces compaction of whitespace in string arguments.