diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1140a9f4b..2892b53b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,7 +63,7 @@ jobs: if: ${{ runner.os == 'Windows' }} run: git config --global core.autocrlf false - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: 'recursive' - name: Setup 32-bit Linux @@ -87,7 +87,7 @@ jobs: run: tar -c -h -z -f $TARGET_MACHINE$TOOLCHAIN$VARIANT.tgz $TARGET_MACHINE - name: Upload archive if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.config.machine }}${{ matrix.config.toolchain }}${{ matrix.config.variant }} path: ${{ matrix.config.machine }}${{ matrix.config.toolchain }}${{ matrix.config.variant }}.tgz diff --git a/BUILDING b/BUILDING index 2f36a892b..7b3dc9c88 100644 --- a/BUILDING +++ b/BUILDING @@ -1,5 +1,5 @@ -Building Chez Scheme Version 9.9.9 -Copyright 1984-2023 Cisco Systems, Inc. +Building Chez Scheme Version 10.0.0 +Copyright 1984-2024 Cisco Systems, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -350,12 +350,12 @@ To build on Windows with Microsoft Visual Studio, use where is one of the following: * pb (portable bytecode, usually for bootstrapping) - * ta6nt (64-bit Intel threaded - * a6nt (64-bit Intel non-threaded - * tarm64nt (64-bit Arm threaded) - * arm64nt (64-bit Arm non-threaded) - * ti3nt (32-bit threaded) - * i3nt (32-bit non-threaded) + * ta6nt (64-bit Intel threaded) + * a6nt (64-bit Intel non-threaded) + * tarm64nt (64-bit ARM threaded) + * arm64nt (64-bit ARM non-threaded) + * ti3nt (32-bit Intel threaded) + * i3nt (32-bit Intel non-threaded) If you're using Visual Studio 2022 or 2019, install "Desktop development with C++" on the "Workloads" tabs and the "C++ 20[xx] diff --git a/NOTICE b/NOTICE index 59771015d..4dc1b01ba 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ -Chez Scheme Version 9.9.9 -Copyright 1984-2023 Cisco Systems, Inc. +Chez Scheme Version 10.0.0 +Copyright 1984-2024 Cisco Systems, Inc. This product includes code developed by Cisco Systems, Inc. diff --git a/boot/pb/equates.h b/boot/pb/equates.h index 696353e18..86c2649c8 100644 --- a/boot/pb/equates.h +++ b/boot/pb/equates.h @@ -1,4 +1,4 @@ -/* equates.h for Chez Scheme Version 9.9.9-pre-release.24 */ +/* equates.h for Chez Scheme Version 10.0.0 */ /* Do not edit this file. It is automatically generated and */ /* specifically tailored to the version of Chez Scheme named */ @@ -1010,7 +1010,7 @@ typedef uint64_t U64; #define rtd_sealed 0x4 #define sbwp (ptr)0x4E #define scaled_shot_1_shot_flag -0x8 -#define scheme_version 0x9090918 +#define scheme_version 0xA000000 #define seginfo_generation_disp 0x1 #define seginfo_list_bits_disp 0x8 #define seginfo_space_disp 0x0 diff --git a/boot/pb/petite.boot b/boot/pb/petite.boot index 4dae5bd5d..87015ea2a 100644 Binary files a/boot/pb/petite.boot and b/boot/pb/petite.boot differ diff --git a/boot/pb/scheme.boot b/boot/pb/scheme.boot index 5e1f2456e..d9d00cc95 100644 Binary files a/boot/pb/scheme.boot and b/boot/pb/scheme.boot differ diff --git a/boot/pb/scheme.h b/boot/pb/scheme.h index d7d498a7a..dcb1fb63e 100644 --- a/boot/pb/scheme.h +++ b/boot/pb/scheme.h @@ -1,4 +1,4 @@ -/* scheme.h for Chez Scheme Version 9.9.9-pre-release.24 (pb) */ +/* scheme.h for Chez Scheme Version 10.0.0 (pb) */ /* Do not edit this file. It is automatically generated and */ /* specifically tailored to the version of Chez Scheme named */ @@ -40,7 +40,7 @@ #endif /* Chez Scheme Version and machine type */ -#define VERSION "9.9.9-pre-release.24" +#define VERSION "10.0.0" #define MACHINE_TYPE "pb" /* Integer typedefs */ diff --git a/c/fasl.c b/c/fasl.c index dbe3a2990..8ecb5b8e9 100644 --- a/c/fasl.c +++ b/c/fasl.c @@ -371,11 +371,8 @@ char *S_format_scheme_version(uptr n) { static char buf[40]; INT len; if ((n >> 24) != ((n >> 24) & 0xffff)) return "unknown"; if ((n & 0xff) == 0) { - if ((n & 0xff) == 0) - len = snprintf(buf, sizeof(buf), "%d.%d", (int) n >> 24, (int) (n >> 16) & 0xff); - else - len = snprintf(buf, sizeof(buf), "%d.%d.%d", (int) n >> 24, (int) (n >> 16) & 0xff, - (int) (n >> 8) & 0xff); + len = snprintf(buf, sizeof(buf), "%d.%d.%d", (int) n >> 24, (int) (n >> 16) & 0xff, + (int) (n >> 8) & 0xff); } else len = snprintf(buf, sizeof(buf), "%d.%d.%d-pre-release.%d", (int) n >> 24, (int) (n >> 16) & 0xff, (int) (n >> 8) & 0xff, (int) n & 0xff); diff --git a/c/scheme.rc b/c/scheme.rc index 2e7783642..f09e55cf6 100644 --- a/c/scheme.rc +++ b/c/scheme.rc @@ -1,8 +1,8 @@ #include "winver.h" VS_VERSION_INFO VERSIONINFO - FILEVERSION 9,9,9,0 - PRODUCTVERSION 9,9,9,0 + FILEVERSION 10,0,0,0 + PRODUCTVERSION 10,0,0,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0x0L FILEOS VOS__WINDOWS32 @@ -12,13 +12,13 @@ VS_VERSION_INFO VERSIONINFO BLOCK "StringFileInfo" { BLOCK "04090000" { VALUE "CompanyName", "Cisco Systems, Inc." - VALUE "FileDescription", "Chez Scheme Version 9.9.9" - VALUE "FileVersion", "9.9.9" + VALUE "FileDescription", "Chez Scheme Version 10.0.0" + VALUE "FileVersion", "10.0.0" VALUE "InternalName", "scheme.exe" - VALUE "LegalCopyright", "Copyright 1984-2023 Cisco Systems, Inc. Licensed under the Apache License, Version 2.0." + VALUE "LegalCopyright", "Copyright 1984-2024 Cisco Systems, Inc. Licensed under the Apache License, Version 2.0." VALUE "OriginalFilename", "scheme.exe" VALUE "ProductName", "Chez Scheme" - VALUE "ProductVersion", "9.9.9" + VALUE "ProductVersion", "10.0.0" } } BLOCK "VarFileInfo" { diff --git a/csug/copyright.stex b/csug/copyright.stex index 16e82abfa..ed6951dc9 100644 --- a/csug/copyright.stex +++ b/csug/copyright.stex @@ -16,7 +16,7 @@ \centerline{}\vfill -\textbf{\copyright~2023 Cisco Systems, Inc.} +\textbf{\copyright~2024 Cisco Systems, Inc.} Licensed under the Apache License Version 2.0\\ http://www.apache.org/licenses/LICENSE-2.0 diff --git a/csug/csug.stex b/csug/csug.stex index 697f5e056..080101b54 100644 --- a/csug/csug.stex +++ b/csug/csug.stex @@ -27,7 +27,7 @@ ;; is the same as the documented version. If it's a release version, ;; then the date is fixed to the release date. Otherwise, use ;; the date when the document is built. -(define latest-release-date "September 2023") +(define latest-release-date "February 2024") (printf "\\def\\CSVersion{~a}\n" (scheme-version #t)) (cond [(not (scheme-pre-release)) @@ -78,7 +78,7 @@ \def\copyrightnotice{\raw{

Chez Scheme Version 10 User's Guide
-Copyright © 2023 Cisco Systems, Inc.
+Copyright © 2024 Cisco Systems, Inc.
Licensed under the Apache License Version 2.0 (full copyright notice.).
Revised} \revisiondate\raw{ for }\CSVersion\raw{
diff --git a/makefiles/Makefile-csug.in b/makefiles/Makefile-csug.in index 52da6af88..ebaf7176f 100644 --- a/makefiles/Makefile-csug.in +++ b/makefiles/Makefile-csug.in @@ -20,7 +20,7 @@ target: canned logcheck1 logcheck2 checklibs $(x).html $(x).pdf install: target $(INSTALL) -m 2755 -d $(installdir) $(INSTALL) -m 0644 --ifdiff *.html *.css $(installdir) - $(INSTALL) -m 0644 --ifdiff csug.pdf $(installdir)/csug9_9.pdf + $(INSTALL) -m 0644 --ifdiff csug.pdf $(installdir)/csug10_0.pdf $(INSTALL) -m 2755 -d $(installdir)/canned $(INSTALL) -m 0644 --ifdiff canned/* $(installdir)/canned $(INSTALL) -m 2755 -d $(installdir)/gifs diff --git a/makefiles/install.zuo b/makefiles/install.zuo index 0824b0594..9ca287551 100644 --- a/makefiles/install.zuo +++ b/makefiles/install.zuo @@ -71,14 +71,10 @@ ;; Everything after here is derived from the configuration (define Version (let ([l (get-version)]) - (~a "csv" (list-ref l 0) "." (list-ref l 1) - (if (and (= (list-ref l 2) 0) - (= (list-ref l 3) 0)) + (~a "csv" (list-ref l 0) "." (list-ref l 1) "." (list-ref l 2) + (if (= (list-ref l 3) 0) "" - (~a "." (list-ref l 2) - (if (= (list-ref l 3) 0) - "" - (~a "-pre-release." (list-ref l 3)))))))) + (~a "-pre-release." (list-ref l 3)))))) (define (build-path* . elems) (if script-to diff --git a/pkg/Makefile b/pkg/Makefile index 5d34b98fb..4c1b6171c 100644 --- a/pkg/Makefile +++ b/pkg/Makefile @@ -14,7 +14,7 @@ # limitations under the License. m := $(shell find ../bin/* -type d | xargs basename) -version = 9.9.9 +version = 10.0.0 release = 1 DOTUSER = $(shell ls -ld . | sed -e 's/[^ ]* *[^ ]* *\([^ ]*\).*/\1/') @@ -77,7 +77,7 @@ $(BUILDROOT)/Distribution: $(BUILDROOT) $(BUILDROOT)/Resources/en.lproj/Welcome.html: $(BUILDROOT)/Resources/en.lproj echo '' > $(BUILDROOT)/Resources/en.lproj/Welcome.html echo '

Chez Scheme Version $(version)

' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html - echo '

Copyright © 2023 Cisco Systems, Inc.

' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html + echo '

Copyright © 2024 Cisco Systems, Inc.

' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html echo '

Chez Scheme is a programming language and an implementation of that language, with supporting tools and documentation.

' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html echo '' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html chmod 644 $(BUILDROOT)/Resources/en.lproj/Welcome.html diff --git a/release_notes/release_notes.stex b/release_notes/release_notes.stex index 6571ff70b..51a2e79ca 100644 --- a/release_notes/release_notes.stex +++ b/release_notes/release_notes.stex @@ -1,9 +1,9 @@ \documentclass{releasenotes} -\thisversion{Version 9.9.9} +\thisversion{Version 10.0.0} \thatversion{Version 8.4} -\pubmonth{September} -\pubyear{2023} +\pubmonth{February} +\pubyear{2024} \iflatex \usepackage{enumitem} @@ -113,12 +113,12 @@ Online versions of both books can be found at %----------------------------------------------------------------------------- \section{Functionality Changes}\label{section:functionality} -\subsection{Unicode 15.1 support (9.9.9)} +\subsection{Unicode 15.1 support (10.0.0)} The character sets, character classes, and word-breaking algorithms for character, string, and Unicode-related bytevector operations have now been updated to Unicode 15.1. -\subsection{New supported platforms and portable bytecode (9.9.9)} +\subsection{New supported platforms and portable bytecode (10.0.0)} AArch64 (64-bit Arm), RV64G (64-bit RISC-V), and LoongArch64 architectures are supported. Threads are supported on architectures with weak memory @@ -144,8 +144,7 @@ bytecode interpretation. In particular, since Chez Scheme is mostly written in Chez Scheme, a pbchunk conversion of its boot files improves performance of primitives and compilation. - -\subsection{Threaded default and build system changes (9.9.9)} +\subsection{Threaded default and build system changes (10.0.0)} Running \scheme{configure} assumes a threaded target machine type, unless \scheme{--nothreads} or a non-threaded machine type is @@ -172,8 +171,7 @@ The new \scheme{scheme-build-number} function complements during development. The \scheme{scheme-build-number} procedure always returns zero for a released version of Chez Scheme. - -\subsection{Compiler improvements (9.9.9)}\label{sec:unbox-floats} +\subsection{Compiler improvements (10.0.0)}\label{sec:unbox-floats} The compiler generates code that locally unboxes floating-point operations, so that compositions of floating-point operations can be @@ -233,8 +231,7 @@ The internal representation of record types has changed so that a record-type predicate is a constant-time operation, instead of proportional to the subtype depth. - -\subsection{Garbage-collector improvements (9.9.9)} +\subsection{Garbage-collector improvements (10.0.0)} Garbage collection takes advantage of machine parallelism. Parallel collection is automatically enabled when a program has multiple Scheme @@ -263,8 +260,7 @@ previous versions of Chez Scheme. See also Sections~\ref{sec:gc-reflect} and \ref{sec:ffi-storage} for related new functionality. - -\subsection{Continuation marks (9.9.9)}\label{sec:cont-marks} +\subsection{Continuation marks (10.0.0)}\label{sec:cont-marks} \emph{Continuation marks} add key--value information to continuations. The \scheme{with-continuation-mark} form associates a key--value pair @@ -288,8 +284,7 @@ similar to calling a procedure as a function, but instead of a value to deliver to the continuation, it takes a procedure of no arguments to call within the continuation. - -\subsection{New fixnum operations (9.9.9)} +\subsection{New fixnum operations (10.0.0)} New operations support common bit-related operations on fixnums: @@ -312,8 +307,7 @@ mutable-fxvector? ; removed immutable-fxvector? ; removed \endschemedisplay - -\subsection{New flonum operations (9.9.9)} +\subsection{New flonum operations (10.0.0)} The \scheme{eq?} operator works on flonums in the sense that two flonums values that are \scheme{eq?} at some point (such as creation @@ -355,8 +349,7 @@ The \scheme{fl=}, \scheme{fl<}, , \scheme{fl>}, \scheme{fl<=}, and that's \scheme{+nan.0}, which makes them consistent with \scheme{=}, \scheme{<}, \scheme{>}, \scheme{<=}, and \scheme{>=}. - -\subsection{Improved bignum arithmetic (9.9.9)} +\subsection{Improved bignum arithmetic (10.0.0)} Multiplication of very large numbers uses Karatsuba, Toom-3, or Toom-4, while division (including GCD) uses Burnikel-Ziegler. These @@ -364,8 +357,7 @@ changes make arithmetic and number-to-string conversions faster for large values, and they avoid unbounded delays between interrupt polling. - -\subsection{Exact zeros, transcendentals, and exponentials (9.9.9)} +\subsection{Exact zeros, transcendentals, and exponentials (10.0.0)} Division of an exact \scheme{0} by an inexact number now always produces exact \scheme{0}, and @@ -389,8 +381,7 @@ The \scheme{expt} function recognizes an exact \scheme{1/2} as its second argument, and in that case it behaves like \scheme{sqrt}, which may produce an exact result. - -\subsection{New character, string, and Unicode functions (9.9.9)} +\subsection{New character, string, and Unicode functions (10.0.0)} New functions support decoding grapheme clusters within strings or character streams and expose the underlying new character classifiers: @@ -410,9 +401,7 @@ creating an intermediate mutable string. The \scheme{path-build} procedure combines two path strings to form a path, adding a directory separator between them if necessary. - -\subsection{Hashtable changes (9.9.9)} - +\subsection{Hashtable changes (10.0.0)} Operations returning hashtable cells (\scheme{hashtable-cell}, \scheme{eq-hashtable-cell}, \scheme{symbol-hashtable-cell}, and @@ -447,8 +436,7 @@ changes to \scheme{eq?} for flonum values and the availability of weak and ephemeron hash tables with arbitrary equality and hashing functions. - -\subsection{Stencil vectors (9.9.9)} +\subsection{Stencil vectors (10.0.0)} Stencil vectors provide support in the compiler and runtime for implementing data structures such as persistent maps: @@ -465,8 +453,7 @@ stencil-vector-truncate! stencil-vector-mask-width \endschemedisplay - -\subsection{New vector functions (9.9.9)} +\subsection{New vector functions (10.0.0)} New and extended (in the case of \scheme{vector-copy}) vector functions support creating a vector from the content of others and creating immutable @@ -488,7 +475,7 @@ new versions can avoid redundant initialization and write barriers. The immutable-vector functions similarly can avoid allocating an intermediate mutable vector. -\subsection{New symbol functions (9.9.9)} +\subsection{New symbol functions (10.0.0)} While gensyms support most symbol-generation needs, uninterned symbols are useful for purposes where properties must not prevent a symbol @@ -501,8 +488,7 @@ uninterned-symbol? The string returned by \scheme{symbol->string} is always immutable. - -\subsection{Record anonymous fields (9.9.9)} +\subsection{Record anonymous fields (10.0.0)} Records can have anonymous fields, which can save memory in the representation when many record types need to be created (as opposed @@ -521,8 +507,7 @@ The new \scheme{record-instance?} predicate is a specialization of An unsafe \scheme{record-instance?} test can be faster than an unsafe \scheme{record?} test. - -\subsection{Lists assuming immutability (9.9.9)} +\subsection{Lists assuming immutability (10.0.0)} In a context where pairs are not mutated, the new \scheme{list-assuming-immutable?} predicate is useful as a variant of @@ -531,8 +516,7 @@ efficient, amortized constant-time decision on whether a value represents a list, but its behavior is unspecified if the \scheme{cdr} or any pair relevant to the result is mutated. - -\subsection{New random number generation (9.9.9)} +\subsection{New random number generation (10.0.0)} A new random-number API implements the MRG32K3A algorithm: @@ -545,8 +529,7 @@ pseudo-random-generator->vector vector->pseudo-random-generator \endschemedisplay - -\subsection{Wrapper procedures (9.9.9)} +\subsection{Wrapper procedures (10.0.0)} A \emph{wrapper procedure} provides an inexpensive way to an adjust a procedure's name, constrain its arity, or associate extra data to the @@ -564,8 +547,7 @@ set-wrapper-procedure-data! set-wrapper-procedure! \endschemedisplay - -\subsection{New thread functions (9.9.9)}\label{sec:threads} +\subsection{New thread functions (10.0.0)}\label{sec:threads} The new \scheme{thread-join} operator can be used to wait for a thread to terminate. Waiting for termination in this sense can be useful to @@ -591,8 +573,7 @@ When a new thread is created, it now starts with the default exception-handler stack instead of inheriting the stack of the creating thread. - -\subsection{Garbage collection introspection (9.9.9)}\label{sec:gc-reflect} +\subsection{Garbage collection introspection (10.0.0)}\label{sec:gc-reflect} Similar to \scheme{enable-object-counts}, the \scheme{enable-object-backreferences} parameter enables recording of @@ -633,8 +614,7 @@ garbage collection, the \scheme{collect} function takes a list as an optional last argument to fuse a garbage collection with size accounting. - -\subsection{Storage management and foreign interfaces (9.9.9)}\label{sec:ffi-storage} +\subsection{Storage management and foreign interfaces (10.0.0)}\label{sec:ffi-storage} The \scheme{make-guardian} function accepts an option to create an \emph{ordered guardian}. An ordered guardian treats each of its @@ -691,8 +671,7 @@ internal changes that make allocation thread-local, which in turn makes the size of a thread's representation proportional to the maximum number of generations. - -\subsection{Foreign interface extensions (9.9.9)} +\subsection{Foreign interface extensions (10.0.0)} Some ABIs treat functions with varargs (i.e., specified with \scheme{...} in the C prototype) differently than functions without @@ -728,8 +707,7 @@ file descriptor and offset. This form of boot-file registration is useful for loading boot files that are embedded with an executable segment. - -\subsection{Fasl and vfasl (9.9.9)} +\subsection{Fasl and vfasl (10.0.0)} Reading fasl data has been made safe no matter how deeply nested the structure of the data. @@ -752,8 +730,7 @@ for boot files to load directly into a static generation can make startup much faster; otherwise, the time--space tradeoff rarely pays off. Convert from fasl to vfasl using \scheme{vfasl-convert-file}. - -\subsection{New compiler options (9.9.9)} +\subsection{New compiler options (10.0.0)} Two new parameters skip safety checks in specific situations: \scheme{enable-unsafe-application} assumes that the target of a @@ -803,14 +780,14 @@ The \scheme{enable-error-source-expression} parameter determines whether error messages that become embedded in code can refer to the original source file's path. -\subsection{Executable-relative boot files (9.9.9)} +\subsection{Executable-relative boot files (10.0.0)} When searching for boot files, the two-character escape sequence ``\scheme{%x}'' is now supported on more platforms. By default, Chez Scheme is configured to use this facility to find boot files relative to the executable, even when installed. -\subsection{Syntax quoting (9.9.9)} +\subsection{Syntax quoting (10.0.0)} The new \scheme{quote-syntax} form is like the R$^6$RS \scheme{syntax} form except that pattern variables are not substituted. It can be @@ -2749,13 +2726,13 @@ in fasl files does not generally make sense. %----------------------------------------------------------------------------- \section{Bug Fixes}\label{section:bugfixes} -\subsection{\scheme{library-exports} for library that is not yet imported (9.9.9)} +\subsection{\scheme{library-exports} for library that is not yet imported (10.0.0)} When visiting or loading a separately compiled library, \scheme{library-exports} raised an exception if the library was not yet imported. -\subsection{Incorrect code for \scheme{record?} at optimize-level 3 (9.9.9)} +\subsection{Incorrect code for \scheme{record?} at optimize-level 3 (10.0.0)} At optimize-level 3, the \scheme{record?} predicate could short circuit without evaluating the \var{rtd} expression. diff --git a/rpm/Makefile b/rpm/Makefile index 0205c4444..3f347b7b6 100644 --- a/rpm/Makefile +++ b/rpm/Makefile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -version = 9.9.9 +version = 10.0.0 release = 1 m := $(shell find ../bin/* -type d | xargs basename) arch := $(shell if test "$(m)" == "i3le" ; then echo i686 ; elif test "$(m)" == "a6le" ; then echo x86_64 ; else echo UNKNOWN ; fi) diff --git a/s/7.ss b/s/7.ss index c60ea6928..9b5091b0a 100644 --- a/s/7.ss +++ b/s/7.ss @@ -709,14 +709,10 @@ (define $format-scheme-version (lambda (n) - (if (= (logand (ash n -8) 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" + (ash n -24) + (logand (ash n -16) 255) + (logand (ash n -8) 255)))) ; set in back.ss (define $scheme-version) @@ -785,7 +781,7 @@ (define $scheme-greeting (lambda () - (format "~a\nCopyright 1984-2023 Cisco Systems, Inc.\n" + (format "~a\nCopyright 1984-2024 Cisco Systems, Inc.\n" (scheme-version #t)))) (define $session-key #f) diff --git a/s/cmacros.ss b/s/cmacros.ss index efa63484e..b083653f6 100644 --- a/s/cmacros.ss +++ b/s/cmacros.ss @@ -357,7 +357,7 @@ ;; --------------------------------------------------------------------- ;; Version and machine types: -(define-constant scheme-version #x09090918) +(define-constant scheme-version #x0a000000) (define-syntax define-machine-types (lambda (x) diff --git a/s/mkheader.ss b/s/mkheader.ss index 705c7f732..54ea157e4 100644 --- a/s/mkheader.ss +++ b/s/mkheader.ss @@ -160,14 +160,10 @@ (define scheme-version ; adapted from 7.ss (let ([n (constant scheme-version)]) (if (= (logand n 255) 0) - (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" + (ash n -24) + (logand (ash n -16) 255) + (logand (ash n -8) 255)) (format "~d.~d.~d-pre-release.~d" (ash n -24) (logand (ash n -16) 255) diff --git a/scheme.1.in b/scheme.1.in index 235645f1f..6ca82d7a5 100644 --- a/scheme.1.in +++ b/scheme.1.in @@ -3,7 +3,7 @@ .if t .ds c caf\o'\'e' .if n .ds c cafe .ds ]W -.TH SCHEME 1 "Chez Scheme Version 9.9.9 September 2023" +.TH SCHEME 1 "Chez Scheme Version 10.0.0 February 2024" .SH NAME \fIChez Scheme\fP .br @@ -794,6 +794,6 @@ Second Edition\fP, MIT press (1996). .in -5 .SH AUTHOR -Copyright 2023 Cisco Systems, Inc. +Copyright 2024 Cisco Systems, Inc. Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) diff --git a/wininstall/.gitignore b/wininstall/.gitignore index 50d905278..83dc4f5c2 100755 --- a/wininstall/.gitignore +++ b/wininstall/.gitignore @@ -2,4 +2,3 @@ *.msi *.wixobj *.wixpdb -/vcredist.wxs diff --git a/wininstall/Makefile b/wininstall/Makefile index 9f5338b84..d96a49a52 100644 --- a/wininstall/Makefile +++ b/wininstall/Makefile @@ -1,14 +1,14 @@ -VERSION := 9.9.9 +VERSION := 10.0.0 WIXEXTENSIONS := -ext WixUIExtension -ext WixBalExtension export MSYS_NO_PATHCONV=1 ChezScheme.exe: x86/bundle.wixobj ChezScheme32.msi ChezScheme64.msi cmd.exe /c "light.bat -nologo $(WIXEXTENSIONS) $< -out $@" -ChezScheme32.msi: x86/product.wixobj x86/examples.wixobj x86/i3nt.wixobj x86/ti3nt.wixobj x86/vcredist.wixobj x86/ui.wixobj +ChezScheme32.msi: x86/product.wixobj x86/examples.wixobj x86/i3nt.wixobj x86/ti3nt.wixobj x86/ui.wixobj cmd.exe /c "light.bat -nologo $(WIXEXTENSIONS) $^ -sice:ICE64 -sice:ICE03 -sice:ICE82 -sice:ICE61 -out $@" -ChezScheme64.msi: x64/product.wixobj x64/a6nt.wixobj x64/examples.wixobj x64/ta6nt.wixobj x64/vcredist.wixobj x64/ui.wixobj +ChezScheme64.msi: x64/product.wixobj x64/a6nt.wixobj x64/examples.wixobj x64/ta6nt.wixobj x64/ui.wixobj cmd.exe /c "light.bat -nologo $(WIXEXTENSIONS) $^ -sice:ICE64 -sice:ICE03 -sice:ICE82 -sice:ICE61 -out $@" x86/%.wixobj: %.wxs @@ -17,9 +17,6 @@ x86/%.wixobj: %.wxs x64/%.wixobj: %.wxs cmd.exe /c "candle.bat -arch x64 -nologo -dVersion=$(VERSION) $(WIXEXTENSIONS) $< -out $@" -vcredist.wxs: locate-vcredist.bat - cmd.exe /c "locate-vcredist.bat" - # After building a6nt, use it to create boot files for the # other machine types, since that's faster than going through # pb every time @@ -35,4 +32,4 @@ workareas: .PHONY: clean clean: - -rm -rf *.msi *.wixpdb x86/ x64/ vcredist.wxs *.wixobj *.exe + -rm -rf *.msi *.wixpdb x86/ x64/ *.wixobj *.exe diff --git a/wininstall/a6nt.wxs b/wininstall/a6nt.wxs index 96e47a220..19a40336d 100644 --- a/wininstall/a6nt.wxs +++ b/wininstall/a6nt.wxs @@ -4,16 +4,16 @@ - + - + - + - + @@ -40,10 +40,10 @@ - + - + diff --git a/wininstall/i3nt.wxs b/wininstall/i3nt.wxs index 5cfde7e0e..5c57c4f9c 100644 --- a/wininstall/i3nt.wxs +++ b/wininstall/i3nt.wxs @@ -4,16 +4,16 @@ - + - + - + - + @@ -40,10 +40,10 @@ - + - + diff --git a/wininstall/locate-vcredist.bat b/wininstall/locate-vcredist.bat deleted file mode 100755 index 7b220df34..000000000 --- a/wininstall/locate-vcredist.bat +++ /dev/null @@ -1,76 +0,0 @@ -@call "../c/vs.bat" x86 - -@IF "%VisualStudioVersion%"=="" ( GOTO error-undefined-vs ) - -@IF "%VisualStudioVersion%"=="14.0" ( - SET "Path32=%CommonProgramFiles(x86)%\Merge Modules\Microsoft_VC140_CRT_x86.msm" - SET "Path64=%CommonProgramFiles(x86)%\Merge Modules\Microsoft_VC140_CRT_x64.msm" -) - -@IF "%VisualStudioVersion%"=="15.0" or "%VisualStudioVersion%"=="16.0" or "%VisualStudioVersion%"=="17.0" ( - @PUSHD "%VCINSTALLDIR%Redist\MSVC" - @FOR /D %%D IN (*) DO ( - @PUSHD %%D - @FOR %%F IN (MergeModules\Microsoft_VC*_CRT_x86.msm) DO ( - SET "Path32=%VCINSTALLDIR%Redist\MSVC\%%D\%%F" - ) - @FOR %%F IN (MergeModules\Microsoft_VC*_CRT_x64.msm) DO ( - SET "Path64=%VCINSTALLDIR%Redist\MSVC\%%D\%%F" - ) - @POPD - ) - @POPD -) - -@DEL vcredist.wxs >nul 2>&1 - -IF "%Path32%"=="" ( GOTO error-unknown-vs ) -IF NOT EXIST "%Path32%" ( GOTO error-32-doesnt-exist ) -IF NOT EXIST "%Path64%" ( GOTO error-64-doesnt-exist ) - -@( - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ - @ECHO ^ -) > vcredist.wxs - -@ECHO Built vcredist.wxs -@EXIT /b 0 - -:error-undefined-vs -@ECHO Error building vcredist.wxs: Visual Studio version not defined. -@EXIT /b 1 - -:error-unknown-vs -@ECHO Error building vcredist.wxs: Unexpected Visual Studio version. -@EXIT /b 1 - -:error-32-doesnt-exist -@ECHO Error building vcredist.wxs: Merge Module couldn't be found: -@ECHO %Path32% -@EXIT /b 1 - -:error-64-doesnt-exist -@ECHO Error building vcredist.wxs: Merge Module couldn't be found: -@ECHO %Path64% -@EXIT /b 1 diff --git a/wininstall/product.wxs b/wininstall/product.wxs index 822ba562e..4d15a0bee 100755 --- a/wininstall/product.wxs +++ b/wininstall/product.wxs @@ -63,7 +63,6 @@ - @@ -73,7 +72,6 @@ - diff --git a/wininstall/ta6nt.wxs b/wininstall/ta6nt.wxs index a330aa7ad..3e71059ee 100644 --- a/wininstall/ta6nt.wxs +++ b/wininstall/ta6nt.wxs @@ -4,16 +4,16 @@ - + - + - + - + @@ -40,10 +40,10 @@ - + - + diff --git a/wininstall/ti3nt.wxs b/wininstall/ti3nt.wxs index 5c490eff3..a29fb986c 100644 --- a/wininstall/ti3nt.wxs +++ b/wininstall/ti3nt.wxs @@ -4,16 +4,16 @@ - + - + - + - + @@ -40,10 +40,10 @@ - + - +