These two modes exist to provide a nicer reading experience while
viewing Doom's org documentation from within Emacs; they hide
meta-lines, comments, markup, and more.
They also enable our docs to use IDs for links and keep our ID db
separate from any user ID dbs.
doom--fix-broken-smie-modes-a forces dtrt-indent-mode to expect exactly
one argument so an error will be raised when the latter is turned on
without args programmatically in lisp.
Its default value is acceptable in 28+ and handles clipboard integration
in PGTK Emacs, so we don't have to.
Thanks to @sei40kr for revealing this fix to me (in #5219).
Fix#5219
Reduce how much projectile hits the server in TRAMP buffers by:
- Not looking for fd/fdfind (just use the VCS-specific commands
projectile provides and assume they're present on the remote).
- Not walking up the directory tree to display the project name in the
mode line.
- Reducing TRAMP file-cache misses.
- Reducing how chatty tramp is about its connections.
Fix#5360
If a file has auto-saved data (see auto-save-default), after-find-file
will stop the world for 1 second to tell you about it. Very annoying.
Just log it to *Messages* and open the file immediately.
Also:
+ Refactors recentf config in general, revises/expands its code
comments, and uses :custom to set file variable (a new convention I'm
trying out).
+ recentf-auto-cleanup = 300 in daemon sessions, since the old strategy
of "cleanup on kill-emacs-hook" isn't so great for daemon users.
Emacs generates long file names for auto-save and backup files.
undo-fu-session and tramp are two more big offenders. This fix SHA1s
their file names so they never exceed 40 characters.
Will also affect any package that uses make-backup-file-name-1
directly (like undo-tree).
Throws wrong-type-argument number-or-marker-p errors otherwise, because
dtrt-indent--for-each-indentation calls
dtrt-indent--skip-to-end-of-match with four nil arguments (presumably
because there is no pascal entry in dtrt-indent-language-syntax-table)
and there is no fall back to its default entry.
Smartparens creates a conditional keybind on C-g when its overlays are
present (whether or not they're visible). This causes confusion when
evil users are forced to press C-g twice to exit insert mode.
febf960 introduced a regression, in that it caused `smartparens-mode' to
no longer be enabled for `evil-ex'. This is because the latter doesn't
call `read--expression', but calls the minibuffer directly instead.
Return `doom-init-smartparens-in-minibuffer-maybe-h', enabling
`smartparens' for `evil-ex'. The hook responsibly for enabling it in
`eval-expression-minibuffer-setup-hook' was renamed to
`doom-init-smartparens-in-eval-expression-h', since otherwise the naming
would have been awkward.
Also explicity enable `smartparens-mode' instead of toggling it.
`doom-init-smartparens-in-minibuffer-maybe-h' is responsible for enabling
`smartparens' in the minibuffer, which it does by checking `this-command'.
However, the list of commands doesn't include `edebug-eval-expression',
preventing the mode from being enabled for it.
Fix this by enabling `smartparens' in `eval-expression-minibuffer-setup-hook',
unconditionally, which means that anything using `interactive' "x" or
`read--expression' will work correctly.
Seems like a more sensible default to reindent the line if cursor is at
BOL or in indentation, then insert literal indentation (tab or space *
tab-width) otherwise.
- Moves clipetty to its own, opt-in module (#2671, #3195, #3498)
- Fix cursor shape changing between evil states (#1994)
- Moves `xterm-mouse-mode` and `visible-cursor` config out of core.