Still a long way to go, but this introduces a few niceties for
debugging CLI failures:
+ The (extended) output of the last bin/doom command is now logged to
~/.emacs.d/.local/doom.log
+ If an error occurs, short backtraces are displayed whether or not you
have debug mode on. The full backtrace is written to
~/.emacs.d/.local/doom.error.log.
+ bin/doom now aborts with a warning if:
- The script itself or its parent directory is a symlink. It's fine if
~/.emacs.d is symlinked though.
- Running bin/doom as root when your DOOMDIR isn't in /root/.
- If you're sporting Emacs 26.1 (now handled in the elisp side rather
than the /bin/sh shebang preamble).
+ If a 'doom sync' was aborted prematurely, you'll be warned that Doom
was left in an inconsistent state and that you must run `doom sync`
again.
May address #3746
+ Replace "daemonp" and "windowsys" fields with "traits" field, which
can now indicate the presence of: Chemacs, exec-path-from-shell,
symlinked EMACSDIR/DOOMDIR, a running server, the daemon and an envvar
file.
+ Now replaces $USER in absolute paths with literal "$USER".
+ Reordered fields from most to least general (system -> emacs -> doom)
+ Show "&user" next to modules that are private modules (defined in
~/.doom.d/modules/)
Script was using -eq, which is a numeric comparison, and was producing
an "integer expression expected" error. Changed to =, the string
comparison operator.
spell-fu lacks support for multiple dictionaries, affix expansion, and
many non-English dictionaries, so I've added back flyspell support to
the spell module, but opt-in, because it is still the significantly
slower option and spell-fu may support them one day.
If not, tlikonen/wcheck-mode is another alternative to consider.
Fixes#3813
+ Fixes ispell not noticing allowed words in your personal dictionary.
So +spell/correct would sometimes correct words that spell-fu wasn't
highlighting as incorrect, and sometimes wouldn't correct words that
were.
+ Fixes spell-fu refusing to read or write to the personal dictionary if
the file didn't already exist beforehand (for zq and zw).
+ Change ispell-dictionary fallback from "en_US" (which aspell won't
always recognize) to "en".
+ Moved ispell-personal-dictionary to ~/.emacs.d/.local/etc/ispell/ by
default.
Aspell is a hard dependency of this module, even if you use hunspell as
a backend. The spellchecker will simply bow out if aspell isn't present
on your system at startup.