]> git.eshelyaron.com Git - emacs.git/commitdiff
scope.el: Improve cl-defun support
authorEshel Yaron <me@eshelyaron.com>
Thu, 12 Jun 2025 14:27:22 +0000 (16:27 +0200)
committerEshel Yaron <me@eshelyaron.com>
Thu, 12 Jun 2025 14:28:15 +0000 (16:28 +0200)
lisp/emacs-lisp/scope.el

index 5595f2dc48c4935a1fbfd2cc7306fe0c5afbb196..d857c5105426594a3023cbde0178b9a463373df2 100644 (file)
@@ -1235,10 +1235,11 @@ Optional argument LOCAL is a local context to extend."
   (scope-defmethod-1 local local (car rest) (cdr rest)))
 
 (defun scope-cl-defun (local name arglist body)
-  (when-let ((beg (scope-sym-pos name))
-             (bare (scope-sym-bare name)))
-    (scope-report 'defun beg (length (symbol-name bare))))
-  (scope-cl-lambda local arglist body))
+  (let ((beg (scope-sym-pos name))
+        (bare (scope-sym-bare name)))
+    (when beg (scope-report 'defun beg (length (symbol-name bare))))
+    (let ((scope-block-alist (scope-local-new bare beg scope-block-alist)))
+      (scope-cl-lambda local arglist body))))
 
 (defun scope-cl-lambda (local arglist body)
   (scope-cl-lambda-1 local arglist nil body))