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).
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.
Running +eval/region (gr) and +eval/buffer (gR) will use
+emacs-lisp-eval (in emacs-lisp-mode buffers). This change will force it
to emit a backtrace in case of an error.
+ Robe is now to be started manually.
+ Adds more keybindings for robe (including <localleader> ' for
robe-start).
+ Use ruby-mode if ruby isn't available (e.g. editing ruby files on
remote systems), enh-ruby-mode otherwise.
+ Added rake, bundler, rvm, rbenv and minitest packages
+ Added $RBENV_ROOT/shims to exec-path. This should fix rbenv support
for the ruby version display in the modeline.
+ Add $PYENV_ROOT/shims was added to exec-path, so pyenv python version
is picked up on.
+ Fixes out-of-date python version in the modeline of other buffers
after switching pyenv/pyvenv/conda envs.
+ The pipenv version and regular python display have been merged.
When you hover your cursor over agenda items, the path to that headline
is displayed in the minibuffer. If org-level-N have unusual :height
values, they'll cause the minibuffer to grow.
This removes any variable font sizes from this display.
`pipenv run ...` searches for a Pipfile itself, but doesn't search far
enough, creating a Pipfile in the current directory. Instead, we run the
command from the pipenv project root so it doesn't have to search.
+ Adds three new default org-capture templates, for todo, notes and
changelogs. It will use the first {todo,notes,changelog}.org file
found up the file heirarchy from the current file, or will use
{project-root}/X.org.
+ Variables in org-capture-templates are now resolved relative to
org-directory, if they aren't absolute.
+ Display target file in org capture window header-line.
Mentioned in #886.
+ Change +format-type to +format-region-p (now a boolean)
+ Add PRESERVE-INDENT-P boolean argument to +format-buffer
+ Add +format-preserve-indentation variable (only controls indent
preservation during +format/buffer, not +format/region, where it's
always enabled).
+ Fix error arising from +format|buffer hook when no formatter is
defined for the current mode #893
+ Change +format|buffer to alias for +format/buffer.
And replace it with buffer-local mode-name setters. This is more
explicit and less magical, which is easier for users to discover and
change, if they'd like.
This is for loading large packages (like org and magit) quietly in the
background during idle time. It is already set up to incrementally load
org and magit.
This is still experimental, however. the idle timers may need to be
tweaked.
```
In toplevel form:
../modules/lang/emacs-lisp/autoload.el:71:21:Error: Wrong type argument: listp, "~/.emacs.d/modules/lang/emacs-lisp/autoload"
✕ Failed to compile modules/lang/emacs-lisp/autoload.el
```
This apparently attempts to get compiled multiple times, avoid that by
attempting to compile only if it is not compiled already.