wisp 1.0.12: improve compatibility and output
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 '()