refactor!: move helpful from :core to :lang emacs-lisp

BREAKING CHANGE: This moves helpful.el out of core into :lang
emacs-lisp. Since most (all) people have this module enabled, this
shouldn't make a difference for most people, but if you're one of the
few that don't have :lang emacs-lisp enabled, Doom will revert to using
Emacs' built-in help.el and describe-* commands.

Others can also disable helpful with (package! helpful :disable t) if
they prefer Emacs' built-in help system, which wasn't possible before,
because it was a core package.

This was done as part of an ongoing effort to slim down Doom's core in
preparation for v3.
This commit is contained in:
Henrik Lissner 2024-08-30 01:56:03 -04:00
parent bf9e619533
commit 6671adc687
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
13 changed files with 127 additions and 116 deletions

View file

@ -540,9 +540,9 @@ relative to `org-directory', unless it is an absolute path."
;; documentation -- especially Doom's!
(letf! ((defun -call-interactively (fn)
(lambda (path _prefixarg)
(funcall
fn (or (intern-soft path)
(user-error "Can't find documentation for %S" path))))))
(funcall (or (command-remapping fn) fn)
(or (intern-soft path)
(user-error "Can't find documentation for %S" path))))))
(org-link-set-parameters
"kbd"
:follow (lambda (ev)
@ -553,12 +553,12 @@ relative to `org-directory', unless it is an absolute path."
:face 'help-key-binding)
(org-link-set-parameters
"var"
:follow (-call-interactively #'helpful-variable)
:follow (-call-interactively #'describe-variable)
:activate-func #'+org-link--var-link-activate-fn
:face '(font-lock-variable-name-face underline))
(org-link-set-parameters
"fn"
:follow (-call-interactively #'helpful-callable)
:follow (-call-interactively #'describe-function)
:activate-func #'+org-link--fn-link-activate-fn
:face '(font-lock-function-name-face underline))
(org-link-set-parameters
@ -739,9 +739,6 @@ mutating hooks on exported output, like formatters."
(add-to-list 'org-file-apps '(directory . emacs))
(add-to-list 'org-file-apps '(remote . emacs))
;; Open help:* links with helpful-* instead of describe-*
(advice-add #'org-link--open-help :around #'doom-use-helpful-a)
;; Some uses of `org-fix-tags-on-the-fly' occur without a check on
;; `org-auto-align-tags', such as in `org-self-insert-command' and
;; `org-delete-backward-char'.