[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master cc0f546825e: ; Reverse debug spec of cl-flet (bug#65344)
From: |
Gerd Moellmann |
Subject: |
master cc0f546825e: ; Reverse debug spec of cl-flet (bug#65344) |
Date: |
Tue, 22 Aug 2023 04:17:33 -0400 (EDT) |
branch: master
commit cc0f546825e0db9ff78f82c62615686aa480a133
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>
; Reverse debug spec of cl-flet (bug#65344)
---
lisp/emacs-lisp/cl-macs.el | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 4cc43995c12..254a10781fe 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master cc0f546825e: ; Reverse debug spec of cl-flet (bug#65344),
Gerd Moellmann <=