Commit graph

17864 commits

Author SHA1 Message Date
Henrik Lissner
6e8de0bd89
refactor(lib): use num-processors
This C function was introduced in Emacs 28.1.
2022-09-08 13:36:17 +02:00
Henrik Lissner
cd269753cf
fix(lib): leave point at bob in with-file-contents!
with-file-contents!'s docstring promises that point will end up at the
beginning of the buffer, but this promise wasn't kept until now.
2022-09-08 00:24:16 +02:00
Henrik Lissner
b121c5e1c6
refactor(lib): provide doom-libs as subfeatures
This allows us to load them via doom-require. Why not use normal
features? Because Doom's libraries are designed to be loaded as part of
Doom, and will openly rely on Doom state if needed; this is a contract I
want to enforce by ensuring their only entry points are through
`doom-require` or autoloading.

I will add them to the rest of the libraries later.

Site-node: this also adds Commentary+Code to the comment headings, as I
want a space to use that space to describe the library, when I get
around to it.
2022-09-08 00:20:26 +02:00
Henrik Lissner
a179b8d262
feat(lib): add doom-{require,load}
These functions are light wrappers around require and load, such that
Doom will catch (and decorate) any errors from the target file, and is
also capable of loading Doom's subfeatures.
2022-09-07 23:19:37 +02:00
Henrik Lissner
0172b180a9
refactor(cli): remove superfluous emacs switches
Neither --no-x-resources or --no-splash are relevant to a noninteractive
session.
2022-09-07 17:25:01 +02:00
Henrik Lissner
a0fc7bad5a
fix(cli): create doom directories early
This is a regression from 948f946, where a bunch of mkdir calls were
removed prematurely. In v3, other processes are responsible for creating
these directories, but those haven't been implemented yet.

Fix: #6756
Amend: 948f9461a7
2022-09-07 17:25:01 +02:00
Henrik Lissner
ceae154751
fix(cli): reading dir perms on a non-existent dir
This is a regression from c05e615. doom.el changes user-emacs-directory
to doom-cache-dir, which may not exist yet, at the time of this check,
causing file-attributes to return nil, and causing = to throw a type
error (see #6754).

In addition to fixing this, I've also made the check more liberal about
failures, in the odd case that doom-emacs-dir, too, does not exist at
the time bin/doom is called (it'd be very hard to pull that off, but not
impossible).

Fix: #6754
Amend: c05e61536e
2022-09-07 17:25:01 +02:00
Henrik Lissner
18887163f9
tweak(cli): add lisp/cli to doom-cli-load-path by default 2022-09-07 17:25:00 +02:00
Gerry Agbobada
2cd8f85bac fix(debugger): fix dap-ui conditional loading
Probably missed when adding eglot support code in the module
2022-09-07 16:23:24 +02:00
Henrik Lissner
8594c1a0c4
fix(cli): failure to autoload 'doom refresh' error
Amend: cee89a5d3f
2022-09-07 11:32:41 +02:00
Henrik Lissner
9e3d99277e
docs(everywhere): update CLI command
6c0b7e1 introduced a new convention for CLIs defined by Doom's modules:
to namespace them under `doom +MODULE ...`. What was once 'doom
everywhere' is now 'doom +everywhere', so the docs needed correcting.

Ref: 6c0b7e1530
2022-09-07 02:34:57 +02:00
Henrik Lissner
4efdf51ca5
release(modules): 22.09.0-dev
Ref: 2b39e41368
2022-09-07 01:48:37 +02:00
Henrik Lissner
e87fd8ac13
fix: validate fd --version output
Ref: https://discourse.doomemacs.org/t/3144
2022-09-07 01:48:37 +02:00
Andrew Whatson
71e0190618 bump: :lang scheme
emacs-geiser/chicken@79a9ac78f4 -> emacs-geiser/chicken@a480598b59
emacs-geiser/gauche@fd52cbaed9 -> emacs-geiser/gauche@8ff743f641
emacs-geiser/geiser@9507e81a07 -> emacs-geiser/geiser@550d57d347
emacs-geiser/guile@c641fcc50b -> emacs-geiser/guile@b2d6f398e3
flatwhatson/flycheck-guile@e46d6e5453 -> flatwhatson/flycheck-guile@e58ceb8b51
2022-09-07 01:40:10 +02:00
Andrew Whatson
5fb96f2886 fix(scheme): restore repl-per-project for scheme
Geiser commit 476897e4f8a1 introduced `geiser-repl-per-project-p` which
defaults to false, breaking our repl-per-project support.  Previously,
setting `geiser-repl-current-project-function` was sufficient.
2022-09-07 01:40:10 +02:00
Henrik Lissner
a1c9d40ee8
docs(rust): de-emphasize rls
RLS has been deprecated for rust-analyzer, so it's best that our rust
module refrain from advertising it so prominently.

Ref: https://blog.rust-lang.org/2022/07/01/RLS-deprecation.html
2022-09-07 01:25:22 +02:00
Henrik Lissner
63b0ebeda7
refactor!(rust): remove racer and default to +lsp
BREAKING CHANGE: Racer is no longer developed and its project page
recommends using rust-analyzer instead. Moreover, users have reported
issues trying to build/install it on recent versions of rust, so I've
removed support for Racer from Doom, and now default solely to LSP for
IDE features.

Users that want these features will need to activate the module's +lsp
flag (along with the :tools lsp module) and install rust-analyzer. See
the module's README for instructions.

Close: #6705
Co-authored-by: c1ttim <c1ttim@users.noreply.github.com>
2022-09-07 01:25:18 +02:00
Henrik Lissner
20c50755e8
fix(magit): end-of-file error
Due to an unbalanced paren in d8f87ad.

Amend: d8f87ada96
2022-09-07 00:55:51 +02:00
Henrik Lissner
ea84212d0a
fix(magit): void-function (:files) error
Due to a missed syntax error in d8f87ad.

Amend: d8f87ada96
2022-09-07 00:52:49 +02:00
casswedson
d8f87ada96 fix(magit): only install forge if asked 2022-09-07 00:25:52 +02:00
Jen-Chieh Shen
f8bd14ebc3
bump: ts-fold
jcs090218/ts-fold@01d6485398 -> emacs-tree-sitter/ts-fold@01d6485398

The repo has moved.
2022-09-07 00:24:57 +02:00
Matthieu Petiteau
ba859fcfc0 nit(vertico): add missing function docstring 2022-09-07 00:22:25 +02:00
Matthieu Petiteau
3694969dd4 nit(vertico): typo in docstring 2022-09-07 00:22:25 +02:00
Ralf Beckmann
829998e70b docs(pdf): fix instructions to build epdfinfo
The documentation claimed that epdinfo will be built as soon as a pdf
file is opened. However, support for automatically building epdfinfo was
removed in the commit referenced below.

Ref: daa50557a4
2022-09-07 00:20:54 +02:00
ivanbrennan
1d942b4ab6 fix(lib): doom/version use canonical filenames
If doom-emacs-dir contains a "~", attempting to call `git -C` will fail
with an error like:

  fatal: cannot change to '~/.config/emacs/': No such file or directory

Fix this by canonicalizing the filename.
2022-09-07 00:20:24 +02:00
Daniel Radetsky
3e98f11d9b fix(csharp): add dep pkg for sln-mode 2022-09-07 00:19:23 +02:00
Ellis Kenyo
c6cfee63b4 fix(dart): enable rainbow-delimiters in dart-mode 2022-09-07 00:16:04 +02:00
Henrik Lissner
878781e2e4
refactor(cli): remove unneeded (require 'doom)
This wasn't needed here in the first place, and was accidentally carried
over while backporting it and surrounding changes from my local v3
branch.
2022-09-06 23:53:12 +02:00
Henrik Lissner
2b1f6031b2
refactor(lib): rely less on global state for defaults
I prefer to be more explicit about these variables' defaults, then to
rely on proper load order and unverified global state to ensure they're
properly set.
2022-09-06 23:51:44 +02:00
Henrik Lissner
0a51fdff53
refactor(lib): move doom-log to doom-lib
This is such an essential macro that it should be universally available,
and not stowed away in the print library.
2022-09-06 23:46:42 +02:00
Henrik Lissner
3ae8c520d5
nit(vc-gutter): reformat annotated comments 2022-09-06 23:41:28 +02:00
Henrik Lissner
48369fb654
fix(lib): add native-comp vars to known debug vars
And reformat the list to distinguish Doom vars from Emacs ones.

Amend: 3853dff5e1
2022-09-06 23:34:56 +02:00
Henrik Lissner
a0fe199237
fix(cli): void-variable doom-dir on 'doom doctor'
A regression caused by an overaggressive search and replace (for
e986d6b).

Amend: e986d6bef9
2022-09-06 23:31:01 +02:00
Henrik Lissner
2396262cfa
nit: revise commentary in early-init.el 2022-09-06 23:28:39 +02:00
Henrik Lissner
b93f398568
refactor(lib): enforce namespace for helpers 2022-09-06 23:26:05 +02:00
Henrik Lissner
9b4973198b
refactor(lib): use new file API
Ref: 8d4b6b3028
Ref: 83f18402e3
2022-09-06 23:22:01 +02:00
Henrik Lissner
3cfcfc5055
refactor(lib): use with-memoization
Ref: 2b01166d1d
2022-09-06 23:18:49 +02:00
Henrik Lissner
cee89a5d3f
refactor!(cli): remove 'doom {refresh,re}'
BREAKING CHANGE: This finally removes 'doom refresh'. It was first
deprecated in 8a77633 and disabled in 8c37928, and has long since been
replaced with 'doom sync'.

Ref: 8c37928de2
Ref: 8a7763337d
2022-09-06 23:08:55 +02:00
Henrik Lissner
085b5563fc
nit(cli): tidy comments & correct grammar in error 2022-09-06 23:04:17 +02:00
Henrik Lissner
2383e924c0
refactor: move essential defs + init to top of core
Also adds a new error type: doom-profile-error.
2022-09-06 23:04:17 +02:00
Henrik Lissner
2e6a69f501
refactor: improve Emacs/Doom version checks
And emit more informative errors if they fail.

This eval-when-compile approach is used in preparation for v3, where
Doom's core libraries will be byte-compiled.
2022-09-06 23:04:17 +02:00
Henrik Lissner
948f9461a7
refactor(cli): merge doom-cli-lib into doom-cli
This was done to purge superfluous files from Doom's project structure
and simplify its entry points. And with early-init.el now acting as
Doom's universal bootstrapper (see c05e615), we don't have enough
bootstrap logic to warrant being its own file.

Also removes the redundant version check, given doom.el is assured to be
loaded before doom-cli, and performs its own check.

Ref: c05e61536e
2022-09-06 23:01:39 +02:00
Henrik Lissner
6dfed1ff47
refactor(cli): simplify struct definitions
There's no need to be this meticulous. It only pads the line count, and
for little merit.
2022-09-06 22:56:08 +02:00
Henrik Lissner
8971ee36e5
refactor(cli): use new API to write temp files
Ref: 8d4b6b3028
2022-09-06 22:56:03 +02:00
Henrik Lissner
c370cb1784
fix(cli): duplicate log files 2022-09-06 22:55:48 +02:00
Henrik Lissner
aef14f078d
feat(cli): add --benchmark switch 2022-09-06 22:55:48 +02:00
Henrik Lissner
4009509db5
feat(lib): add eval-when-compile! macro
Unlike eval-when-compile, the body of this macro's calls will only be
evaluated while byte-compiling.
2022-09-06 22:55:48 +02:00
Henrik Lissner
0100b08402
refactor(cli): handle more errors & POSIX-ify doomscript 2022-09-06 22:55:48 +02:00
Henrik Lissner
83f18402e3
feat(lib): add with-file! & with-file-contents! macros
Convenience macros to express more succinctly the with-temp-buffer +
insert-file-contents + write-region idiom for file IO in elisp.
2022-09-06 22:55:48 +02:00
Henrik Lissner
8d4b6b3028
feat(lib): add doom-file-{read,write} functions
A concise alternative to the file IO elisp idioms we're used to,
involving some combination of with-temp-file, with-temp-buffer,
insert-file-contents, coding-system-for-{read,write}, write-region, read
loops, print-to-current-buffer loops, etc.

These were engineered to make reading/writing text and lisp data from/to
files simpler, and will be used extensively in the v3 CLI.
2022-09-06 22:55:48 +02:00