; Reverse debug spec of cl-flet (bug#65344)

This commit is contained in:
Gerd Möllmann 2023-08-22 10:16:40 +02:00
parent bb2dab61a1
commit cc0f546825

View file

@ -2075,15 +2075,22 @@ info node `(cl) Function Bindings' for details.
\(fn ((FUNC ARGLIST BODY...) ...) FORM...)"
(declare (indent 1)
(debug ((&rest [&or (&define [&name symbolp "@cl-flet@"]
[&name [] gensym] ;Make it unique!
cl-lambda-list
cl-declarations-or-string
[&optional ("interactive" interactive)]
def-body)
(&define [&name symbolp "@cl-flet@"]
[&name [] gensym] ;Make it unique!
def-form)])
(debug ((&rest [&or
;; This spec must come first so that a
;; binding of the form (FN FORM) is always
;; interpreted as FORM being a form
;; returning a function, instead of FORM
;; being a cl-lambda-list and FN returning
;; nil.
(&define [&name symbolp "@cl-flet@"]
[&name [] gensym] ;Make it unique!
def-form)
(&define [&name symbolp "@cl-flet@"]
[&name [] gensym] ;Make it unique!
cl-lambda-list
cl-declarations-or-string
[&optional ("interactive" interactive)]
def-body)])
cl-declarations body)))
(let ((binds ()) (newenv macroexpand-all-environment))
(dolist (binding bindings)