diff options
author | Andrea Corallo <akrl@sdf.org> | 2021-02-17 22:26:28 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2021-02-17 22:26:28 +0100 |
commit | f92bb788a073c6b3ca7f188e0edea714598193fd (patch) | |
tree | 9bea27955098bfc33d0daaa345cfa3dca5b695fd /lisp/emacs-lisp/byte-run.el | |
parent | 1fe5994bcb8b58012dbba0a5f7d03138c293286f (diff) | |
parent | 6735bb3d22dc64f3fe42e4a7f439ea9d62f75b5a (diff) | |
download | emacs-f92bb788a073c6b3ca7f188e0edea714598193fd.tar.gz emacs-f92bb788a073c6b3ca7f188e0edea714598193fd.tar.bz2 emacs-f92bb788a073c6b3ca7f188e0edea714598193fd.zip |
Merge remote-tracking branch 'savannah/master' into native-comp
Diffstat (limited to 'lisp/emacs-lisp/byte-run.el')
-rw-r--r-- | lisp/emacs-lisp/byte-run.el | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index a3ad43038e7..5de7bc6049a 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el @@ -113,6 +113,9 @@ The return value of this function is not used." (list 'function-put (list 'quote f) ''side-effect-free (list 'quote val)))) +(put 'compiler-macro 'edebug-declaration-spec + '(&or symbolp ("lambda" &define lambda-list lambda-doc def-body))) + (defalias 'byte-run--set-compiler-macro #'(lambda (f args compiler-function) (if (not (eq (car-safe compiler-function) 'lambda)) @@ -148,6 +151,18 @@ The return value of this function is not used." (list 'function-put (list 'quote f) ''speed (list 'quote val)))) +(defalias 'byte-run--set-completion + #'(lambda (f _args val) + (list 'function-put (list 'quote f) + ''completion-predicate val))) + +(defalias 'byte-run--set-modes + #'(lambda (f _args &rest val) + (list 'function-put (list 'quote f) + ''completion-predicate + `(lambda (_ b) + (command-completion-with-modes-p ',val b))))) + ;; Add any new entries to info node `(elisp)Declare Form'. (defvar defun-declarations-alist (list @@ -165,7 +180,9 @@ If `error-free', drop calls even if `byte-compile-delete-errors' is nil.") (list 'compiler-macro #'byte-run--set-compiler-macro) (list 'doc-string #'byte-run--set-doc-string) (list 'indent #'byte-run--set-indent) - (list 'speed #'byte-run--set-speed)) + (list 'speed #'byte-run--set-speed) + (list 'completion #'byte-run--set-completion) + (list 'modes #'byte-run--set-modes)) "List associating function properties to their macro expansion. Each element of the list takes the form (PROP FUN) where FUN is a function. For each (PROP . VALUES) in a function's declaration, |