From 6bd023bf4ee643a0548ab1d1cc4bbfd26697eab4 Mon Sep 17 00:00:00 2001 From: Eshel Yaron Date: Thu, 12 Jun 2025 16:27:22 +0200 Subject: [PATCH] scope.el: Improve cl-defun support --- lisp/emacs-lisp/scope.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/emacs-lisp/scope.el b/lisp/emacs-lisp/scope.el index 5595f2dc48c..d857c510542 100644 --- a/lisp/emacs-lisp/scope.el +++ b/lisp/emacs-lisp/scope.el @@ -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)) -- 2.39.5