Commit graph

5084 commits

Author SHA1 Message Date
Henrik Lissner
cf2024b356
tweak(docs): org-footnote-section = nil
In doom-docs-org-mode, so footnotes will always be placed at the end of
the current tree.
2022-08-02 16:24:36 +02:00
Henrik Lissner
3deba740d3
feat(docs): add face:X link type to docs
For linking face symbols to documentation.
2022-08-02 16:24:36 +02:00
Henrik Lissner
e77a45bc22
docs: use lowercase keywords
As per Org's new defaults, which we're adopting elsewhere, so may as
well adopt it here.
2022-08-02 16:23:43 +02:00
Henrik Lissner
cee641ddc8
feat(docs): hide leading stars 2022-08-02 16:23:42 +02:00
Henrik Lissner
6bba5f8c03
tweak(docs): disable save-place when in documentation
Jumping to a saved position is more jarring than useful in
documentation. Especially for beginners.
2022-08-02 16:23:42 +02:00
Henrik Lissner
4661ea89f2
tweak(docs): move point to first heading on visit 2022-08-02 16:23:42 +02:00
Henrik Lissner
c4b7071397
fix(docs): don't hide src blocks indiscriminately 2022-08-02 16:23:42 +02:00
Henrik Lissner
bfa90e82e9
refactor(docs): use org-with-wide-buffer
It uses save-excursion internally and is a little safer (in case of
narrowing).
2022-08-02 16:23:38 +02:00
Henrik Lissner
1daecbe59c fix(lib): cache errors in doom-docs-mode 2022-02-01 18:55:27 +01:00
Henrik Lissner
7246db457c docs: replace doom-source with doom-repo links
I will later use "source" to refer to module sources, so better we avoid
the terminology for now.
2022-02-01 18:55:27 +01:00
Henrik Lissner
88844e9cec docs: simplify internal docs links
Fewer links means less confusion.

- Merge doom-issue and doom-commit links into doom-ref (for auto-linking
  Issue/PR/commit references).
- Merge doom-module-source and doom-docs-source links into doom-source.
- Rename doom-report-issue to doom-report.
- Use '!' as the icon for module issues link.
- Remove doom-repo (replaced with "doom:*" in :lang org module).
- Add doomdir and emacsdir links to :lang org module.
2021-11-21 20:04:28 +01:00
Henrik Lissner
4b6e15d419 dev: add 'doom make' commands
Primarily for regenerating boilerplate in module documentation (such as
the top navigation and #+SETUPFILE lines), the module index, and, later,
changelog and init.el generators.
2021-11-21 20:04:28 +01:00
Henrik Lissner
7bc0033d0a docs: add doom-docs-mode & doom-docs-org-mode
These two modes exist to provide a nicer reading experience while
viewing Doom's org documentation from within Emacs; they hide
meta-lines, comments, markup, and more.

They also enable our docs to use IDs for links and keep our ID db
separate from any user ID dbs.
2021-11-21 20:04:28 +01:00
Gerry Agbobada
8d360474ac
docs: add doctor for dev versions of Emacs
The message simply test for the "not-a-version-yet" patch number and
displays an explanation to prepare users for raised error frequency and
having a backup version of Emacs if they do not want to deal with
issues.
2021-11-20 18:32:59 +01:00
Henrik Lissner
3a669d8daa fix(lib): add-hook! fails when passed a quoted list
Fix: #5779
2021-11-20 00:55:24 +01:00
Daanturo
d67060eda4 fix: use advise-add instead of fset to override yes-or-no-p
So that reverting it becomes easier.
2021-11-18 19:09:09 +01:00
Henrik Lissner
06f1e24eda fix: renamed doom-inhibit-local-var-hooks
This rename was premature; it snuck into 68d8364.

Amend: 68d8364aea
Close: #5755
2021-11-17 23:19:10 +01:00
Daanturo
b4cc1c84d8
fix: wrong-number-of-args error on dtrt-indent-mode
doom--fix-broken-smie-modes-a forces dtrt-indent-mode to expect exactly
one argument so an error will be raised when the latter is turned on
without args programmatically in lisp.
2021-11-07 01:53:17 +01:00
Henrik Lissner
bac7ccb970 dev(ci): minor refactor & reformatting 2021-11-04 01:43:50 +01:00
Henrik Lissner
710eab10c7 dev(ci): suppress summary length warnings for bump/revert commits 2021-11-04 01:43:10 +01:00
Henrik Lissner
d6262dd287 dev(ci): check all module dirs for valid scopes
Will become relevant once Doom's modules have been moved to their own
repo.
2021-11-04 01:42:43 +01:00
Itai Y. Efrat
aa2f806b5b dev(ci): fix false negative in commit linter
The one value allowed per trailer check shouldn't apply to names since
they often have spaces.
2021-10-30 19:09:50 +03:00
Itai Y. Efrat
ea18315d08 dev(ci): allow periods in names in commit linter
For initials.
2021-10-30 17:51:28 +03:00
Henrik Lissner
2eaa508121 dev(ci): fix false positive invalid trailers 2021-10-28 14:32:36 +02:00
Henrik Lissner
481646ca18 nit: update doom--write-to-sane-paths-a docstring
To properly reflect what it actually does, not what a long-since-changed
implementation did.
2021-10-28 14:32:36 +02:00
Henrik Lissner
b0438f1589 fix: wrong-type-arg error on startup
Regression caused by change to doom-enlist in b35b32273.

Amend: b35b32273a
2021-10-20 22:06:25 +02:00
Henrik Lissner
e4aecd1a5a dev(ci): refactor & update commit linter
This generalizes and cleans up the linter API so that it can be used in
other Doom projects (or CLI commands, like our WIP changelog generator).

Besides that, our git's commit conventions saw two changes:
- A new 'Amend' keyword, for indicating a commit corrects an earlier,
  recent one. This should be used to omit (or merge) commits in the eyes
  of the changelog generator.
- Trailers must now follow the 'KEY: VALUE' format, which is supported
  OOTB by 'git interpret-trailers' and makes scraping them much eacher.
  Before, omitting the colon was mandatory, this is no longer the case.

Other highlights:
- For linter rules: replaced :footer and :refs keys with :trailers (a
  string->string alist). Invalid trailers will be left in BODY's tail.
- Added a linter for colon delimiters in commit trailers (along with
  other formatting checks, like capitalization and one-per-line checks).
2021-10-20 21:37:09 +02:00
Henrik Lissner
b35b32273a fix(lib): doom-enlist not wrapping cons cells
While lists are technically cons cells, cons cells don't have all the
properties of lists, so doom-enlist shouldn't treat it as one.

Before:

  (doom-enlist '(a . b))   #=> (a . b)

After:

  (doom-enlist '(a . b))   #=> ((a . b))
2021-10-20 20:18:39 +02:00
Henrik Lissner
8f040b79be fix(lib): fn! error when arglist is a cons cell
Throws a wrong-type-argument error when fn! is given a cons cell in its
arguments, e.g.

  (fn! ((x . y)) ...)
2021-10-19 22:29:08 +02:00
Henrik Lissner
6bd7ec7579 dev(ci): generalize commit parser
These will be useful for our various CI facilities later. E.g. our
conventional changelog generator and package bumper CI/CD.
2021-10-18 12:09:42 +02:00
Henrik Lissner
4d20fc65cd bump: :core
bbatsov/projectile@17c152b062 -> bbatsov/projectile@7f64570d3e
hlissner/ws-butler@2bb49d3ee7 -> hlissner/ws-butler@572a10c11b
noctuid/general.el@a0b17d207b -> noctuid/general.el@26f1d4c4e2
raxod502/straight.el@45eb6112b2 -> raxod502/straight.el@f81d9b755f

Fix #5619
2021-10-18 01:15:54 +02:00
Henrik Lissner
1a86b0fc0f fix(cli): deploy git hooks to correct directory
'doom install' now consults git to find the hooks directory, which will
work for users who have Doom as a submodule (#5632).

Fix #5632
2021-10-18 01:15:54 +02:00
Henrik Lissner
ff854157a6 fix(lib): package URL in documentation
Fixes [[doom-package:*]] links in (future) docs and always displays a
homepage URL in 'SPC h p' (or 'C-h p') package docs.
2021-10-18 01:15:54 +02:00
Henrik Lissner
0112319c04 fix(lib): add &allow-other-keys in fn! sub-arglists
Before this fix:

  (fn! (x &key y z))
  ;; implies
  (fn! (&key x &allow-other-keys)).

But

  (fn! (x (&key y) &key z))
  ;; would not imply
  (fn! (x (&key y &allow-other-keys) &key z &allow-other-keys)).
2021-10-18 01:15:54 +02:00
Henrik Lissner
db09cb001f perf: inhibit redisplay when loading modules
Some packages my force a redraw for no good reason.
2021-10-18 01:15:54 +02:00
Henrik Lissner
b36d798f74 fix: restore auth-sources default
This was accidentally removed in 68d8364.

Ref 68d8364aea
Fix #5628
2021-10-18 01:15:09 +02:00
Henrik Lissner
a33865569e fix: premature deprecation of *-local-vars-hook
68d8364ae added a deprecation notice to any use of a
MODE-local-vars-hook, instructing users to use after-MODE-hook instead,
however this hasn't been decided yet and shouldn't have made it into
68d8364ae.

Ref 68d8364aea
Fix #5612
2021-10-11 20:25:18 +02:00
Henrik Lissner
ade96ed515 docs(lib): clarify type of add-hook!'s first arg 2021-10-11 20:25:18 +02:00
Henrik Lissner
b47440010f docs: add EMACSDIR == DOOMDIR doctor check 2021-10-11 20:25:15 +02:00
Henrik Lissner
4eeb3c7a19 fix: wrong-number-of-args error on font init
set-frame-font's fourth argument was introduced in 28 and shouldn't be
used yet.

Fix 2614df72bd
2021-10-10 21:40:53 +02:00
Henrik Lissner
114841bfd2 refactor: defer UI init a little longer at startup
Fixes a regression introduced in 0bb4d4dfc, which changed how
doom-switch-buffer-hook works, but makes it fire too early during
startup, eagerly loading packages that wait for the first interactively
opened buffer. This moves doom-init-ui-h to
window-buffer-change-functions, which fires once at the end of startup,
when any buffer is displayed for the first time in the session.

Ref 0bb4d4dfcb
2021-10-10 18:58:32 +02:00
Henrik Lissner
0bb4d4dfcb refactor: switch buffer/frame/window hooks
Emacs 27 introduced a bunch of `window-*-change-functions` hooks,
including `window-selection-change-functions` and
`window-buffer-change-functions`, which handles 98% of the use case for
Doom's `doom-switch-{buffer,window,frame}-hook` hooks, so I've rewritten
them to use them under the hood, which amounts to simpler code and fewer
hacks.
2021-10-10 18:36:46 +02:00
Henrik Lissner
2614df72bd refactor: font, theme, & UI init
Use the new server-after-make-frame-hook, introduced in Emacs 27.1, to
clean up how we initialize fonts, themes, and the UI in general.

This may indirectly fix font issues in daemon sessions.
2021-10-10 18:36:46 +02:00
Henrik Lissner
3bcee249d3 fix: side-effects unset backup-directory-alist 2021-10-10 18:36:46 +02:00
Henrik Lissner
f5c1332a31 refactor: minor refactors & nit picks across core 2021-10-10 18:36:46 +02:00
Henrik Lissner
432ca05c4f tweak(cli): improve backtrace formatting 2021-10-10 18:36:46 +02:00
Henrik Lissner
3854c2fd70 dev(ci): deploy git hooks on 'doom install' 2021-10-10 18:36:46 +02:00
Henrik Lissner
3831096cfb fix(lib): doom-package-depend{ing-on,encies}
Doom doesn't use these two functions, but since they can be useful for
debugging *and* straight provides impleemntations for them already,
they're trivial to fix.
2021-10-10 18:36:46 +02:00
Henrik Lissner
281ee1d27b feat(lib): add doom/remove-recent-file
To interactively remove a file from your recentf list. (Perhaps similar
could be added to embark for consult-recent-files?)
2021-10-10 18:36:46 +02:00
Henrik Lissner
6bd9c7c880 perf: run GC a little less aggressively
The delay will not be adjusted on a per-GC basis, depending on its last
run-time. This should average to around 2-3s, which should be a good
compromise between GCing too often and too infrequently.
2021-10-10 18:36:46 +02:00