diff options
author | Andrea Corallo <akrl@sdf.org> | 2021-04-13 12:06:23 +0200 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2021-04-13 12:06:23 +0200 |
commit | b064ddd3f600ed28e62b09d556ecced5f80d9883 (patch) | |
tree | 2ddf4889f385beb34cd064f245a7e59265377c37 /lisp/emacs-lisp/cl-macs.el | |
parent | 2d23f19e7d5ff8a1ec1a188dcd530c185029d1f8 (diff) | |
parent | 6de79542e43ece9a12ebc032c275a6c3fee0b73b (diff) | |
download | emacs-b064ddd3f600ed28e62b09d556ecced5f80d9883.tar.gz emacs-b064ddd3f600ed28e62b09d556ecced5f80d9883.tar.bz2 emacs-b064ddd3f600ed28e62b09d556ecced5f80d9883.zip |
Merge remote-tracking branch 'savannah/master' into native-comp
Diffstat (limited to 'lisp/emacs-lisp/cl-macs.el')
-rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 7f8f7105f33..8b2d3c413af 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -2141,6 +2141,13 @@ Like `cl-flet' but the definitions can refer to previous ones. ;; tail-called any more. (not (memq var shadowings))))) `(,(car exp) ,bindings . ,(funcall opt-exps exps))) + ((and `(condition-case ,err-var ,bodyform . ,handlers) + (guard (not (eq err-var var)))) + `(condition-case ,err-var + (progn (setq ,retvar ,bodyform) nil) + . ,(mapcar (lambda (h) + (cons (car h) (funcall opt-exps (cdr h)))) + handlers))) ('nil nil) ;No need to set `retvar' to return nil. (_ `(progn (setq ,retvar ,exp) nil)))))) |