#| -*-Scheme-*-
-$Id: unsyn.scm,v 14.15 1994/03/22 21:31:01 cph Exp $
+$Id: unsyn.scm,v 14.16 1994/03/22 21:36:27 cph Exp $
Copyright (c) 1988-94 Massachusetts Institute of Technology
(define (unsyntax-error keyword message . irritants)
(apply error
- (cons (string-append "UNSYNTAX: " (symbol->string keyword) ": " message)
+ (cons (string-append "UNSYNTAX: " (symbol->string keyword) ": "
+ message)
irritants)))
\f
;;;; Unsyntax Quanta
(not (has-substitution? object)))
(access-components object
(lambda (environment name)
- `(,name ,@(loop environment unsyntaxer:macroize?))))
+ `(,name ,@(loop environment (eq? #t unsyntaxer:macroize?)))))
`(,(unsyntax-object object)))))
(define (unsyntax-DEFINITION-object definition)
`(SET! ,name ,@(unexpand-binding-value value)))))
(define (unexpand-definition name value)
- (if (and unsyntaxer:macroize?
+ (if (and (eq? #t unsyntaxer:macroize?)
(lambda? value)
(not (has-substitution? value)))
(lambda-components** value
(define (unsyntax-sequence seq)
(if (sequence? seq)
- (if unsyntaxer:macroize?
+ (if (eq? #t unsyntaxer:macroize?)
(unsyntax-sequence-actions seq)
`((BEGIN ,@(unsyntax-sequence-actions seq))))
(list (unsyntax-object seq))))
(cond (substitution
(cons (cdr substitution)
(loop (cdr actions))))
- ((and unsyntaxer:macroize?
+ ((and (eq? #t unsyntaxer:macroize?)
(sequence? (car actions)))
(append (unsyntax-sequence-actions (car actions))
(loop (cdr actions))))
(loop (cdr actions))))))))))
(define (unsyntax-OPEN-BLOCK-object open-block)
- (if unsyntaxer:macroize?
+ (if (eq? #t unsyntaxer:macroize?)
(open-block-components open-block
(lambda (auxiliary declarations expression)
`(OPEN-BLOCK ,auxiliary
\f
(define (unsyntax-DISJUNCTION-object object)
`(OR ,@(disjunction-components object
- (if unsyntaxer:macroize?
+ (if (eq? #t unsyntaxer:macroize?)
unexpand-disjunction
(lambda (predicate alternative)
(list (unsyntax-object predicate)
(define (unsyntax-CONDITIONAL-object conditional)
(conditional-components conditional
- (if unsyntaxer:macroize?
+ (if (eq? #t unsyntaxer:macroize?)
unsyntax-conditional
unsyntax-conditional/default)))
(let ((ordinary-combination
(lambda ()
`(,(unsyntax-object operator) ,@(unsyntax-objects operands)))))
- (cond ((or (not unsyntaxer:macroize?)
+ (cond ((or (not (eq? #t unsyntaxer:macroize?))
(has-substitution? operator))
(ordinary-combination))
((and (or (eq? operator cons)