Skip to content

Commit

Permalink
Chez Scheme 9.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
burgerrg committed Aug 28, 2023
1 parent c048ad8 commit 4e5d6a3
Show file tree
Hide file tree
Showing 29 changed files with 123 additions and 112 deletions.
4 changes: 2 additions & 2 deletions BUILDING
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
11 changes: 11 additions & 0 deletions LOG
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -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.

Expand Down
6 changes: 3 additions & 3 deletions bintar/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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} . ) \
Expand All @@ -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 . ) \
Expand Down
10 changes: 5 additions & 5 deletions c/Makefile.a6nt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions c/Makefile.i3nt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions c/Makefile.ta6nt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions c/Makefile.ti3nt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 6 additions & 6 deletions c/scheme.rc
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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" {
Expand Down
4 changes: 2 additions & 2 deletions csug/copyright.stex
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions csug/csug.stex
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -48,10 +48,10 @@
\def\copyrightnotice{\raw{<hr class=copyright align=left>
<p>
<a class=plain href="index.html">Chez Scheme Version 9 User's Guide</a><br>
Copyright &copy; 2022 Cisco Systems, Inc.<br>
Copyright &copy; 2023 Cisco Systems, Inc.<br>
Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License Version 2.0</a>
(<a class=plain href="canned/copyright.html">full copyright notice.</a>).</br>
Revised} \revisiondate\raw{ for Chez Scheme Version 9.5.9<br>
Revised} \revisiondate\raw{ for Chez Scheme Version 9.6.0<br>
<a class=plain href="canned/about.html">about this book</a>
</tr></table>
}}
Expand Down
4 changes: 2 additions & 2 deletions makefiles/Makefile-csug.in
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion makefiles/Mf-install.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion mats/Mf-a6nt
Original file line number Diff line number Diff line change
Expand Up @@ -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 $<"
2 changes: 1 addition & 1 deletion mats/Mf-i3nt
Original file line number Diff line number Diff line change
Expand Up @@ -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 $<"
2 changes: 1 addition & 1 deletion mats/Mf-ta6nt
Original file line number Diff line number Diff line change
Expand Up @@ -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 $<"
2 changes: 1 addition & 1 deletion mats/Mf-ti3nt
Original file line number Diff line number Diff line change
Expand Up @@ -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 $<"
Expand Down
4 changes: 2 additions & 2 deletions pkg/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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/')
Expand Down Expand Up @@ -77,7 +77,7 @@ $(BUILDROOT)/Distribution: $(BUILDROOT)
$(BUILDROOT)/Resources/en.lproj/Welcome.html: $(BUILDROOT)/Resources/en.lproj
echo '<html>' > $(BUILDROOT)/Resources/en.lproj/Welcome.html
echo '<h3>Chez Scheme Version $(version)</h3>' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html
echo '<p>Copyright &copy; 2022 Cisco Systems, Inc.</p>' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html
echo '<p>Copyright &copy; 2023 Cisco Systems, Inc.</p>' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html
echo '<p>Chez Scheme is a programming language and an implementation of that language, with supporting tools and documentation.</p>' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html
echo '</html>' >> $(BUILDROOT)/Resources/en.lproj/Welcome.html
chmod 644 $(BUILDROOT)/Resources/en.lproj/Welcome.html
Expand Down
62 changes: 31 additions & 31 deletions release_notes/release_notes.stex
Original file line number Diff line number Diff line change
@@ -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}

Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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}

Expand Down Expand Up @@ -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.

Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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}
2 changes: 1 addition & 1 deletion rpm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion s/7.ss
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Loading

0 comments on commit 4e5d6a3

Please sign in to comment.