diff --git a/BUILDING b/BUILDING index a6794d4f6..9ae1b3bc4 100644 --- a/BUILDING +++ b/BUILDING @@ -1,5 +1,5 @@ -Building Chez Scheme Version 9.5.9 -Copyright 1984-2022 Cisco Systems, Inc. +Building Chez Scheme Version 9.6.0 +Copyright 1984-2023 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. diff --git a/LOG b/LOG index 687ca7d2b..bb4873f92 100644 --- a/LOG +++ b/LOG @@ -2404,3 +2404,14 @@ - repair collector handling of ephemeron pairs that refer to objects in younger generations c/gc.c mats/4.ms + +9.6.0 changes: +- updated version to 9.6.0 + BUILDING NOTICE makefiles/Mf-install.in makefiles/Makefile-csug.in + scheme.1.in c/Makefile.a6nt c/Makefile.i3nt c/Makefile.ta6nt + c/Makefile.ti3nt mats/Mf-a6nt mats/Mf-i3nt mats/Mf-ta6nt + mats/Mf-ti3nt workarea c/scheme.rc s/7.ss s/cmacros.ss + release_notes/release_notes.stex csug/copyright.stex csug/csug.stex + bintar/Makefile rpm/Makefile pkg/Makefile wininstall/Makefile + wininstall/a6nt.wxs wininstall/i3nt.wxs wininstall/ta6nt.wxs + wininstall/ti3nt.wxs diff --git a/NOTICE b/NOTICE index 31489926e..5db830c20 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ -Chez Scheme Version 9.5.9 -Copyright 1984-2022 Cisco Systems, Inc. +Chez Scheme Version 9.6.0 +Copyright 1984-2023 Cisco Systems, Inc. This product includes code developed by Cisco Systems, Inc. diff --git a/bintar/Makefile b/bintar/Makefile index a928206e8..f17e1c058 100644 --- a/bintar/Makefile +++ b/bintar/Makefile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -version = 9.5.9 +version = 9.6.0 m := $(shell find ../bin/* -type d | xargs basename) R = csv$(version) @@ -61,7 +61,7 @@ $(R)/boot: $(R) ( cd $(R)/boot/$(m) ; ln -s ../../../../boot/$(m)/{scheme.h,petite.boot,scheme.boot,revision} . ) case $(m) in \ *nt) \ - ( cd $R/boot/$(m) ; ln -s ../../../../boot/$(m)/{csv959md.lib,csv959mt.lib,mainmd.obj,mainmt.obj,scheme.res} . ) \ + ( cd $R/boot/$(m) ; ln -s ../../../../boot/$(m)/{csv960md.lib,csv960mt.lib,mainmd.obj,mainmt.obj,scheme.res} . ) \ ;; \ *) \ ( cd $R/boot/$(m) ; ln -s ../../../../boot/$(m)/{main.o,kernel.o} . ) \ @@ -72,7 +72,7 @@ $(R)/bin: $(R) mkdir -p $(R)/bin/$(m) case $(m) in \ *nt) \ - ( cd $R/bin/$(m) ; ln -s ../../../../bin/$(m)/{scheme.exe,csv959.dll,csv959.lib,vcruntime140.lib} . ) \ + ( cd $R/bin/$(m) ; ln -s ../../../../bin/$(m)/{scheme.exe,csv960.dll,csv960.lib,vcruntime140.lib} . ) \ ;; \ *) \ ( cd $R/bin/$(m) ; ln -s ../../../../bin/$(m)/scheme . ) \ diff --git a/c/Makefile.a6nt b/c/Makefile.a6nt index ab8bf8f14..7181688a2 100644 --- a/c/Makefile.a6nt +++ b/c/Makefile.a6nt @@ -17,11 +17,11 @@ m = a6nt # following have to use \ for directory separator SchemeInclude = ..\boot\$m -KernelDll = ..\bin\$m\csv959.dll -KernelLib = ..\bin\$m\csv959.lib -MTKernelLib = ..\boot\$m\csv959mt.lib -MDKernelLib = ..\boot\$m\csv959md.lib -KernelExp = ..\bin\$m\csv959.exp +KernelDll = ..\bin\$m\csv960.dll +KernelLib = ..\bin\$m\csv960.lib +MTKernelLib = ..\boot\$m\csv960mt.lib +MDKernelLib = ..\boot\$m\csv960md.lib +KernelExp = ..\bin\$m\csv960.exp Exec = ..\bin\$m\scheme.exe MTMain = ..\boot\$m\mainmt.obj MDMain = ..\boot\$m\mainmd.obj diff --git a/c/Makefile.i3nt b/c/Makefile.i3nt index 92bbbe577..62cea8928 100644 --- a/c/Makefile.i3nt +++ b/c/Makefile.i3nt @@ -17,11 +17,11 @@ m = i3nt # following have to use \ for directory separator SchemeInclude = ..\boot\$m -KernelDll = ..\bin\$m\csv959.dll -KernelLib = ..\bin\$m\csv959.lib -MTKernelLib = ..\boot\$m\csv959mt.lib -MDKernelLib = ..\boot\$m\csv959md.lib -KernelExp = ..\bin\$m\csv959.exp +KernelDll = ..\bin\$m\csv960.dll +KernelLib = ..\bin\$m\csv960.lib +MTKernelLib = ..\boot\$m\csv960mt.lib +MDKernelLib = ..\boot\$m\csv960md.lib +KernelExp = ..\bin\$m\csv960.exp Exec = ..\bin\$m\scheme.exe MTMain = ..\boot\$m\mainmt.obj MDMain = ..\boot\$m\mainmd.obj diff --git a/c/Makefile.ta6nt b/c/Makefile.ta6nt index dce79057a..3d3c9dda2 100644 --- a/c/Makefile.ta6nt +++ b/c/Makefile.ta6nt @@ -17,11 +17,11 @@ m = ta6nt # following have to use \ for directory separator SchemeInclude = ..\boot\$m -KernelDll = ..\bin\$m\csv959.dll -KernelLib = ..\bin\$m\csv959.lib -MTKernelLib = ..\boot\$m\csv959mt.lib -MDKernelLib = ..\boot\$m\csv959md.lib -KernelExp = ..\bin\$m\csv959.exp +KernelDll = ..\bin\$m\csv960.dll +KernelLib = ..\bin\$m\csv960.lib +MTKernelLib = ..\boot\$m\csv960mt.lib +MDKernelLib = ..\boot\$m\csv960md.lib +KernelExp = ..\bin\$m\csv960.exp Exec = ..\bin\$m\scheme.exe MTMain = ..\boot\$m\mainmt.obj MDMain = ..\boot\$m\mainmd.obj diff --git a/c/Makefile.ti3nt b/c/Makefile.ti3nt index 32a53d737..b78f10acd 100644 --- a/c/Makefile.ti3nt +++ b/c/Makefile.ti3nt @@ -17,11 +17,11 @@ m = ti3nt # following have to use \ for directory separator SchemeInclude = ..\boot\$m -KernelDll = ..\bin\$m\csv959.dll -KernelLib = ..\bin\$m\csv959.lib -MTKernelLib = ..\boot\$m\csv959mt.lib -MDKernelLib = ..\boot\$m\csv959md.lib -KernelExp = ..\bin\$m\csv959.exp +KernelDll = ..\bin\$m\csv960.dll +KernelLib = ..\bin\$m\csv960.lib +MTKernelLib = ..\boot\$m\csv960mt.lib +MDKernelLib = ..\boot\$m\csv960md.lib +KernelExp = ..\bin\$m\csv960.exp Exec = ..\bin\$m\scheme.exe MTMain = ..\boot\$m\mainmt.obj MDMain = ..\boot\$m\mainmd.obj diff --git a/c/scheme.rc b/c/scheme.rc index 3f39adcb4..b0da68e16 100644 --- a/c/scheme.rc +++ b/c/scheme.rc @@ -1,8 +1,8 @@ #include "winver.h" VS_VERSION_INFO VERSIONINFO - FILEVERSION 9,5,9,0 - PRODUCTVERSION 9,5,9,0 + FILEVERSION 9,6,0,0 + PRODUCTVERSION 9,6,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.5.9" - VALUE "FileVersion", "9.5.9" + VALUE "FileDescription", "Chez Scheme Version 9.6.0" + VALUE "FileVersion", "9.6.0" VALUE "InternalName", "scheme.exe" - VALUE "LegalCopyright", "Copyright 1984-2022 Cisco Systems, Inc. Licensed under the Apache License, Version 2.0." + VALUE "LegalCopyright", "Copyright 1984-2023 Cisco Systems, Inc. Licensed under the Apache License, Version 2.0." VALUE "OriginalFilename", "scheme.exe" VALUE "ProductName", "Chez Scheme" - VALUE "ProductVersion", "9.5.9" + VALUE "ProductVersion", "9.6.0" } } BLOCK "VarFileInfo" { diff --git a/csug/copyright.stex b/csug/copyright.stex index ce703dfee..f46a3e350 100644 --- a/csug/copyright.stex +++ b/csug/copyright.stex @@ -16,13 +16,13 @@ \centerline{}\vfill -\textbf{\copyright~2022 Cisco Systems, Inc.} +\textbf{\copyright~2023 Cisco Systems, Inc.} Licensed under the Apache License Version 2.0\\ http://www.apache.org/licenses/LICENSE-2.0 % NB: also update corresponding notice in csug.stex -Revised \revisiondate~for Chez Scheme Version 9.5.9. +Revised \revisiondate~for Chez Scheme Version 9.6.0. \medskip\noindent Cisco and the Cisco logo are trademarks or registered trademarks diff --git a/csug/csug.stex b/csug/csug.stex index 3a3354896..cd0a192a2 100644 --- a/csug/csug.stex +++ b/csug/csug.stex @@ -22,7 +22,7 @@ (case-sensitive #t) \endschemeinit -\def\revisiondate{April 2022} +\def\revisiondate{August 2023} % Just don't care about small overflows, most of the time: \iflatex @@ -48,10 +48,10 @@ \def\copyrightnotice{\raw{
Chez Scheme Version 9 User's Guide
-Copyright © 2022 Cisco Systems, Inc.
+Copyright © 2023 Cisco Systems, Inc.
Licensed under the Apache License Version 2.0
(full copyright notice.).
-Revised} \revisiondate\raw{ for Chez Scheme Version 9.5.9
+Revised} \revisiondate\raw{ for Chez Scheme Version 9.6.0
about this book
}}
diff --git a/makefiles/Makefile-csug.in b/makefiles/Makefile-csug.in
index 6f8a8d969..219ac6cfa 100644
--- a/makefiles/Makefile-csug.in
+++ b/makefiles/Makefile-csug.in
@@ -1,7 +1,7 @@
m = $(m)
Scheme=../$m/bin/$m/scheme -b ../$m/boot/$m/petite.boot -b ../$m/boot/$m/scheme.boot
STEXLIB=../stex
-installdir=/tmp/csug9.5
+installdir=/tmp/csug9.6
INSTALL=../$m/installsh
x = csug
@@ -17,7 +17,7 @@ target: 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_5.pdf
+ $(INSTALL) -m 0644 --ifdiff csug.pdf $(installdir)/csug9_6.pdf
$(INSTALL) -m 2755 -d $(installdir)/canned
$(INSTALL) -m 0644 --ifdiff canned/* $(installdir)/canned
$(INSTALL) -m 2755 -d $(installdir)/gifs
diff --git a/makefiles/Mf-install.in b/makefiles/Mf-install.in
index db18b5790..d898f257c 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.9
+Version=csv9.6.0
Include=boot/$m
PetiteBoot=boot/$m/petite.boot
SchemeBoot=boot/$m/scheme.boot
diff --git a/mats/Mf-a6nt b/mats/Mf-a6nt
index 5e522c382..4821e8287 100644
--- a/mats/Mf-a6nt
+++ b/mats/Mf-a6nt
@@ -25,7 +25,7 @@ export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL=*
foreign1.so: $(fsrc)
- cmd.exe /c "vs.bat amd64 && cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv959.lib $(fsrc)"
+ cmd.exe /c "vs.bat amd64 && cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv960.lib $(fsrc)"
cat_flush.exe: cat_flush.c
cmd.exe /c "vs.bat amd64 && cl /DWIN32 /DX86_64 /MD /nologo $<"
diff --git a/mats/Mf-i3nt b/mats/Mf-i3nt
index 9396c9ab8..e2a9b3f74 100644
--- a/mats/Mf-i3nt
+++ b/mats/Mf-i3nt
@@ -25,7 +25,7 @@ export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL=*
foreign1.so: $(fsrc)
- cmd.exe /c "vs.bat x86 && cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv959.lib $(fsrc)"
+ cmd.exe /c "vs.bat x86 && cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv960.lib $(fsrc)"
cat_flush.exe: cat_flush.c
cmd.exe /c "vs.bat x86 && cl /DWIN32 /MD /nologo $<"
diff --git a/mats/Mf-ta6nt b/mats/Mf-ta6nt
index 4a8b06955..0c650b622 100644
--- a/mats/Mf-ta6nt
+++ b/mats/Mf-ta6nt
@@ -25,7 +25,7 @@ export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL=*
foreign1.so: $(fsrc)
- cmd.exe /c "vs.bat amd64 && cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv959.lib $(fsrc)"
+ cmd.exe /c "vs.bat amd64 && cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv960.lib $(fsrc)"
cat_flush.exe: cat_flush.c
cmd.exe /c "vs.bat amd64 && cl /DWIN32 /DX86_64 /MD /nologo $<"
diff --git a/mats/Mf-ti3nt b/mats/Mf-ti3nt
index 355e2797a..c7912ec2e 100644
--- a/mats/Mf-ti3nt
+++ b/mats/Mf-ti3nt
@@ -25,7 +25,7 @@ export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL=*
foreign1.so: $(fsrc)
- cmd.exe /c "vs.bat x86 && cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv959.lib $(fsrc)"
+ cmd.exe /c "vs.bat x86 && cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv960.lib $(fsrc)"
cat_flush.exe: cat_flush.c
cmd.exe /c "vs.bat x86 && cl /DWIN32 /MD /nologo $<"
diff --git a/pkg/Makefile b/pkg/Makefile
index 7f833ae3e..fee3da705 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.5.9
+version = 9.6.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 '
Copyright © 2022 Cisco Systems, Inc.
' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html + echo 'Copyright © 2023 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 20841446d..289f854bc 100644 --- a/release_notes/release_notes.stex +++ b/release_notes/release_notes.stex @@ -1,9 +1,9 @@ \documentclass{releasenotes} -\thisversion{Version 9.5.9} +\thisversion{Version 9.6.0} \thatversion{Version 8.4} -\pubmonth{April} -\pubyear{2022} +\pubmonth{August} +\pubyear{2023} \begin{document} @@ -58,6 +58,17 @@ Online versions of both books can be found at %----------------------------------------------------------------------------- \section{Functionality Changes}\label{section:functionality} +\subsection{New transcoded port buffer-size parameters (9.6.0)} + +The new parameter \scheme{transcoded-port-buffer-size} specifies the size +of the string buffer that is allocated when creating a new transcoded port. +If the underlying binary port implements \scheme{port-position}, +a transcoded input port allocates an internal fxvector the same size +as its string buffer for use by \scheme{port-position}. +The new parameter \scheme{make-codec-buffer} can be used to supply an appropriately +sized internal bytevector buffer for the codec used by a new transcoded port. +The size of these string and bytevector buffers was previously hardcoded at 1024. + \subsection{Unicode 15.0 Support (9.6.0)} The character sets, character classes, and word-breaking algorithms for character, string, @@ -1952,17 +1963,6 @@ by macros) into code to be compiled via \scheme{compile-file}, Ftype-pointer fields are not supported, since storing addresses in fasl files does not generally make sense. -\subsection{New transcoded port buffer-size parameters} - -The new parameter \scheme{transcoded-port-buffer-size} specifies the size -of the string buffer that is allocated when creating a new transcoded port. -If the underlying binary port implements \scheme{port-position}, -a transcoded input port allocates an internal fxvector the same size -as its string buffer for use by \scheme{port-position}. -The new parameter \scheme{make-codec-buffer} can be used to supply an appropriately -sized internal bytevector buffer for the codec used by a new transcoded port. -The size of these string and bytevector buffers was previously hardcoded at 1024. - %----------------------------------------------------------------------------- \section{Bug Fixes}\label{section:bugfixes} @@ -1992,7 +1992,7 @@ store raw data on the stack and whose operands contain calls. \protect\scheme{member} and \protect\scheme{assoc} (9.6.0)} When \scheme{remove}, \scheme{member} or \scheme{assoc} were used in -\scheme{optimize-level} 3 in a position where the result was discarded, +optimize-level 3 in a position where the result was discarded, a bug in the source code optimizer could drop the call even though the first argument may be a record with a custom equality predicate that has side effects. @@ -2514,6 +2514,22 @@ x86\_64 has been fixed. %----------------------------------------------------------------------------- \section{Performance Enhancements}\label{section:performance} +\subsection{Reduced allocation and copying (9.6.0)} + +When given a bytevector whose length is less than \scheme{file-buffer-size}, +\scheme{bytevector->string} now allocates the minimum size string buffer, +internal ioffsets fxvector, and internal codec buffer. +The size of each was formerly hardcoded at 1024. +The +\scheme{bytevector->string}, +\scheme{get-bytevector-all}, +\scheme{get-bytevector-n}, +\scheme{get-string-all}, and +\scheme{get-string-n} procedures +may avoid extra allocation and copying when the result is not more than +\scheme{file-buffer-size} and no intermediate reads need to be stitched +together to form the result. + \subsection{Special-cased basic arithmetic operations (9.5.4)} The basic arithmetic operations (addition, subtraction, multiplication, @@ -2941,20 +2957,4 @@ constructors created by a record definition in one library and exported by another are inlined in the importing library, just as if the record type were defined in the importing library. -\subsection{Reduced allocation and copying} - -When given a bytevector whose length is less than \scheme{file-buffer-size}, -\scheme{bytevector->string} now allocates the minimum size string buffer, -internal ioffsets fxvector, and internal codec buffer. -The size of each was formerly hardcoded at 1024. -The -\scheme{bytevector->string}, -\scheme{get-bytevector-all}, -\scheme{get-bytevector-n}, -\scheme{get-string-all}, and -\scheme{get-string-n} procedures -may avoid extra allocation and copying when the result is not more than -\scheme{file-buffer-size} and no intermediate reads need to be stitched -together to form the result. - \end{document} diff --git a/rpm/Makefile b/rpm/Makefile index 28fb3889e..9c4f2c229 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.5.9 +version = 9.6.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 033a9ffce..f9d7653e2 100644 --- a/s/7.ss +++ b/s/7.ss @@ -705,7 +705,7 @@ (define $scheme-greeting (lambda () - (format "~a\nCopyright 1984-2022 Cisco Systems, Inc.\n" + (format "~a\nCopyright 1984-2023 Cisco Systems, Inc.\n" (scheme-version)))) (define $session-key #f) diff --git a/s/cmacros.ss b/s/cmacros.ss index e2f4a9be0..22dbc069b 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 #x00090509) +(define-constant scheme-version #x00090600) (define-syntax define-machine-types (lambda (x) diff --git a/scheme.1.in b/scheme.1.in index 637a35e42..3c7f43bae 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.5.9 April 2022" +.TH SCHEME 1 "Chez Scheme Version 9.6.0 August 2023" .SH NAME \fIChez Scheme\fP .br @@ -794,6 +794,6 @@ Second Edition\fP, MIT press (1996). .in -5 .SH AUTHOR -Copyright 2022 Cisco Systems, Inc. +Copyright 2023 Cisco Systems, Inc. Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) diff --git a/wininstall/Makefile b/wininstall/Makefile index 12e39efd5..a4320f5fa 100644 --- a/wininstall/Makefile +++ b/wininstall/Makefile @@ -1,4 +1,4 @@ -VERSION := 9.5.9 +VERSION := 9.6.0 WIXEXTENSIONS := -ext WixUIExtension -ext WixBalExtension export MSYS_NO_PATHCONV=1 diff --git a/wininstall/a6nt.wxs b/wininstall/a6nt.wxs index eae683918..34bd35a33 100644 --- a/wininstall/a6nt.wxs +++ b/wininstall/a6nt.wxs @@ -4,16 +4,16 @@