M Makefile.am +2 -2
@@ 26,8 26,8 @@ WISP = wisp-guile.w wisp-reader.w wisp-s
guile_install_go_files = install-nobase_goDATA
$(guile_install_go_files): install-nobase_siteDATA
-EXTRA_DIST = $(WISP) bootstrap.sh bootstrap-reader.sh language examples tests wisp-repl-guile.sh testrunner.w wisp.py wisp.scm wisp.in m4 ob-wisp.el wisp-mode.el AUTHORS.in
-CLEANFILES = 1 2 $(GOBJECTS)
+EXTRA_DIST = $(WISP) bootstrap.sh bootstrap-reader.sh language $(wildcard examples/*.w) $(wildcard examples/*.scm) $(wildcard examples/*.csv) examples/files/test tests wisp-repl-guile.sh testrunner.w wisp.py wisp.scm wisp.in m4 ob-wisp.el wisp-mode.el AUTHORS.in
+CLEANFILES = 1 2 $(GOBJECTS) $(wildcard *~)
DISTCLEANFILES = $(bin_SCRIPTS) $(nobase_site_DATA) .wisp-repl
# don't spout out lots of stuff at each distcheck. Disable for debugging.
AM_DISTCHECK_CONFIGURE_FLAGS="--quiet"
M NEWS +7 -0
@@ 1,3 1,10 @@
+wisp 1.0.12 (2024-03-20):
+- do not include doctest output in examples (this broke install on Apple systems, because ._-files are interpreted as mac metadata)
+- better error reporting: Note in "chunk not at zero indentation" that a new chunk starts after two blank lines.
+- allow setting guile with GUILE= in tests/runtests-scheme-reader.sh (so you can run tests with a custom build of Guile)
+- do not test partial indent in tests/receive.w (that is a tolerated error, but not guaranteed)
+- examples/evaluate-r7rs-benchmark.w: sort the slowdown, too
+
wisp 1.0.11 (2023-03-20):
- increase resilience of make check for multi-job make in Guix
M configure.ac +1 -1
@@ 1,7 1,7 @@
dnl run `autoreconf -i` to generate a configure script.
dnl Then run ./configure to generate a Makefile.
dnl Finally run make to generate the project.
-AC_INIT([wisp], [1.0.11],
+AC_INIT([wisp], [1.0.12],
[arne_bab@web.de])
# Add macros in m4/ to ensure that wisp builds without having Guile in the aclocal path
AC_CONFIG_MACRO_DIR([m4])
M examples/evaluate-r7rs-benchmark.w +3 -1
@@ 144,7 144,9 @@ define : main args
pretty-print : sort guile-data (λ (x y) (string<? (car x) (car y)))
newline
format #t "=== ~a slowdown ===\n\n" : string-locale-titlecase project-prefix
- pretty-print : get-multiples-alist guile-data data-min-by-test
+ pretty-print
+ sort : get-multiples-alist guile-data data-min-by-test
+ λ (x y) (string<? (car x) (car y))
newline
format #t "=== ~a Geometric Mean slowdown (successful tests / total tests) ===\n\n" : string-locale-titlecase project-prefix
format #t "~a (~a / ~a)"
M tests/receive.w +1 -1
@@ 2,4 2,4 @@ import (ice-9 receive) (srfi srfi-1)
write
receive : car cdr
car+cdr '(car . cdr)
- . car
+ . car
M tests/runtests-scheme-reader.sh +8 -2
@@ 6,6 6,12 @@
# command. AC_CONFIG_LINKS in autoconf.ac ensures that this exists in
# the build dir. Still this could be nicer.
+# set Guile if unset
+if [ -z ${GUILE+x} ]; then
+ GUILE=guile
+fi
+
+
if [[ x"$1" == x"" || x"$1" == x"." ]]; then
srcdir="$(./tests/realpath.sh "$(pwd)")"
else
@@ 21,10 27,10 @@ fi
failed=0
cd ${builddir}
for i in ${srcdir}/tests/*.w; do
- if guile -L ${builddir} --language=wisp ${srcdir}/testrunner.w "${i}" "${srcdir}/tests/$(basename "${i}" .w).scm" | grep -q "have equivalent content"; then
+ if $GUILE -L ${builddir} --language=wisp ${srcdir}/testrunner.w "${i}" "${srcdir}/tests/$(basename "${i}" .w).scm" | grep -q "have equivalent content"; then
continue
fi
- echo test "$i" failed. Diff: $(guile -L ${builddir} --language=wisp ${srcdir}/testrunner.w "${i}" "${srcdir}/tests/$(basename "${i}" .w).scm")
+ echo test "$i" failed. Diff: $($GUILE -L ${builddir} --language=wisp ${srcdir}/testrunner.w "${i}" "${srcdir}/tests/$(basename "${i}" .w).scm")
failed=$((failed + 1))
done
cd - >/dev/null # undo dir change
M wisp-scheme.w +1 -1
@@ 472,7 472,7 @@ define* : wisp-scheme-indentation-to-par
cons 0 : cdr : car lines
cdr lines
throw 'wisp-syntax-error
- format #f "The first symbol in a chunk must start at zero indentation. Indentation and line: ~A"
+ format #f "The first symbol in a chunk must start at zero indentation. Two blank lines start a new chunk. Indentation and line: ~A"
car lines
let loop
: processed '()