* lisp/progmodes/elisp-mode.el (elisp--local-variables-1): Fix bug#50034

Don't burp if the arg list of a function is not actually a list.
This commit is contained in:
Stefan Monnier 2022-08-23 10:15:48 -04:00
parent 1a4a12a2a8
commit 3b72b47cbd

View file

@ -383,7 +383,9 @@ be used instead.
(setq sexp nil))
(`(lambda ,args . ,body)
(elisp--local-variables-1
(append (remq '&optional (remq '&rest args)) vars)
(let ((args (if (listp args) args)))
;; FIXME: Exit the loop if witness is in args.
(append (remq '&optional (remq '&rest args)) vars))
(car (last body))))
(`(condition-case ,_ ,e) (elisp--local-variables-1 vars e))
(`(condition-case ,v ,_ . ,catches)