Commit graph

317 commits

Author SHA1 Message Date
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
Henrik Lissner
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
Henrik Lissner
db2534aa29
fix(cli): convert __DOOMSTEP to string
To avoid a type error.

Amend: 0ecf69afaf
Ref: #6970
2023-03-21 01:40:22 -04:00
Henrik Lissner
1af08011df
fix(lib): doom/help-modules: omit nil in module list
Some psuedo module categories (like :core and :user) don't have a module
component. Rather than display them as ':core nil' or ':user nil' in
module listings (like doom/help-modules), omit the nil entirely.
2023-03-20 20:43:32 -04:00
Henrik Lissner
382058e1e6
fix(debug): doom-info: improve git error
In case Doom has been deployed without git (for some reason), or with an
unconventional structure.
2023-03-20 20:43:28 -04:00
Henrik Lissner
0ecf69afaf
fix(cli): increment __DOOMSTEP in elisp instead
Some shells (like ksh on SDF) may complain about $((...)) arithmetic
expansion syntax. Rather than wrestle with old shells, I'll offload this
trivial operation to elisp instead.

Close: #6970
2023-03-20 20:42:36 -04:00
Henrik Lissner
61b799d062
fix: s/permanant-local/permanent-local
Fix: #7123
Amend: 8d578cad76
2023-03-13 12:50:31 -04:00
Henrik Lissner
63586423da
release(modules): 23.03.0-dev
Ref: 2b39e41368
2023-03-11 20:25:45 -05:00
Henrik Lissner
8d578cad76
fix: s/permenant-local/permanent-local
Fix: #7123
2023-03-11 19:53:26 -05:00
Henrik Lissner
c1c966c811
docs: assume ~/.config/emacs by default
From now on, our documentation will assume your Emacs config lives in
~/.config/emacs, by default, rather than ~/.emacs.d. Support for the
latter is not going away, it will simply be mentioned less in the
literature, as all supported versions of Emacs going forward (and future
versions of Doom) will support (and prefer) XDG conventions.

The user manual will be updated separately.

Close: #6965
Co-authored-by: gagbo <gagbo@users.noreply.github.com>
2023-02-25 20:47:28 -05:00
Itai Y. Efrat
f5f9c7222a fix(lib): letf! in doom--help-search
Slipped by manual testing due to consult not being loaded at the time
and doom--help-search going to default grep-find usage instead of
hitting the failiure.

Amend: 54c4340740
2023-02-24 16:06:38 -05:00
Henrik Lissner
225e159b04
release(modules): 23.02.0-dev
Ref: 2b39e41368
2023-02-23 04:18:11 -05:00
Henrik Lissner
357d10f5a7
feat: add doctor context
Ref: f9201eb218
2023-02-23 01:34:55 -05:00
Nikola Bunjevac
7a8383c2d1
fix(cli): doctor: pluralizing single errors/warnings 2023-02-23 01:15:36 -05:00
Henrik Lissner
9e08097119
fix(cli): doctor: wrong-type-argument stringp error
`doom doctor` throws a type error for enabled modules without a
doctor.el and/or packages.el file. This occurs because, in
in775ee2f04aad, `doom-module-expand-path` was changed to return nil if
the target file did not exist, and the doctor wasn't updated to handle
this. It passes `nil` to `load`, causing this type error.

Amend: 775ee2f04a
2023-02-21 20:23:47 -05:00
Henrik Lissner
8f50ead5c8
fix(lib): doom/bumpify-diff: remove duplicates 2023-02-21 19:37:16 -05:00
TEC
33af29f7d5 feat(docs): use header-line for header info 2023-02-21 18:35:15 -05:00
Henrik Lissner
986573a4a2
perf(lib): dir!: unset file-name-handler-alist
file-name-directory consults this variable for alternative strategies,
which is unnecessary work. (file!) won't (and should never be used in
any context where it could) return anything but a simple file path.
2023-02-21 03:30:51 -05:00
Henrik Lissner
d24e197964
fix(lib): doom/bumpify-diffs missing packages
This command would skip over consecutive package! statements in the
generated commit message. This commit fixes that.

That said, this command is still a temporary measure until formal bump
CI/CD is done, but should make dealing with doom/bumpify-diffs and
doom/commit-bumps a little less painful.
2023-02-21 00:35:17 -05:00
Alexey Nesterov
06c794faf5
fix(lib): don't overwrite kill-ring on doom/backward-kill-word
When calling backward-kill-word (which is in turn is calling kill-new),
not only kill-ring variable should be overridden, but also
kill-ring-yank-pointer.

Otherwise when deleting a word backwards, kill-ring pointer is moved and
next yank will insert (not so expected) rubbish.
2023-02-20 20:21:59 -05:00
Henrik Lissner
0aaad1900b
bump: compat
emacs-compat/compat@01fdf316a4 -> emacs-compat/compat@38280a7b54

- Switching to emacs-compat/compat so we can more closely follow the
  source. The emacs-straight mirror can sometimes lag too far behind to
  promptly address major issues.
- This, combined with 67b3d5a, should address odd byte-code issues to do
  with compat (usually to do with magit).

Ref: 67b3d5a20486
2023-02-20 19:01:39 -05:00
Henrik Lissner
7260725313
refactor: move compat package to core
This package is cropping up in packages everywhere. Managing it has been
a source of issues, so I'm making it a core package until v3, where
we'll be able to pin packages without explicitly installing them.
2023-02-20 19:01:38 -05:00
Henrik Lissner
52d413f448
fix(cli): rebuild dependents when updating packages
Library packages (like compat and transient) offer macros. Therefore,
any package that uses them (dependents) needs to be recompiled when
these are updated, but straight currently doesn't do this. As a
temporary workaround, this commit forces dependents to be rebuilt after
updates.

This is a bit too brute-force, but will do until v3, which will manage
dependency graphs and their complexities more efficiently.
2023-02-20 19:00:45 -05:00
Henrik Lissner
b0f91f6403
fix: void-variable native-comp-deferred-compilation-deny-list
In later versions of Emacs 29, this variable has been renamed without a
deprecation alias, causing void-variable errors wherever it is used.
Since it could potentially be used outside of Doom, I'll use a variable
alias until we formally drop 28 support (not for a long time).

Close: #7090
Co-authored-by: AdoPi <AdoPi@users.noreply.github.com>
2023-02-20 19:00:45 -05:00
Henrik Lissner
c6b3a81da0
fix(cli): recommend "checkout main" option if prompted
In case straight prompts something like the following:

    > In repository "git-modes", HEAD on "master" is behind default branch "main"

         1) Abort
         2) Checkout "main" (Choose this if unsure)
         3) Magit log "master..main" and open recursive edit
2023-02-20 19:00:45 -05:00
Henrik Lissner
4513efe159
bump: :core
Fuco1/smartparens@8b6a3c3b31 -> Fuco1/smartparens@7afd647395
Wilfred/helpful@6633d82c6e -> Wilfred/helpful@94c25337b2
Wilfred/helpful@6633d82c6e -> Wilfred/helpful@94c25337b2
bbatsov/projectile@20aa2adccc -> bbatsov/projectile@e18ad4d611
domtronn/all-the-icons.el@4a4d6269b8 -> domtronn/all-the-icons.el@51bf77da1e
emacs-straight/project@2e8da1b811 -> emacs-straight/project@e086bdc7c5
joddie/pcre2el@0b5b2a2c17 -> joddie/pcre2el@38c6f80c78
radian-software/straight.el@3eca39dfc6 -> radian-software/straight.el@56a8b6c8a4
2023-02-18 15:27:49 -05:00
Henrik Lissner
2c652259a5
tweak(lib): open file after doom/copy-this-file
As mentioned in #6964, it's rare for anyone to want to copy a file
without opening the new file.

Close: #6964
2023-02-18 15:27:48 -05:00
Henrik Lissner
7bf5938c66
fix: relative paths for add-load-path!
Because (dir!) was being expanded too early (at macro expansion time)
rather than runtime.
2023-02-18 15:27:47 -05:00
Amos Bird
0bc06fc0d3 fix: correct name of doom-after-modules-init-hook
The old name is doom-after-init-modules-hook.
2023-02-18 00:51:54 -05:00
Cullan Springstead
7ba11a62ef fix(cli): make doctor load module doctor files
Amend: 5a5195b84d
2023-02-18 00:45:33 -05:00
Itai Y. Efrat
54c4340740 fix(lib): consult case of doom--help-search
advise consult--ripgrep-make-builder instead of reimplementing
2023-02-17 12:34:26 -05:00
Rafael
3f3200f98d bump: :core
radian-software/straight.el@e20a44c4ac -> radian-software/straight.el@3eca39dfc6

Fix: #6960
2022-11-28 05:40:35 +01:00
Henrik Lissner
f9888c21e6
tweak(cli): doom sync: don't purge straight builds by default
This allows for more rapid 'doom sync'ing when testing different module
combinations, but puts the onus on the user to run `doom sync
--purge` (or `doom purge`, which will later be renamed `doom gc`) to
prune orphaned packages/repos.
2022-10-29 01:57:43 +02:00
Henrik Lissner
a2b02942f8
fix: void-function set-fontset-font error
Due to some packages and modules using this in some (non-GUI) builds of
Emacs. display-graphic-p isn't enough here, so rather than police all
the possible offenders, I've defined it to no-op in those cases,
instead.

Close: #6876
2022-10-29 01:57:42 +02:00
Henrik Lissner
a1f8063485
fix(lib): package! not overriding defaults
This regression was introduced in 5a5195b; it broke `package!`s ability
to override the recipes of packages declared by other modules, due to
some API assumptions that aren't true yet (in unpushed post 3.1 work).

Amend: 5a5195b84d
Fix: #6901
2022-10-23 02:30:13 +02:00
Raymond Huang
aac3c15cde
fix: change warning-suppress-types to list of lists
warning-suppress-types' pre-29 documentation suggests that it accepts a
list of symbols, but a recent, upstream correction changes this.

Ref: emacs-mirror/emacs@d5ee49c25c
Amend: 8c442d84b9
2022-10-05 15:14:12 +02:00
Henrik Lissner
4a2cbc903d
fix(lib): doom-module-locate-path: cannot locate exact files
One such casualty of this bug is that 'SPC h d m' (doom/help-modules)
could not find README.org files for disabled modules.
2022-10-03 14:13:39 +02:00
Henrik Lissner
f93003a9a2
refactor!(lib): remove eval-when-compile!
BREAKING CHANGE: Removes the eval-when-compile! macro. I recently
discovered cl-eval-when and it serves this macro's purpose well
enough (and is autoloaded+built-in).

This macro wasn't used anywhere in (published) Doom code, however, and
users shouldn't really be using it, so its removal is unlikely to cause
any actual breakage.
2022-10-03 14:12:33 +02:00
Henrik Lissner
ba35f12be4
release(modules): 22.10.0-dev
Ref: 2b39e41368
2022-10-02 19:13:58 +02:00
Henrik Lissner
ff9602ef75
fix(lib): revert add-transient-hook! refactor
a4b5831 removed this let-binding because I expected the function to
capture it, which seems to be the case in general, except for #6865.
Since add-transient-hook! could conceivably be used in an elisp file
with lexical-binding off, I'll take fewer chances and live with a little
redundancy.

Amend: a4b58311da
Fix: #6865
2022-10-02 19:08:53 +02:00
Henrik Lissner
6eab48641f
fix: disable non-essential startup optimizations in debug-mode
As to not interfere with debugging.
2022-10-02 18:46:37 +02:00
Henrik Lissner
d8d06390d2
fix(profiles): ensure trailing / on user-emacs-directory
To quote `user-emacs-directory`'s docstring:

> Note that this should end with a directory separator.

However, users may forget to add one in their profile configs, which
will cause errors.

Fix: #6608
2022-10-02 18:46:37 +02:00
Henrik Lissner
a6f0bf3123
fix(lib): infinite recursion in doom-first-*-hook
It's possible for these hooks to be triggered recursively, such as in
the case of emojify's "Emoji images not available should I download them
now?" prompt (reported upstream).

Fix: iqbalansari/emacs-emojify#100
2022-10-01 17:09:15 +02:00
Ken Bolton
e9a1908e0d
docs(cli): doom upgrade: s/-f/--force
Fix: #6712
2022-09-30 22:59:37 +02:00
Ivan
850907ed9a
fix(lib): doom/delete-this-file nil path handling
Fix the handling of a nil path within doom/delete-this-file.

If path is nil (e.g. called interactively when buffer is not visiting a
file), avoid calling abbreviate-file-name on nil, otherwise an error
will be signaled:

  (wrong-type-argument stringp nil)

Additionally, fix the subsequent path checks. These were treating two
distinct scenarios as a "Buffer is not visiting any file" user-error:

- nil path
- non-existent path
- Only the first should result in that error. The second should proceed
  to the next path check (which was previously unreachable), to signal
  the appropriate error, "File doesn't exist: %s".
2022-09-30 22:48:59 +02:00