diff --git a/pkgs/base/info.rkt b/pkgs/base/info.rkt index 650d6fa76f..a9f7456d66 100644 --- a/pkgs/base/info.rkt +++ b/pkgs/base/info.rkt @@ -12,7 +12,7 @@ (define collection 'multi) -(define version "7.4.0.1") +(define version "7.4.0.2") (define deps `("racket-lib" ["racket" #:version ,version])) diff --git a/racket/src/cs/primitive/internal.ss b/racket/src/cs/primitive/internal.ss index d77abd4873..6cebd55e25 100644 --- a/racket/src/cs/primitive/internal.ss +++ b/racket/src/cs/primitive/internal.ss @@ -1,9 +1,10 @@ ;; Exports that are not exposed to Racket, but -;; can be used in a linklet: +;; can be used in a linklet. These need to be +;; listed in "built-in-symbol.rkt" in the expander, +;; too. (define-primitive-table internal-table - [set-ctl-c-handler! (known-constant)] [impersonator-val (known-constant)] [impersonate-ref (known-constant)] [impersonate-set! (known-constant)] @@ -14,7 +15,6 @@ [register-struct-predicate! (known-constant)] [register-struct-field-accessor! (known-constant)] [register-struct-field-mutator! (known-constant)] - [struct-property-set! (known-constant)] [|#%call-with-values| (known-constant)] [unbox/check-undefined (known-constant)] [set-box!/check-undefined (known-constant)] @@ -28,11 +28,9 @@ [unsafe-struct? (known-constant)] [call-with-module-prompt (known-procedure 2)] + [raise-binding-result-arity-error (known-procedure 4)] - [fork-place (known-procedure 1)] - [start-place (known-procedure 32)] [make-pthread-parameter (known-procedure 2)] - [break-enabled-key (known-constant)] [engine-block (known-procedure 1)] [force-unfasl (known-procedure 2)] diff --git a/racket/src/cs/schemify.sls b/racket/src/cs/schemify.sls index 7c688bc71f..5528bd798c 100644 --- a/racket/src/cs/schemify.sls +++ b/racket/src/cs/schemify.sls @@ -9,7 +9,7 @@ linklet-bigger-than? make-path->compiled-path compiled-path->path - force-unfasl + (rename [1/force-unfasl force-unfasl]) prim-knowns known-procedure known-procedure/pure diff --git a/racket/src/cs/thread.sls b/racket/src/cs/thread.sls index 364a96c684..b804598ad6 100644 --- a/racket/src/cs/thread.sls +++ b/racket/src/cs/thread.sls @@ -112,9 +112,9 @@ [(|#%pthread|) ;; Entries in the `#%pthread` table are referenced more ;; directly in "compiled/thread.scm". To make that work, the - ;; entries need to be registered as built-in names with the - ;; expander, and they need to be listed in - ;; "primitive/internal.ss". + ;; entries need to be either primitives in all Racket + ;; implemenations or registered as built-in names with the + ;; expander and listed in "primitive/internal.ss". (hasheq 'make-pthread-parameter make-pthread-parameter 'unsafe-root-continuation-prompt-tag unsafe-root-continuation-prompt-tag diff --git a/racket/src/expander/compile/built-in-symbol.rkt b/racket/src/expander/compile/built-in-symbol.rkt index ac39b29f6b..1c3a1dd33b 100644 --- a/racket/src/expander/compile/built-in-symbol.rkt +++ b/racket/src/expander/compile/built-in-symbol.rkt @@ -65,15 +65,18 @@ variable-set!/define make-instance-variable-reference instance-variable-reference + unbox/check-undefined + set-box!/check-undefined annotation? annotation-expression #%app #%call-with-values + call-with-module-prompt make-pthread-parameter - break-enabled-key engine-block - fasl->s-exp/intern + force-unfasl make-record-type-descriptor + make-record-constructor-descriptor record-constructor record-accessor record-mutator @@ -83,8 +86,13 @@ register-struct-predicate! register-struct-field-accessor! register-struct-field-mutator! + unsafe-struct? raise-binding-result-arity-error - + structure-type-lookup-prefab-uid + struct-type-constructor-add-guards + impersonator-val + impersonator-ref + impersonate-set! ptr-ref/int8 ptr-set!/int8 ptr-ref/uint8 ptr-set!/uint8 ptr-ref/int16 ptr-set!/int16 diff --git a/racket/src/expander/run.rkt b/racket/src/expander/run.rkt index 9ad1415983..9f18b36e04 100644 --- a/racket/src/expander/run.rkt +++ b/racket/src/expander/run.rkt @@ -184,7 +184,9 @@ ts (let ([l (read-dependencies-from-file check-dependencies)]) (and l - (for/and ([dep (in-list l)]) + (pair? l) + (equal? (car l) (string->bytes/utf-8 (version))) + (for/and ([dep (in-list (cdr l))]) (<= (file-or-directory-modify-seconds dep #f (lambda () +inf.0)) ts))))) (log-status "No dependencies are newer") @@ -395,8 +397,10 @@ dependencies-file #:exists 'truncate/replace (lambda (o) - (writeln (for/list ([dep (in-hash-keys dependencies)]) - (path->bytes dep)) + (writeln (cons + (string->bytes/utf-8 (version)) + (for/list ([dep (in-hash-keys dependencies)]) + (path->bytes dep))) o)))) (when makefile-dependencies-file diff --git a/racket/src/racket/src/schvers.h b/racket/src/racket/src/schvers.h index 067a2d7364..7918e575f9 100644 --- a/racket/src/racket/src/schvers.h +++ b/racket/src/racket/src/schvers.h @@ -16,7 +16,7 @@ #define MZSCHEME_VERSION_X 7 #define MZSCHEME_VERSION_Y 4 #define MZSCHEME_VERSION_Z 0 -#define MZSCHEME_VERSION_W 1 +#define MZSCHEME_VERSION_W 2 /* A level of indirection makes `#` work as needed: */ #define AS_a_STR_HELPER(x) #x diff --git a/racket/src/racket/src/startup.inc b/racket/src/racket/src/startup.inc index d6c081253c..ab92d9c659 100644 --- a/racket/src/racket/src/startup.inc +++ b/racket/src/racket/src/startup.inc @@ -19961,15 +19961,18 @@ static const char *startup_source = " variable-set!/define" " make-instance-variable-reference" " instance-variable-reference" +" unbox/check-undefined" +" set-box!/check-undefined" " annotation?" " annotation-expression" " #%app" " #%call-with-values" +" call-with-module-prompt" " make-pthread-parameter" -" break-enabled-key" " engine-block" -" fasl->s-exp/intern" +" force-unfasl" " make-record-type-descriptor" +" make-record-constructor-descriptor" " record-constructor" " record-accessor" " record-mutator" @@ -19979,7 +19982,13 @@ static const char *startup_source = " register-struct-predicate!" " register-struct-field-accessor!" " register-struct-field-mutator!" +" unsafe-struct?" " raise-binding-result-arity-error" +" structure-type-lookup-prefab-uid" +" struct-type-constructor-add-guards" +" impersonator-val" +" impersonator-ref" +" impersonate-set!" " ptr-ref/int8" " ptr-set!/int8" " ptr-ref/uint8"