diff --git a/.gitignore b/.gitignore index cadfd58156..ec99067e8c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ .*.sw? .sw? /Makefile +/TAGS /a6le/ /a6nt/ /a6osx/ @@ -9,10 +10,10 @@ /i3le/ /i3nt/ /i3osx/ -/TAGS /ta6le/ /ta6nt/ /ta6osx/ /ti3le/ /ti3nt/ /ti3osx/ +/xc-*/ diff --git a/BUILDING b/BUILDING index b2361bfc38..be45135445 100644 --- a/BUILDING +++ b/BUILDING @@ -167,91 +167,45 @@ The make file supports several targets: WINDOWS -Building Chez Scheme under Windows is currently more complicated than it -should be. It requires the configure script (and through it, the workarea -script) to be run on a host system that supports a compatible shell, -e.g., bash, and the various command-line tools employed by configure -and workarea, e.g., sed and ln. For example, the host system could be a -Linux or MacOS X machine. The release directory must be made available -on a shared filesystem, e.g., samba, to a build machine running Windows. -It is not presently possible to copy the release directory to a Windows -filesystem due to the use of symbolic links. +Building Chez Scheme under Windows with Cygwin follows the +instructions above except that make install is not supported: -Prerequisite: +./configure +make -The Microsoft Visual C compiler (express or full) and associated -tools must be available on the Windows build machine, and the PATH, -INCLUDE, and LIB variables must be set up properly for those tools. +Prerequisites: -Between the configure and build steps (below), the 32-bit or 64-bit -(as appropriate) C runtime library vcruntime$V.dll must be placed into -$W/bin/$M with a symbolic link to or copy of the file in $W/bin, where -$V is the expected C runtime version for the installed Visual C compiler -(e.g., 140 for Visual Studio 2015), $W is the workarea name, and $M is -the machine type. +* Cygwin with bash, grep, make, sed, etc. +* Microsoft Visual Studio 2015 -Configure step (host machine): - -To configure the build, run: - -./configure -m=$M - -where $M is replaced with one of the Windows machine types, i.e., -i3nt for 32-bit, a6nt for 64-bit, ti3nt for threaded 32-bit, and -ta6nt for 64-bit threaded. - -Build step (Windows build machine): - -To build the executable $W\bin\$M\scheme.exe, run: - -nmake -f Makefile.i3nt - -in the directory $W\c, then recompile the Scheme sources via: - -bldnt $M - -in the directory $W/c, where $W is replaced by the name of the -workarea created by ./configure, and $M is the machine type. - -To run Chez Scheme or Petite Chez Scheme from a terminal window, -set PATH and SCHEMEHEAPDIRS: +To run Chez Scheme or Petite Chez Scheme from a Windows command prompt, +set PATH: set PATH=$W\bin\$M;%PATH% -set SCHEMEHEAPDIRS=$W/boot/$M again with $W and $M replaced with the workarea name and machine type, and start Chez Scheme with the command "scheme" or Petite Chez with the command "petite". -Chez Scheme and Petite Chez Scheme are terminal-based programs, -not GUIs. They both incorporate sophisticated command-line editing -reminiscent of tcsh but with support for expressions that span -multiple lines. +The executables are linked against the Microsoft Visual C++ run-time +library vcruntime140.dll. If you distribute the executables to a +different system, be sure to include the redistributable run-time +library. Testing under Windows The iconv tests in mats/io.ms require that a 32-bit or 64-bit (as -appropriate) libiconv-2.dll implementing GNU libiconv be located in -$W/bin/$M with a symbolic link to or copy of the file in $W/bin, where -$W and $M are the workarea name and machine type. Windows sources for +appropriate) iconv.dll, libiconv.dll, or libiconv-2.dll implementing +GNU libiconv be located in $W\bin\$M or the path. Windows sources for libiconv can be found at: http://gnuwin32.sourceforge.net/packages/libiconv.htm -If the dlls are not present, the iconv tests will fail. No other -tests should be affected. +An alternative that uses the Windows API can be found at: -The tests can be run with a default set of options at a single -optimize level by running the command: +https://github.com/win-iconv/win-iconv -bldnt $M $O +If the DLL is not present, the iconv tests will fail. No other tests +should be affected. -in $W/mats, with $W and $M replaced with the workarea name and -machine type and $O replaced by an optimize level, e.g., 0 or 3. -This produces a set of output (.mo) files in the directory -$W/mats/output-compile-$O-f-f-f. "make fastreport o=$O" can be -then used to generate a report; this step must be run on a host -system supporting GNU make and the various tools required by the -fastreport target, e.g., grep. The resulting report file -$W/mats/report-compile-$O-f-f-f should be empty if all tests -succeeded. +Use 'make test' described above to run the tests. diff --git a/LOG b/LOG index 765cbd0f39..51a95a0e07 100644 --- a/LOG +++ b/LOG @@ -186,3 +186,17 @@ negative differences to zero. added a corresponding release note. system.stex, release_notes.stex +- added a cast to eliminate a warning + c/number.c +- fixed bug in Windows version of directory-separator-predicate when + path-* procedures are passed a path that is not a string. + s/6.ss +- fixed bug in cp0 on Windows with $foreign-wchar?. + s/cp0.ss +- Cygwin is now used on Windows, updated mats, eliminated unused killme + BUILDING c/*nt c/Mf-base c/scheme.exe.manifest configure + examples/Makefile mats/6.ms mats/Mf-* mats/foreign.ms mats/ftype.ms + mats/patch-* mats/windows.ms s/Mf-*nt s/Mf-base workarea + release_notes.stex +- fixed spelling of non-existent + s/syntax.ss diff --git a/c/Makefile.a6nt b/c/Makefile.a6nt index ca1d8fb0b9..e1dd90782c 100644 --- a/c/Makefile.a6nt +++ b/c/Makefile.a6nt @@ -109,6 +109,7 @@ $(MDMain): main.c $(Exec): $(ResFile) $(MDMain) $(KernelLib) -del /f $(Exec) link /out:$(Exec) $(EXELDFLAGS) $(ResFile) $(MDMain) $(KernelLib) + mt -manifest ..\..\c\scheme.exe.manifest -outputresource:$(Exec);1 $(ResFile): scheme.rc -del /f $(ResFile) @@ -127,7 +128,7 @@ mdscheme.exe: $(ResFile) $(MDMain) $(MDKernelLib) $(ZlibInclude)\zlib.h $(ZlibInclude)\zconf.h $(MDZlibLib) $(MTZlibLib): cd ../zlib nmake /nologo -f win32/Makefile.msc AR="link /lib" CFLAGS="-nologo -MT -O2 $(LOC)" - rename zlib.lib zlibmt.lib + ren zlib.lib zlibmt.lib nmake /nologo -f win32/Makefile.msc clean nmake /nologo -f win32/Makefile.msc AR="link /lib" cd ../c diff --git a/c/Makefile.i3nt b/c/Makefile.i3nt index 4f284036f2..c7d4f8adde 100644 --- a/c/Makefile.i3nt +++ b/c/Makefile.i3nt @@ -105,6 +105,7 @@ $(MDMain): main.c $(Exec): $(ResFile) $(MDMain) $(KernelLib) -del /f $(Exec) link /out:$(Exec) $(EXELDFLAGS) $(ResFile) $(MDMain) $(KernelLib) + mt -manifest ..\..\c\scheme.exe.manifest -outputresource:$(Exec);1 $(ResFile): scheme.rc -del /f $(ResFile) @@ -123,7 +124,7 @@ mdscheme.exe: $(ResFile) $(MDMain) $(MDKernelLib) $(ZlibInclude)\zlib.h $(ZlibInclude)\zconf.h $(MDZlibLib) $(MTZlibLib): cd ../zlib nmake /nologo -f win32/Makefile.msc AR="link /lib" CFLAGS="-nologo -MT -O2 $(LOC)" - rename zlib.lib zlibmt.lib + ren zlib.lib zlibmt.lib nmake /nologo -f win32/Makefile.msc clean nmake /nologo -f win32/Makefile.msc AR="link /lib" cd ../c diff --git a/c/Makefile.ta6nt b/c/Makefile.ta6nt index 319b4b2b1b..bad20a0175 100644 --- a/c/Makefile.ta6nt +++ b/c/Makefile.ta6nt @@ -109,6 +109,7 @@ $(MDMain): main.c $(Exec): $(ResFile) $(MDMain) $(KernelLib) -del /f $(Exec) link /out:$(Exec) $(EXELDFLAGS) $(ResFile) $(MDMain) $(KernelLib) + mt -manifest ..\..\c\scheme.exe.manifest -outputresource:$(Exec);1 $(ResFile): scheme.rc -del /f $(ResFile) @@ -127,7 +128,7 @@ mdscheme.exe: $(ResFile) $(MDMain) $(MDKernelLib) $(ZlibInclude)\zlib.h $(ZlibInclude)\zconf.h $(MDZlibLib) $(MTZlibLib): cd ../zlib nmake /nologo -f win32/Makefile.msc AR="link /lib" CFLAGS="-nologo -MT -O2 $(LOC)" - rename zlib.lib zlibmt.lib + ren zlib.lib zlibmt.lib nmake /nologo -f win32/Makefile.msc clean nmake /nologo -f win32/Makefile.msc AR="link /lib" cd ../c diff --git a/c/Makefile.ti3nt b/c/Makefile.ti3nt index d7ea1396c8..570c8bce02 100644 --- a/c/Makefile.ti3nt +++ b/c/Makefile.ti3nt @@ -36,6 +36,10 @@ DLLLDFLAGS=/machine:ix86 /release /nologo # see note in Makefile.a6nt regarding stack size. we use 8MB here to be consistent. EXELDFLAGS=/machine:ix86 /incremental:no /release /nologo /STACK:0x800000 +# use following flags for debugging +# CFLAGS=/nologo /Od /W3 /MDd /I$(SchemeInclude) /I$(ZlibInclude) /DUSE_ANSI_PROTOTYPES /DI386 /DNO_UNISTD_H +# LDFLAGS=/machine:ix86 /incremental:no /release /nologo /debug + SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib MDZlibLib=..\zlib\zlib.lib MTZlibLib=..\zlib\zlibmt.lib @@ -101,6 +105,7 @@ $(MDMain): main.c $(Exec): $(ResFile) $(MDMain) $(KernelLib) -del /f $(Exec) link /out:$(Exec) $(EXELDFLAGS) $(ResFile) $(MDMain) $(KernelLib) + mt -manifest ..\..\c\scheme.exe.manifest -outputresource:$(Exec);1 $(ResFile): scheme.rc -del /f $(ResFile) @@ -119,7 +124,7 @@ mdscheme.exe: $(ResFile) $(MDMain) $(MDKernelLib) $(ZlibInclude)\zlib.h $(ZlibInclude)\zconf.h $(MDZlibLib) $(MTZlibLib): cd ../zlib nmake /nologo -f win32/Makefile.msc AR="link /lib" CFLAGS="-nologo -MT -O2 $(LOC)" - rename zlib.lib zlibmt.lib + ren zlib.lib zlibmt.lib nmake /nologo -f win32/Makefile.msc clean nmake /nologo -f win32/Makefile.msc AR="link /lib" cd ../c diff --git a/c/Mf-a6nt b/c/Mf-a6nt index 414bc1777e..e308de5021 100644 --- a/c/Mf-a6nt +++ b/c/Mf-a6nt @@ -20,12 +20,32 @@ clib= o = obj mdobj=windows.$o mdsrc=windows.c Makefile.$m cs.ico scheme.rc make.bat -mdclean=make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* +mdclean=vs.bat make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* include Mf-base +${Scheme}: make.bat + ./make.bat + cp ../bin/$m/scheme.exe ../bin/$m/petite.exe + # currently creating datestamp at 'make source' time datestamp.c: -make.bat: - echo "@nmake /nologo -f Makefile.$m %*" > make.bat +vs.bat: + echo '@echo off' > $@ + echo 'if "%VS140COMNTOOLS%" neq "" goto :VS' >> $@ + echo 'echo Visual Studio 2015 must be installed.' >> $@ + echo 'exit 1' >> $@ + echo ':VS' >> $@ + echo 'set INCLUDE=' >> $@ + echo 'set LIB=' >> $@ + echo 'set LIBPATH=' >> $@ + echo 'call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" amd64' >> $@ + echo '%*' >> $@ + chmod +x $@ + +make.bat: vs.bat + echo '@echo off' > $@ + echo 'set MAKEFLAGS=' >> $@ + echo 'call vs.bat nmake /f Makefile.$m /nologo %*' >> $@ + chmod +x $@ diff --git a/c/Mf-base b/c/Mf-base index 0cc49f2121..3245de6af2 100644 --- a/c/Mf-base +++ b/c/Mf-base @@ -43,7 +43,12 @@ ${Main}: ${mainobj} cp -p ${mainobj} ${Main} rootsrc=$(shell cd ../../c; echo *) -${rootsrc}: ; ln -s ../../c/$@ $@ +${rootsrc}: +ifeq ($(OS),Windows_NT) + cp -p ../../c/$@ $@ +else + ln -s ../../c/$@ $@ +endif scheme.o: itest.c scheme.o main.o: config.h diff --git a/c/Mf-i3nt b/c/Mf-i3nt index 0feb98ec4c..67f57d8204 100644 --- a/c/Mf-i3nt +++ b/c/Mf-i3nt @@ -20,12 +20,32 @@ clib= o = obj mdobj=windows.$o mdsrc=windows.c Makefile.$m cs.ico scheme.rc make.bat -mdclean=make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* +mdclean=vs.bat make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* include Mf-base +${Scheme}: make.bat + ./make.bat + cp ../bin/$m/scheme.exe ../bin/$m/petite.exe + # currently creating datestamp at 'make source' time datestamp.c: -make.bat: - echo "@nmake /nologo -f Makefile.$m %*" > make.bat +vs.bat: + echo '@echo off' > $@ + echo 'if "%VS140COMNTOOLS%" neq "" goto :VS' >> $@ + echo 'echo Visual Studio 2015 must be installed.' >> $@ + echo 'exit 1' >> $@ + echo ':VS' >> $@ + echo 'set INCLUDE=' >> $@ + echo 'set LIB=' >> $@ + echo 'set LIBPATH=' >> $@ + echo 'call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86' >> $@ + echo '%*' >> $@ + chmod +x $@ + +make.bat: vs.bat + echo '@echo off' > $@ + echo 'set MAKEFLAGS=' >> $@ + echo 'call vs.bat nmake /f Makefile.$m /nologo %*' >> $@ + chmod +x $@ diff --git a/c/Mf-ta6nt b/c/Mf-ta6nt index 35011e1daf..794b7d071c 100644 --- a/c/Mf-ta6nt +++ b/c/Mf-ta6nt @@ -20,12 +20,32 @@ clib= o = obj mdobj=windows.$o mdsrc=windows.c Makefile.$m cs.ico scheme.rc make.bat -mdclean=make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* +mdclean=vs.bat make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* include Mf-base +${Scheme}: make.bat + ./make.bat + cp ../bin/$m/scheme.exe ../bin/$m/petite.exe + # currently creating datestamp at 'make source' time datestamp.c: -make.bat: - echo "@nmake /nologo -f Makefile.$m %*" > make.bat +vs.bat: + echo '@echo off' > $@ + echo 'if "%VS140COMNTOOLS%" neq "" goto :VS' >> $@ + echo 'echo Visual Studio 2015 must be installed.' >> $@ + echo 'exit 1' >> $@ + echo ':VS' >> $@ + echo 'set INCLUDE=' >> $@ + echo 'set LIB=' >> $@ + echo 'set LIBPATH=' >> $@ + echo 'call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" amd64' >> $@ + echo '%*' >> $@ + chmod +x $@ + +make.bat: vs.bat + echo '@echo off' > $@ + echo 'set MAKEFLAGS=' >> $@ + echo 'call vs.bat nmake /f Makefile.$m /nologo %*' >> $@ + chmod +x $@ diff --git a/c/Mf-ti3nt b/c/Mf-ti3nt index 43685ecd04..f8ef2485f5 100644 --- a/c/Mf-ti3nt +++ b/c/Mf-ti3nt @@ -20,12 +20,32 @@ clib= o = obj mdobj=windows.$o mdsrc=windows.c Makefile.$m cs.ico scheme.rc make.bat -mdclean=make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* +mdclean=vs.bat make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* include Mf-base +${Scheme}: make.bat + ./make.bat + cp ../bin/$m/scheme.exe ../bin/$m/petite.exe + # currently creating datestamp at 'make source' time datestamp.c: -make.bat: - echo "@nmake /nologo -f Makefile.$m %*" > make.bat +vs.bat: + echo '@echo off' > $@ + echo 'if "%VS140COMNTOOLS%" neq "" goto :VS' >> $@ + echo 'echo Visual Studio 2015 must be installed.' >> $@ + echo 'exit 1' >> $@ + echo ':VS' >> $@ + echo 'set INCLUDE=' >> $@ + echo 'set LIB=' >> $@ + echo 'set LIBPATH=' >> $@ + echo 'call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86' >> $@ + echo '%*' >> $@ + chmod +x $@ + +make.bat: vs.bat + echo '@echo off' > $@ + echo 'set MAKEFLAGS=' >> $@ + echo 'call vs.bat nmake /f Makefile.$m /nologo %*' >> $@ + chmod +x $@ diff --git a/c/number.c b/c/number.c index 1ea57b29a2..bc2b2eb7ab 100644 --- a/c/number.c +++ b/c/number.c @@ -1179,7 +1179,7 @@ static double floatify_normalize(p, e, sign, sticky) bigit *p; iptr e; IBOOL sig /* fill in the fields */ dx.x.sign = sign; - dx.x.e = e; + dx.x.e = (UINT)e; dx.x.m1 = (UINT)(mlow >> 48 & m1mask); dx.x.m2 = (UINT)(mlow >> 32 & 0xffff); dx.x.m3 = (UINT)(mlow >> 16 & 0xffff); diff --git a/c/scheme.exe.manifest b/c/scheme.exe.manifest new file mode 100644 index 0000000000..a43d11b21a --- /dev/null +++ b/c/scheme.exe.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/configure b/configure index ba7bf6666a..bbc7ba5b65 100755 --- a/configure +++ b/configure @@ -37,9 +37,9 @@ installman="" installschemename="scheme" installpetitename="petite" installscriptname="scheme-script" -CPPFLAGS="" -CFLAGS="" -LDFLAGS="" +: ${CPPFLAGS:=""} +: ${CFLAGS:=""} +: ${LDFLAGS:=""} case `uname` in Linux) @@ -117,6 +117,16 @@ case `uname` in gzipmanpages=no fi ;; + CYGWIN_NT-*) + if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then + m32=i3nt + m64=a6nt + tm32=ti3nt + tm64=ta6nt + installprefix=/usr/local + installmansuffix=share/man + fi + ;; esac threads="" @@ -332,7 +342,9 @@ sed -e "s;^m=none\$;m=$m;"\ cat > $w/c/config.h << END #define SCHEME_SCRIPT "$installscriptname" +#ifndef WIN32 #define DEFAULT_HEAP_PATH "$installlib/csv%v/%m" +#endif END cat > $w/c/Mf-config << END diff --git a/examples/Makefile b/examples/Makefile index c3f50434d6..80231c59e4 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -15,7 +15,7 @@ src = def.ss edit.ss fact.ss fatfib.ss fft.ss fib.ss freq.ss interpret.ss\ scons.ss setof.ss socket.ss unify.ss compat.ss obj = ${src:%.ss=%.so} -Scheme = scheme -q +Scheme = ../bin/scheme -q .SUFFIXES: .SUFFIXES: .ss .so diff --git a/mats/6.ms b/mats/6.ms index 985ec9eaa9..eb55ecdce8 100644 --- a/mats/6.ms +++ b/mats/6.ms @@ -2618,12 +2618,13 @@ (lambda () (((inspect/object fatfib) 'code) 'source-path)) list) '("../examples/fatfib.ss" 16 4)) - (equal? - (parameterize ([cd "/"] [source-directories (list (cd))]) - (call-with-values - (lambda () (((inspect/object fatfib) 'code) 'source-path)) - list)) - (list (format "~a/../examples/fatfib.ss" (cd)) 16 4)) + (or (windows?) + (equal? + (parameterize ([cd "/"] [source-directories (list (cd))]) + (call-with-values + (lambda () (((inspect/object fatfib) 'code) 'source-path)) + list)) + (list (format "~a/../examples/fatfib.ss" (cd)) 16 4))) (begin (parameterize ([source-directories (list (parameterize ([cd ".."]) (cd)))]) (load "examples/fatfib.ss" compile)) @@ -2926,11 +2927,11 @@ (and (time? (file-access-time "\\\\?\\c:\\")) (time? (file-change-time "\\\\?\\c:\\")) (time? (file-modification-time "\\\\?\\c:\\")))) - (or (embedded?) + (or (windows?) (embedded?) (time=? (file-access-time "Makefile") (file-access-time (format "Mf-~a" (machine-type))))) - (or (embedded?) + (or (windows?) (embedded?) (time=? (file-change-time "Makefile") (file-change-time (format "Mf-~a" (machine-type))))) - (or (embedded?) + (or (windows?) (embedded?) (time=? (file-modification-time "Makefile") (file-modification-time (format "Mf-~a" (machine-type))))) (error? (file-access-time "probably/not/there")) (error? (file-access-time "probably/not/there" #f)) diff --git a/mats/Mf-a6fb b/mats/Mf-a6fb index 5dee6635fb..897539c02d 100644 --- a/mats/Mf-a6fb +++ b/mats/Mf-a6fb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6le b/mats/Mf-a6le index 905a894e7f..70c9d25ea2 100644 --- a/mats/Mf-a6le +++ b/mats/Mf-a6le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6nb b/mats/Mf-a6nb index d3cc28c6a3..671b79e347 100644 --- a/mats/Mf-a6nb +++ b/mats/Mf-a6nb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6nt b/mats/Mf-a6nt index 59a8ad4a4b..1e3a3bfafb 100644 --- a/mats/Mf-a6nt +++ b/mats/Mf-a6nt @@ -16,27 +16,13 @@ m = a6nt fsrc = foreign1.c foreign2.c foreign3.c -ftmp = foreign1.obj foreign2.obj foreign3.obj fobj = foreign1.so -mdclean = ${ftmp} foreign1.exp foreign1.lib make.bat cat_flush.obj cat_flush.exe libiconv-2.dll -mdsrc = bldnt.bat - -MSDOS = 1 +mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj foreign2.obj foreign3.obj include Mf-base -.SUFFIXES: .c .obj +foreign1.so: $(fsrc) + ../c/vs.bat cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv941.lib $(fsrc) -.c.obj: ; cl -c -DWIN32 -I${Include} $*.c - -foreign1.so: $(ftmp) - link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj - -make.bat: - echo "@echo off" > make.bat - echo "call blda6nt" >> make.bat - echo "call blda6nt 2" >> make.bat - echo "blda6nt 3" >> make.bat - -libiconv-2.dll: - ln -s ../bin/libiconv-2.dll . +cat_flush: cat_flush.c + ../c/vs.bat cl /DWIN32 /DX86_64 /MD /nologo $< diff --git a/mats/Mf-a6ob b/mats/Mf-a6ob index 1bac7f76ea..a70674ffa2 100644 --- a/mats/Mf-a6ob +++ b/mats/Mf-a6ob @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6osx b/mats/Mf-a6osx index 9355a45ba6..07f30dea78 100644 --- a/mats/Mf-a6osx +++ b/mats/Mf-a6osx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6s2 b/mats/Mf-a6s2 index 5f3bd4d580..863dcbb513 100644 --- a/mats/Mf-a6s2 +++ b/mats/Mf-a6s2 @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c gcc -o cat_flush cat_flush.c - -killme: killme.c - gcc -o killme killme.c diff --git a/mats/Mf-arm32le b/mats/Mf-arm32le index b4145246cd..83b7f86b01 100644 --- a/mats/Mf-arm32le +++ b/mats/Mf-arm32le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-base b/mats/Mf-base index f1bfcca4f7..3a74048221 100644 --- a/mats/Mf-base +++ b/mats/Mf-base @@ -34,10 +34,15 @@ # For example, "make o=2 cp0=t ctb=8192" causes the mats to be run at # optimize level 2 with cp0 enabled and collect-trip-bytes set to 8192. +ifeq (${OS},Windows_NT) + dirsep = ; +else + dirsep = : +endif # Scheme is the scheme executable to test, and SCHEMEHEAPDIRS tells # it where to find its boot files Scheme = ../bin/$m/scheme -export SCHEMEHEAPDIRS=.:../boot/%m +export SCHEMEHEAPDIRS=.${dirsep}../boot/%m # Include is the directory holding scheme.h. Include = ../boot/$m @@ -188,19 +193,11 @@ errors-$(conf): ${obj} doerrors: rm -f errors-$(conf) -ifdef MSDOS - -(cd $(objdir); grep '^Error' $(objname)) | dos2unix > errors-$(conf) - -(cd $(objdir); grep '^Bug' $(objname)) | dos2unix >> errors-$(conf) - -(cd $(objdir); grep '^Warning' $(objname)) | dos2unix >> errors-$(conf) - -(cd $(objdir); grep '^Expected' $(objname)) | dos2unix\ - >> errors-$(conf) -else -(cd $(objdir); grep '^Error' $(objname)) > errors-$(conf) -(cd $(objdir); grep '^Bug' $(objname)) >> errors-$(conf) -(cd $(objdir); grep '^Warning' $(objname)) >> errors-$(conf) -(cd $(objdir); grep '^Expected' $(objname))\ >> errors-$(conf) -endif fastreport: $(MAKE) doerrors @@ -288,7 +285,7 @@ all1: ; $(MAKE) all o=1 all2: ; $(MAKE) all o=2 all3: ; $(MAKE) all o=3 -all: makescript$o $(src) oop.ss ht.ss mat.so killme cat_flush ${fobj} m4test.in m4test.out prettytest.ss ftype.h freq.in freq.out ${patchfile} examples +all: makescript$o $(src) oop.ss ht.ss mat.so cat_flush ${fobj} m4test.in m4test.out prettytest.ss ftype.h freq.in freq.out ${patchfile} examples ${Scheme} --verbose -q mat.so ${patchfile} < script.all$o $(MAKE) doerrors $(MAKE) doreport @@ -322,19 +319,20 @@ source: $(MAKE) source2 o=2 $(MAKE) source3 o=3 -source$o: ${src} mat.ss oop.ss ht.ss killme.c cat_flush.c ${fsrc} freq.in freq.out m4test.in m4test.out ${mdsrc} script.all$o prettytest.ss ftype.h +source$o: ${src} mat.ss oop.ss ht.ss cat_flush.c ${fsrc} freq.in freq.out m4test.in m4test.out script.all$o prettytest.ss ftype.h rootsrc = $(shell cd ../../mats; echo *) -${rootsrc}: ; ln -s ../../mats/$@ $@ +${rootsrc}: +ifeq ($(OS),Windows_NT) + cp -p ../../mats/$@ $@ +else + ln -s ../../mats/$@ $@ +endif prettytest.ss: rm -f prettytest.ss $(MAKE) ${prettysrc} -ifdef MSDOS - cat ${prettysrc} | unix2dos > prettytest.ss -else cat ${prettysrc} > prettytest.ss -endif bullyprettytest.ss: ${src} (cd ../s; make source) @@ -346,7 +344,7 @@ thread.mo ${objdir}/thread.mo: ${fobj} examples.mo ${objdir}/examples.mo: m4test.in m4test.out freq.in freq.out examples 6.mo ${objdir}/6.mo: prettytest.ss io.mo ${objdir}/io.mo: prettytest.ss -unix.mo ${objdir}/unix.mo io.mo ${objdir}/io.mo 6.mo ${objdir}/6.mo: cat_flush killme +unix.mo ${objdir}/unix.mo io.mo ${objdir}/io.mo 6.mo ${objdir}/6.mo: cat_flush oop.mo ${objdir}/oop.mo: oop.ss ftype.mo ${objdir}/ftype.mo: ftype.h hash.mo ${objdir}/hash.mo: ht.ss @@ -356,7 +354,7 @@ examples: prettyclean: rm -f *.o ${mdclean} *.so *.mo experr* errors* report* summary testfile* testscript\ - ${fobj} prettytest.ss killme cat_flush so_locations\ + ${fobj} prettytest.ss cat_flush so_locations\ script.all? *.html experr*.rej experr*.orig rm -rf testdir* rm -rf output-* diff --git a/mats/Mf-i3fb b/mats/Mf-i3fb index 566243fc87..d2dcdfc041 100644 --- a/mats/Mf-i3fb +++ b/mats/Mf-i3fb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3le b/mats/Mf-i3le index 352810ec47..0b41ce6dfb 100644 --- a/mats/Mf-i3le +++ b/mats/Mf-i3le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3nb b/mats/Mf-i3nb index 0f35177ed1..3f413be9c4 100644 --- a/mats/Mf-i3nb +++ b/mats/Mf-i3nb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3nt b/mats/Mf-i3nt index 9622908a41..66da666d24 100644 --- a/mats/Mf-i3nt +++ b/mats/Mf-i3nt @@ -16,27 +16,13 @@ m = i3nt fsrc = foreign1.c foreign2.c foreign3.c -ftmp = foreign1.obj foreign2.obj foreign3.obj fobj = foreign1.so -mdclean = ${ftmp} foreign1.exp foreign1.lib make.bat cat_flush.obj cat_flush.exe libiconv-2.dll -mdsrc = bldnt.bat - -MSDOS = 1 +mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj foreign2.obj foreign3.obj include Mf-base -.SUFFIXES: .c .obj +foreign1.so: $(fsrc) + ../c/vs.bat cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv941.lib $(fsrc) -.c.obj: ; cl -c -DWIN32 -I${Include} $*.c - -foreign1.so: $(ftmp) - link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj - -make.bat: - echo "@echo off" > make.bat - echo "call bldi3nt" >> make.bat - echo "call bldi3nt 2" >> make.bat - echo "bldi3nt 3" >> make.bat - -libiconv-2.dll: - ln -s ../bin/libiconv-2.dll . +cat_flush: cat_flush.c + ../c/vs.bat cl /DWIN32 /MD /nologo $< diff --git a/mats/Mf-i3ob b/mats/Mf-i3ob index bdec860401..26beb6132c 100644 --- a/mats/Mf-i3ob +++ b/mats/Mf-i3ob @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3osx b/mats/Mf-i3osx index 2cd098b29c..003814538a 100644 --- a/mats/Mf-i3osx +++ b/mats/Mf-i3osx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3qnx b/mats/Mf-i3qnx index 8172471586..6ae4c3d54a 100644 --- a/mats/Mf-i3qnx +++ b/mats/Mf-i3qnx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3s2 b/mats/Mf-i3s2 index 7492ab14f4..e806df2d39 100644 --- a/mats/Mf-i3s2 +++ b/mats/Mf-i3s2 @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c gcc -o cat_flush cat_flush.c - -killme: killme.c - gcc -o killme killme.c diff --git a/mats/Mf-ppc32le b/mats/Mf-ppc32le index a9cdb2983e..e5258158a1 100644 --- a/mats/Mf-ppc32le +++ b/mats/Mf-ppc32le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6fb b/mats/Mf-ta6fb index fbd0309634..cb9901a8af 100644 --- a/mats/Mf-ta6fb +++ b/mats/Mf-ta6fb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6le b/mats/Mf-ta6le index 5ec0acf874..393a614168 100644 --- a/mats/Mf-ta6le +++ b/mats/Mf-ta6le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6nb b/mats/Mf-ta6nb index 85244477d0..83eebee658 100644 --- a/mats/Mf-ta6nb +++ b/mats/Mf-ta6nb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6nt b/mats/Mf-ta6nt index e8d579d1f1..c355d5c3a2 100644 --- a/mats/Mf-ta6nt +++ b/mats/Mf-ta6nt @@ -16,27 +16,13 @@ m = ta6nt fsrc = foreign1.c foreign2.c foreign3.c -ftmp = foreign1.obj foreign2.obj foreign3.obj fobj = foreign1.so -mdclean = ${ftmp} foreign1.exp foreign1.lib make.bat cat_flush.obj cat_flush.exe libiconv-2.dll -mdsrc = bldnt.bat - -MSDOS = 1 +mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj foreign2.obj foreign3.obj include Mf-base -.SUFFIXES: .c .obj +foreign1.so: $(fsrc) + ../c/vs.bat cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv941.lib $(fsrc) -.c.obj: ; cl -c -DWIN32 -I${Include} $*.c - -foreign1.so: $(ftmp) - link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj - -make.bat: - echo "@echo off" > make.bat - echo "call bldta6nt" >> make.bat - echo "call bldta6nt 2" >> make.bat - echo "bldta6nt 3" >> make.bat - -libiconv-2.dll: - ln -s ../bin/libiconv-2.dll . +cat_flush: cat_flush.c + ../c/vs.bat cl /DWIN32 /DX86_64 /MD /nologo $< diff --git a/mats/Mf-ta6ob b/mats/Mf-ta6ob index 46065924e9..b2add3ef6e 100644 --- a/mats/Mf-ta6ob +++ b/mats/Mf-ta6ob @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6osx b/mats/Mf-ta6osx index b8000d8cde..48171ea593 100644 --- a/mats/Mf-ta6osx +++ b/mats/Mf-ta6osx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6s2 b/mats/Mf-ta6s2 index b94fdb87ba..e48dad256b 100644 --- a/mats/Mf-ta6s2 +++ b/mats/Mf-ta6s2 @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c gcc -o cat_flush cat_flush.c - -killme: killme.c - gcc -o killme killme.c diff --git a/mats/Mf-ti3fb b/mats/Mf-ti3fb index 6022ed071a..1222666467 100644 --- a/mats/Mf-ti3fb +++ b/mats/Mf-ti3fb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3le b/mats/Mf-ti3le index 0ba5ef764c..b1ac4f4ba3 100644 --- a/mats/Mf-ti3le +++ b/mats/Mf-ti3le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3nb b/mats/Mf-ti3nb index c710a75e0b..e6e27dd3d9 100644 --- a/mats/Mf-ti3nb +++ b/mats/Mf-ti3nb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3nt b/mats/Mf-ti3nt index 121d7cedc7..0454725eec 100644 --- a/mats/Mf-ti3nt +++ b/mats/Mf-ti3nt @@ -16,27 +16,13 @@ m = ti3nt fsrc = foreign1.c foreign2.c foreign3.c -ftmp = foreign1.obj foreign2.obj foreign3.obj fobj = foreign1.so -mdclean = ${ftmp} foreign1.exp foreign1.lib make.bat cat_flush.obj cat_flush.exe libiconv-2.dll -mdsrc = bldnt.bat - -MSDOS = 1 +mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj foreign2.obj foreign3.obj include Mf-base -.SUFFIXES: .c .obj +foreign1.so: $(fsrc) + ../c/vs.bat cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv941.lib $(fsrc) -.c.obj: ; cl -c -DWIN32 -I${Include} $*.c - -foreign1.so: $(ftmp) - link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj - -make.bat: - echo "@echo off" > make.bat - echo "call bldti3nt" >> make.bat - echo "call bldti3nt 2" >> make.bat - echo "bldti3nt 3" >> make.bat - -libiconv-2.dll: - ln -s ../bin/libiconv-2.dll . +cat_flush: cat_flush.c + ../c/vs.bat cl /DWIN32 /MD /nologo $< diff --git a/mats/Mf-ti3ob b/mats/Mf-ti3ob index 5a8202851a..93e205a5be 100644 --- a/mats/Mf-ti3ob +++ b/mats/Mf-ti3ob @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3osx b/mats/Mf-ti3osx index 9c6dad8627..87dd308e0b 100644 --- a/mats/Mf-ti3osx +++ b/mats/Mf-ti3osx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3s2 b/mats/Mf-ti3s2 index 356fe4559e..613640576d 100644 --- a/mats/Mf-ti3s2 +++ b/mats/Mf-ti3s2 @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c gcc -o cat_flush cat_flush.c - -killme: killme.c - gcc -o killme killme.c diff --git a/mats/Mf-tppc32le b/mats/Mf-tppc32le index 943d1fa36d..b6f6d43a6a 100644 --- a/mats/Mf-tppc32le +++ b/mats/Mf-tppc32le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/bldnt.bat b/mats/bldnt.bat deleted file mode 100644 index c82a8e8a79..0000000000 --- a/mats/bldnt.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off -set m=%1 -set o=%2 -if "%o%"=="" set o=0 -echo (time (compile-file "mat")) | ..\bin\%m%\scheme -q -cl /I../boot/%m% /nologo -c -DWIN32 foreign1.c -cl /I../boot/%m% /nologo -c -DWIN32 foreign2.c -cl /I../boot/%m% /nologo -c -DWIN32 foreign3.c -cl /nologo /DWIN32 cat_flush.c -link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj ..\bin\%m%\csv941.lib -..\bin\%m%\scheme -q mat.so < script.all%o% diff --git a/mats/foreign.ms b/mats/foreign.ms index 63892bd335..ac9b4913ba 100644 --- a/mats/foreign.ms +++ b/mats/foreign.ms @@ -204,21 +204,7 @@ (mat load-shared-object (file-exists? "foreign1.so") (begin (load-shared-object "foreign1.so") #t) - (begin - (load-shared-object - (let ([bindir (format "../bin/~a" (machine-type))]) - (define prefix? - (lambda (x y) - (let ([n (string-length x)]) - (and (fx<= n (string-length y)) - (let prefix? ([i 0]) - (or (fx= i n) - (and (char=? (string-ref x i) (string-ref y i)) - (prefix? (fx+ i 1))))))))) - (format "~a/~a" bindir - (or (find (lambda (s) (prefix? "vcruntime" s)) (directory-list bindir)) - (errorf #f "did not find C runtime vcruntime*.dll in ~a" bindir))))) - #t) + (begin (load-shared-object "msvcrt.dll") #t) (begin (load-shared-object "kernel32.dll") #t) (error? (load-shared-object 3)) ) diff --git a/mats/ftype.ms b/mats/ftype.ms index f8011a9dc4..bf409fd6b0 100644 --- a/mats/ftype.ms +++ b/mats/ftype.ms @@ -557,8 +557,7 @@ [(a6osx a6osx) (system (format "cc -m64 -dynamiclib -o ~a ~a" testfile.so testfile.c))] [(i3nt ti3nt a6nt ta6nt) - (system (format "cl /nologo -DWIN32 -c ~a" testfile.c)) - (system (format "link /nologo -dll -out:~a testfile-~a.obj" testfile.so testfile))] + (system (format "..\\c\\vs.bat cl /DWIN32 /Fe~a /LD /MD /nologo ~a" testfile.so testfile.c))] [(arm32le tarm32le) (system (format "cc -fPIC -shared -o ~a ~a" testfile.so testfile.c))] [else ; this should work for most intel-based systems that use gcc... diff --git a/mats/killme.c b/mats/killme.c deleted file mode 100644 index 920f8b096a..0000000000 --- a/mats/killme.c +++ /dev/null @@ -1,24 +0,0 @@ -/* killme.c - * Copyright 1984-2016 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. - */ - -#include -#include -#include - -int main(argc, argv) int argc; char *argv[]; { - kill(getppid(), atoi(argv[1])); - exit(0); -} diff --git a/mats/patch-compile-0-f-f-t b/mats/patch-compile-0-f-f-t index d0d3797d4c..88c5c43641 100644 --- a/mats/patch-compile-0-f-f-t +++ b/mats/patch-compile-0-f-f-t @@ -1,7 +1,7 @@ -*** errors-compile-0-f-f-f 2015-09-22 16:26:12.225848078 -0400 ---- errors-compile-0-f-f-t 2015-09-22 16:31:41.620049291 -0400 +*** errors-compile-0-f-f-f 2016-06-06 17:53:10.623331500 -0400 +--- errors-compile-0-f-f-t 2016-06-06 18:02:37.804196600 -0400 *************** -*** 3518,3524 **** +*** 3565,3571 **** misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -9,7 +9,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation oldgen". misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". ---- 3518,3524 ---- +--- 3565,3571 ---- misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -18,7 +18,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". *************** -*** 6969,6979 **** +*** 7040,7050 **** 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". @@ -30,7 +30,7 @@ 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". ---- 6969,6979 ---- +--- 7040,7050 ---- 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". @@ -43,7 +43,7 @@ 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". *************** -*** 8319,8331 **** +*** 8406,8418 **** fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -57,7 +57,7 @@ fx.mo:Expected error in mat r6rs:fx*: "fx*: is not a fixnum". fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum". fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum". ---- 8319,8331 ---- +--- 8406,8418 ---- fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". diff --git a/mats/patch-compile-0-t-f-f b/mats/patch-compile-0-t-f-f index f32efa8736..9ca196d46b 100644 --- a/mats/patch-compile-0-t-f-f +++ b/mats/patch-compile-0-t-f-f @@ -5741,6 +5741,35 @@ foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". foreign.mo:Expected error in mat foreign-bytevectors: "u8*->u8*: invalid foreign-procedure argument "hello"". *************** +*** 9680,9692 **** + unix.mo:Expected error in mat file-operations: "file-access-time: failed for "testlink": no such file or directory". + unix.mo:Expected error in mat file-operations: "file-change-time: failed for "testlink": no such file or directory". + unix.mo:Expected error in mat file-operations: "file-modification-time: failed for "testlink": no such file or directory". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (get-registry)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (get-registry 1 2)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (put-registry! "hi")". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (put-registry! 1)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (put-registry! 1 2 3)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (remove-registry!)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (remove-registry! 1 2)". + windows.mo:Expected error in mat registry: "get-registry: pooh is not a string". + windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". + windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". +--- 9680,9692 ---- + unix.mo:Expected error in mat file-operations: "file-access-time: failed for "testlink": no such file or directory". + unix.mo:Expected error in mat file-operations: "file-change-time: failed for "testlink": no such file or directory". + unix.mo:Expected error in mat file-operations: "file-modification-time: failed for "testlink": no such file or directory". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". + windows.mo:Expected error in mat registry: "get-registry: pooh is not a string". + windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". + windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". +*************** *** 9714,9785 **** ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for -inf.0 would be outside of fixnum range". ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for +nan.0 would be outside of fixnum range". diff --git a/mats/patch-compile-0-t-f-t b/mats/patch-compile-0-t-f-t index 6abf5ae26f..f6667ba0b8 100644 --- a/mats/patch-compile-0-t-f-t +++ b/mats/patch-compile-0-t-f-t @@ -1,7 +1,7 @@ -*** errors-compile-0-t-f-f 2015-09-22 21:53:21.139384282 -0400 ---- errors-compile-0-t-f-t 2015-09-22 16:29:02.966062453 -0400 +*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400 +--- errors-compile-0-t-f-t 2016-06-06 17:56:30.227458200 -0400 *************** -*** 3518,3524 **** +*** 3565,3571 **** misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -9,7 +9,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation oldgen". misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". ---- 3518,3524 ---- +--- 3565,3571 ---- misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -18,7 +18,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". *************** -*** 6969,6979 **** +*** 7040,7050 **** 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". @@ -30,7 +30,7 @@ 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". ---- 6969,6979 ---- +--- 7040,7050 ---- 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". diff --git a/mats/patch-compile-0-t-t-f b/mats/patch-compile-0-t-t-f index 84d19c21c3..84b68511bf 100644 --- a/mats/patch-compile-0-t-t-f +++ b/mats/patch-compile-0-t-t-f @@ -1,5 +1,5 @@ -*** errors-compile-0-t-f-f 2015-09-22 21:53:21.139384282 -0400 ---- errors-compile-0-t-t-f 2015-09-22 16:35:00.445792407 -0400 +*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400 +--- errors-compile-0-t-t-f 2016-06-06 18:06:30.926483000 -0400 *************** *** 144,150 **** 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable b". @@ -18,7 +18,7 @@ 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable c". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". *************** -*** 3560,3566 **** +*** 3607,3613 **** misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar". @@ -26,7 +26,7 @@ misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a". ---- 3560,3566 ---- +--- 3607,3613 ---- misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar". @@ -35,7 +35,7 @@ misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a". *************** -*** 6979,6986 **** +*** 7050,7057 **** 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -44,7 +44,7 @@ record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float". record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". ---- 6979,6986 ---- +--- 7050,7057 ---- 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -54,7 +54,7 @@ record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". *************** -*** 6988,7002 **** +*** 7059,7073 **** record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -70,7 +70,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid input #f". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". ---- 6988,7002 ---- +--- 7059,7073 ---- record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -87,7 +87,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". *************** -*** 7009,7034 **** +*** 7080,7105 **** record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -114,7 +114,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: 0 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". ---- 7009,7034 ---- +--- 7080,7105 ---- record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -142,7 +142,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". *************** -*** 7140,7178 **** +*** 7221,7259 **** record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -182,7 +182,7 @@ record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor". record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". ---- 7140,7178 ---- +--- 7221,7259 ---- record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -223,7 +223,7 @@ record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". *************** -*** 7198,7233 **** +*** 7279,7314 **** record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". @@ -260,7 +260,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3". ---- 7198,7233 ---- +--- 7279,7314 ---- record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". diff --git a/mats/patch-interpret-0-t-f-f b/mats/patch-interpret-0-t-f-f index d846446ae9..0e7f608d34 100644 --- a/mats/patch-interpret-0-t-f-f +++ b/mats/patch-interpret-0-t-f-f @@ -1,5 +1,5 @@ -*** errors-compile-0-t-f-f 2015-09-22 21:53:21.139384282 -0400 ---- errors-interpret-0-t-f-f 2015-09-22 16:50:31.816326497 -0400 +*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400 +--- errors-interpret-0-t-f-f 2016-06-06 19:24:55.494488400 -0400 *************** *** 1,7 **** primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". @@ -10,12 +10,12 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". --- 1,13 ---- -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 995, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 997, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1004, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1006, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1013, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1015, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 1005, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 1007, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1014, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1016, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1023, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1025, char 4 of 6.ms primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments to #". @@ -169,7 +169,7 @@ 3.mo:Expected error in mat letrec: "variable f is not bound". 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a". *************** -*** 3908,3923 **** +*** 3959,3974 **** 6.mo:Expected error in mat pretty-print: "incorrect number of arguments to #". 6.mo:Expected error in mat pretty-print: "pretty-format: 3 is not a symbol". 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". @@ -186,9 +186,26 @@ 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected error in mat print-parameters: "write: cycle detected; proceeding with (print-graph #t)". ---- 3914,3923 ---- +--- 3965,3974 ---- *************** -*** 7151,7157 **** +*** 6914,6920 **** + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories +! 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". +--- 6914,6920 ---- + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories +! 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". +*************** +*** 7232,7238 **** record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr". record.mo:Expected error in mat record25: "invalid value 10 for foreign type float". record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double". @@ -196,7 +213,7 @@ record.mo:Expected error in mat record25: "invalid value 12.0 for foreign type long-long". record.mo:Expected error in mat record25: "invalid value 13.0 for foreign type unsigned-long-long". record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int". ---- 7151,7157 ---- +--- 7232,7238 ---- record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr". record.mo:Expected error in mat record25: "invalid value 10 for foreign type float". record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double". @@ -205,7 +222,7 @@ record.mo:Expected error in mat record25: "invalid value 13.0 for foreign type unsigned-long-long". record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int". *************** -*** 9081,9105 **** +*** 9168,9192 **** foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". @@ -231,7 +248,7 @@ foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier booleen". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier integer-34". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare". ---- 9081,9105 ---- +--- 9168,9192 ---- foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". @@ -258,7 +275,7 @@ foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier integer-34". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare". *************** -*** 9112,9143 **** +*** 9199,9230 **** foreign.mo:Expected error in mat foreign-sizeof: "incorrect number of arguments to #". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier i-am-not-a-type". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". @@ -291,7 +308,7 @@ foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". ---- 9112,9143 ---- +--- 9199,9230 ---- foreign.mo:Expected error in mat foreign-sizeof: "incorrect number of arguments to #". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier i-am-not-a-type". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". @@ -325,7 +342,7 @@ foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". *************** -*** 9145,9170 **** +*** 9232,9257 **** foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". @@ -352,7 +369,7 @@ foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". ---- 9145,9170 ---- +--- 9232,9257 ---- foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". @@ -380,7 +397,7 @@ foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". *************** -*** 9175,9209 **** +*** 9262,9296 **** foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". @@ -416,7 +433,7 @@ foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". ---- 9175,9209 ---- +--- 9262,9296 ---- foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". @@ -453,7 +470,7 @@ foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". *************** -*** 9783,9792 **** +*** 9876,9885 **** exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". @@ -464,7 +481,7 @@ oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "variable -x1 is not bound". oop.mo:Expected error in mat oop: "variable -x1-set! is not bound". ---- 9783,9792 ---- +--- 9876,9885 ---- exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". diff --git a/mats/patch-interpret-0-t-t-f b/mats/patch-interpret-0-t-t-f index a5a6258045..94be1beeff 100644 --- a/mats/patch-interpret-0-t-t-f +++ b/mats/patch-interpret-0-t-t-f @@ -1,5 +1,5 @@ -*** errors-compile-0-t-t-f 2015-09-22 16:35:00.445792407 -0400 ---- errors-interpret-0-t-t-f 2015-09-22 21:53:21.211385638 -0400 +*** errors-compile-0-t-t-f 2016-06-06 18:06:30.926483000 -0400 +--- errors-interpret-0-t-t-f 2016-06-06 19:30:54.817658600 -0400 *************** *** 1,7 **** primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". @@ -10,12 +10,12 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". --- 1,13 ---- -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 995, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 997, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1004, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1006, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1013, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1015, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 1005, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 1007, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1014, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1016, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1023, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1025, char 4 of 6.ms primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments to #". @@ -169,7 +169,7 @@ 3.mo:Expected error in mat letrec: "variable f is not bound". 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a". *************** -*** 3908,3923 **** +*** 3959,3974 **** 6.mo:Expected error in mat pretty-print: "incorrect number of arguments to #". 6.mo:Expected error in mat pretty-print: "pretty-format: 3 is not a symbol". 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". @@ -186,9 +186,26 @@ 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected error in mat print-parameters: "write: cycle detected; proceeding with (print-graph #t)". ---- 3914,3923 ---- +--- 3965,3974 ---- *************** -*** 6979,6986 **** +*** 6914,6920 **** + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories +! 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". +--- 6914,6920 ---- + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories +! 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". +*************** +*** 7050,7057 **** 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -197,7 +214,7 @@ record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float". record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". ---- 6979,6986 ---- +--- 7050,7057 ---- 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -207,7 +224,7 @@ record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". *************** -*** 6988,7002 **** +*** 7059,7073 **** record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -223,7 +240,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid input #f". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". ---- 6988,7002 ---- +--- 7059,7073 ---- record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -240,7 +257,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". *************** -*** 7009,7034 **** +*** 7080,7105 **** record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -267,7 +284,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: 0 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". ---- 7009,7034 ---- +--- 7080,7105 ---- record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -295,7 +312,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". *************** -*** 7140,7178 **** +*** 7221,7259 **** record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -335,7 +352,7 @@ record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor". record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". ---- 7140,7178 ---- +--- 7221,7259 ---- record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -376,7 +393,7 @@ record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". *************** -*** 7198,7233 **** +*** 7279,7314 **** record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". @@ -413,7 +430,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3". ---- 7198,7233 ---- +--- 7279,7314 ---- record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". @@ -451,7 +468,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3". *************** -*** 9783,9792 **** +*** 9876,9885 **** exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". @@ -462,7 +479,7 @@ oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "variable -x1 is not bound". oop.mo:Expected error in mat oop: "variable -x1-set! is not bound". ---- 9783,9792 ---- +--- 9876,9885 ---- exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". diff --git a/mats/patch-interpret-3-t-f-f b/mats/patch-interpret-3-t-f-f index d403dd4efa..2fc10147e2 100644 --- a/mats/patch-interpret-3-t-f-f +++ b/mats/patch-interpret-3-t-f-f @@ -1,19 +1,19 @@ -*** errors-compile-3-t-f-f 2015-09-22 21:53:21.181385073 -0400 ---- errors-interpret-3-t-f-f 2015-09-22 17:23:25.166477016 -0400 +*** errors-compile-3-t-f-f 2016-06-06 20:40:53.944458100 -0400 +--- errors-interpret-3-t-f-f 2016-06-06 21:50:19.270923200 -0400 *************** *** 1,3 **** --- 1,9 ---- -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 995, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 997, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1004, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1006, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1013, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1015, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 1005, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 1007, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1014, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1016, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1023, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1025, char 4 of 6.ms 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x at line 1, char 19 of testfile.ss". - misc.mo:Expected warning in mat (argcnt load-warning): "compile: possible incorrect argument count in call (car) at line 3, char 38 of testfile.ss". + misc.mo:Expected warning in mat compile-profile: "profile-dump-list: unmodified source file "testfile.ss" not found in source directories". *************** -*** 8,22 **** +*** 12,26 **** misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (car (quote (a b)) (quote (c d))) at line 3, char 38 of testfile.ss". misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (g 7) at line 3, char 47 of testfile.ss". misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (g) at line 3, char 48 of testfile.ss". @@ -29,4 +29,4 @@ - 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss". ---- 14,22 ---- +--- 18,26 ---- diff --git a/mats/patch-interpret-3-t-t-f b/mats/patch-interpret-3-t-t-f index e0fbfc5b15..e065edaac8 100644 --- a/mats/patch-interpret-3-t-t-f +++ b/mats/patch-interpret-3-t-t-f @@ -1,19 +1,19 @@ -*** errors-compile-3-t-t-f 2015-09-22 17:08:03.746130250 -0400 ---- errors-interpret-3-t-t-f 2015-09-22 21:53:21.233386052 -0400 +*** errors-compile-3-t-t-f 2016-06-06 20:35:36.101034000 -0400 +--- errors-interpret-3-t-t-f 2016-06-06 21:55:56.687725100 -0400 *************** *** 1,3 **** --- 1,9 ---- -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 995, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 997, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1004, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1006, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1013, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1015, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 1005, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 1007, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1014, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1016, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1023, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1025, char 4 of 6.ms 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x at line 1, char 19 of testfile.ss". - misc.mo:Expected warning in mat (argcnt load-warning): "compile: possible incorrect argument count in call (car) at line 3, char 38 of testfile.ss". + misc.mo:Expected warning in mat compile-profile: "profile-dump-list: unmodified source file "testfile.ss" not found in source directories". *************** -*** 8,22 **** +*** 12,26 **** misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (car (quote (a b)) (quote (c d))) at line 3, char 38 of testfile.ss". misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (g 7) at line 3, char 47 of testfile.ss". misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (g) at line 3, char 48 of testfile.ss". @@ -29,4 +29,4 @@ - 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss". ---- 14,22 ---- +--- 18,26 ---- diff --git a/mats/windows.ms b/mats/windows.ms index e9e73ee0b9..ca0dcca74c 100644 --- a/mats/windows.ms +++ b/mats/windows.ms @@ -55,14 +55,19 @@ ) ) (begin ; provide expected errors + (set! bad-arg-count + (lambda (who . args) + (if (#%$suppress-primitive-inlining) + (errorf #f "incorrect number of arguments to #" who) + (errorf #f "incorrect argument count in call ~s" (cons who args))))) (mat registry - (error? (errorf #f "incorrect argument count in call (get-registry)")) - (error? (errorf #f "incorrect argument count in call (get-registry 1 2)")) - (error? (errorf #f "incorrect argument count in call (put-registry! \"hi\")")) - (error? (errorf #f "incorrect argument count in call (put-registry! 1)")) - (error? (errorf #f "incorrect argument count in call (put-registry! 1 2 3)")) - (error? (errorf #f "incorrect argument count in call (remove-registry!)")) - (error? (errorf #f "incorrect argument count in call (remove-registry! 1 2)")) + (error? (bad-arg-count 'get-registry)) + (error? (bad-arg-count 'get-registry 1 2)) + (error? (bad-arg-count 'put-registry! "hi")) + (error? (bad-arg-count 'put-registry! 1)) + (error? (bad-arg-count 'put-registry! 1 2 3)) + (error? (bad-arg-count 'remove-registry!)) + (error? (bad-arg-count 'remove-registry! 1 2)) (error? (errorf 'get-registry "pooh is not a string")) (error? (errorf 'put-registry! "3 is not a string")) (error? (errorf 'put-registry! "3 is not a string")) diff --git a/release_notes/release_notes.stex b/release_notes/release_notes.stex index ceab28e8e1..5677539d7c 100644 --- a/release_notes/release_notes.stex +++ b/release_notes/release_notes.stex @@ -2,7 +2,7 @@ \thisversion{Version 9.4.1} \thatversion{Version 8.4} -\pubmonth{May} +\pubmonth{June} \pubyear{2016} \begin{document} @@ -1465,6 +1465,15 @@ denormalized floating-point numbers. zone-offset field. [This bug dated back to Version 8.0.] +\subsection{\protect\scheme{wchar} and \protect\scheme{wchar_t} record field types fail to inline in Windows (9.4)} + +On Windows, the inliner has been fixed to handle \scheme{wchar} and +\scheme{wchar_t} record field types. + +\subsection{path-related procedures cause invalid memory reference with non-string arguments in Windows (9.4)} + +On Windows, the path-related procedures now raise an appropriate exception when the path argument is not a string. + \subsection{\protect\scheme{dynamic-wind} mistakenly enabling interrupts (9.3.3)} A bug causing \scheme{dynamic-wind} to unconditionally enable diff --git a/s/6.ss b/s/6.ss index 34260b114f..ce937c0c25 100644 --- a/s/6.ss +++ b/s/6.ss @@ -358,6 +358,7 @@ (define directory-separator-predicate (lambda (s) (if (and windows? + (string? s) (let ([n (string-length s)]) (and (fx>= n 4) (char=? (string-ref s 0) #\\) diff --git a/s/Mf-a6nt b/s/Mf-a6nt index 7302b45c5c..7af6ae94ab 100644 --- a/s/Mf-a6nt +++ b/s/Mf-a6nt @@ -15,6 +15,5 @@ m = a6nt archincludes = x86_64.ss -buildsrc = bldnt.bat include Mf-base diff --git a/s/Mf-base b/s/Mf-base index e908565f72..04da0de482 100644 --- a/s/Mf-base +++ b/s/Mf-base @@ -73,6 +73,13 @@ pps = f Scheme = ../bin/$m/scheme export SCHEMEHEAPDIRS=../boot/%m +# Define the libdirs separator character +ifeq ($(OS),Windows_NT) + dirsep = ; +else + dirsep = : +endif + ProfileDumpSource = source.pd ProfileDumpBlock = block.pd PetiteBoot = ../boot/$m/petite.boot @@ -150,7 +157,9 @@ allx: prettyclean saveboot $(MAKE) checkboot ;\ fi $(MAKE) restoreboot +ifneq ($(OS),Windows_NT) $(MAKE) resetbootlinks +endif # bootstrap runs allx if any sources have changed since the last bootstrap bootstrap: ${allsrc} @@ -158,7 +167,7 @@ bootstrap: ${allsrc} touch bootstrap # source eagerly creates links to most of the files that might be needed -source: ${allsrc} ${buildsrc} mkheader.ss script.all +source: ${allsrc} mkheader.ss script.all # profiled goes through the involved process of building a profile-optimized boot file profiled: @@ -353,10 +362,15 @@ nanopass.so: $(shell echo ../nanopass/nanopass/*) ../nanopass/nanopass.ss '(collect-request-handler (lambda () (collect 0 1)))'\ '(collect 1 2)'\ '(compile-library "../nanopass/nanopass.ss" "nanopass.so")'\ - | ${Scheme} -q --libdirs "../nanopass::." --compile-imported-libraries + | ${Scheme} -q --libdirs "../nanopass${dirsep}${dirsep}." --compile-imported-libraries rootsrc = $(shell cd ../../s; echo *) -${rootsrc}: ; ln -s ../../s/$@ $@ +${rootsrc}: +ifeq ($(OS),Windows_NT) + cp -p ../../s/$@ $@ +else + ln -s ../../s/$@ $@ +endif script.all: Mf-base diff --git a/s/Mf-i3nt b/s/Mf-i3nt index 82cc2a80da..3d262f98d1 100644 --- a/s/Mf-i3nt +++ b/s/Mf-i3nt @@ -15,6 +15,5 @@ m = i3nt archincludes = x86.ss -buildsrc = bldnt.bat include Mf-base diff --git a/s/Mf-ta6nt b/s/Mf-ta6nt index 02f3acbea5..f64a8a5d16 100644 --- a/s/Mf-ta6nt +++ b/s/Mf-ta6nt @@ -15,6 +15,5 @@ m = ta6nt archincludes = x86_64.ss -buildsrc = bldnt.bat include Mf-base diff --git a/s/Mf-ti3nt b/s/Mf-ti3nt index faa136cbd5..b04515cf7d 100644 --- a/s/Mf-ti3nt +++ b/s/Mf-ti3nt @@ -15,6 +15,5 @@ m = ti3nt archincludes = x86.ss -buildsrc = bldnt.bat include Mf-base diff --git a/s/bldnt.bat b/s/bldnt.bat deleted file mode 100644 index c77e993114..0000000000 --- a/s/bldnt.bat +++ /dev/null @@ -1,8 +0,0 @@ -@echo off -REM bldnt machine-name -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (generate-inspector-information #f) (subset-mode 'system) (compile-file "cmacros.ss" "cmacros.so") | ..\bin\%1\scheme -q --libdirs ..;. -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (generate-inspector-information #f) (subset-mode 'system) (compile-file "priminfo.ss" "priminfo.so") | ..\bin\%1\scheme -q --libdirs ..;. cmacros.so -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (subset-mode 'system) (compile-file "primvars.ss" "primvars.so") | ..\bin\%1\scheme -q --libdirs ..;. cmacros.so priminfo.so -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (subset-mode 'system) (compile-file "setup.ss" "setup.so") | ..\bin\%1\scheme -q --libdirs ..;. cmacros.so priminfo.so -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (generate-inspector-information #f) (collect-trip-bytes (expt 2 24)) (collect-request-handler (lambda () (collect 0 1))) (collect 1 2) (compile-library "../nanopass/nanopass.ss" "nanopass.so") | ..\bin\%1\scheme -q --libdirs "..\nanopass;;." --compile-imported-libraries -..\bin\%1\scheme -q --libdirs ..;. cmacros.so priminfo.so primvars.so setup.so --script script.all diff --git a/s/cp0.ss b/s/cp0.ss index 4eb5e9480b..e61a583d5d 100644 --- a/s/cp0.ss +++ b/s/cp0.ss @@ -2476,7 +2476,7 @@ (lambda (x) (and (char? x) (constant-case wchar-bits - [(16) (< (integer->char x) #x10000)] + [(16) (< (char->integer x) #x10000)] [(32) #t])))) ; NB: is this sufficiently tested by ftype.ms and record.ms? (define-inline 2 $foreign-wchar? diff --git a/s/syntax.ss b/s/syntax.ss index 58d58d2c65..d5a5cf58e6 100644 --- a/s/syntax.ss +++ b/s/syntax.ss @@ -4626,7 +4626,7 @@ (define-who install-library/ct-code (lambda (uid import-code visit-code) (let ([desc (get-library-descriptor uid)]) - (unless desc (sorry! who "unable to install visit code for non-existant library ~s" uid)) + (unless desc (sorry! who "unable to install visit code for non-existent library ~s" uid)) (let ([ctdesc (libdesc-ctdesc desc)]) (unless ctdesc (sorry! who "unable to install visit code for revisit-only library ~s" uid)) (ctdesc-import-code-set! ctdesc import-code) @@ -4635,7 +4635,7 @@ (define-who install-library/rt-code (lambda (uid invoke-code) (let ([desc (get-library-descriptor uid)]) - (unless desc (sorry! who "unable to install invoke code for non-existant library ~s" uid)) + (unless desc (sorry! who "unable to install invoke code for non-existent library ~s" uid)) (let ([rtdesc (libdesc-rtdesc desc)]) (unless rtdesc (sorry! who "unable to install invoke code for visit-only library ~s" uid)) (rtdesc-invoke-code-set! rtdesc invoke-code))))) diff --git a/workarea b/workarea index 6b7cb15e7b..487096fb36 100755 --- a/workarea +++ b/workarea @@ -68,6 +68,13 @@ case "$M" in *) echo "Unrecognized machine name $M"; exit 1 ;; esac +if [ "$OS" = "Windows_NT" ] +then + ln="/bin/cp -R" +else + ln="/bin/ln -s" +fi + # This shell script creates a workarea for local modifications to the # Chez Scheme source code. Invoke with the name of a machine type: # i3le, i3nt, ti3osx, etc., plus an optional workarea name. The script @@ -86,7 +93,7 @@ esac workln() { if [ ! -e $2 -a -e $1 ] ; then - /bin/ln -s $1 $2 2> /dev/null + $ln $1 $2 2> /dev/null fi } @@ -99,6 +106,13 @@ forceworkln() fi } +forceworkln2() +{ + if [ ! -e $2 ] ; then + $ln $1 $2 2> /dev/null + fi +} + # workdir directory-name workdir() { @@ -126,7 +140,7 @@ workdir $W/s (cd $W/s; workln ../../s/Mf-base Mf-base) (cd $W/s; workln ../../s/Mf-cross Mf-cross) (cd $W/s; workln ../../s/$M.def $M.def) -(cd $W/s; forceworkln $M.def machine.def) +(cd $W/s; forceworkln2 $M.def machine.def) workdir $W/mats (cd $W/mats; workln ../../mats/Mf-$M Mf-$M) @@ -191,7 +205,7 @@ workdir $W/bin/$M case $M in *nt) (cd $W/bin/$M; workln ../../../bin/$M/scheme.exe scheme.exe) - (cd $W/bin/$M; forceworkln scheme.exe petite.exe) + (cd $W/bin/$M; forceworkln2 scheme.exe petite.exe) (cd $W/bin/$M; workln ../../../bin/$M/csv941.dll csv941.dll) (cd $W/bin/$M; workln ../../../bin/$M/csv941.lib csv941.lib) ;; @@ -204,9 +218,8 @@ esac # crutch links for fingers that remember old release structure case $M in *nt) - (cd $W/bin; forceworkln $M/scheme.exe scheme.exe) - (cd $W/bin; forceworkln $M/petite.exe petite.exe) - (cd $W/bin; forceworkln $M/csv941.dll csv941.dll) + (cd $W/bin; forceworkln $M/scheme.exe scheme) + (cd $W/bin; forceworkln $M/petite.exe petite) ;; *) (cd $W/bin; forceworkln $M/scheme scheme) @@ -215,7 +228,7 @@ case $M in esac (cd $W; workln ../LOG LOG) -(cd $W; forceworkln ../nanopass nanopass) +(cd $W; forceworkln2 ../nanopass nanopass) (cd $W; workln ../makefiles/installsh installsh) (cd $W; workln ../scheme.1.in scheme.1.in)