diff options
Diffstat (limited to 'lisp/emacs-lisp/cl-generic.el')
-rw-r--r-- | lisp/emacs-lisp/cl-generic.el | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el index b0173dc991b..1c4b3fcd228 100644 --- a/lisp/emacs-lisp/cl-generic.el +++ b/lisp/emacs-lisp/cl-generic.el @@ -593,7 +593,12 @@ The set of acceptable TYPEs (also called \"specializers\") is defined ;; FIXME: For generic functions with a single method (or with 2 methods, ;; one of which always matches), using a tagcode + hash-table is ;; overkill: better just use a `cl-typep' test. - (byte-compile + (funcall + ;; (featurep 'cl-generic) is only nil when we're called from + ;; cl--generic-prefill-dispatchers during the dump, at which + ;; point it's not worth loading the byte-compiler. + (if (featurep 'cl-generic) + #'byte-compile (lambda (exp) (eval (macroexpand-all exp) 'lexical))) `(lambda (generic dispatches-left methods) (let ((method-cache (make-hash-table :test #'eql))) (lambda (,@fixedargs &rest args) @@ -1117,6 +1122,9 @@ These match if the argument is `eql' to VAL." (eql nil)) (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--set-selection) (eql nil)) +;; For lisp/minibuffer.el. +(cl--generic-prefill-dispatchers 1 (head regexp)) +(cl--generic-prefill-dispatchers 0 (head old-styles-api)) ;;; Support for cl-defstructs specializers. |