(variable-globally-special-p var)))
(defun variable-globally-special-p (symbol)
- (eq (sb-int:info :variable :kind symbol) :special))
+ (eq (info :variable :kind symbol) :special))
\f
;;;; handling of special forms
(defun get-walker-template (x)
(cond ((symbolp x)
- (or (get-walker-template-internal x)
- (get-implementation-dependent-walker-template x)))
+ (get-walker-template-internal x))
((and (listp x) (eq (car x) 'lambda))
'(lambda repeat (eval)))
(t
(error "can't get template for ~S" x))))
-;;; FIXME: This can go away in SBCL.
-(defun get-implementation-dependent-walker-template (x)
- (declare (ignore x))
- ())
\f
;;;; the actual templates
(relist-internal x args nil)))
(defun relist* (x &rest args)
- (relist-internal x args 't))
+ (relist-internal x args t))
(defun relist-internal (x args *p)
(if (null (cdr args))
(not (symbolp (caddr arg)))
(note-lexical-binding (caddr arg) env))))
(t
- (error "Can't understand something in the arglist ~S" arglist))))
+ (error "can't understand something in the arglist ~S" arglist))))
(defun walk-let (form context env)
(walk-let/let* form context env nil))
(walker-environment-bind (new-env old-env)
(let* ((possible-block-name (second form))
(blocked-prog (and (symbolp possible-block-name)
- (not (eq possible-block-name 'nil)))))
+ (not (eq possible-block-name nil)))))
(multiple-value-bind (let/let* block-name bindings body)
(if blocked-prog
(values (car form) (cadr form) (caddr form) (cdddr form))