Changeset 293
- Timestamp:
- Jan 13, 2004, 5:13:45 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/compiler/nx-basic.lisp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/compiler/nx-basic.lisp
r6 r293 294 294 (when (non-nil-symbol-p spec) 295 295 (if (assq spec symbol-macros) 296 ( error "Special declaration cannot be applied to symbol-macro ~S" spec))296 (signal-program-error "Special declaration cannot be applied to symbol-macro ~S" spec)) 297 297 (push (list* spec 'special t) vdecls))))) 298 298 (dolist (decl decls) … … 364 364 (check-environment-args variable symbol-macro function macro) 365 365 (let* ((vars (mapcar #'cons-var variable)) 366 (symbol-macros (mapcar #'(lambda (s) (let ((v (cons-var (car s)))) 367 (setf (var-expansion v) (cons :symbol-macro (cadr s))) 368 v)) 369 symbol-macro)) 366 (symbol-macros (mapcar #'(lambda (s) 367 (let* ((sym (car s))) 368 (unless (and (symbolp sym) 369 (not (constantp sym env)) 370 (not (eq (variable-information sym env) :special))) 371 (signal-program-error "~S can't by bound as a SYMBOL-MACRO" sym)) 372 (let ((v (cons-var (car s)))) 373 (setf (var-expansion v) (cons :symbol-macro (cadr s))) 374 v))) 375 symbol-macro)) 370 376 (macros (mapcar #'(lambda (m) (list* (car m) 'macro (cadr m))) macro)) 371 377 (functions (mapcar #'(lambda (f) (list* f 'function nil)) function))
Note:
See TracChangeset
for help on using the changeset viewer.
