Commit Graph

359 Commits

Author SHA1 Message Date
1bc5f441f0 tweak: helpful-set-variable-function: use setq!
helpful-set-variable-function defaults to setopt if it's available, setq
otherwise. `setopt` is superior for this use case because it uses
custom.el's mechanism for setting variables (thus respecting custom.el's
setters and type checks), however, it is unavailable in Emacs 28 and
earlier (`setopt` was introduced in 29).

Doom defines `setq!`, which is a drop-in replacement for setopt, and is
functional in Emacs 28, so it is the better option here.

Ref: #7527
2023-11-23 17:38:22 -05:00
c5f561b0c5 bump: :core
Fuco1/smartparens@79a338db11 -> Fuco1/smartparens@0778a8a840
Wilfred/helpful@66ba816b26 -> Wilfred/helpful@a32a5b3d95
bbatsov/projectile@971cd5c4f2 -> bbatsov/projectile@9446ea92d2
emacs-compat/compat@ecf53005ab -> emacs-compat/compat@ea8de2ea18
emacs-straight/project@ce140cdb70 -> emacs-straight/project@f64bcf065c
radian-software/straight.el@5e84c4e2cd -> radian-software/straight.el@b3760f5829
rainstormstudio/nerd-icons.el@619a0382d2 -> rainstormstudio/nerd-icons.el@e109d09b95

Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
Close: #7527
2023-11-23 17:29:31 -05:00
986398504d refactor: defvar -> defcustom
Ref: 8c442d84b9
2023-10-07 02:33:45 +02:00
b42882c545 refactor: make fallback font families constant
These are undocumented internal variables for basic platform-specific
fallbacks. Now that doom-symbol-font and doom-emoji-font exist, make
them constant.
2023-10-07 02:33:45 +02:00
7abed4dbf1 fix: fall back to emoji font for symbols
Symbols fonts vary widely in their coverage of Unicode symbols blocks.
Emoji fonts are generally guaranteed to cover the small subset of
symbols code points that have assigned emoji representations, so fall
back to them when symbols fonts are lacking.

Ref: https://en.wikipedia.org/w/index.php?title=Variant_form_(Unicode)&oldid=1175107681#Blocks_with_standardized_variation_sequences
2023-10-07 02:33:45 +02:00
37affa5cff feat: add doom-emoji-font
This parallels doom-symbol-font for emoji. In the process, refactor
symbol and emoji font setup to take advantage of these parallels.
2023-10-07 02:33:45 +02:00
4499ce7b0a refactor: doom-unicode-font -> doom-symbol-font
No font supports all of Unicode or anywhere near it. It’s not even
really possible with current font formats. Therefore, rename
`doom-unicode-font` to `doom-symbol-font`. Only set it as a fallback for
characters in the `symbol` and `mathematical` scripts.
2023-10-07 02:33:45 +02:00
1cc7b04059 docs: clarify doom-unicode-font default
d4dec35658 removed Apple Color Emoji, and it wasn’t clear how Symbola
was set if this variable was nil.
2023-10-07 02:33:45 +02:00
317cea5eef fix: assign emoji fallbacks directly to emoji script
Ref: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=12d2fb58c416b557924174f57bfb1c9b9e7cf999
2023-10-07 02:33:45 +02:00
5e6430e9e6 fix: assign Nerd Fonts directly to Unicode PUAs
Nerd Fonts assign icons to code points in these Unicode Private Use
Areas. `doom-unicode-font` is now available again as a user-defined
fallback of last resort for non-PUA Unicode code points.

Ref: f12c615e4d (overview)
2023-10-07 02:33:45 +02:00
f5be3ec1e5 fix: use ansi-color-compilation-filter on emacs28+
I'm using Emacs30 and on my version,
doom-apply-ansi-color-to-compilation-buffer-h does not colorize all the
escape sequences. Using ansi-color-compilation-filter instead fixes this
for me.
2023-10-05 17:44:08 +02:00
4b81a70aff nit(docs): fix typo and extraneous backquote 2023-09-20 20:23:26 +02:00
88bb045388 docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
3627b82fd3 docs: revise and fix nerd-icons doctor check
Also fixes an issue where errors weren't counted, so the explanation
would never appear.

Fix: #7431
2023-09-16 15:32:54 +02:00
b58dc721aa fix: lingering autoloads from inactive packages
A package's autoloads aren't expunged from Doom's profile init file,
even after that package has been disabled. If a package's autoloads has
side-effects, this can lead to void references/function errors. One such
case is with php-extras, which will try to call
`php-extras-company-setup` after company loads from its autoloads, but
this function naturally won't be loaded if the package is disabled.

This change fixes this, fully expunging orphaned autoloads on `doom
sync`.
2023-09-14 19:01:39 +02:00
e97b05c07c fix: nerd-icons-material => nerd-icons-mdicon
Fix: #7422
Amend: #7411
2023-09-14 14:58:01 +02:00
9787022b83 refactor!: replace all-the-icons with nerd-icons
BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any
all-the-icons-* function calls or variable references in your private
config will break and should be replaced with their nerd-icons-*
equivalent. That said, Doom will continue to install all-the-icons for
a while, so feel free to load it if you don't want to fully commit to
the change yet.

This change is happening because nerd-icon has wider support for GUI and
TUI Emacs; has a larger, more consistent selection of symbols; plus unicode
coverage.

Fix: #7368
Close: #6675
Close: #7364
2023-09-14 01:03:55 +02:00
7bdf7cf7c0 refactor: doom-guess-mode-h: return non-nil on success 2023-09-12 21:30:56 +02:00
f26b038ec3 fix: prevent quit in the middle of doom/escape 2023-09-12 21:30:56 +02:00
af8ec870ac fix(lib): 'back to *' links in doom-docs 2023-09-12 21:30:56 +02:00
69cedebfda docs: add fish shell check 2023-09-12 21:30:56 +02:00
447b59c9c0 docs: properly indent core doctor checks 2023-09-12 21:30:56 +02:00
95a5a32aac docs: expand multiple/non-standard config checks
Close: #7391
Close: #7295
2023-09-12 21:30:55 +02:00
a44e8d6bfd nit: general reformatting & minor comment revision 2023-09-11 23:56:21 +02:00
f427c8a30e tweak: scroll-conservatively = 10
Forces the window to recenter if the cursor moves >=10 lines off-screen.
This makes some of our manual recentering elsewhere unnecessary.
2023-09-11 23:53:36 +02:00
a7123bf65f fix: write native-comp cache to $EMACSLOCALDIR
Otherwise, it writes them to /tmp. This way, the CLI can clean them up
along with other package state in the future.
2023-09-11 23:53:35 +02:00
7f3d5d54bd refactor(lib): hoist new org-id-locations-file value 2023-09-11 23:53:35 +02:00
75d4046820 fix(lib): doom/reload-docs: `org-id-get' warnings
Prevents '`org-id-get' expects a file-visiting buffer' warnings in some
in-repo org files.
2023-09-11 23:53:35 +02:00
deb83dc6a9 fix(lib): doom-docs-mode: hiding property drawers
Includes a minor optimization: reading the current level from an
org-element object, rather than relying on (org-current-level), which
resorts to walking the buffer with regex.
2023-09-11 23:53:35 +02:00
c1b0326ce7 bump: :core
Fanael/rainbow-delimiters@a32b39bdfe -> Fanael/rainbow-delimiters@f40ece58df
Wilfred/helpful@c57ff0d284 -> Wilfred/helpful@66ba816b26
domtronn/all-the-icons.el@f491f39c21 -> domtronn/all-the-icons.el@be9d5dcda9
emacs-compat/compat@75d0b8527f -> emacs-compat/compat@ecf53005ab
emacs-straight/project@6c41ad68ed -> emacs-straight/project@ce140cdb70
joddie/pcre2el@b941ed8a96 -> joddie/pcre2el@018531ba0c
jscheid/dtrt-indent@be07f4979a -> jscheid/dtrt-indent@e0630f74f9
justbur/emacs-which-key@df6b0cb844 -> justbur/emacs-which-key@4d20bc8525
2023-09-11 23:53:01 +02:00
56d396c5f6 release(modules): 23.09.0-dev
Ref: 2b39e41368
2023-09-10 00:00:53 +02:00
f4e74e17ad fix(lib): doom/help-packages: handle missing homepage
When a package is added via straight local-repo, no homepage can be
determined. Prevent doom--help-insert-button throwing an error in this
case.
2023-09-06 14:40:07 +02:00
af5add0e9e merge: pull request #7389 from hpfr/misc 2023-09-06 14:28:57 +02:00
3cafa0223e fix(org): check org-fold-outline in invisible property
Fix: #7206
2023-09-06 14:27:35 +02:00
088bd387f6 tweak(lib): add alpha-background support to opacity setter
This is preferred when available because it does not affect foreground
content like text and images.

Ref: https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-29.1#n801
2023-09-02 12:27:37 -05:00
ea616350c7 docs: mention 29.1 support
Now that 29.1 is stable, support for it is official. This updates or
docs and doctor checks to take this into account. I've also included a
link to a Discourse post where I track support for Emacs HEAD.
2023-08-20 19:51:58 +02:00
5155f4aa78 fix(lib): unquote base-directory in project-file-exists-p!
Fix: #7356
Amend: b1cc719063
2023-08-19 22:57:32 +02:00
09504ef9fe feat: ask before quickloading a session 2023-08-18 19:20:01 +02:00
c8070f11a4 fix(cli): suppress coding-system prompts
Emacs can unpredictably prompt the user to "Select coding
system (default utf-8):" in some cases. The exact cause is a little
different for every user, but it can be suppressed by explicitly setting
a default language environment. This is not desirable in interactive
sessions, however.

Ref: #3042
Close: #7330
Co-authored-by: bennyip <bennyip@users.noreply.github.com>
2023-08-18 19:14:39 +02:00
b1cc719063 feat(lib): add base-directory arg to project-file-exists-p!
I also revise its docstring.

Ref: #7333
Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
2023-08-18 19:04:25 +02:00
d52ebe8fd1 bump: :core
Fuco1/smartparens@7afd647395 -> Fuco1/smartparens@79a338db11
Wilfred/helpful@94c25337b2 -> Wilfred/helpful@c57ff0d284
bbatsov/projectile@e18ad4d611 -> bbatsov/projectile@971cd5c4f2
domtronn/all-the-icons.el@51bf77da1e -> domtronn/all-the-icons.el@f491f39c21
emacs-compat/compat@be1d94d5e0 -> emacs-compat/compat@75d0b8527f
emacs-straight/project@e086bdc7c5 -> emacs-straight/project@6c41ad68ed
joddie/pcre2el@38c6f80c78 -> joddie/pcre2el@b941ed8a96
jscheid/dtrt-indent@d4fd1b4977 -> jscheid/dtrt-indent@be07f4979a
justbur/emacs-which-key@8093644032 -> justbur/emacs-which-key@df6b0cb844
noctuid/general.el@9651024e7f -> noctuid/general.el@833dea2c4a
radian-software/straight.el@56a8b6c8a4 -> radian-software/straight.el@5e84c4e2cd

Close: #7343
Fix: #7326
Ref: radian-software/straight.el#1107
Ref: org-roam/org-roam#2361
Co-authored-by: Samoed <Samoed@users.noreply.github.com>
2023-08-18 18:34:21 +02:00
ea7d6ef1cc release(modules): 23.08.0-dev
This one comes quite late due to a personal hiatus over the past few
months.

Ref: 2b39e41368
2023-08-18 18:27:15 +02:00
1cd2a287f5 nit: comment revision, spellcheck, & reformatting
Close: #7262
Co-authored-by: emergenz <emergenz@users.noreply.github.com>
2023-07-22 19:01:35 +02:00
3e81655b0e feat: add 'harfbuzz to features 2023-07-22 17:57:25 +02:00
7cd0b87cd6 fix(lib): doom-region-*: only use evil visual range in visual mode
evil-visual-{beginning,end} contains stale ranges in non-evil states (like evil-emacs-state).
2023-07-22 16:18:56 +02:00
12dfc62ae5 fix(lib): doom-system-distro-version: check nixos-version first
Even if a NixOS machine has lsb_release in its PATH, lsb_release will be used
instead of nixos-version to determine the distro version.
2023-07-22 16:16:09 +02:00
07fca78615 bump: :completion vertico compat
emacs-compat/compat@7775c31857 -> emacs-compat/compat@be1d94d5e0
mhayashi1120/Emacs-wgrep@edf768732a -> mhayashi1120/Emacs-wgrep@3132abd375
minad/consult-flycheck@c371996c57 -> minad/consult-flycheck@fda630411a
minad/consult@052399ed05 -> minad/consult@511d8c0b07
minad/marginalia@2633b2dee2 -> minad/marginalia@b900ec5457
minad/vertico@b6b8420d29 -> minad/vertico@926234ab3f
oantolin/embark@3ffb27a833 -> oantolin/embark@9b17d9a63b
2023-05-30 19:39:04 -04:00
e5dbd4e8b1 bump: :completion vertico compat
iyefrat/all-the-icons-completion@4da28584a1 -> iyefrat/all-the-icons-completion@b08f053cee
minad/consult@ffaaf6da90 -> minad/consult@052399ed05
minad/marginalia@ccf573e214 -> minad/marginalia@2633b2dee2
minad/vertico@6f22ff1298 -> minad/vertico@b6b8420d29
oantolin/embark@5497a19eef -> oantolin/embark@3ffb27a833
oantolin/orderless@d09aab3795 -> oantolin/orderless@e678402671
tumashu/vertico-posframe@f57b170b43 -> tumashu/vertico-posframe@7da6d648ff
emacs-compat/compat@38280a7b54 -> emacs-compat/compat@7775c31857

---

consult--grep added support for searching in multiple directories, so we
can drop the advice in `doom--help-search`. The other changes just adapt
to upstream API changes.
2023-03-22 16:35:07 -04:00
18da873a8c refactor(cli): mkdir and log to doom-state-dir
This will be more meaningful in v3, when we start writing profile data
to $XDG_{DATA,STATE,CACHE}_HOME instead of $EMACSDIR/.local.
2023-03-22 00:26:10 -04:00
db2534aa29 fix(cli): convert __DOOMSTEP to string
To avoid a type error.

Amend: 0ecf69afaf
Ref: #6970
2023-03-21 01:40:22 -04:00