Hack runtime.sf to inform older hosts about new type code.
(standard-entry the-environment)
(dispatch-entry combination canonicalize/combination)
(dispatch-entries (lambda lexpr extended-lambda) canonicalize/lambda)
- (dispatch-entry sequence-2 canonicalize/sequence))
+ (dispatch-entry sequence canonicalize/sequence))
(named-lambda (canonicalize/expression expression bound context)
((vector-ref dispatch-vector (object-type expression))
expression bound context))))
\ No newline at end of file
(standard-entry the-environment)
(standard-entry variable)
(dispatch-entries (lambda lexpr extended-lambda) generate/lambda)
- (dispatch-entry sequence-2 generate/sequence)
+ (dispatch-entry sequence generate/sequence)
(dispatch-entry combination generate/combination)
(dispatch-entry comment generate/comment))
(named-lambda (generate/expression block continuation context expression)
(EXTENDED-LAMBDA ,walk/extended-lambda)
((LAMBDA LEXPR) ,walk/lambda)
(QUOTATION ,walk/quotation)
- (SEQUENCE-2 ,walk/sequence)
+ (SEQUENCE ,walk/sequence)
(THE-ENVIRONMENT ,walk/the-environment)
(VARIABLE ,walk/variable)))
table)))
typed))
\f
(define (copy-SEQUENCE-object obj)
- (if (object-type? (ucode-type SEQUENCE-2) obj)
- (%%copy-pair (ucode-type SEQUENCE-2) obj)
+ (if (object-type? (ucode-type SEQUENCE) obj)
+ (%%copy-pair (ucode-type SEQUENCE) obj)
(error "copy-SEQUENCE-object: Unknown type" obj)))
(define (copy-COMBINATION-object obj)
|#
+;; Temporarily: ensure host knows new type code SEQUENCE. Older hosts
+;; have an equivalent SEQUENCE-2 and type-aliases.
+(if (not (microcode-type/name->code 'sequence))
+ (let ((env (->environment '(runtime microcode-tables))))
+ (set! (access type-aliases env)
+ (cons '(sequence-2 sequence)
+ (access type-aliases env)))))
+
(load-option '*PARSER) ;for url.scm
(fluid-let ((sf/default-syntax-table (->environment '(RUNTIME))))
(sf-conditionally "char")
((ucode-primitive string->symbol) "#[open-block]"))
(define-integrable sequence-type
- (ucode-type sequence-2))
+ (ucode-type sequence))
(define null-sequence
'(NULL-SEQUENCE))
;;;; Sequence
(define-integrable (%make-sequence first second)
- (&typed-pair-cons (ucode-type sequence-2) first second))
+ (&typed-pair-cons (ucode-type sequence) first second))
(define-integrable (sequence? object)
- (object-type? (ucode-type sequence-2) object))
+ (object-type? (ucode-type sequence) object))
(define-integrable (%sequence-immediate-first sequence) (&pair-car sequence))
(define-integrable (%sequence-immediate-second sequence) (&pair-cdr sequence))
(EXTENDED-PROCEDURE . PROCEDURE)
(PRIMITIVE . PRIMITIVE-PROCEDURE)
(LEXPR . LAMBDA)
- (EXTENDED-LAMBDA . LAMBDA)
- (SEQUENCE-2 . SEQUENCE)))
+ (EXTENDED-LAMBDA . LAMBDA)))
\f
(define (unparse/false object)
(if (eq? object #f)
(define (microcode-return/code-limit)
(vector-length (vector-ref (get-fixed-objects-vector) returns-slot)))
-(define returns-aliases
- '((sequence-continue sequence-2-second)))
+(define returns-aliases '())
(define errors-slot)
(BIGNUM BIG-FIXNUM)
(PROMISE DELAYED)
(FIXNUM ADDRESS POSITIVE-FIXNUM NEGATIVE-FIXNUM)
- (SEQUENCE SEQUENCE-2)
(STRING CHARACTER-STRING VECTOR-8B)
(HUNK3-A UNMARKED-HISTORY)
(TRIPLE HUNK3 HUNK3-B MARKED-HISTORY)