;;; ...and one lock to rule them. Spinlock because for certain (rare)
;;; cases this lock might be grabbed in the course of method dispatch
;;; ...and one lock to rule them. Spinlock because for certain (rare)
;;; cases this lock might be grabbed in the course of method dispatch
(let* ((rebound? (caddr (var-declaration '%variable-rebinding var env)))
(parameter-or-nil (car (memq (or rebound? var)
required-parameters))))
(let* ((rebound? (caddr (var-declaration '%variable-rebinding var env)))
(parameter-or-nil (car (memq (or rebound? var)
required-parameters))))
;; Quietly remove IGNORE declarations on
;; args when a next-method is involved, to
;; prevent compiler warnings about ignored
;; Quietly remove IGNORE declarations on
;; args when a next-method is involved, to
;; prevent compiler warnings about ignored
;; Given a valid lambda list, extract the parameter names.
(loop for x in lambda-list
with res = nil
;; Given a valid lambda list, extract the parameter names.
(loop for x in lambda-list
with res = nil