From 77ea4ccb78b9b0b52ae8a39f3d479f4c78cc5248 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 13 Sep 2019 06:58:22 -0600 Subject: [PATCH] add `scheme-fork-version-number` Include an extra part in the Chez Scheme version number, which both helps indicates the Racket fork and versions it. original commit: 00678e29bb9f05de2ccaec8585126e967cdcc6f4 --- makefiles/Mf-install.in | 2 +- s/7.ss | 27 +++++++++++++++++++++------ s/cmacros.ss | 2 +- s/mkheader.ss | 16 +++++++++++----- s/primdata.ss | 1 + 5 files changed, 35 insertions(+), 13 deletions(-) diff --git a/makefiles/Mf-install.in b/makefiles/Mf-install.in index 4440fc33f4..039a6b48fd 100644 --- a/makefiles/Mf-install.in +++ b/makefiles/Mf-install.in @@ -62,7 +62,7 @@ InstallLZ4Target= # no changes should be needed below this point # ############################################################################### -Version=csv9.5.3 +Version=csv9.5.3.1 Include=boot/$m PetiteBoot=boot/$m/petite.boot SchemeBoot=boot/$m/scheme.boot diff --git a/s/7.ss b/s/7.ss index 319b5937e2..a59be5811c 100644 --- a/s/7.ss +++ b/s/7.ss @@ -624,11 +624,17 @@ (define $format-scheme-version (lambda (n) (if (= (logand n 255) 0) - (format "~d.~d" - (ash n -16) - (logand (ash n -8) 255)) - (format "~d.~d.~d" - (ash n -16) + (if (= (logand n 255) 0) + (format "~d.~d" + (ash n -24) + (logand (ash n -16) 255)) + (format "~d.~d.~d" + (ash n -24) + (logand (ash n -16) 255) + (logand (ash n -8) 255))) + (format "~d.~d.~d.~d" + (ash n -24) + (logand (ash n -16) 255) (logand (ash n -8) 255) (logand n 255))))) @@ -639,7 +645,16 @@ (lambda () (let ([n (constant scheme-version)]) (values - (ash n -16) + (ash n -24) + (logand (ash n -16) 255) + (logand (ash n -8) 255))))) + +(define scheme-fork-version-number + (lambda () + (let ([n (constant scheme-version)]) + (values + (ash n -24) + (logand (ash n -16) 255) (logand (ash n -8) 255) (logand n 255))))) diff --git a/s/cmacros.ss b/s/cmacros.ss index 1597d6a6b7..3b3babf57d 100644 --- a/s/cmacros.ss +++ b/s/cmacros.ss @@ -328,7 +328,7 @@ [(_ foo e1 e2) e1] ... [(_ bar e1 e2) e2]))))]))) -(define-constant scheme-version #x00090503) +(define-constant scheme-version #x09050301) (define-syntax define-machine-types (lambda (x) diff --git a/s/mkheader.ss b/s/mkheader.ss index 0e4120326d..dcd82c0368 100644 --- a/s/mkheader.ss +++ b/s/mkheader.ss @@ -153,11 +153,17 @@ (define scheme-version ; adapted from 7.ss (let ([n (constant scheme-version)]) (if (= (logand n 255) 0) - (format "~d.~d" - (ash n -16) - (logand (ash n -8) 255)) - (format "~d.~d.~d" - (ash n -16) + (if (= (logand n 255) 0) + (format "~d.~d" + (ash n -24) + (logand (ash n -16) 255)) + (format "~d.~d.~d" + (ash n -24) + (logand (ash n -16) 255) + (logand (ash n -8) 255))) + (format "~d.~d.~d.~d" + (ash n -24) + (logand (ash n -16) 255) (logand (ash n -8) 255) (logand n 255))))) diff --git a/s/primdata.ss b/s/primdata.ss index 85517d2771..91c9e57e05 100644 --- a/s/primdata.ss +++ b/s/primdata.ss @@ -902,6 +902,7 @@ (petite? [sig [() -> (boolean)]] [flags pure unrestricted]) (scheme-version [sig [() -> (string)]] [flags pure unrestricted true]) (scheme-version-number [sig [() -> (uint uint uint)]] [flags discard unrestricted]) + (scheme-fork-version-number [sig [() -> (uint uint uint uint)]] [flags discard unrestricted]) (threaded? [sig [() -> (boolean)]] [flags pure unrestricted cp02]) )