]> git.eshelyaron.com Git - emacs.git/commit
Remove some early-bootstrap dependencies for `advice`
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 17 Mar 2022 23:07:59 +0000 (19:07 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 17 Mar 2022 23:07:59 +0000 (19:07 -0400)
commit06ea82e4e3b9c419a632082ddbce7ec5fe933c9c
tree533cf393a92335891d4cae44f65feebeeabb3b21
parent751c8f88c4faddb2b4f5d5ba3f051e8cd2c0153c
Remove some early-bootstrap dependencies for `advice`

The dependencies between `advice`, cl-generic`, `bytecomp`, `cl-lib`,
`simple`, `help`, ... were becoming unmanageable.
Break the reliance on `advice` (which includes making sure the
compiler is not needed during the early bootstrap).

* lisp/simple.el (pre-redisplay-function): Set without using `add-function`.

* lisp/loadup.el (advice, simple): Move to after `cl-generic`.

* lisp/help.el (command-error-function): Set without using `add-function`.
(help-command-error-confusable-suggestions): Explicitly call
`command-error-default-function` instead.

* lisp/emacs-lisp/cl-macs.el (pcase--mutually-exclusive-p): Don't
optimize during early-bootstrap.

* lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Tiny simplification.
(cl-defmethod): Label the obsolescence warning as it should.
(cl--generic-compiler): New variable.
(cl--generic-get-dispatcher): Use it.
(cl--generic-prefill-dispatchers): Make freshly made dispatchers.
lisp/emacs-lisp/cl-generic.el
lisp/emacs-lisp/cl-macs.el
lisp/help.el
lisp/loadup.el
lisp/simple.el