Commit graph

361 commits

Author SHA1 Message Date
Henrik Lissner
a4794925f1
fix(lib): doom/bumpify-diff: skip non-package! forms
Would formerly error out if it tries to read invalid forms in misc files
included in bump commits.
2024-05-21 17:16:27 +02:00
Henrik Lissner
20996b6d4c
fix: autoloads load order in profile bootstrap
Package autoloads should be assembled in the order they're
installed/built, so that dependencies between them (such as the case
where geiser-* packages call geiser-activate-implementation, which is
defined in geiser.el's autoloads file -- see #7472) don't throw errors.

Fix: #7472
Amend: 87f6f7ab9108
2024-05-21 17:16:26 +02:00
Liam Hupfer
1c4740db52
fix: premature use of emoji fontset in <=28.1
317cea5 assumed Emacs 28, but Doom still tries to support 27.
Attempting to use the undefined emoji script on 27 results in an error.
Prior to 28, emoji are part of the symbol script, which the following
`set-fontset-font` call already handles.

Amend: 317cea5eefda
Ref: #7448
Fix: #7505
2024-05-21 17:16:21 +02:00
LemonBreezes
bf7ef36f71
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
2024-05-21 17:16:21 +02:00
Henrik Lissner
7c46af85d2
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
2024-05-21 17:16:20 +02:00
Liam Hupfer
b1e461478c
refactor: defvar -> defcustom
Ref: 8c442d84b9
2024-05-21 17:16:20 +02:00
Liam Hupfer
dfe0a1370c
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.
2024-05-21 17:16:20 +02:00
Liam Hupfer
8b372cfa7f
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
2024-05-21 17:16:20 +02:00
Liam Hupfer
4f6c7ec351
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.
2024-05-21 17:16:20 +02:00
Liam Hupfer
0c6971a400
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.
2024-05-21 17:16:20 +02:00
Liam Hupfer
33d0fe9ab1
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.
2024-05-21 17:16:20 +02:00
Liam Hupfer
bab84a430f
fix: assign emoji fallbacks directly to emoji script
Ref: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=12d2fb58c416b557924174f57bfb1c9b9e7cf999
2024-05-21 17:16:19 +02:00
Liam Hupfer
8a4db17f64
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)
2024-05-21 17:16:19 +02:00
StrawberryTea
db97eb987f
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.
2024-05-21 17:16:18 +02:00
Liam Hupfer
a6a5075a66
nit(docs): fix typo and extraneous backquote 2024-05-21 17:16:15 +02:00
Henrik Lissner
4fa9362224
docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2024-05-21 17:16:13 +02:00
Henrik Lissner
272a8c23a9
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
2024-05-21 17:16:12 +02:00
Henrik Lissner
88a03663a6
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`.
2024-05-21 17:16:11 +02:00
Ellis Kenyő
31fe4c47f2
fix: nerd-icons-material => nerd-icons-mdicon
Fix: #7422
Amend: #7411
2024-05-21 17:16:10 +02:00
Ellis Kenyő
cb016f2dba
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
2024-05-21 17:15:56 +02:00
Henrik Lissner
b8cd033843
refactor: doom-guess-mode-h: return non-nil on success 2024-05-21 17:15:56 +02:00
Henrik Lissner
c0c0fe4e45
fix: prevent quit in the middle of doom/escape 2024-05-21 17:15:56 +02:00
Henrik Lissner
d1b0b898f5
fix(lib): 'back to *' links in doom-docs 2024-05-21 17:15:55 +02:00
Henrik Lissner
13e4cb4a6f
docs: add fish shell check 2024-05-21 17:15:55 +02:00
Henrik Lissner
9c2b1846a3
docs: properly indent core doctor checks 2024-05-21 17:15:55 +02:00
Henrik Lissner
edc600e9ad
docs: expand multiple/non-standard config checks
Close: #7391
Close: #7295
2024-05-21 17:15:55 +02:00
Henrik Lissner
565dc1e6ff
nit: general reformatting & minor comment revision 2024-05-21 17:15:54 +02:00
Henrik Lissner
5e6d9a2266
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.
2024-05-21 17:15:53 +02:00
Henrik Lissner
dabf992940
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.
2024-05-21 17:15:53 +02:00
Henrik Lissner
bd5c2cda2d
refactor(lib): hoist new org-id-locations-file value 2024-05-21 17:15:53 +02:00
Henrik Lissner
d4b90b5d81
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.
2024-05-21 17:15:53 +02:00
Henrik Lissner
1e9a3e6edf
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.
2024-05-21 17:15:53 +02:00
Henrik Lissner
e33f358f45
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
2024-05-21 17:15:53 +02:00
Henrik Lissner
3837c9cb7e
release(modules): 23.09.0-dev
Ref: 2b39e41368
2024-05-21 17:15:52 +02:00
mosquito-magnet
33cc7e6278
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.
2024-05-21 17:15:50 +02:00
Liam Hupfer
9e77fedbbe
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
2024-05-21 17:15:50 +02:00
StrawberryTea
83c11d4cad
fix(org): check org-fold-outline in invisible property
Fix: #7206
2024-05-21 17:15:49 +02:00
Henrik Lissner
3be546f4c4
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.
2024-05-21 17:15:48 +02:00
Jacob
a651d0abef
fix(lib): unquote base-directory in project-file-exists-p!
Fix: #7356
Amend: b1cc71906322
2024-05-21 17:15:48 +02:00
Jeetaditya Chatterjee
6fecf3d6e9
feat: ask before quickloading a session 2024-05-21 17:15:47 +02:00
Henrik Lissner
db85ec6f31
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>
2024-05-21 17:15:47 +02:00
Henrik Lissner
d5003e3060
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>
2024-05-21 17:15:47 +02:00
Henrik Lissner
8e466776fc
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>
2024-05-21 17:15:45 +02:00
Henrik Lissner
6fdfce9f85
release(modules): 23.08.0-dev
This one comes quite late due to a personal hiatus over the past few
months.

Ref: 2b39e41368
2024-05-21 17:15:45 +02:00
Henrik Lissner
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
Henrik Lissner
3e81655b0e
feat: add 'harfbuzz to features 2023-07-22 17:57:25 +02:00
Ta Quang Trung
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
Peter Hoeg
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
Itai Y. Efrat
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
Itai Y. Efrat
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