With +extra enabled, this module would activate `prettify-symbols-mode`
in any buffer where `prettify-symbols-alist` is non-nil, whether or not
`+ligatures-extra-alist` has an entry for the current major mode (or a
parent thereof). This behavior is poor UX, since the user may be
expecting that a empty entry for some `X-mode` in
`+ligatures-extra-alist` should mean *no` prettify-symbols-mode` at all
in `X-mode`.
With this, `+ligatures-extra-alist` is now the authority. An empty entry
for `X-mode` will result in `prettify-symbols-mode` *not* being
activated there. If that entry *isn't* empty, it will be combined only
with the global default value of `prettify-symbols-alist`, not any
pre-existing buffer-local value, to make the end result deterministic,
because some modes have their own defaults for it (like
`lisp-prettify-symbols-alist`, `js--prettify-symbols-alist`, and
`rust-prettify-symbols-alist`).
Fix: #7440
BREAKING CHANGE: This removes the irony and rtags packages so we can
lean on LSP servers like clangd and ccls fully, which provide the same
features with much more consistency.
Close: #8049
In e0a926d, I defaulted to not using bitmaps for indent-guides, but
after some more research, I realize this slowness is more prominent on
MacOS, older PGTK builds, and (possibly) Windows, so I've opted to
re-enable bitmaps by default, unless you're on one of those
systems (except Windows; still testing that).
This change also makes the guide bars more subtle, since the default is
too distracting and colorful.
Ref: #8052
Ref: e0a926dc1e
Changing workspace is big motion so we should blink the cursor.
We can not use `+nav-flash-blink-cursor-maybe-h` as the point
is not yet in the correct buffer when the hook is triggered.
The bitmap method is slower and not that different, visually, from the
character method.
Fix: #8052
Co-authored-by: nightkr <nightkr@users.noreply.github.com>
Dirvish uses the fringe for its vc-state diff, which isn't available in
TTY Emacs, so we still need `diff-hl-dired-mode` there.
Revert: a8ed6c9f7d
Ref: #6760
Otherwise, each time `+workspace-save` is called, all prior saved
workspaces would be deleted from `+workspaces-data-file` before
inserting the new one.
This was an elusive bug caused by two upstream behaviors:
1. `kill-buffer` will silently refuse to kill a buffer if there is a
thread associated with it.
2. `global-diff-hl-mode` activates `diff-hl-mode` in *most* buffers,
even invisible ones. This calls `diff-hl-update` each time
it does. This isn't a problem *unless* you have `diff-hl-update-async`
enabled, because it creates a thread every time `diff-hl-update` is
called. That means for every buffer -- real or transient -- you have
a new thread queued.
And this caused two main issues:
1. Temporary buffers are often opened and closed very rapidly (often
faster than the thread can complete), so they weren't getting cleaned
up. I hope you weren't too attached to your memory, because you'll
have a lot of buried buffers to feed before long!
2. In cases where `diff-hl-update` simply takes a long time, multiple
calls to it would queue more threads. When Emacs eventually yields
the CPU to them, you'll get random,
impossible-to-predict-or-track-down freezes. Joy!
This may very well be enough reason to disable `diff-hl-update-async` by
default, but I didn't want to give up on it *just* yet, despite how
inelegant this solution is...
Fix: #7954Fix: #7991
Adapts to changes made upstream to Org's window management logic (e.g.
Org dropped `org-switch-to-buffer-other-window` for
`switch-to-buffer-other-window`, and org-journal renamed one of its
helper functions).
Doom removes the "none" workspace from persp-mode's default list of
perspectives, because it is a special case that doesn't behave
identically to other persps in the list, making it a pain to deal with.
This worked fine up until a change to `persp-update-names-cache` (in
Bad-ptr/persp-mode.el@0d6cacc) made it re-insert this "none" workspace
into `persp-names-cache` whenever it is called, undoing our hack; this
commit adapts to that change.
Ref: Bad-ptr/persp-mode.el@0d6caccab3
Ref: Bad-ptr/persp-mode.el@b2e68f97cbFix: #7986
Amend: 7f3412e317
For deleting saved workspaces (saved with `+workspace/save` or
`+workspace-save`).
Also binds `SPC TAB D` (for evil users) and `C-c w K` (for non-evil
users) to it.
Fix: #4399Close: #7869
Co-authored-by: sriramsk1999 <sriramsk1999@users.noreply.github.com>
This advice was suppressing ws-butler's modification hooks, which had a
nasty side-effect of modifying org buffers without letting its
org-element cache know that it's stale, which resulted in errors like
this, followed by a backtrace:
Warning (org-element): org-element--cache: Unregistered buffer modifications detected (175 != 176). Resetting.
If this warning appears regularly, please report the warning text to Org mode mailing list (M-x org-submit-bug-report).
The advice isn't needed anymore, anyhow.
Our former approach would enable diff-hl unconditionally. This way, the
`diff-hl-global-modes` variable is respected.
Ref: https://discourse.doomemacs.org/t/4710/2
`treemacs-add-and-display-current-project-exclusively' seems to confuse
some people and please others when it is used in $HOME. To reduce
confusion, SPC o p will now resume from the last session if
default-directory isn't a valid project OR if it's $HOME. It will also
emit a warning informing them of that.
Fix: #7948
Amend: f9dfb7e92a