- Fixes: `set-lookup-handlers!` couldn't define :definition or
:references handlers in text-mode derivatives.
- Adds: support for evaluating code in jupyter blocks (#2477).
When a log or diff buffer is opened from the magit status buffer, it
would display them in a random window (or split, if none were
available). This changes forces it to predictably open to the right of
the magit status window (using the next window over, if available).
Since bury-buffer is already on SPC b z, and isn't a common operation in
day to day Emacs use.
Other useful keybinds:
ZZ -> Save then kill current window
zx -> kill current buffer (prompts if unsaved)
SPC b z -> bury buffer
zn -> (operator) narrow buffer
zN -> widen narrowed buffer
With this, gr and gR will now work in babel blocks to execute a subset
of the block (or the whole thing, if you'd like). Results are displayed
in a popup buffer (or overlay if :tools (eval +overlay) is enabled).
A convention on many text editors and applications is to make RET
auto-indent new lines. That has already been done. Another convention is
for S-RET to insert an unindented line; this commit adds this convention
to Doom.
Relevant to #3694
+ Fixes: doom-unpropertize-kill-ring-h ran too late to affect the value
of kill-ring that gets saved.
+ Adds: now persist mark-ring and global-mark-ring (doesn't affect evil
users)
Also refactors +org-make-last-point-visible-h to be more realistic about
when it should and shouldn't expand the hidden region at point. Since
org-agenda-inhibit-startup is now non-nil by default it makes no sense
to test it (and it was a poor choice to begin with).
Plus, instead of using outline's API, better to use org's, even if
they're aliases or wrappers. Less of a maintenance burden.
Ultimately, I didn't find this useful. Unifying n/N and ;/, was
inconvenient when you wanted to repeat each kind of search
independently (which happened more often than I had anticipated).
What's more, it introduced another point of confusion for new users
coming from vim. In the end, it's simply better to do as vim does.
Fixes#3689
The problem is that at this point, flycheck-mode might not be active
yet. Calling flycheck-disable-checker always call (flycheck-buffer)
which would result in an error: (user-error "Flycheck mode disabled")
If a load call occurs within the autoloads file and throws a
file-missing error, it would be misleading to say 'doom sync' will fix
it, so forward the real error!
I had incorrectly assumed tramp-own-remote-path would prepend the remote
system's PATH to tramp's exec-path, but it does not, it prepends your
local machine's PATH onto it. tramp-default-remote-path was what I was
looking for and it is already in tramp-remote-path by default.
If tramp can't find a program on the remote it's because either the
remote doesn't support getconf (which tramp uses to scrape the remote
PATH), or your PATH on the remote has been incorrectly configured.
Doom highlights incorrect indentation (i.e. tabs if indent-tabs-mode =
nil, spaces if indent-tabs-mode = t). This used to be disabled in
read-only buffers (e.g. built-in libraries), making style conflicts hard
to see. No more! Now you can see the mess for yourself!
This should at least report what function invoked the error.
doom-first-input-hook was especially problematic because it runs on
pre-command-hook, which Emacs is very protective of. It will smother
errors that arise from it and auto-remove the offending hook. This
self-correction is nice for avoiding a broken Emacs, but it makes it
tough to debug those issues.
`lsp-deferred` calls `lsp` and `lsp` seems to do something expensive
whether or not lsp-mode is already active. Over TRAMP, this is much too
expensive, so we no-op lsp-deferred if lsp-mode is already active.