From 51e80251bb8449ced3b0e15c8f8fa0bfb290f38b Mon Sep 17 00:00:00 2001 From: Bob Burger Date: Thu, 1 Feb 2024 15:41:58 -0500 Subject: [PATCH] version 10.0.0 --- .github/workflows/ci.yml | 4 +- BUILDING | 16 +++--- NOTICE | 4 +- boot/pb/equates.h | 4 +- boot/pb/petite.boot | Bin 6758934 -> 6758216 bytes boot/pb/scheme.boot | Bin 4891259 -> 4891251 bytes boot/pb/scheme.h | 4 +- c/fasl.c | 7 +-- c/scheme.rc | 12 ++--- csug/copyright.stex | 2 +- csug/csug.stex | 4 +- makefiles/Makefile-csug.in | 2 +- makefiles/install.zuo | 10 ++-- pkg/Makefile | 4 +- release_notes/release_notes.stex | 87 ++++++++++++------------------- rpm/Makefile | 2 +- s/7.ss | 14 ++--- s/cmacros.ss | 2 +- s/mkheader.ss | 12 ++--- scheme.1.in | 4 +- wininstall/.gitignore | 1 - wininstall/Makefile | 11 ++-- wininstall/a6nt.wxs | 12 ++--- wininstall/i3nt.wxs | 12 ++--- wininstall/locate-vcredist.bat | 76 --------------------------- wininstall/product.wxs | 2 - wininstall/ta6nt.wxs | 12 ++--- wininstall/ti3nt.wxs | 12 ++--- 28 files changed, 106 insertions(+), 226 deletions(-) delete mode 100755 wininstall/locate-vcredist.bat 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 4dae5bd5de0dfffe83945f43be5950adca428685..87015ea2a400fc5579ed43a030dd6e053b19c1a3 100644 GIT binary patch delta 85632 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 GUGx8^qI<>w 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 $(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 @@ - + - +

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 '