Commit graph

18918 commits

Author SHA1 Message Date
Henrik Lissner
c8999d9c75
docs: bump supported Emacs version to 29.2 2024-05-21 17:16:37 +02:00
Henrik Lissner
3415990642
nit(emacs-lisp): reformat/revise comments 2024-05-21 17:16:37 +02:00
Henrik Lissner
f3edcb9f3d
refactor(emacs-lisp): elisp-demos: reorganize Doom demos
- Move Doom core elisp API demos out of docs/examples.org into lisp/demos.org.
- Recognize and search demos.org file in modules for additional
  demos (including $DOOMDIR/demos.org).
- Refactor emacs-lisp module to use new elisp-demos-user-files variable
  instead of an advice. This way, elisp-demo's commands (such as
  `elisp-demos-find-demo` and `elisp-demos-add-demo`) will include
  Doom's demos.
2024-05-21 17:16:37 +02:00
Henrik Lissner
4541a42db4
refactor: doom-module: conform variables to conventions
- Rename doom--empty-module-context to doom-module--empty-context.
- Nest doom-module-context symbol plist in its 'keys' property. (By
  convention, Doom uses keywords as keys in most places. Let's be
  consistent)
- Updates all uses of doom-module--context-field and
  doom-module-context-get.
2024-05-21 17:16:37 +02:00
Henrik Lissner
dda327d42f
refactor: introduce doom-module-load-path
This renames doom-modules-dirs to doom-module-load-path, which dictates
where Doom searches for module trees or single modules, in preparation
for more sophisticated module lookups in v3.

This also deprecates doom-modules-dirs, which will be fully removed in
the v3 release.
2024-05-21 17:16:36 +02:00
Henrik Lissner
ddd3f7564d
refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-05-21 17:16:36 +02:00
Henrik Lissner
d0eeae7617
bump: :lang emacs-lisp
Wilfred/elisp-def@1d2e88a232 -> Wilfred/elisp-def@1ad4baccbf
jorgenschaefer/emacs-buttercup@30c703d215 -> jorgenschaefer/emacs-buttercup@24d43b2ce2
purcell/flycheck-package@3a6aaed29f -> purcell/flycheck-package@75efa098cf
tonini/overseer.el@02d49f582e -> tonini/overseer.el@7fdcf1a6fb
xuchunyang/elisp-demos@8d0cd806b1 -> xuchunyang/elisp-demos@1a108d1c50
2024-05-21 17:16:36 +02:00
Henrik Lissner
fc30c8d490
fix(emacs-lisp): non-package-mode: only enable in elisp buffers
This prevents +emacs-lisp-non-package-mode from being activated in
non-elisp buffers.

Amend: #7341
Close: #7645
Co-authored-by: PatrickNorton <PatrickNorton@users.noreply.github.com>
2024-05-21 17:16:36 +02:00
Henrik Lissner
fa0e73467d
release(modules): 24.02.0-dev
Ref: 2b39e41368
2024-05-21 17:16:36 +02:00
Henrik Lissner
082f476c22
fix(coq): inhibit indent detection
Indent detection (via dtrt-indent) is slow and inconclusive in coq-mode
files. Since it's rarely helpful for them anyway, I inhibit it.

Fix: #5823
2024-05-21 17:16:36 +02:00
45mm
50fc35a934
docs(ivy): mention lowered ivy-sort-max-size
Depending on the system, this can cause sorting to be disabled long
before the performance hit would be felt, and it's not obvious that this
is the reason.
2024-05-21 17:16:35 +02:00
Henrik Lissner
a45de27a34
fix(emacs-lisp): void-variable flycheck-disabled-checkers error
Fix: #7644
Amend: b50b2c464004
Amend: #7341
2024-05-21 17:16:35 +02:00
StrawberryTea
f467992b78
fix(eshell): remove fish executable advice
Ref: LemonBreezes/emacs-fish-completion@99f0672c20
2024-05-21 17:16:35 +02:00
Jeetaditya Chatterjee
c740cd6e22
fix(emacs-lisp): lexical argument, error popup
this was caused by the use of fn! and an argument which interacted badly
with doom snippets of all things.
2024-05-21 17:16:35 +02:00
Jeetaditya Chatterjee
fa474c8e57
refactor(syntax): separate out implementations
As `+emacs-lisp-non-package-mode` handles both flymake and flycheck,
making two internal modes that then `+emacs-lisp-non-package-mode`
calls, makes the code cleaner
2024-05-21 17:16:35 +02:00
Jeetaditya Chatterjee
d0d8efb177
fix(syntax): s/connetion/connection
Also rework docstring and s/too/to
2024-05-21 17:16:35 +02:00
Jeetaditya Chatterjee
1e7aaf16df
feat(emacs-lisp): add reduced-flymake-byte-compile
This is a flymake backend that gives a reduced set of byte compiler
warnings in accordance too `+emacs-lisp-linter-warnings`
2024-05-21 17:16:35 +02:00
Jeetaditya Chatterjee
f045bbcef2
feat(emacs-lisp): no doc warnings with flymake 2024-05-21 17:16:34 +02:00
Liam Hupfer
da4361ae6c
fix(emacs-lisp): add elisp flymake load path advice
We set flycheck-emacs-lisp-load-path to 'inherit, which evaluates
load-path when spawning the Emacs subprocess. flymake relies on a static
variable, hence the advice. elisp-flymake-byte-compile is autoloaded by
elisp-mode, so there is little reason to condition on `:checkers syntax
+flymake`.

Ref: e56e30d8c6/flycheck.el (L8725-L8727)
Ref: https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/progmodes/elisp-mode.el?h=emacs-29.1#n2166
Ref: https://emacs.stackexchange.com/questions/48661/how-do-i-get-flymake-to-recognize-files-in-my-load-path
2024-05-21 17:16:34 +02:00
RBckmnn
7d90c7e8ae
fix(file-templates): invalid function call
`evil-initialize-state` recently changed to no longer accept any
arguments, so use `evil-change-state` instead.

Ref: emacs-evil/evil@1c4c3bfff8
2024-05-21 17:16:34 +02:00
Mathew
41c808d9d5
fix(evil): obsolete evil-command-window advice
As noted in #7556, the advice `+popup--evil-command-window-a` fails,
preventing the command window from being opened. This is because
`evil-command-window` has been rewritten extensively.

In particular, emacs-evil/evil@a09fdca0b3 made it use
`display-buffer` instead of `switch-to-buffer`, so that users could
customize how the window opens. Since this was the function of this
advice, it is obsolete and can be removed.

Fix: #7556
Ref: emacs-evil/evil@a09fdca0b3
2024-05-21 17:16:34 +02:00
Henrik Lissner
d617127ba4
bump: :lang swift
emacs-lsp/lsp-sourcekit@468c641e35 -> emacs-lsp/lsp-sourcekit@1cd5e7d269
swift-emacs/swift-mode@1244ee48de -> swift-emacs/swift-mode@84059659de

Contains updates for Swift 5.9 and Emacs 29.

Close: #7587
Co-authored-by: jpgrayson <jpgrayson@users.noreply.github.com>
2024-05-21 17:16:34 +02:00
Henrik Lissner
f434d5f645
bump: :lang python
cybniv/poetry.el@5ca52b221e -> cybniv/poetry.el@ca2cffb0b1
emacs-lsp/lsp-pyright@54a2acddfd -> emacs-lsp/lsp-pyright@2f2631ae24
emacs-lsp/lsp-python-ms@f8e7c4bcae -> emacs-lsp/lsp-python-ms@7bda327bec
necaris/conda.el@6a6a27dad7 -> necaris/conda.el@60e14d1e97
pythonic-emacs/anaconda-mode@1fd13a0f20 -> pythonic-emacs/anaconda-mode@efd42aa873
pythonic-emacs/company-anaconda@da1566db41 -> pythonic-emacs/company-anaconda@dabc0adc9a
pythonic-emacs/pyenv-mode@b818901b8e -> pythonic-emacs/pyenv-mode@c93dc07e85
wbolster/emacs-python-pytest@33c921adaa -> wbolster/emacs-python-pytest@bdfb3e81ee

Fix: #7602
Close: #7603
Co-authored-by: EsAu79p <EsAu79p@users.noreply.github.com>
2024-05-21 17:16:34 +02:00
Henrik Lissner
47072dc654
bump: :tools debugger lsp
emacs-lsp/dap-mode@755845ae05 -> emacs-lsp/dap-mode@2f0c5b2857
emacs-lsp/lsp-mode@d441f3d268 -> emacs-lsp/lsp-mode@02c5ba59ce
emacs-lsp/lsp-ui@0dd39900c8 -> emacs-lsp/lsp-ui@bc58c66645
emacs-straight/eglot@2b145778ba -> emacs-straight/eglot@f73594f589
mohkale/consult-eglot@db9d41c981 -> mohkale/consult-eglot@049c6319b8
2024-05-21 17:16:34 +02:00
Itai Y. Efrat
d15ded9ba2
bump: :completion vertico
mhayashi1120/Emacs-wgrep@3132abd375 -> mhayashi1120/Emacs-wgrep@208b9d01cf
minad/consult-flycheck@0662839aa5 -> minad/consult-flycheck@d83f87581a
minad/consult@9c7dbbe4d6 -> minad/consult@e4d3712356
minad/marginalia@27ccfd2213 -> minad/marginalia@ea356ebb1d
minad/vertico@e8edac107d -> minad/vertico@cf8b2abf52
oantolin/embark@b9f2b3b9a5 -> oantolin/embark@33c392cf3c
tumashu/vertico-posframe@15168c92ca -> tumashu/vertico-posframe@bc0e67cbbb
2024-05-21 17:16:33 +02:00
Itai Y. Efrat
23615178a3
fix(vertico): use consult-fd only with new enough fd 2024-05-21 17:16:33 +02:00
Itai Y. Efrat
307c938266
bump: :completion vertico
minad/consult@43380042da -> minad/consult@9c7dbbe4d6
minad/marginalia@f1734375a5 -> minad/marginalia@27ccfd2213
minad/vertico@03bfb71a2b -> minad/vertico@e8edac107d
oantolin/embark@7758a1ac64 -> oantolin/embark@b9f2b3b9a5
oantolin/orderless@d6b402a89e -> oantolin/orderless@b24748093b
tumashu/vertico-posframe@db9fbc95bb -> tumashu/vertico-posframe@15168c92ca
2024-05-21 17:16:33 +02:00
Liam Hupfer
0521be9ae1
tweak(vertico): show entire path for fd results
Currently, fd does not expose a way to match against only the path
components beneath the target path. When --full-path is specified, the
pattern matches against all components. For example, executing
consult-fd from /home/hlissner/.emacs.d with `home` as the query would
match every file (not excluded by other arguments) under .emacs.d.
Despite this --full-path behavior, fd still outputs relative paths, so
the user cannot even determine why some candidates are returned.

Until there is a method to match only against subdirectories, use
--absolute-path to at least to show the user why all matches are
occurring.

Ref: https://github.com/sharkdp/fd/issues/839
2024-05-21 17:16:33 +02:00
Liam Hupfer
aede21fe47
nit(vertico): remove default --regex option for fd
Ref: eac20a8132
2024-05-21 17:16:33 +02:00
Liam Hupfer
7e273c9433
tweak(vertico): use fd’s smart case
If the user is going to the trouble of capitalizing input, that’s
probably all they want to match.

Ref: 6482f3ac09
2024-05-21 17:16:33 +02:00
Itai Y. Efrat
f307e0b86e
fix(vertico): consult-project(-root->)-function 2024-05-21 17:16:32 +02:00
Itai Y. Efrat
d8c99415ac
refactor(vertico): use consult-fd
Close: #7458
Co-authored-by: LemonBreezes <look@strawberrytea.xyz>
2024-05-21 17:16:32 +02:00
Itai Y. Efrat
ce73061e00
bump: :completion vertico
karthink/consult-dir@ed8f0874d2 -> karthink/consult-dir@3f5f4b71eb
minad/consult@fe49dedd71 -> minad/consult@43380042da
minad/marginalia@866e50aee4 -> minad/marginalia@f1734375a5
minad/vertico@a28370d07f -> minad/vertico@03bfb71a2b
oantolin/embark@9a44418c34 -> oantolin/embark@7758a1ac64
oantolin/orderless@e678402671 -> oantolin/orderless@d6b402a89e
tumashu/vertico-posframe@7da6d648ff -> tumashu/vertico-posframe@db9fbc95bb
2024-05-21 17:16:32 +02:00
Oscar Marshall
fd105a3ef9
fix(upload): ssh-deploy-on-explicit-save = 1
#7513 changed the expected value of `ssh-deploy-on-explicit-save` to be
#an integer, but the default value was still `t`. This commit changes it
#to be `1`.

Amend: #7513
2024-05-21 17:16:32 +02:00
ncihnegn
e3c50766bb
docs(idris): add doctor.el 2024-05-21 17:16:32 +02:00
George Thomas
d186a817c6
bump: :ui modeline
seagle0128/doom-modeline@93f240f7a0 -> seagle0128/doom-modeline@bf880ae56f
2024-05-21 17:16:32 +02:00
45mm
6f22b273e9
fix(vertico): don't shell-quote consult-ripgrep-args
We were using `shell-quote-argument`, which is meant for passing file
names, strings and so on, not command-line arguments. For example,
`(shell-quote-argument "--foo=bar")` yields "--foo\\=bar", which is
obviiously invalid unless we're trying to pass an option named '--foo\'.

At any rate, there is no quoting/escaping for shells in the default
value of `consult-ripgrep-args`, so it doesn't look like this is
something we need to do.
2024-05-21 17:16:32 +02:00
45mm
b4f530eeb4
docs(vertico): mention :args option in docstring 2024-05-21 17:16:31 +02:00
Henrik Lissner
1bff83846e
tweak(indent-guides): default to bitmap in GUI 2024-05-21 17:16:31 +02:00
Henrik Lissner
16828e6dae
nit: minor comment revision, reformatting, & internal refactor 2024-05-21 17:16:31 +02:00
Henrik Lissner
0d1aec019c
fix: ensure top-level file-name-handler-alist is affected
Ensures that lexical contexts are never taken into account, in the case
where Doom's core is loaded in an isolated environment (e.g. the
sandbox). Also improves my startup time by 10%? I'll take it.
2024-05-21 17:16:31 +02:00
Henrik Lissner
13b1f06c13
feat(lib): doom-file-write: separate :mode for directories
doom-file-write's :mode parameter now accepts a cons cell, whose CDR
will determine the file mode for directories that get implicitly created
by the function.
2024-05-21 17:16:31 +02:00
Henrik Lissner
88f2f5b9cd
fix(cli): ensure local file/dir permissions
May catch edge cases where profile directories are created with
over-restrictive permissions (mentioned in #5832).

Ref: #5832
2024-05-21 17:16:31 +02:00
Henrik Lissner
a3118f9972
fix(lib): appease byte-compiler-sama
Silences some byte-compiler warnings about:

- 'nreverse on constant list' on add-hook! calls.
- inhibit-changing-match-data deprecation warning.
- unescaped quotes in docstring in some doom-*-dir variables.
- Variable non-essential should be quoted (though it isn't referring to
  a variable).
- CONTEXT -> CONTEXTS to match argument name.
2024-05-21 17:16:31 +02:00
John Goff
a444ccc879
fix(default): read correct manpath on MacOS
Versions of `man` shipped with the latest MacOS do not support the
`--path` argument, which causes `M-x woman` in Emacs to break. However
the `manpath` command gives the same information and exists on MacOS and
Linux, at least the systems that I tested. Check for its existence, and
if there is no `manpath` command then fall back to the logic that
existed before.

Fix: #7021
2024-05-21 17:16:30 +02:00
Colin Woodbury
c6a5d943ab
feat(common-lisp): use sly-asdf
This allows us to offload system loading and testing to a third-party
library.
2024-05-21 17:16:30 +02:00
Colin Woodbury
5e34cd1089
bump: :lang common-lisp
joaotavora/sly@f34c22289a -> joaotavora/sly@ed17d2c2bd
2024-05-21 17:16:30 +02:00
Ivan Necas
bdfac1a3dd
bump: :ui doom
doomemacs/themes@4aee1f5a0e -> doomemacs/themes@ff26f26ea3

Improves Emacs 30 compatibility (see ref).

Ref: https://github.com/doomemacs/themes/issues/809
2024-05-21 17:16:30 +02:00
Vitaly Slobodin
1183f6c2a2
bump: :term eshell
ambrevar/emacs-fish-completion@df42e15308 -> LemonBreezes/emacs-fish-completion@d34d0b96fd

The emacs-fish-completion package has changed owners and moved to
https://github.com/Ambrevar/emacs-fish-completion.
2024-05-21 17:16:30 +02:00
Colin Woodbury
089ebf4b33
fix(lib): doom/bumpify-diff: respect structure of given list
The old check was a bug fix to work around noisy values that somehow
made it into diff checks. The `package!` symbol is never actually
present in the list of values yielded by the search in `read-package`,
so this commit alters the lookup to respect what is actually present,
thus guaranteeing that `destructuring-bind` succeeds and bump diffs are
actually detected.
2024-05-21 17:16:30 +02:00