Skip to content

Commit

Permalink
Chez Scheme Version 10.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
burgerrg committed Nov 14, 2024
1 parent 5eff5ff commit ae19cf9
Show file tree
Hide file tree
Showing 25 changed files with 150 additions and 80 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ jobs:
configure: --pb --threads --enable-libffi
test: test-some-fast
- machine: a6osx
os: macos-12
os: macos-13
- machine: ta6osx
os: macos-12
os: macos-13
- machine: arm64osx
os: macos-14
- machine: tarm64osx
Expand Down
10 changes: 5 additions & 5 deletions BUILDING
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Building Chez Scheme Version 10.0.0
Building Chez Scheme Version 10.1.0
Copyright 1984-2024 Cisco Systems, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
Expand Down Expand Up @@ -541,7 +541,7 @@ Finally, configure the Emscripten build to use "demo.boot":

CROSS COMPILING

To compile Chez Scheme for a target platform that is different than
To compile Chez Scheme for a target platform that is different from
the host platform, supply the `--cross` flag to the "configure" script
while also specifying the target machine type, compiler settings to
build for the target platform, and `CC_FOR_BUILD=<compiler>` to
Expand Down Expand Up @@ -598,16 +598,16 @@ step via `DESTDIR`:

CROSS COMPILING SCHEME PROGRAMS

After a non-cross build to work on the host platform, using
After getting a non-cross build to work on the host platform, using

make bootquick XM=<machine type>

or

zuo . bootquick <machine type>

creates a "boot" subdirectory for <machine type> containing boot file,
and in the process create a cross-compilation patch file as
creates a "boot" subdirectory for <machine type> containing boot files
and in the process creates a cross-compilation patch file as
"xc-<machine type>/s/xpatch". Loading that "xpatch" file into Chez
Scheme for the current platform changes functions like `compile-file`
and `make-boot-file` to generate code for the target <machine type>.
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Chez Scheme Version 10.0.0
Chez Scheme Version 10.1.0
Copyright 1984-2024 Cisco Systems, Inc.

This product includes code developed by Cisco Systems, Inc.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ The R6RS core of the Chez Scheme language is described in
which also includes an introduction to Scheme and a set of example programs.
Chez Scheme's additional language, run-time system, and
programming environment features are described in the
[Chez Scheme User's Guide](http://cisco.github.io/ChezScheme/csug10.0/csug.html).
[Chez Scheme User's Guide](http://cisco.github.io/ChezScheme/csug/csug.html).
The latter includes a shared index and a shared summary of forms,
with links where appropriate to the former, so it is often the best
starting point.
Expand Down
4 changes: 2 additions & 2 deletions boot/pb/equates.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* equates.h for Chez Scheme Version 10.1.0-pre-release.4 */
/* equates.h for Chez Scheme Version 10.1.0 */

/* Do not edit this file. It is automatically generated and */
/* specifically tailored to the version of Chez Scheme named */
Expand Down Expand Up @@ -1015,7 +1015,7 @@ typedef uint64_t U64;
#define rtd_sealed 0x4
#define sbwp (ptr)0x4E
#define scaled_shot_1_shot_flag -0x8
#define scheme_version 0xA010004
#define scheme_version 0xA010000
#define seginfo_generation_disp 0x1
#define seginfo_list_bits_disp 0x8
#define seginfo_space_disp 0x0
Expand Down
Binary file modified boot/pb/petite.boot
Binary file not shown.
Binary file modified boot/pb/scheme.boot
Binary file not shown.
4 changes: 2 additions & 2 deletions boot/pb/scheme.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* scheme.h for Chez Scheme Version 10.1.0-pre-release.4 (pb) */
/* scheme.h for Chez Scheme Version 10.1.0 (pb) */

/* Do not edit this file. It is automatically generated and */
/* specifically tailored to the version of Chez Scheme named */
Expand Down Expand Up @@ -40,7 +40,7 @@
#endif

/* Chez Scheme Version and machine type */
#define VERSION "10.1.0-pre-release.4"
#define VERSION "10.1.0"
#define MACHINE_TYPE "pb"

/* Integer typedefs */
Expand Down
10 changes: 5 additions & 5 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 10,0,0,0
PRODUCTVERSION 10,0,0,0
FILEVERSION 10,1,0,0
PRODUCTVERSION 10,1,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 10.0.0"
VALUE "FileVersion", "10.0.0"
VALUE "FileDescription", "Chez Scheme Version 10.1.0"
VALUE "FileVersion", "10.1.0"
VALUE "InternalName", "scheme.exe"
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", "10.0.0"
VALUE "ProductVersion", "10.1.0"
}
}
BLOCK "VarFileInfo" {
Expand Down
4 changes: 2 additions & 2 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -653,11 +653,11 @@ if [ "$installdoc" = "" ] ; then
fi

if [ "$installcsug" = "" ] ; then
installcsug=$installdoc/csug10.0
installcsug=$installdoc/csug10.1.0
fi

if [ "$installreleasenotes" = "" ] ; then
installreleasenotes=$installdoc/csv10
installreleasenotes=$installdoc/csv10.1.0
fi

if [ "$help" = "yes" ]; then
Expand Down
2 changes: 1 addition & 1 deletion csug/csug.stex
Original file line number Diff line number Diff line change
Expand Up @@ -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 "February 2024")
(define latest-release-date "November 2024")
(printf "\\def\\CSVersion{~a}\n" (scheme-version #t))
(cond
[(not (scheme-pre-release))
Expand Down
2 changes: 1 addition & 1 deletion lz4
Submodule lz4 updated 116 files
2 changes: 1 addition & 1 deletion makefiles/Makefile-csug.in
Original file line number Diff line number Diff line change
Expand Up @@ -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)/csug10_0.pdf
$(INSTALL) -m 0644 --ifdiff csug.pdf $(installdir)/csug.pdf
$(INSTALL) -m 2755 -d $(installdir)/canned
$(INSTALL) -m 0644 --ifdiff canned/* $(installdir)/canned
$(INSTALL) -m 2755 -d $(installdir)/gifs
Expand Down
38 changes: 38 additions & 0 deletions maketarball
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash

# maketarball
# Copyright 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.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -euo pipefail

cd "$(dirname "$0")"
srcdir=$(pwd)
tmpdir=$(mktemp -d)

function cleanup() { rm -rf "$tmpdir"; }

trap cleanup EXIT

git archive --format=tar --prefix=csv10.1.0/ HEAD | (cd "$tmpdir"; tar -xf -)
git submodule update --init --recursive
git submodule --quiet foreach --recursive \
"git archive --format=tar --prefix=\"csv10.1.0/\$path/\" HEAD | (cd \"$tmpdir\"; tar -xf -)"

if [[ "$(uname -s)" == "Darwin" ]]; then
mac="--no-mac-metadata"
else
mac=""
fi
(cd "$tmpdir"; tar -c -z $mac -f "$srcdir/csv10.1.0.tar.gz" csv10.1.0)
12 changes: 6 additions & 6 deletions newrelease
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@ if ({(echo -n "$1" | grep '^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >& /dev/null

# set ZR to release number w/o "."
set ZR = $MR$mR$bR

# set underscoreR to release number w/ "_" in place of "."
set underscoreR = $MR"_"$mR"_"$bR
else
echo "invalid release number $R"
exit 1
Expand All @@ -52,9 +49,12 @@ sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \
-e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \
-I "" NOTICE

sed -e "s/csug[0-9][0-9]*\.[0-9][0-9]*/csug$MR.$mR/" \
-e "s/csug[0-9][0-9]*_[0-9][0-9]*/csug$MR""_$mR/" \
-I "" makefiles/Makefile-csug.in
sed -e "s/csug[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*/csug$R/g" \
-e "s/csv[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*/csv$R/g" \
-I "" configure

sed -e "s/csv[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*/csv$R/g" \
-I "" maketarball

sed -e "s/Chez Scheme Version [0-9][0-9]*\.[0-9][0-9]*\(\.[0-9][0-9]*\)* .* [0-9][0-9]*/Chez Scheme Version $R `date +'%B %Y'`/" \
-e "s/Copyright .* Cisco Systems, Inc./Copyright `date +%Y` Cisco Systems, Inc./" \
Expand Down
2 changes: 1 addition & 1 deletion 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 = 10.0.0
version = 10.1.0
release = 1

DOTUSER = $(shell ls -ld . | sed -e 's/[^ ]* *[^ ]* *\([^ ]*\).*/\1/')
Expand Down
76 changes: 54 additions & 22 deletions release_notes/release_notes.stex
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
\documentclass{releasenotes}

\thisversion{Version 10.0.0}
\thisversion{Version 10.1.0}
\thatversion{Version 8.4}
\pubmonth{February}
\pubmonth{November}
\pubyear{2024}

\iflatex
Expand Down Expand Up @@ -116,6 +116,15 @@ Online versions of both books can be found at
%-----------------------------------------------------------------------------
\section{Functionality Changes}\label{section:functionality}

\subsection{Constrain signal delivery to the main thread (10.1.0)}

Signals are now always delivered to the main Scheme thread to avoid crashes when a signal
is delivered to a thread that may not even be running Scheme.

\subsection{Improved support for lists in type recovery (10.1.0)}

The type recovery pass has improved support for lists by classifying pairs as mutable or
immutable. Type recovery is enabled with the \scheme{enable-type-recovery} parameter.

\subsection{New machine types for iOS (10.1.0)}\label{section:ios-machine-types}

Expand Down Expand Up @@ -2755,6 +2764,35 @@ in fasl files does not generally make sense.
%-----------------------------------------------------------------------------
\section{Bug Fixes}\label{section:bugfixes}

\subsection{Incorrect assembly code for threaded ARMv5 and earlier (10.1.0)}

A bug that generated incorrect assembly code in threaded mode for ARMv5 and earlier
architectures has been fixed.

\subsection{Index checks in bytevector-reference procedures (10.1.0)}

Bugs that caused an invalid memory reference in \scheme{bytevector-reference-ref},
\scheme{bytevector-reference*-ref}, and \scheme{bytevector-reference-set!} have been
fixed.

\subsection{Repairs for pb32 foreign interface (10.1.0)}

Bugs in the handling of callable addresses and 64-bit arguments and results in pb32 when
using libffi have been fixed.

\subsection{Bytecode endianness handling on s390x, m68k, and hppa (10.1.0)}

The bytecode endianness on s390x, m68k, and hppa architectures has been fixed.

\subsection{Error message fixes (10.1.0)}

A bug where \scheme{flvector} incorrectly reports ``non-flonum found'' errors as
``non-fixnum found'' errors has been fixed.

Errors for invalid indices in bit operations \scheme{bitwise-bit-set?},
\scheme{bitwise-copy-bit}, \scheme{logbit?}, \scheme{logbit0}, and \scheme{logbit1} now
report ``invalid bit index'' instead of ``not an exact integer''.

\subsection{\scheme{with-continuation-mark} key and value expressions (10.1.0)}

A bug in \scheme{with-continuation-mark} positioned the key and
Expand All @@ -2770,7 +2808,7 @@ to report the wrong result has been fixed.
\subsection{Repair R$^5$RS and IEEE environments (10.1.0)}

The environments returned by \scheme{(scheme-report-environment 5)}
and \scheme{(scheme-ieee-environment)} had some names incorrectly
and \scheme{(ieee-environment)} had some names incorrectly
prefixed with \scheme{r6rs:}, such as \scheme{r6rs:<} instead of
\scheme{<}.

Expand All @@ -2785,25 +2823,19 @@ The ``V'' format directive is now recognized in uppercase as well as lowercase.

\subsection{Optimization and \scheme{debug-level} $\geq$ 2 (10.1.0)}

Setting \scheme{debug-level} to 2 or higher did not prevent an
error-causing call in nontail position to stay nontail when
\scheme{enable-type-recovery} is \scheme{#t} (the default value).
Furthermore, a tail error-causing call could be made non-tail by
optimizations that aim to expose non-error paths. Those behaviors
moved further from the documented behavior of \scheme{debug-level}
than Chez Scheme version 9.x---but version 9.x was also not consistent
with the documentation due to cp0 conversions such as replacing
\scheme{(let ([x \var{expr}]) x)} with just \var{expr}.

Instead of guaranteeing any specific behavior, a \scheme{debug-level}
value of 2 or higher is now defined to merely \emph{discourage}
optimizations that affect the continuation structure as revealed by the
inspector, where the goal is to produce more informative stack
backtraces at the point where an exception is raised. The
implementation produces results that are more in line with Chez Scheme
9.x. Meanwhile, continuation marks support predictable and
well-defined reflection on continuations in a way that is compatible
with compiler optimizations.
When \scheme{debug-level} is 2 or higher and \scheme{enable-type-recovery} is \scheme{#t}
(the default), the compiler could move a call to error from non-tail position to tail
position, which eliminates the stack frame and makes debugging more difficult.
Furthermore, the compiler could also move a call to error from tail position to non-tail
position by optimizations that aim to expose non-error paths.

Instead of guaranteeing any specific behavior, a \scheme{debug-level} value of 2 or higher
is now defined to \emph{discourage} optimizations that affect the continuation structure
as revealed by the inspector, where the goal is to produce more informative stack traces
at the point where an exception is raised. The implementation produces results that are
more consistent with Chez Scheme 9. Meanwhile, continuation marks support predictable and
well-defined reflection on continuations in a way that is compatible with compiler
optimizations.

\subsection{Random number generation for large exact integers (10.1.0)}

Expand Down
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 = 10.0.0
version = 10.1.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/cmacros.ss
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@
;; ---------------------------------------------------------------------
;; Version and machine types:

(define-constant scheme-version #x0a010004)
(define-constant scheme-version #x0a010000)

(define-syntax define-machine-types
(lambda (x)
Expand Down
2 changes: 1 addition & 1 deletion scheme.1.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
.if t .ds c caf\o'\'e'
.if n .ds c cafe
.ds ]W
.TH SCHEME 1 "Chez Scheme Version 10.0.0 February 2024"
.TH SCHEME 1 "Chez Scheme Version 10.1.0 November 2024"
.SH NAME
{InstallSchemeName} - Chez Scheme
.br
Expand Down
2 changes: 1 addition & 1 deletion wininstall/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION := 10.0.0
VERSION := 10.1.0
WIXEXTENSIONS := -ext WixUIExtension -ext WixBalExtension
export MSYS_NO_PATHCONV=1

Expand Down
Loading

0 comments on commit ae19cf9

Please sign in to comment.