Commit graph

5138 commits

Author SHA1 Message Date
Henrik Lissner
0e2fa0ba19
fix(lib): type error on doom/restart-and-restore
On Windows, restart-emacs doesn't escape its arguments properly (#6219).
56686f677a attempted to fix this, but ended up breaking it for
everyone else as well, causing the type error:

  Wrong type argument: listp, "--eval \"(add-hook 'window-setup-hook #'doom-load-session 100)\""

This commit fixes both the regression and the original issue.

Amend: 56686f677a
Fix: #6219
2022-05-09 15:36:20 +02:00
Henrik Lissner
80cd7557e1
fix(lib): doom-files-in's :map causing type errors
This regression was introduced in 10d00b7cc4, causing
"wrong-type-argument: stringp (X . Y)" errors. It is triggered when
doom-files-in is used with a non-nil :map on a nested directory
tree (like our module tree).

Fix: #6370
Amend: 10d00b7cc4
2022-05-05 20:32:54 +02:00
Henrik Lissner
f281971206
feat(ci): generalize 'doom ci deploy-hooks'
By default, 'doom ci deploy-hooks' would deploy Doom's git hooks in
$EMACSDIR (~/.emacs.d/.git/hooks). Now it deploys in the local repo its
run in. This is part of an effort to generalize Doom's CI for use
outside this repo.

Ref: 4bae9ffa47
2022-05-05 15:35:33 +02:00
Henrik Lissner
4bae9ffa47
refactor(ci): generalize commit linter api
Continues from 47d1b82 as part of an effort to generalize Doom's CI for
use outside this repo:

- 'doom ci ...' commands now:
  - Run in the context of the local repo where they're run, rather than
    from Doom's install directory ($EMACSDIR).
  - Load the first of $REPO_ROOT/.github/ci.el, $DOOMDIR/cli.el, or
    $DOOMDIR/cli.el, before executing CI commands. This allows for
    per-project configuration, for example:
    - https://github.com/doomemacs/doomemacs/blob/master/.github/ci.el
    - https://github.com/doomemacs/themes/blob/master/.github/ci.el
    (Details may change post-3.0)
- Scopeless commit types are now enforced in `doom-cli-commit-scopes`,
  rather than `doom-cli-commit-rules`. This lets you specify exceptions,
  like 0597466261.
- `doom-cli-commit-scopes` now supports sub-lists, as an easy way to
  permit type-local scopes. E.g. To allow 'install' and 'faq' scopes
  only for 'docs:' commits.

    (add-to-list 'doom-cli-commit-scopes '(docs "install" "faq"))

  These sublists accepts predicates too.
- Fixed the link to git conventions in the linter's failure/warning
  output, to point to our Discourse post.

Ref: https://github.com/doomemacs/doomemacs/blob/master/.github/ci.el
Ref: https://github.com/doomemacs/themes/blob/master/.github/ci.el
Ref: 0597466261
Amend: 47d1b82382
2022-05-05 15:32:35 +02:00
Henrik Lissner
10d00b7cc4
fix(lib): unused :map property in doom-files-in 2022-05-05 15:20:07 +02:00
Henrik Lissner
47d1b82382
tweak(ci): generalize commit linter defaults
So Doom can be used for general CI/CD (as part of doomemacs/ci). These
settings can be configured in .github/ci.el by default.

Ref: 0f6a653a13
2022-05-04 22:44:28 +02:00
Henrik Lissner
3b789752a3
fix: user/system git config breaking straight installer
Fix: #6346
2022-05-02 02:12:59 +02:00
Henrik Lissner
0597466261
release(modules): 22.05.0-dev
Ref: 2b39e41368
2022-05-02 01:39:15 +02:00
Henrik Lissner
56686f677a
fix(lib): improper quoting in restart-emacs command
Should be addressed upstream, but restart-emacs hasn't been updated in
nearly two years, so I temporarily fix it here.

Fix: #6219
2022-05-02 01:39:10 +02:00
Henrik Lissner
fbfc635300
fix(cli): GIT_CONFIG* envvars leaking child processes
When launching Doom via 'doom run', the child process inherits
bin/doom's environment. This change restricts this sub-environment to
the intended target: straight and its use of git.

Fix: #6320
2022-04-21 22:36:36 +02:00
Henrik Lissner
8c03fa0e3d
fix: set face :font instead of frame font parameter
Information is lost when converting font-spec's to xlfd strings (mainly,
DPI), in order to make them compatible with the face frame parameter. To
avoid this, we set the faces' :font attribute instead, which natively
accept font specs, xlfd strings, font objects, and xft strings; no
conversion necessary.

Fix: #6131
2022-04-21 22:36:36 +02:00
Itai Y. Efrat
3a3c66df18 docs: add doctor warning about lack of nativecomp 2022-04-12 02:32:53 +02:00
Itai Y. Efrat
5cef63658d docs: update doctor living on the edge check to 29+ 2022-04-12 02:32:53 +02:00
Henrik Lissner
f2f583bfb7
fix: :load-path throwing error in org-src blocks
Because src blocks don't provide a valid load-file-name or
buffer-file-name, dir! cannot resolve the current file's path.

Fix: #6241
2022-04-08 02:51:50 +02:00
Henrik Lissner
fd991026ff
fix: void-function doom-partial
Fix: #6259
2022-04-06 18:45:06 +02:00
Henrik Lissner
d35157ce50
fix(lib): void-variable var
Caused by a typo introduced in cf362bc.

Fix: #6240
Amend: cf362bc1a0
2022-04-03 20:06:58 +02:00
Henrik Lissner
2b39e41368
release(modules): 22.04.0-dev
Eventually, our modules will move to their own repos (doomemacs/modules
and doomemacs/contrib-modules). Once done, it will formally adopt the
CalVer versioning scheme (Doom's core will stick to SemVer -- these
decisions will be better explained later). These mini-releases won't
mean much until this happens, hence the -dev suffix.
2022-04-01 19:12:35 +02:00
Henrik Lissner
cf79616202
fix(cli): remove debug error call in 'doom version'
Accidentally snuck into dcae7187b4.

Amend: dcae7187b4
2022-04-01 19:12:35 +02:00
Henrik Lissner
14ebfc02a5
fix(lib): wrong-number-of-args error on doom/info
- Fixes a wrong-number-of-args error, due to outdated interactive
  spec (#6227).
- Fixes a regression (caused by the refactor in dcae7187b4) where the
  doom-info buffer is initially too short (~3 lines tall) to display all
  of its contents.

Fix: #6227
Amend: dcae7187b4
2022-03-31 21:08:31 +02:00
Henrik Lissner
a48cd27d79
tweak(lib): always suppress doom-log output
It will still be logged to *Messages*, but won't spam the echo area.
2022-03-31 19:25:50 +02:00
Henrik Lissner
806d9c0116
fix(cli): remove bufler from excluded autoloads
I was discussing issues generating autoloads files from some packages
with someone on Discord, and they mentioned issues with
alphapapa/bufler.el, so I added doom-autoloads-excluded-files in
5d0f781062, and also added bufler to it by default. In hindsight, that
doesn't make much sense as a default when Doom and its modules don't
even install bufler (and even if they did, this shouldn't be done in
core).

Ref: 5d0f781062
2022-03-31 19:25:49 +02:00
Henrik Lissner
1f0b74a7c5
fix(lib): cases where doom/bumpify-diff fails
...to crawl the package! forms in the magit diff buffer.
2022-03-31 19:25:49 +02:00
Henrik Lissner
da1eb4d107
refactor(cli): minor refactors and comment revision 2022-03-31 19:25:49 +02:00
Henrik Lissner
cf362bc1a0
fix(lib): update doom/set-indent-width for dtrt-indent
dtrt-indent-hook-mapping-list entries now accept lists of variables.
This updates doom/set-indent-width to accommodate that.

Ref: jscheid/dtrt-indent@1986ad4e60
2022-03-31 16:35:37 +02:00
Henrik Lissner
6185767c41
refactor(eshell,term): move hscroll-margin settings
...out of core and into their respective modules. A tiny step toward
thinning out core.
2022-03-31 14:05:45 +02:00
Henrik Lissner
a9c22b704b
fix(cli): ignore system/user git configs
So they don't interfere with straight in odd, unpredictable ways. If
you *really* know what you're doing, set DOOMGITCONFIG to the path of a
gitconfig file. This envvar may be renamed in the future, however.

Close: #5640
Co-authored-by: M. Yas. Davoodeh <Davoodeh@users.noreply.github.com>
2022-03-31 01:06:07 +02:00
Henrik Lissner
9d1513af46
bump: :core
bbatsov/projectile@0243ad7dc9 -> bbatsov/projectile@f3468e8d20
domtronn/all-the-icons.el@2c963ebb75 -> domtronn/all-the-icons.el@65c496d3d1
jscheid/dtrt-indent@926fc4260c -> jscheid/dtrt-indent@66fc30af02
raxod502/straight.el@653b04a64f -> raxod502/straight.el@e2de88ea0e
2022-03-30 17:49:35 +02:00
Henrik Lissner
dcae7187b4
refactor(lib): doom-info & remove unused commands
- Simplify doom-info and doom/info.
- Remove doom/copy-buffer-contents (may be moved later, but atm not very
  useful).
- Remove doom/am-i-secure (this will later be replaced with CLI
  commands)
2022-03-30 17:32:47 +02:00
Henrik Lissner
2aeca577c8
refactor: correct version variables
These two variables have been the wrong way around for a while. In
preparation for splitting Doom into separate repos (its core and module
libraries), I've corrected them. doom-modules-version is a placeholder
and will be removed later.

I've also settled on -dev suffix for inter-release versions of Doom,
rather than alpha.
2022-03-21 03:57:31 +01:00
Henrik Lissner
319665bbdc
feat(lib): time stamp *Messages* lines
...when doom-debug-mode is active.
2022-03-21 03:57:03 +01:00
Henrik Lissner
b92c644ad8
docs(lib): clarify setq!'s docstring
Emacs 29+ introduced the setopt macro for setting defcustom variables in
a way that takes setters and type-constraints into account, but it
eagerly pulls in a symbol's dependencies before doing so. To side-step
this silliness, use Doom's setq! macro instead. I'm tempted to alias
setopt to it...
2022-03-21 03:57:03 +01:00
Henrik Lissner
3333eee466
refactor(lib): sharp-quote & minor refactors 2022-03-21 03:57:03 +01:00
Henrik Lissner
0a151f4f13
refactor!(lib): remove obsolete lambda! macros
BREAKING CHANGE: These macros have been deprecated for years. Use
cmd!/cmd!! instead.
2022-03-21 03:57:02 +01:00
Henrik Lissner
17f457edf7
feat(lib): add fn!! macro
With implicit positional arguments. Adapted from
https://git.sr.ht/~tarsius/llama, minus the font-locking, outer function
call, and plus a few minor optimizations.

Ref: https://git.sr.ht/~tarsius/llama
2022-03-21 03:56:59 +01:00
Anh T Nguyen
4eda9329aa
feat(dired): allow global hl-line in dired-mode 2022-03-19 16:41:05 +01:00
Henrik Lissner
b57d4c8d71
bump: :core
Fuco1/smartparens@f59a40d54f -> Fuco1/smartparens@37f77bf2e2
Wilfred/helpful@f865f17ad0 -> Wilfred/helpful@67cdd1030b
bbatsov/projectile@4e6f66c329 -> bbatsov/projectile@0243ad7dc9
emacs-straight/project@5347dfc5f3 -> emacs-straight/project@125a1a8d15
justbur/emacs-which-key@9f64733e4a -> justbur/emacs-which-key@1217db8c63
raxod502/straight.el@3b0f1a1d21 -> raxod502/straight.el@653b04a64f

- Wilfred/helpful@67cdd1030b fixed the wrong-number-of-args error from
  help-fns--autoloaded-p on Emacs 29 (see #6097). Our temporary fix is
  no longer needed.
- Wilfred/helpful#36 fixed the void-variable: read-symbol-positions-list
  error on Emacs 29 (see #6063). Our temporary fix is no longer needed.

Ref: Wilfred/helpful@67cdd1030b
Ref: Wilfred/helpful#36
Fix: #6063
Fix: #6097
Fix: #6127
2022-02-23 15:23:14 +01:00
Henrik Lissner
df5cb2051c
tweak: update so-long config for Emacs 28+
Emacs 28 introduced the much faster native function
buffer-line-statistics, which makes so-long's job significantly less
expensive, so we can afford a larger threshold there.

Still, we gimp it a little if native-comp isn't present.
2022-02-19 01:08:08 +01:00
Jeetaditya Chatterjee
302dbea2b1
fix(lib): typo in doom--help-major-mode-module-alist
Ref: #6122
2022-02-17 18:06:37 +01:00
Henrik Lissner
09fa3c5e28
docs: reformat & revise {init,config}.el templates 2022-02-16 16:11:22 +01:00
Henrik Lissner
35d690b47c
docs: explain font settings in config.el template
I get complaints that it's hard to set fonts in Doom. Hopefully this
help them through it.
2022-02-16 16:10:06 +01:00
Henrik Lissner
2a7eee556f fix: wrong-number-of-args error w/helpful on Emacs 29
help-fns--autoloaded-p's signature changed in 29, which helpful hasn't
adapted to yet. This temporary fix works around it while we wait.
2022-02-10 21:07:20 +01:00
Henrik Lissner
009613a470 refactor(default,lib): doom--org-headings 2022-02-10 21:07:20 +01:00
Henrik Lissner
39886536c3 fix(lib): incorrect &user markers in doom-info
M-x doom/info marks modules that live in $DOOMDIR with &user, but what
if the user has moved their ~/.emacs.d into $DOOMDIR? As this seems to
happen often with Chemacs users, I've made this check a little more
procise.
2022-02-10 21:07:20 +01:00
Henrik Lissner
00b7e390d3 refactor!(lib): change condition for doom-set-jump-maybe-a
BREAKING CHANGE: doom-set-jump-maybe-a would formerly set a jump point
if FN returns non-nil. That condition was changed to: if the current
buffer or cursor position have changed after FN.
2022-02-10 21:07:20 +01:00
Henrik Lissner
615b513a9c dev: add "docs" scope
To refer to documentation "backend" work, as opposed to its contents.
2022-02-02 01:56:04 +01:00
Henrik Lissner
c6d3ceef7e fix: void-variable read-symbol-positions-list w/ helpful
Only affects users on Emacs HEAD (29+), where read-symbol-positions-list
has been removed. This is a temporary solution until the reference is
addressed upstream, in the elisp-ref package.

Ref: Wilfred/elisp-refs#35
Fix: #6063
2022-02-02 01:55:56 +01:00
Henrik Lissner
4a6de2419c fix: run switch-buffer hooks on server-visit-hook
window-buffer-change-function does not trigger on the first buffer
displayed in a new client frame.

Fix: #6058
2022-01-29 19:41:16 +01:00
Henrik Lissner
eddaae40e8 fix: empty HOME on Windows
This was accidentally removed in 68d8364.

Amend: 68d8364aea
2022-01-28 20:57:09 +01:00
Henrik Lissner
c6a6f44481 fix(org): inhibit native-comp for emacs-jupyter.el
Fix: #6018
2022-01-27 18:18:52 +01:00
Rafael Varago
1c1ad3a8c8
feat(cli): allow opting-out of deploying git hooks
That's helpful when we need to `doom install` in a non-git directory.

Fix: #5878
Close: #5862
2022-01-27 15:06:45 +01:00