commit 19bca132bb9a0834bc4a368ec7828810ac25005f Author: Taylor R Campbell Date: Thu Dec 22 14:44:51 2022 +0000 compiler/x86-64: Limit detag-subtract-compare rules to ZERO-FIXNUM?. The shortcut without detagging doesn't work for ordered comparisons. Add automatic tests for (fix: 0 (fix:- x y)). Savannah bug #63534 (If we ever switched to separate positive and negative fixnum tags, we could fruitfully revive the rules.) (cherry picked from commit a2de4f1e299cf85fc0d7e26ae6ded2a35c2dd34f) M src/compiler/machines/x86-64/rulfix.scm M tests/compiler/test-fixnum.scm commit 59aabcbe0084b0b4b47b28c6641c44f2127350ec Author: Chris Hanson Date: Sat Dec 17 19:35:07 2022 -0800 Improve printing support for editor objects. (cherry picked from commit 354a6bca8c85a10c8bc665d5e24ee423141795f8) M src/edwin/bufwin.scm M src/edwin/class.scm M src/edwin/clscon.scm M src/edwin/window.scm commit f2e0e982204f76b00e24aba778fff5ad8f76541b Author: Chris Hanson Date: Thu Dec 15 16:59:34 2022 -0800 Fix compilation issues in svm1 build. M src/microcode/svm1-interp.c commit 4f0b7b6f1bb7150d220cee4188440c3dc40f1a4c Author: Chris Hanson Date: Thu Dec 15 02:18:50 2022 -0800 Delete an existing changelog file before regenerating. M dist/make-src-files commit b780a0754ab8b92f51a3b58fea54f56c3514805e Author: Chris Hanson Date: Thu Dec 15 02:14:05 2022 -0800 Use bootstrap script to set up doc tree. M dist/make-src-files commit 725574f02bd14b97f01f99bda17e6d978a5631d3 Author: Chris Hanson Date: Thu Dec 15 02:09:02 2022 -0800 Eliminate release notes that have been incorporated into HTML. D src/relnotes/arith D src/relnotes/bug-bandenv D src/relnotes/bug-complog1pexpm1 D src/relnotes/bug-musl-libc D src/relnotes/bug-qp-hex D src/relnotes/bug-sqrtoverflow D src/relnotes/bug-ucode-stacktrace D src/relnotes/explog210 D src/relnotes/lsh D src/relnotes/openssl D src/relnotes/sort-key D src/relnotes/trig commit ed6d6a133eecd576fbb34789b477b0fb517017dd Author: Chris Hanson Date: Mon Dec 12 02:20:58 2022 -0800 Update versions for release candidate. M doc/configure.ac M doc/mit-scheme.1 M doc/ref-manual/scheme.texinfo M doc/user-manual/user.texinfo M src/blowfish/mit-scheme-blowfish.texi M src/configure.ac M src/gdbm/mit-scheme-gdbm.texi M src/microcode/configure.ac M src/runtime/version.scm commit 2452e2d8af86577f76a3516d6db574ffb7a5e3dc Author: Chris Hanson Date: Mon Dec 12 02:03:25 2022 -0800 Tweak mtimes of source files if git-restore-mtime available. M dist/make-src-files commit 004e2f4b7cc2f34426f57c470cf00acd5f4a4721 Author: Chris Hanson Date: Mon Dec 12 01:03:25 2022 -0800 Fix update-copyright to handle top-level Tags.sh. M Tags.sh M dist/update-copyright.scm commit 6abd9e5f4845af1908a53bc7f6b72d79cb573fd5 Author: Chris Hanson Date: Sun Dec 11 17:57:04 2022 -0800 Fix bug#63507. Continue to use uninterned symbols, but incorporate the original symbol's name into the rename. M src/runtime/syntax-rename.scm M tests/runtime/test-syntax-rename.scm commit 17b3e6fdf7f52c7a838bda2d8e9ce9124383b6d9 Author: Chris Hanson Date: Sat Dec 10 23:54:13 2022 -0800 Fix bug #63503. Screwed up literal identifier matching during rewrite. M src/runtime/syntax-rules.scm M tests/runtime/test-syntax.scm commit f2910ac8f6083e0139c12875d2c73ed984333388 Author: Taylor R Campbell Date: Sat Oct 15 14:25:59 2022 +0000 .gitignore: Ignore .rtl files too. Compiler diagnostic output, not source code. M .gitignore commit 4dbe82b49881bd59f6d12a3e519291df5b0deacd Author: Chris Hanson Date: Sat Dec 10 01:53:08 2022 -0800 Fix bug #62618. Don't automatically normalize strings to NFC. Add a note to the reference manual stating that it's the programmer's responsibility to normalize when needed. M doc/ref-manual/strings.texi M src/libraries/srfi-140-impl.scm M src/runtime/bytevector.scm M src/runtime/html-form-codec.scm M src/runtime/http-io.scm M src/runtime/input-port.scm M src/runtime/reader.scm M src/runtime/regexp-recursive.scm M src/runtime/regexp.scm M src/runtime/regsexp.scm M src/runtime/rfc2822-headers.scm M src/runtime/rgxcmp.scm M src/runtime/string-io.scm M src/runtime/string.scm M src/runtime/symbol.scm M src/ssp/mod-lisp.scm M src/xml/xml-parser.scm M src/xml/xml-struct.scm M tests/runtime/test-srfi-115.scm M tests/runtime/test-string.scm commit 3d2691bf636f20e85e13b612ee5ba537c60c058b Author: Chris Hanson Date: Fri Dec 9 22:08:08 2022 -0800 Fix bug #63495. Eliminate string-for-primitive and string-from-primitive, and treat filenames, command-line arguments, and environment variables as 8-bit strings. In reality, these are all byte sequences, but it would take more work to convert everything to use bytevectors for them. M src/edwin/dos.scm M src/edwin/edwin.pkg M src/runtime/command-line.scm M src/runtime/global.scm M src/runtime/load.scm M src/runtime/os-primitives.scm M src/runtime/primitive-io.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/savres.scm M src/runtime/sfile.scm M src/runtime/socket.scm M src/runtime/string.scm M src/runtime/unix-pathname.scm M src/runtime/unxprm.scm M src/runtime/wrkdir.scm commit d9e31397d7b77ec84ef2b52ddd4abab14aefa146 Author: Chris Hanson Date: Fri Dec 9 22:07:10 2022 -0800 Tweak syntax-rules to be consistent with R7RS. My understanding has been appropriately adjusted by R7RS editors. M src/runtime/syntax-rules.scm M tests/runtime/test-syntax.scm commit 5214cd09faca5fbc52a36e5b9f6246af61e411a9 Author: Chris Hanson Date: Mon Dec 5 22:25:06 2022 -0800 Add original copyrights to some tests. These tests were derived by translation from published SRFI tests. M tests/runtime/test-generator.scm M tests/runtime/test-srfi-129.scm commit 07acc088f3a3ef3c01c2246b0cfe682c7c7846a7 Author: Chris Hanson Date: Mon Dec 5 22:14:44 2022 -0800 Undo previous change 6b1dc52ce26921e0b68b4103828ed6e19e1f8fb0. There's no need to insert an extra space, it's done automatically. Also, eliminated upper-case interned symbols and simplify one definition. M tests/unit-testing.scm commit 6f8bc5109ba81ede02d5a9fec40c6896cf2722a7 Author: Chris Hanson Date: Mon Dec 5 21:32:56 2022 -0800 Move environment->library out of global env. End users should use environment-name instead. M src/runtime/runtime.pkg commit d210b9ec1f78e91251ecd8805a5dff24b1955974 Author: Chris Hanson Date: Mon Dec 5 21:05:02 2022 -0800 Fix bug #63454. Add optimizations for mixed single and multiple-value bindings in let-values. M src/runtime/mit-macros.scm M tests/runtime/test-syntax.scm commit 4d75848a79a710dc366160ff09f3c61fbfbaaedc Author: Chris Hanson Date: Mon Dec 5 18:06:54 2022 -0800 Fix bug #63438. Abandon overly-clever mechanism to use generated interned symbols in syntaxer output. Leaving the uninterned renames will always work. M src/runtime/syntax-rename.scm M tests/runtime/test-syntax-rename.scm M tests/runtime/test-syntax.scm commit c263c29c9b5dd922fde0c32c4a40e7e4c97e3d4b Author: Chris Hanson Date: Mon Dec 5 00:35:49 2022 -0800 Add more tests for syntax-rules. M tests/check.scm A tests/runtime/test-syntax-rules.scm M tests/runtime/test-syntax.scm commit 04cbd4aa6d209df4b5a892265de9920a727da910 Author: Chris Hanson Date: Mon Nov 21 19:07:32 2022 -0800 Complete reimplementation of syntax-rules. M src/runtime/library-standard.scm M src/runtime/runtime.pkg M src/runtime/syntax-rules.scm commit bebb1229f896ee2eb5ae23791b5e7aca2c7dc7ff Author: Chris Hanson Date: Fri Dec 2 22:20:10 2022 -0800 Don't error out if tests/ffi/ has no makefile. M tests/Clean.sh commit d50673b9b2c2f59da455002b6ec7d5ec5584096c Author: Chris Hanson Date: Mon Nov 28 00:20:22 2022 -0800 Implement count-pairs. M doc/ref-manual/lists.texi M src/runtime/list.scm M src/runtime/runtime.pkg commit a1452c6c972932ad38dd41b74d5466b5b3123d37 Author: Chris Hanson Date: Sat Nov 19 21:41:14 2022 -0800 Change length+ to signal an error on dotted lists. M src/runtime/srfi-1.scm commit 6514511aff840015ed141253d3e63b414ea30bc1 Author: Chris Hanson Date: Mon Nov 28 00:18:34 2022 -0800 Use hash-table-constructor instead of comparator->hash-table-type. The former was designed for the use case and does not expose hash-table types, which are deprecated (though not yet marked as such). M src/runtime/equals.scm M src/runtime/runtime.pkg commit 2949136ee93fe469e7d361b5c330bbf2a08a08cc Author: Chris Hanson Date: Tue Nov 22 17:18:45 2022 -0800 Add missing spar-macro-transformer to rewrite-macro-defn. M src/runtime/unsyn.scm commit 2c4813144d5bf3d6e6bd10bc5a34afe16752ed8a Author: Chris Hanson Date: Sat Nov 19 20:37:34 2022 -0800 Fix bug in rb-tree/update!. Also document some rb-tree operations, including that one. M doc/ref-manual/associations.texi M src/runtime/rbtree.scm commit 3be09da99299b75ec029d2c44147709b51ebed64 Author: Chris Hanson Date: Thu Nov 10 22:56:50 2022 -0800 Implement SRFI 129. M doc/ref-manual/scheme.texinfo M doc/ref-manual/standards.texi M src/etc/ucd-converter.scm M src/runtime/char.scm M src/runtime/feature.scm M src/runtime/library-standard.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/ucd-glue.scm A src/runtime/ucd-table-cwt.scm A src/runtime/ucd-table-stc.scm M tests/check.scm A tests/runtime/test-srfi-129.scm commit 5eff99eb25739f8ca97f31822f63d0eab376e871 Author: Chris Hanson Date: Sun Nov 6 00:47:04 2022 -0700 Handle circularity in arguments to equal?. This is accomplished by detecting a pair of args that's been seen before and returning the value from those args, or #t if there's no value yet. Using a true value allows the comparison to continue without committing to a particular value for those args. The actual value is determined when the original call with those args finishes. M src/runtime/equals.scm M src/runtime/make.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-equals.scm commit a4bc72a9dab5d7df386d2cdc5d168d9072eba888 Author: Chris Hanson Date: Thu Oct 13 02:25:06 2022 -0700 Fix bug #63166. HTTP client now only accepts the "http" scheme and rejects others. M src/runtime/http-client.scm commit defef09ad49d350fd291bbea9f343de090a594d0 Author: Chris Hanson Date: Thu Sep 22 12:52:13 2022 -0700 Change os-name to be from uname. This is because os-version is the kernel version, not the operating-system version. M src/runtime/unxprm.scm commit fbae3d51a514e1730087d1a029f211f7a731d08e Author: Chris Hanson Date: Wed Sep 21 00:01:28 2022 -0700 Implement SRFI 162. M doc/ref-manual/scheme.texinfo M doc/ref-manual/standards.texi M src/runtime/comparator.scm M src/runtime/hash-table.scm M src/runtime/library-loader.scm M src/runtime/library-standard.scm M src/runtime/runtime.pkg M tests/runtime/test-amap.scm M tests/runtime/test-comparator.scm M tests/runtime/test-hash-table.scm commit 93e9e84502d6e0a4f267239b3f5eff8aa9569eba Author: Chris Hanson Date: Tue Sep 20 23:03:33 2022 -0700 Implement SRFI 112. M doc/ref-manual/scheme.texinfo M doc/ref-manual/standards.texi M src/microcode/configure.ac M src/microcode/pruxenv.c M src/microcode/syscall.h M src/microcode/ux.h M src/microcode/uxtop.c M src/runtime/feature.scm M src/runtime/library-standard.scm M src/runtime/runtime.pkg M src/runtime/unxprm.scm commit 29f2045242a0a5740360be0ab1109e517ac503e6 Author: Chris Hanson Date: Sun Sep 18 19:06:43 2022 -0700 Fix handling of environ so that it works on older systems. M src/microcode/configure.ac M src/microcode/prosproc.c commit a14ed46a1d6c1afd88c209f8bd769902928c9939 Author: Chris Hanson Date: Sun Sep 18 17:27:30 2022 -0700 Add missing boolean-valued predicate. M src/compiler/base/utils.scm commit ec0622a2399e434237ea3d6d6be91b9f90b6d49f Author: Chris Hanson Date: Sat Sep 17 23:07:41 2022 -0700 Add two SRFIs that are fully supported. M src/runtime/feature.scm commit 179c6f329d08509352c364768c688ecd758c994b Author: Chris Hanson Date: Sat Sep 17 00:06:56 2022 -0700 Implement remainder of SRFI 158 and add tests. M doc/ref-manual/standards.texi M src/runtime/generator.scm M src/runtime/library-standard.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-generator.scm commit 56e1a12439628e4424b8c3ce2a3118449db509ab Author: Chris Hanson Date: Sat Sep 10 23:10:46 2022 -0700 Provide uniform mechanism to for environment names. Previously we called environment->package and used the name of the returned package, if any. Now there is environment-name and some other procedures that get the name, whether it's a package or a library. M src/edwin/debug.scm M src/runtime/apropos.scm M src/runtime/dbgutl.scm M src/runtime/debug.scm M src/runtime/environment.scm M src/runtime/library-loader.scm M src/runtime/rep-ui.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/stack-sample.scm M src/runtime/swank.scm M tests/check.scm commit 6b1dc52ce26921e0b68b4103828ed6e19e1f8fb0 Author: Chris Hanson Date: Sat Sep 10 23:09:17 2022 -0700 Fix typo. M tests/unit-testing.scm commit 3cd11ff4927659a256de12ae6bf39ad56188b121 Author: Chris Hanson Date: Sat Sep 10 18:30:37 2022 -0700 Eliminate win32 support from runtime and a few other places. M src/6001/edextra.scm M src/6001/picture.scm M src/Makefile.in M src/README.txt M src/Setup.sh M src/configure.ac M src/etc/compile.scm M src/etc/create-makefiles.sh M src/etc/optiondb.scm D src/etc/windows/build-6001.bat D src/etc/windows/build-6001.scm D src/etc/windows/build-all.bat D src/etc/windows/build-all.scm D src/etc/windows/build-band.bat D src/etc/windows/build-band.scm D src/etc/windows/build-compiler.bat D src/etc/windows/build-compiler.scm D src/etc/windows/build-edwin.bat D src/etc/windows/build-edwin.scm D src/etc/windows/build-runtime.scm D src/etc/windows/compile-all.scm D src/etc/windows/compile-prepare.bat D src/etc/windows/install.bat D src/etc/windows/make-lib.bat D src/etc/windows/readme.txt D src/runtime/dos-pathname.scm M src/runtime/ed-ffi.scm D src/runtime/ntdir.scm D src/runtime/ntprm.scm M src/runtime/pathname.scm M src/runtime/runtime.pkg D src/runtime/win32-registry.scm D src/win32/.gitignore D src/win32/Makefile-fragment D src/win32/clipbrd.scm D src/win32/dib.scm D src/win32/dibutils/dibutils.c D src/win32/dibutils/dibutils.def D src/win32/dibutils/dibutils.h D src/win32/dibutils/dibutils.lbc D src/win32/dibutils/dibutils.lnk D src/win32/dibutils/dibutils.rc D src/win32/dibutils/makefile.msc D src/win32/dibutils/makefile.wcc D src/win32/ffimacro.scm D src/win32/graphics.scm D src/win32/make.scm D src/win32/module.scm D src/win32/protect.scm D src/win32/tests/CLIPBRD.SCM D src/win32/wf_user.scm D src/win32/win32.cbf D src/win32/win32.pkg D src/win32/win32.sf D src/win32/win_ffi.scm D src/win32/wingdi.scm D src/win32/winnt.scm D src/win32/winuser.scm D src/win32/wt_user.scm commit 01e7f78768d149a5f58d4bb1cada365cf7ede2f1 Author: Chris Hanson Date: Sat Sep 10 18:01:53 2022 -0700 Eliminate win32 references from reference manual. M doc/ref-manual/Makefile.in M doc/ref-manual/graphics.texi M doc/ref-manual/os-interface.texi M doc/ref-manual/scheme.texinfo M doc/ref-manual/standards.texi D doc/ref-manual/win32-packaging.texi commit 1d680f256ff5be67b233f17d249e647583969e48 Author: Chris Hanson Date: Sat Sep 10 18:01:40 2022 -0700 Remove note about datum labels being unsupported. M doc/ref-manual/io.texi commit 2d9c8e41b2b700a17ef39bf205de9b87a5cc9263 Author: Chris Hanson Date: Sat Sep 10 17:27:16 2022 -0700 Update configure.ac to eliminate deprecated macros. M doc/configure.ac commit 25f4b01d23f44c874535f6406ef82cecf86c1dff Author: Chris Hanson Date: Sat Sep 10 17:23:00 2022 -0700 Add bootstrap file to set up config files. A doc/bootstrap commit 5a6c1c5c7a113d86a81b90c2d11cc68a968b0664 Author: Chris Hanson Date: Fri Sep 9 22:19:17 2022 -0700 Fix thinko: parameter-converter in infinite loop for forwarding parameter. This was probably not noticed because it was never called and not documented. M src/runtime/dynamic.scm commit 0641fb8247b64dda8d8650d878047d946c48fd2c Author: Chris Hanson Date: Fri Sep 9 21:56:21 2022 -0700 Fix bug #62580. Really two bugs: (1) mistakenly turning the HTTP method into a symbol; and (2) calling encapsulate-uri with the wrong number of arguments. M src/runtime/http-io.scm M src/runtime/url.scm commit 4d8395f5d586fce05452985380044c9260e37780 Author: Chris Hanson Date: Thu Sep 8 00:56:02 2022 -0700 Allow multiple programs to be registered in a library DB. Previously, a program was registered using its name -- #f -- which meant that registering a second program would replace the first. Now, a unique key is created for each program, and it is registered with that key. M src/runtime/library-database.scm commit fbb14814e25887fcfa80c02ed79524c127b6f02d Author: Chris Hanson Date: Tue Sep 6 23:26:47 2022 -0700 Eliminate use of nonstandard #\u+ in favor of standard #\x. M src/edwin/htmlmode.scm M src/edwin/webster.scm M src/runtime/emacs.scm M src/runtime/generic-io.scm M src/xml/xhtml-entities.scm M src/xml/xml-output.scm M tests/compiler/test-fasdump.scm commit 176cd871bdd9c9dabcb8ad602da0b618be2d0373 Author: Chris Hanson Date: Tue Sep 6 23:01:33 2022 -0700 Update copyright dates. M dist/Makefile M dist/copyright.c M dist/copyright.scm M dist/make-doc-files M dist/make-liarc-files M dist/make-macosx-app M dist/make-native-files M dist/make-scmutils M dist/make-src-files M dist/shared.sh M dist/update-copyright.scm M doc/Makefile.in M doc/configure.ac M doc/ffi/ffi.texinfo M doc/make-common.in M doc/ref-manual/Makefile.in M doc/ref-manual/scheme.texinfo M doc/sos/Makefile.in M doc/sos/sos.texinfo M doc/user-manual/Makefile.in M doc/user-manual/user.texinfo M etc/dirdif.scm M etc/dumpdat.scm M etc/mkauto.bat M etc/mkopt.bat M etc/nrwcopyr.el M etc/run-three-stages M src/6001/6001.cbf M src/6001/6001.pkg M src/6001/6001.sf M src/6001/arith.scm M src/6001/edextra.scm M src/6001/floppy.scm M src/6001/make.scm M src/6001/nodefs.scm M src/6001/pic-imag.scm M src/6001/pic-ops.scm M src/6001/pic-read.scm M src/6001/pic-reco.scm M src/6001/picture.scm M src/Clean.sh M src/Makefile.in M src/Makefile.tools.in M src/Setup.sh M src/Stage.sh M src/Tags.sh M src/berkeley-db/berkeley-db.scm M src/berkeley-db/prdb4.c M src/berkeley-db/prdb4.scm M src/blowfish/Makefile.am M src/blowfish/NEWS M src/blowfish/blowfish-adapter.c M src/blowfish/blowfish-check.scm M src/blowfish/blowfish-shim.h M src/blowfish/blowfish-test.scm M src/blowfish/blowfish.cdecl M src/blowfish/blowfish.pkg M src/blowfish/blowfish.scm M src/blowfish/compile.sh M src/blowfish/configure.ac M src/blowfish/mit-scheme-blowfish.texi M src/compiler/Clean.sh M src/compiler/Setup.sh M src/compiler/Stage.sh M src/compiler/Tags.sh M src/compiler/back/asmmac.scm M src/compiler/back/asutl.scm M src/compiler/back/bittop.scm M src/compiler/back/bitutl.scm M src/compiler/back/checks.scm M src/compiler/back/insseq.scm M src/compiler/back/lapgn1.scm M src/compiler/back/lapgn2.scm M src/compiler/back/lapgn3.scm M src/compiler/back/linear.scm M src/compiler/back/mermap.scm M src/compiler/back/regmap.scm M src/compiler/back/syerly.scm M src/compiler/back/symtab.scm M src/compiler/back/syntax.scm M src/compiler/base/asstop.scm M src/compiler/base/blocks.scm M src/compiler/base/cfg1.scm M src/compiler/base/cfg2.scm M src/compiler/base/cfg3.scm M src/compiler/base/constr.scm M src/compiler/base/contin.scm M src/compiler/base/crsend.scm M src/compiler/base/crstop.scm M src/compiler/base/ctypes.scm M src/compiler/base/debug.scm M src/compiler/base/enumer.scm M src/compiler/base/infnew.scm M src/compiler/base/lvalue.scm M src/compiler/base/macros.scm M src/compiler/base/make.scm M src/compiler/base/mvalue.scm M src/compiler/base/object.scm M src/compiler/base/pmerly.scm M src/compiler/base/pmlook.scm M src/compiler/base/pmpars.scm M src/compiler/base/proced.scm M src/compiler/base/refctx.scm M src/compiler/base/rvalue.scm M src/compiler/base/scode.scm M src/compiler/base/sets.scm M src/compiler/base/subprb.scm M src/compiler/base/switch.scm M src/compiler/base/toplev.scm M src/compiler/base/utils.scm M src/compiler/choose-machine.sh M src/compiler/configure M src/compiler/documentation/cmpaux.txt M src/compiler/documentation/cmpint.txt M src/compiler/documentation/porting.guide M src/compiler/etc/asm.scm M src/compiler/etc/comcmp.scm M src/compiler/etc/comfiles.scm M src/compiler/etc/disload.scm M src/compiler/etc/stackp.scm M src/compiler/etc/xcbfdir.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/declar.scm M src/compiler/fggen/fggen.scm M src/compiler/fgopt/blktyp.scm M src/compiler/fgopt/closan.scm M src/compiler/fgopt/conect.scm M src/compiler/fgopt/contan.scm M src/compiler/fgopt/delint.scm M src/compiler/fgopt/desenv.scm M src/compiler/fgopt/envopt.scm M src/compiler/fgopt/folcon.scm M src/compiler/fgopt/offset.scm M src/compiler/fgopt/operan.scm M src/compiler/fgopt/order.scm M src/compiler/fgopt/outer.scm M src/compiler/fgopt/param.scm M src/compiler/fgopt/reord.scm M src/compiler/fgopt/reteqv.scm M src/compiler/fgopt/reuse.scm M src/compiler/fgopt/sideff.scm M src/compiler/fgopt/simapp.scm M src/compiler/fgopt/simple.scm M src/compiler/fgopt/subfre.scm M src/compiler/fgopt/varind.scm M src/compiler/machines/C/compiler.cbf M src/compiler/machines/C/compiler.pkg M src/compiler/machines/C/compiler.sf M src/compiler/machines/C/cout.scm M src/compiler/machines/C/ctop.scm M src/compiler/machines/C/cutl.scm M src/compiler/machines/C/decls.scm M src/compiler/machines/C/lapgen.scm M src/compiler/machines/C/machin.scm M src/compiler/machines/C/make.scm M src/compiler/machines/C/rgspcm.scm M src/compiler/machines/C/rules1.scm M src/compiler/machines/C/rules2.scm M src/compiler/machines/C/rules3.scm M src/compiler/machines/C/rules4.scm M src/compiler/machines/C/rulfix.scm M src/compiler/machines/C/rulflo.scm M src/compiler/machines/C/rulrew.scm M src/compiler/machines/C/stackify.scm M src/compiler/machines/C/stackops.scm M src/compiler/machines/C/traditional.scm M src/compiler/machines/aarch64/assmd.scm M src/compiler/machines/aarch64/big-endian.scm M src/compiler/machines/aarch64/coerce.scm M src/compiler/machines/aarch64/compiler.cbf M src/compiler/machines/aarch64/compiler.pkg M src/compiler/machines/aarch64/compiler.sf M src/compiler/machines/aarch64/decls.scm M src/compiler/machines/aarch64/insmac.scm M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/instr2.scm M src/compiler/machines/aarch64/instrf.scm M src/compiler/machines/aarch64/insutl.scm M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/lapopt.scm M src/compiler/machines/aarch64/little-endian.scm M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/aarch64/make.scm M src/compiler/machines/aarch64/rgspcm.scm M src/compiler/machines/aarch64/rules1.scm M src/compiler/machines/aarch64/rules2.scm M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rules4.scm M src/compiler/machines/aarch64/rulfix.scm M src/compiler/machines/aarch64/rulflo.scm M src/compiler/machines/aarch64/rulrew.scm M src/compiler/machines/i386/assmd.scm M src/compiler/machines/i386/coerce.scm M src/compiler/machines/i386/compiler.cbf M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/compiler.sf M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/i386/dassm2.scm M src/compiler/machines/i386/dassm3.scm M src/compiler/machines/i386/decls.scm M src/compiler/machines/i386/insmac.scm M src/compiler/machines/i386/instr1.scm M src/compiler/machines/i386/instr2.scm M src/compiler/machines/i386/instrf.scm M src/compiler/machines/i386/insutl.scm M src/compiler/machines/i386/lapgen.scm M src/compiler/machines/i386/lapopt.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/i386/make.scm M src/compiler/machines/i386/pc-make.scm M src/compiler/machines/i386/rgspcm.scm M src/compiler/machines/i386/rules1.scm M src/compiler/machines/i386/rules2.scm M src/compiler/machines/i386/rules3.scm M src/compiler/machines/i386/rules4.scm M src/compiler/machines/i386/rulfix.scm M src/compiler/machines/i386/rulflo.scm M src/compiler/machines/i386/rulrew.scm M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/assembler-rules.scm M src/compiler/machines/svm/assembler-runtime.scm M src/compiler/machines/svm/big-endian.scm M src/compiler/machines/svm/compile-assembler.scm M src/compiler/machines/svm/compiler.cbf M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/compiler.sf M src/compiler/machines/svm/decls.scm M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/svm/lapgen.scm M src/compiler/machines/svm/lapopt.scm M src/compiler/machines/svm/little-endian.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/svm/make.scm M src/compiler/machines/svm/rgspcm.scm M src/compiler/machines/svm/rules.scm M src/compiler/machines/svm/wordsize-32.scm M src/compiler/machines/svm/wordsize-64.scm M src/compiler/machines/x86-64/assmd.scm M src/compiler/machines/x86-64/coerce.scm M src/compiler/machines/x86-64/compiler.cbf M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/compiler.sf M src/compiler/machines/x86-64/dassm1.scm M src/compiler/machines/x86-64/dassm2.scm M src/compiler/machines/x86-64/dassm3.scm M src/compiler/machines/x86-64/decls.scm M src/compiler/machines/x86-64/insmac.scm M src/compiler/machines/x86-64/instr1.scm M src/compiler/machines/x86-64/instr2.scm M src/compiler/machines/x86-64/instrf.scm M src/compiler/machines/x86-64/insutl.scm M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/lapopt.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/make.scm M src/compiler/machines/x86-64/pc-make.scm M src/compiler/machines/x86-64/rgspcm.scm M src/compiler/machines/x86-64/rules1.scm M src/compiler/machines/x86-64/rules2.scm M src/compiler/machines/x86-64/rules3.scm M src/compiler/machines/x86-64/rules4.scm M src/compiler/machines/x86-64/rulfix.scm M src/compiler/machines/x86-64/rulflo.scm M src/compiler/machines/x86-64/rulrew.scm M src/compiler/rtlbase/regset.scm M src/compiler/rtlbase/rgraph.scm M src/compiler/rtlbase/rtlcfg.scm M src/compiler/rtlbase/rtlcon.scm M src/compiler/rtlbase/rtlexp.scm M src/compiler/rtlbase/rtline.scm M src/compiler/rtlbase/rtlobj.scm M src/compiler/rtlbase/rtlreg.scm M src/compiler/rtlbase/rtlty1.scm M src/compiler/rtlbase/rtlty2.scm M src/compiler/rtlbase/valclass.scm M src/compiler/rtlgen/fndblk.scm M src/compiler/rtlgen/fndvar.scm M src/compiler/rtlgen/opncod.scm M src/compiler/rtlgen/rgcomb.scm M src/compiler/rtlgen/rgproc.scm M src/compiler/rtlgen/rgretn.scm M src/compiler/rtlgen/rgrval.scm M src/compiler/rtlgen/rgstmt.scm M src/compiler/rtlgen/rtlgen.scm M src/compiler/rtlopt/ralloc.scm M src/compiler/rtlopt/rcompr.scm M src/compiler/rtlopt/rcse1.scm M src/compiler/rtlopt/rcse2.scm M src/compiler/rtlopt/rcseep.scm M src/compiler/rtlopt/rcseht.scm M src/compiler/rtlopt/rcserq.scm M src/compiler/rtlopt/rcsesr.scm M src/compiler/rtlopt/rdebug.scm M src/compiler/rtlopt/rdflow.scm M src/compiler/rtlopt/rerite.scm M src/compiler/rtlopt/rinvex.scm M src/compiler/rtlopt/rlife.scm M src/compiler/rtlopt/rtlcsm.scm M src/configure.ac M src/cref/anfile.scm M src/cref/conpkg.scm M src/cref/cref.cbf M src/cref/cref.pkg M src/cref/cref.sf M src/cref/forpkg.scm M src/cref/make.scm M src/cref/mset.scm M src/cref/object.scm M src/cref/redpkg.scm M src/cref/toplev.scm M src/cref/triv.pkg M src/edwin/Clean.sh M src/edwin/Makefile.am M src/edwin/NEWS M src/edwin/abbrev.scm M src/edwin/adapters.scm M src/edwin/ansi.scm M src/edwin/argred.scm M src/edwin/artdebug.scm M src/edwin/autold.scm M src/edwin/autosv.scm M src/edwin/basic.scm M src/edwin/bios.scm M src/edwin/bufcom.scm M src/edwin/buffer.scm M src/edwin/buffrm.scm M src/edwin/bufinp.scm M src/edwin/bufmnu.scm M src/edwin/bufout.scm M src/edwin/bufset.scm M src/edwin/bufwfs.scm M src/edwin/bufwin.scm M src/edwin/bufwiu.scm M src/edwin/bufwmc.scm M src/edwin/c-mode.scm M src/edwin/calias.scm M src/edwin/cinden.scm M src/edwin/class.scm M src/edwin/clscon.scm M src/edwin/clsmac.scm M src/edwin/comatch.scm M src/edwin/comhst.scm M src/edwin/comint.scm M src/edwin/comman.scm M src/edwin/compile.scm M src/edwin/compile.sh M src/edwin/comred.scm M src/edwin/comtab.scm M src/edwin/comwin.scm M src/edwin/configure.ac M src/edwin/curren.scm M src/edwin/dabbrev.scm M src/edwin/debian-changelog.scm M src/edwin/debug.scm M src/edwin/debuge.scm M src/edwin/decls.scm M src/edwin/dired.scm M src/edwin/dirunx.scm M src/edwin/dirw32.scm M src/edwin/display.scm M src/edwin/docstr.scm M src/edwin/dos.scm M src/edwin/doscom.scm M src/edwin/dosfile.scm M src/edwin/dosproc.scm M src/edwin/dosshell.scm M src/edwin/ed-ffi.scm M src/edwin/editor.scm M src/edwin/edtfrm.scm M src/edwin/edtstr.scm M src/edwin/edwin.cbf M src/edwin/edwin.ldr M src/edwin/edwin.pkg M src/edwin/edwin.sf M src/edwin/evlcom.scm M src/edwin/eystep.scm M src/edwin/filcom.scm M src/edwin/fileio.scm M src/edwin/fill.scm M src/edwin/grpops.scm M src/edwin/hlpcom.scm M src/edwin/htmlmode.scm M src/edwin/image.scm M src/edwin/info.scm M src/edwin/input.scm M src/edwin/intmod.scm M src/edwin/iserch.scm M src/edwin/javamode.scm M src/edwin/key-w32.scm M src/edwin/keymap.scm M src/edwin/keyparse.scm M src/edwin/kilcom.scm M src/edwin/kmacro.scm M src/edwin/lincom.scm M src/edwin/linden.scm M src/edwin/loadef.scm M src/edwin/lspcom.scm M src/edwin/macros.scm M src/edwin/make.scm M src/edwin/malias.scm M src/edwin/manual.scm M src/edwin/midas.scm M src/edwin/modefs.scm M src/edwin/modes.scm M src/edwin/modlin.scm M src/edwin/modwin.scm M src/edwin/motcom.scm M src/edwin/motion.scm M src/edwin/mousecom.scm M src/edwin/nntp.scm M src/edwin/notify.scm M src/edwin/nvector.scm M src/edwin/occur.scm M src/edwin/outline.scm M src/edwin/pasmod.scm M src/edwin/paths.scm M src/edwin/print.scm M src/edwin/process.scm M src/edwin/prompt.scm M src/edwin/pwedit.scm M src/edwin/pwparse.scm M src/edwin/rcsparse.scm M src/edwin/reccom.scm M src/edwin/regcom.scm M src/edwin/regexp.scm M src/edwin/regops.scm M src/edwin/replaz.scm M src/edwin/rfc822.scm M src/edwin/ring.scm M src/edwin/rmail.scm M src/edwin/rmailsrt.scm M src/edwin/rmailsum.scm M src/edwin/schmod.scm M src/edwin/scrcom.scm M src/edwin/screen.scm M src/edwin/search.scm M src/edwin/sendmail.scm M src/edwin/sercom.scm M src/edwin/shell.scm M src/edwin/simple.scm M src/edwin/snr.scm M src/edwin/sort.scm M src/edwin/sources.scm M src/edwin/sources.sh M src/edwin/string.scm M src/edwin/strpad.scm M src/edwin/strtab.scm M src/edwin/struct.scm M src/edwin/syntax.scm M src/edwin/tagutl.scm M src/edwin/techinfo.scm M src/edwin/telnet.scm M src/edwin/termcap.scm M src/edwin/texcom.scm M src/edwin/things.scm M src/edwin/tparse.scm M src/edwin/tterm.scm M src/edwin/tximod.scm M src/edwin/txtprp.scm M src/edwin/undo.scm M src/edwin/unix.scm M src/edwin/utils.scm M src/edwin/utlwin.scm M src/edwin/vc-bzr.scm M src/edwin/vc-cvs.scm M src/edwin/vc-git.scm M src/edwin/vc-rcs.scm M src/edwin/vc-svn.scm M src/edwin/vc.scm M src/edwin/verilog.scm M src/edwin/vhdl.scm M src/edwin/webster.scm M src/edwin/win32.scm M src/edwin/win32com.scm M src/edwin/wincom.scm M src/edwin/window.scm M src/edwin/winout.scm M src/edwin/world-monitor.scm M src/edwin/xform.scm M src/edwin/xterm.scm M src/etc/Clean.sh M src/etc/Setup.sh M src/etc/Stage.sh M src/etc/Tags.sh M src/etc/build-bands.sh M src/etc/build-boot-compiler.sh M src/etc/c-bundle.sh M src/etc/c-compile.sh M src/etc/c-prepare.sh M src/etc/compile-boot-compiler.sh M src/etc/compile.scm M src/etc/compile.sh M src/etc/create-makefiles.sh M src/etc/crossbin.scm M src/etc/functions.sh M src/etc/install-bin-symlinks.sh M src/etc/iso8859-converter.scm M src/etc/macosx/make-app.sh M src/etc/make-liarc-dist.sh M src/etc/make-liarc.sh M src/etc/make-native.sh M src/etc/maybe-update-file.sh M src/etc/native-prepare.sh M src/etc/optiondb.scm M src/etc/std-makefile-prefix M src/etc/ucd-10/names.scm M src/etc/ucd-10/raw-props/prop-AHex.scm M src/etc/ucd-10/raw-props/prop-Alpha.scm M src/etc/ucd-10/raw-props/prop-Bidi_C.scm M src/etc/ucd-10/raw-props/prop-Bidi_M.scm M src/etc/ucd-10/raw-props/prop-CE.scm M src/etc/ucd-10/raw-props/prop-CI.scm M src/etc/ucd-10/raw-props/prop-CWCF.scm M src/etc/ucd-10/raw-props/prop-CWCM.scm M src/etc/ucd-10/raw-props/prop-CWKCF.scm M src/etc/ucd-10/raw-props/prop-CWL.scm M src/etc/ucd-10/raw-props/prop-CWT.scm M src/etc/ucd-10/raw-props/prop-CWU.scm M src/etc/ucd-10/raw-props/prop-Cased.scm M src/etc/ucd-10/raw-props/prop-Comp_Ex.scm M src/etc/ucd-10/raw-props/prop-DI.scm M src/etc/ucd-10/raw-props/prop-Dash.scm M src/etc/ucd-10/raw-props/prop-Dep.scm M src/etc/ucd-10/raw-props/prop-Dia.scm M src/etc/ucd-10/raw-props/prop-Ext.scm M src/etc/ucd-10/raw-props/prop-FC_NFKC.scm M src/etc/ucd-10/raw-props/prop-GCB.scm M src/etc/ucd-10/raw-props/prop-Gr_Base.scm M src/etc/ucd-10/raw-props/prop-Gr_Ext.scm M src/etc/ucd-10/raw-props/prop-Gr_Link.scm M src/etc/ucd-10/raw-props/prop-Hex.scm M src/etc/ucd-10/raw-props/prop-Hyphen.scm M src/etc/ucd-10/raw-props/prop-IDC.scm M src/etc/ucd-10/raw-props/prop-IDS.scm M src/etc/ucd-10/raw-props/prop-IDSB.scm M src/etc/ucd-10/raw-props/prop-IDST.scm M src/etc/ucd-10/raw-props/prop-Ideo.scm M src/etc/ucd-10/raw-props/prop-InMC.scm M src/etc/ucd-10/raw-props/prop-InPC.scm M src/etc/ucd-10/raw-props/prop-InSC.scm M src/etc/ucd-10/raw-props/prop-JSN.scm M src/etc/ucd-10/raw-props/prop-Join_C.scm M src/etc/ucd-10/raw-props/prop-LOE.scm M src/etc/ucd-10/raw-props/prop-Lower.scm M src/etc/ucd-10/raw-props/prop-Math.scm M src/etc/ucd-10/raw-props/prop-NChar.scm M src/etc/ucd-10/raw-props/prop-NFC_QC.scm M src/etc/ucd-10/raw-props/prop-NFD_QC.scm M src/etc/ucd-10/raw-props/prop-NFKC_CF.scm M src/etc/ucd-10/raw-props/prop-NFKC_QC.scm M src/etc/ucd-10/raw-props/prop-NFKD_QC.scm M src/etc/ucd-10/raw-props/prop-OAlpha.scm M src/etc/ucd-10/raw-props/prop-ODI.scm M src/etc/ucd-10/raw-props/prop-OGr_Ext.scm M src/etc/ucd-10/raw-props/prop-OIDC.scm M src/etc/ucd-10/raw-props/prop-OIDS.scm M src/etc/ucd-10/raw-props/prop-OLower.scm M src/etc/ucd-10/raw-props/prop-OMath.scm M src/etc/ucd-10/raw-props/prop-OUpper.scm M src/etc/ucd-10/raw-props/prop-PCM.scm M src/etc/ucd-10/raw-props/prop-Pat_Syn.scm M src/etc/ucd-10/raw-props/prop-Pat_WS.scm M src/etc/ucd-10/raw-props/prop-QMark.scm M src/etc/ucd-10/raw-props/prop-RI.scm M src/etc/ucd-10/raw-props/prop-Radical.scm M src/etc/ucd-10/raw-props/prop-SB.scm M src/etc/ucd-10/raw-props/prop-SD.scm M src/etc/ucd-10/raw-props/prop-STerm.scm M src/etc/ucd-10/raw-props/prop-Term.scm M src/etc/ucd-10/raw-props/prop-UIdeo.scm M src/etc/ucd-10/raw-props/prop-Upper.scm M src/etc/ucd-10/raw-props/prop-VS.scm M src/etc/ucd-10/raw-props/prop-WB.scm M src/etc/ucd-10/raw-props/prop-WSpace.scm M src/etc/ucd-10/raw-props/prop-XIDC.scm M src/etc/ucd-10/raw-props/prop-XIDS.scm M src/etc/ucd-10/raw-props/prop-XO_NFC.scm M src/etc/ucd-10/raw-props/prop-XO_NFD.scm M src/etc/ucd-10/raw-props/prop-XO_NFKC.scm M src/etc/ucd-10/raw-props/prop-XO_NFKD.scm M src/etc/ucd-10/raw-props/prop-age.scm M src/etc/ucd-10/raw-props/prop-bc.scm M src/etc/ucd-10/raw-props/prop-blk.scm M src/etc/ucd-10/raw-props/prop-bmg.scm M src/etc/ucd-10/raw-props/prop-bpb.scm M src/etc/ucd-10/raw-props/prop-bpt.scm M src/etc/ucd-10/raw-props/prop-canonical-cm.scm M src/etc/ucd-10/raw-props/prop-canonical-dm.scm M src/etc/ucd-10/raw-props/prop-ccc.scm M src/etc/ucd-10/raw-props/prop-cf.scm M src/etc/ucd-10/raw-props/prop-dm.scm M src/etc/ucd-10/raw-props/prop-dt.scm M src/etc/ucd-10/raw-props/prop-ea.scm M src/etc/ucd-10/raw-props/prop-gc.scm M src/etc/ucd-10/raw-props/prop-hst.scm M src/etc/ucd-10/raw-props/prop-isc.scm M src/etc/ucd-10/raw-props/prop-jg.scm M src/etc/ucd-10/raw-props/prop-jt.scm M src/etc/ucd-10/raw-props/prop-lb.scm M src/etc/ucd-10/raw-props/prop-lc.scm M src/etc/ucd-10/raw-props/prop-na.scm M src/etc/ucd-10/raw-props/prop-na1.scm M src/etc/ucd-10/raw-props/prop-nt.scm M src/etc/ucd-10/raw-props/prop-nv.scm M src/etc/ucd-10/raw-props/prop-sc.scm M src/etc/ucd-10/raw-props/prop-scf.scm M src/etc/ucd-10/raw-props/prop-scx.scm M src/etc/ucd-10/raw-props/prop-slc.scm M src/etc/ucd-10/raw-props/prop-stc.scm M src/etc/ucd-10/raw-props/prop-suc.scm M src/etc/ucd-10/raw-props/prop-tc.scm M src/etc/ucd-10/raw-props/prop-uc.scm M src/etc/ucd-10/raw-props/prop-vo.scm M src/etc/ucd-13/names.scm M src/etc/ucd-13/raw-props/prop-AHex.scm M src/etc/ucd-13/raw-props/prop-Alpha.scm M src/etc/ucd-13/raw-props/prop-Bidi_C.scm M src/etc/ucd-13/raw-props/prop-Bidi_M.scm M src/etc/ucd-13/raw-props/prop-CE.scm M src/etc/ucd-13/raw-props/prop-CI.scm M src/etc/ucd-13/raw-props/prop-CWCF.scm M src/etc/ucd-13/raw-props/prop-CWCM.scm M src/etc/ucd-13/raw-props/prop-CWKCF.scm M src/etc/ucd-13/raw-props/prop-CWL.scm M src/etc/ucd-13/raw-props/prop-CWT.scm M src/etc/ucd-13/raw-props/prop-CWU.scm M src/etc/ucd-13/raw-props/prop-Cased.scm M src/etc/ucd-13/raw-props/prop-Comp_Ex.scm M src/etc/ucd-13/raw-props/prop-DI.scm M src/etc/ucd-13/raw-props/prop-Dash.scm M src/etc/ucd-13/raw-props/prop-Dep.scm M src/etc/ucd-13/raw-props/prop-Dia.scm M src/etc/ucd-13/raw-props/prop-EBase.scm M src/etc/ucd-13/raw-props/prop-EComp.scm M src/etc/ucd-13/raw-props/prop-EMod.scm M src/etc/ucd-13/raw-props/prop-EPres.scm M src/etc/ucd-13/raw-props/prop-Emoji.scm M src/etc/ucd-13/raw-props/prop-Ext.scm M src/etc/ucd-13/raw-props/prop-ExtPict.scm M src/etc/ucd-13/raw-props/prop-FC_NFKC.scm M src/etc/ucd-13/raw-props/prop-GCB+EP.scm M src/etc/ucd-13/raw-props/prop-GCB.scm M src/etc/ucd-13/raw-props/prop-Gr_Base.scm M src/etc/ucd-13/raw-props/prop-Gr_Ext.scm M src/etc/ucd-13/raw-props/prop-Gr_Link.scm M src/etc/ucd-13/raw-props/prop-Hex.scm M src/etc/ucd-13/raw-props/prop-Hyphen.scm M src/etc/ucd-13/raw-props/prop-IDC.scm M src/etc/ucd-13/raw-props/prop-IDS.scm M src/etc/ucd-13/raw-props/prop-IDSB.scm M src/etc/ucd-13/raw-props/prop-IDST.scm M src/etc/ucd-13/raw-props/prop-Ideo.scm M src/etc/ucd-13/raw-props/prop-InMC.scm M src/etc/ucd-13/raw-props/prop-InPC.scm M src/etc/ucd-13/raw-props/prop-InSC.scm M src/etc/ucd-13/raw-props/prop-JSN.scm M src/etc/ucd-13/raw-props/prop-Join_C.scm M src/etc/ucd-13/raw-props/prop-LOE.scm M src/etc/ucd-13/raw-props/prop-Lower.scm M src/etc/ucd-13/raw-props/prop-Math.scm M src/etc/ucd-13/raw-props/prop-NChar.scm M src/etc/ucd-13/raw-props/prop-NFC_QC.scm M src/etc/ucd-13/raw-props/prop-NFD_QC.scm M src/etc/ucd-13/raw-props/prop-NFKC_CF.scm M src/etc/ucd-13/raw-props/prop-NFKC_QC.scm M src/etc/ucd-13/raw-props/prop-NFKD_QC.scm M src/etc/ucd-13/raw-props/prop-OAlpha.scm M src/etc/ucd-13/raw-props/prop-ODI.scm M src/etc/ucd-13/raw-props/prop-OGr_Ext.scm M src/etc/ucd-13/raw-props/prop-OIDC.scm M src/etc/ucd-13/raw-props/prop-OIDS.scm M src/etc/ucd-13/raw-props/prop-OLower.scm M src/etc/ucd-13/raw-props/prop-OMath.scm M src/etc/ucd-13/raw-props/prop-OUpper.scm M src/etc/ucd-13/raw-props/prop-PCM.scm M src/etc/ucd-13/raw-props/prop-Pat_Syn.scm M src/etc/ucd-13/raw-props/prop-Pat_WS.scm M src/etc/ucd-13/raw-props/prop-QMark.scm M src/etc/ucd-13/raw-props/prop-RI.scm M src/etc/ucd-13/raw-props/prop-Radical.scm M src/etc/ucd-13/raw-props/prop-SB.scm M src/etc/ucd-13/raw-props/prop-SD.scm M src/etc/ucd-13/raw-props/prop-STerm.scm M src/etc/ucd-13/raw-props/prop-Term.scm M src/etc/ucd-13/raw-props/prop-UIdeo.scm M src/etc/ucd-13/raw-props/prop-Upper.scm M src/etc/ucd-13/raw-props/prop-VS.scm M src/etc/ucd-13/raw-props/prop-WB+EP.scm M src/etc/ucd-13/raw-props/prop-WB.scm M src/etc/ucd-13/raw-props/prop-WSpace.scm M src/etc/ucd-13/raw-props/prop-XIDC.scm M src/etc/ucd-13/raw-props/prop-XIDS.scm M src/etc/ucd-13/raw-props/prop-XO_NFC.scm M src/etc/ucd-13/raw-props/prop-XO_NFD.scm M src/etc/ucd-13/raw-props/prop-XO_NFKC.scm M src/etc/ucd-13/raw-props/prop-XO_NFKD.scm M src/etc/ucd-13/raw-props/prop-age.scm M src/etc/ucd-13/raw-props/prop-bc.scm M src/etc/ucd-13/raw-props/prop-blk.scm M src/etc/ucd-13/raw-props/prop-bmg.scm M src/etc/ucd-13/raw-props/prop-bpb.scm M src/etc/ucd-13/raw-props/prop-bpt.scm M src/etc/ucd-13/raw-props/prop-canonical-cm.scm M src/etc/ucd-13/raw-props/prop-canonical-dm.scm M src/etc/ucd-13/raw-props/prop-ccc.scm M src/etc/ucd-13/raw-props/prop-cf.scm M src/etc/ucd-13/raw-props/prop-dm.scm M src/etc/ucd-13/raw-props/prop-dt.scm M src/etc/ucd-13/raw-props/prop-ea.scm M src/etc/ucd-13/raw-props/prop-gc.scm M src/etc/ucd-13/raw-props/prop-hst.scm M src/etc/ucd-13/raw-props/prop-isc.scm M src/etc/ucd-13/raw-props/prop-jg.scm M src/etc/ucd-13/raw-props/prop-jt.scm M src/etc/ucd-13/raw-props/prop-lb.scm M src/etc/ucd-13/raw-props/prop-lc.scm M src/etc/ucd-13/raw-props/prop-na.scm M src/etc/ucd-13/raw-props/prop-na1.scm M src/etc/ucd-13/raw-props/prop-nt.scm M src/etc/ucd-13/raw-props/prop-nv.scm M src/etc/ucd-13/raw-props/prop-sc.scm M src/etc/ucd-13/raw-props/prop-scf.scm M src/etc/ucd-13/raw-props/prop-scx.scm M src/etc/ucd-13/raw-props/prop-slc.scm M src/etc/ucd-13/raw-props/prop-stc.scm M src/etc/ucd-13/raw-props/prop-suc.scm M src/etc/ucd-13/raw-props/prop-tc.scm M src/etc/ucd-13/raw-props/prop-uc.scm M src/etc/ucd-13/raw-props/prop-vo.scm M src/etc/ucd-9/names.scm M src/etc/ucd-9/raw-props/prop-AHex.scm M src/etc/ucd-9/raw-props/prop-Alpha.scm M src/etc/ucd-9/raw-props/prop-Bidi_C.scm M src/etc/ucd-9/raw-props/prop-Bidi_M.scm M src/etc/ucd-9/raw-props/prop-CE.scm M src/etc/ucd-9/raw-props/prop-CI.scm M src/etc/ucd-9/raw-props/prop-CWCF.scm M src/etc/ucd-9/raw-props/prop-CWCM.scm M src/etc/ucd-9/raw-props/prop-CWKCF.scm M src/etc/ucd-9/raw-props/prop-CWL.scm M src/etc/ucd-9/raw-props/prop-CWT.scm M src/etc/ucd-9/raw-props/prop-CWU.scm M src/etc/ucd-9/raw-props/prop-Cased.scm M src/etc/ucd-9/raw-props/prop-Comp_Ex.scm M src/etc/ucd-9/raw-props/prop-DI.scm M src/etc/ucd-9/raw-props/prop-Dash.scm M src/etc/ucd-9/raw-props/prop-Dep.scm M src/etc/ucd-9/raw-props/prop-Dia.scm M src/etc/ucd-9/raw-props/prop-Ext.scm M src/etc/ucd-9/raw-props/prop-FC_NFKC.scm M src/etc/ucd-9/raw-props/prop-GCB.scm M src/etc/ucd-9/raw-props/prop-Gr_Base.scm M src/etc/ucd-9/raw-props/prop-Gr_Ext.scm M src/etc/ucd-9/raw-props/prop-Gr_Link.scm M src/etc/ucd-9/raw-props/prop-Hex.scm M src/etc/ucd-9/raw-props/prop-Hyphen.scm M src/etc/ucd-9/raw-props/prop-IDC.scm M src/etc/ucd-9/raw-props/prop-IDS.scm M src/etc/ucd-9/raw-props/prop-IDSB.scm M src/etc/ucd-9/raw-props/prop-IDST.scm M src/etc/ucd-9/raw-props/prop-Ideo.scm M src/etc/ucd-9/raw-props/prop-InMC.scm M src/etc/ucd-9/raw-props/prop-InPC.scm M src/etc/ucd-9/raw-props/prop-InSC.scm M src/etc/ucd-9/raw-props/prop-JSN.scm M src/etc/ucd-9/raw-props/prop-Join_C.scm M src/etc/ucd-9/raw-props/prop-LOE.scm M src/etc/ucd-9/raw-props/prop-Lower.scm M src/etc/ucd-9/raw-props/prop-Math.scm M src/etc/ucd-9/raw-props/prop-NChar.scm M src/etc/ucd-9/raw-props/prop-NFC_QC.scm M src/etc/ucd-9/raw-props/prop-NFD_QC.scm M src/etc/ucd-9/raw-props/prop-NFKC_CF.scm M src/etc/ucd-9/raw-props/prop-NFKC_QC.scm M src/etc/ucd-9/raw-props/prop-NFKD_QC.scm M src/etc/ucd-9/raw-props/prop-OAlpha.scm M src/etc/ucd-9/raw-props/prop-ODI.scm M src/etc/ucd-9/raw-props/prop-OGr_Ext.scm M src/etc/ucd-9/raw-props/prop-OIDC.scm M src/etc/ucd-9/raw-props/prop-OIDS.scm M src/etc/ucd-9/raw-props/prop-OLower.scm M src/etc/ucd-9/raw-props/prop-OMath.scm M src/etc/ucd-9/raw-props/prop-OUpper.scm M src/etc/ucd-9/raw-props/prop-PCM.scm M src/etc/ucd-9/raw-props/prop-Pat_Syn.scm M src/etc/ucd-9/raw-props/prop-Pat_WS.scm M src/etc/ucd-9/raw-props/prop-QMark.scm M src/etc/ucd-9/raw-props/prop-Radical.scm M src/etc/ucd-9/raw-props/prop-SB.scm M src/etc/ucd-9/raw-props/prop-SD.scm M src/etc/ucd-9/raw-props/prop-STerm.scm M src/etc/ucd-9/raw-props/prop-Term.scm M src/etc/ucd-9/raw-props/prop-UIdeo.scm M src/etc/ucd-9/raw-props/prop-Upper.scm M src/etc/ucd-9/raw-props/prop-VS.scm M src/etc/ucd-9/raw-props/prop-WB.scm M src/etc/ucd-9/raw-props/prop-WSpace.scm M src/etc/ucd-9/raw-props/prop-XIDC.scm M src/etc/ucd-9/raw-props/prop-XIDS.scm M src/etc/ucd-9/raw-props/prop-XO_NFC.scm M src/etc/ucd-9/raw-props/prop-XO_NFD.scm M src/etc/ucd-9/raw-props/prop-XO_NFKC.scm M src/etc/ucd-9/raw-props/prop-XO_NFKD.scm M src/etc/ucd-9/raw-props/prop-age.scm M src/etc/ucd-9/raw-props/prop-bc.scm M src/etc/ucd-9/raw-props/prop-blk.scm M src/etc/ucd-9/raw-props/prop-bmg.scm M src/etc/ucd-9/raw-props/prop-bpb.scm M src/etc/ucd-9/raw-props/prop-bpt.scm M src/etc/ucd-9/raw-props/prop-canonical-cm.scm M src/etc/ucd-9/raw-props/prop-canonical-dm.scm M src/etc/ucd-9/raw-props/prop-ccc.scm M src/etc/ucd-9/raw-props/prop-cf.scm M src/etc/ucd-9/raw-props/prop-dm.scm M src/etc/ucd-9/raw-props/prop-dt.scm M src/etc/ucd-9/raw-props/prop-ea.scm M src/etc/ucd-9/raw-props/prop-gc.scm M src/etc/ucd-9/raw-props/prop-hst.scm M src/etc/ucd-9/raw-props/prop-isc.scm M src/etc/ucd-9/raw-props/prop-jg.scm M src/etc/ucd-9/raw-props/prop-jt.scm M src/etc/ucd-9/raw-props/prop-lb.scm M src/etc/ucd-9/raw-props/prop-lc.scm M src/etc/ucd-9/raw-props/prop-na.scm M src/etc/ucd-9/raw-props/prop-na1.scm M src/etc/ucd-9/raw-props/prop-nt.scm M src/etc/ucd-9/raw-props/prop-nv.scm M src/etc/ucd-9/raw-props/prop-sc.scm M src/etc/ucd-9/raw-props/prop-scf.scm M src/etc/ucd-9/raw-props/prop-scx.scm M src/etc/ucd-9/raw-props/prop-slc.scm M src/etc/ucd-9/raw-props/prop-stc.scm M src/etc/ucd-9/raw-props/prop-suc.scm M src/etc/ucd-9/raw-props/prop-tc.scm M src/etc/ucd-9/raw-props/prop-uc.scm M src/etc/ucd-converter.scm M src/etc/utilities.scm M src/ffi/build.scm M src/ffi/cdecls.scm M src/ffi/ctypes.scm M src/ffi/generator.scm M src/ffi/syntax.scm M src/gdbm/Makefile.am M src/gdbm/NEWS M src/gdbm/compile.sh M src/gdbm/configure.ac M src/gdbm/gdbm-adapter.c M src/gdbm/gdbm-check.scm M src/gdbm/gdbm-shim.h M src/gdbm/gdbm.cdecl M src/gdbm/gdbm.pkg M src/gdbm/gdbm.scm M src/gdbm/mit-scheme-gdbm.texi M src/imail/Makefile.am M src/imail/NEWS M src/imail/compile.scm M src/imail/compile.sh M src/imail/configure.ac M src/imail/ed-ffi.scm M src/imail/imail-browser.scm M src/imail/imail-core.scm M src/imail/imail-file.scm M src/imail/imail-imap.scm M src/imail/imail-mime.scm M src/imail/imail-rmail.scm M src/imail/imail-summary.scm M src/imail/imail-top.scm M src/imail/imail-umail.scm M src/imail/imail-util.scm M src/imail/imail.pkg M src/imail/imap-response.scm M src/imail/imap-syntax.scm M src/imail/make.scm M src/imail/mit-scheme-imail.texi M src/imail/print.sh M src/libraries/compile.scm M src/libraries/inline-testing-impl.scm M src/libraries/inline-testing.sld M src/libraries/srfi-133-impl.scm M src/libraries/srfi-133.sld M src/libraries/srfi-14.sld M src/libraries/srfi-140-impl.scm M src/libraries/srfi-140.sld M src/microcode/Clean.sh M src/microcode/Setup.sh M src/microcode/artutl.c M src/microcode/avltree.c M src/microcode/avltree.h M src/microcode/bignmint.h M src/microcode/bignum.c M src/microcode/bignum.h M src/microcode/bigprm.c M src/microcode/bits.h M src/microcode/bitstr.c M src/microcode/bitstr.h M src/microcode/bkpt.c M src/microcode/bkpt.h M src/microcode/boot.c M src/microcode/bytevector.c M src/microcode/char.c M src/microcode/cmpauxmd/aarch64.m4 M src/microcode/cmpauxmd/asmcvt.c M src/microcode/cmpauxmd/c.c M src/microcode/cmpauxmd/i386.m4 M src/microcode/cmpauxmd/m4-dos M src/microcode/cmpauxmd/makefile M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpgc.h M src/microcode/cmpint.c M src/microcode/cmpint.h M src/microcode/cmpintmd/aarch64-config.h M src/microcode/cmpintmd/aarch64.c M src/microcode/cmpintmd/aarch64.h M src/microcode/cmpintmd/c-config.h M src/microcode/cmpintmd/c.c M src/microcode/cmpintmd/c.h M src/microcode/cmpintmd/i386-config.h M src/microcode/cmpintmd/i386.c M src/microcode/cmpintmd/i386.h M src/microcode/cmpintmd/none-config.h M src/microcode/cmpintmd/none.c M src/microcode/cmpintmd/none.h M src/microcode/cmpintmd/svm1-config.h M src/microcode/cmpintmd/svm1.c M src/microcode/cmpintmd/svm1.h M src/microcode/cmpintmd/x86-64-config.h M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h M src/microcode/cmpintmd/x86-fenv.c M src/microcode/cmpintmd/x86-fenv.h M src/microcode/comlin.c M src/microcode/comlin.h M src/microcode/comutl.c M src/microcode/configure.ac M src/microcode/confshared.h M src/microcode/const.h M src/microcode/copyrigh.c M src/microcode/critsec.h M src/microcode/ctassert.h M src/microcode/daemon.c M src/microcode/debug.c M src/microcode/dfloat.c M src/microcode/dstack.h M src/microcode/edwin.h M src/microcode/error.c M src/microcode/errors.h M src/microcode/extern.c M src/microcode/extern.h M src/microcode/extract-liarc-decls.c M src/microcode/fasdump.c M src/microcode/fasl.c M src/microcode/fasl.h M src/microcode/fasload.c M src/microcode/findprim.c M src/microcode/fixnum.c M src/microcode/fixnum.h M src/microcode/fixobj.h M src/microcode/floenv.c M src/microcode/floenv.h M src/microcode/flonum.c M src/microcode/fma.h M src/microcode/gc.h M src/microcode/gccode.h M src/microcode/gcloop.c M src/microcode/gen-nonce.c M src/microcode/generic.c M src/microcode/history.h M src/microcode/hooks.c M src/microcode/hunk.c M src/microcode/intern.c M src/microcode/interp.c M src/microcode/interp.h M src/microcode/intext.c M src/microcode/intext.h M src/microcode/intprm.c M src/microcode/intrpt.h M src/microcode/liarc-cc.in M src/microcode/liarc-ld.in M src/microcode/liarc.h M src/microcode/list.c M src/microcode/lookprm.c M src/microcode/lookup.c M src/microcode/lookup.h M src/microcode/macosx-starter.c M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/bundles-liarc.scm M src/microcode/makegen/dirs-liarc.scm M src/microcode/makegen/files-core.scm M src/microcode/makegen/files-optional.scm M src/microcode/makegen/files-os-prim.scm M src/microcode/makegen/files-other.scm M src/microcode/makegen/files-unix.scm M src/microcode/makegen/liarc-base-rules M src/microcode/makegen/m4.sh M src/microcode/makegen/makegen.scm M src/microcode/makegen/makeinit.sh M src/microcode/makegen/pkds-liarc.scm M src/microcode/memmag.c M src/microcode/memmag.h M src/microcode/missing.c M src/microcode/mul.c M src/microcode/nt.h M src/microcode/ntapi.h M src/microcode/ntasutl.asm M src/microcode/ntenv.c M src/microcode/ntfile.c M src/microcode/ntfs.c M src/microcode/ntfs.h M src/microcode/ntgui.c M src/microcode/ntgui.h M src/microcode/ntio.c M src/microcode/ntio.h M src/microcode/ntproc.c M src/microcode/ntproc.h M src/microcode/ntscmlib.h M src/microcode/ntscreen.c M src/microcode/ntscreen.h M src/microcode/ntsig.c M src/microcode/ntsock.c M src/microcode/ntsys.c M src/microcode/ntsys.h M src/microcode/ntterm.h M src/microcode/nttop.c M src/microcode/nttop.h M src/microcode/nttrap.c M src/microcode/nttrap.h M src/microcode/nttterm.c M src/microcode/nttty.c M src/microcode/ntutl/config.bat M src/microcode/ntutl/config.h M src/microcode/ntutl/makefile M src/microcode/ntutl/makefile.wcc M src/microcode/ntutl/scheme16.c M src/microcode/ntutl/scheme16.mak M src/microcode/ntutl/scheme31.c M src/microcode/ntutl/scheme32.c M src/microcode/ntutl/scm-p-nt.lst M src/microcode/ntutl/setenv.bat M src/microcode/ntutl/wconfig.bat M src/microcode/object.h M src/microcode/obstack.c M src/microcode/obstack.h M src/microcode/option.c M src/microcode/option.h M src/microcode/os.h M src/microcode/osctty.h M src/microcode/osentropy.h M src/microcode/osenv.h M src/microcode/osfile.h M src/microcode/osfs.h M src/microcode/osio.h M src/microcode/osproc.h M src/microcode/ospty.h M src/microcode/osscheme.c M src/microcode/osscheme.h M src/microcode/ossig.h M src/microcode/osterm.h M src/microcode/ostop.h M src/microcode/ostty.c M src/microcode/ostty.h M src/microcode/outf.c M src/microcode/outf.h M src/microcode/prchacha.c M src/microcode/prename.h M src/microcode/prentropy.c M src/microcode/prim.c M src/microcode/prim.h M src/microcode/prims.h M src/microcode/primutl.c M src/microcode/prkeccak.c M src/microcode/prmd5.c M src/microcode/prntenv.c M src/microcode/prntfs.c M src/microcode/prntio.c M src/microcode/prosenv.c M src/microcode/prosfile.c M src/microcode/prosfs.c M src/microcode/prosio.c M src/microcode/prosproc.c M src/microcode/prospty.c M src/microcode/prosterm.c M src/microcode/prostty.c M src/microcode/pruxdld.c M src/microcode/pruxenv.c M src/microcode/pruxffi.c M src/microcode/pruxffi.h M src/microcode/pruxfs.c M src/microcode/pruxio.c M src/microcode/pruxsock.c M src/microcode/ptrvec.c M src/microcode/purify.c M src/microcode/purutl.c M src/microcode/regex.c M src/microcode/regex.h M src/microcode/returns.h M src/microcode/rgxprim.c M src/microcode/sample.c M src/microcode/scheme.h M src/microcode/scode.h M src/microcode/sdata.h M src/microcode/stack.h M src/microcode/stackops.h M src/microcode/step.c M src/microcode/storage.c M src/microcode/string.c M src/microcode/svm1-interp.c M src/microcode/syntax.c M src/microcode/syntax.h M src/microcode/syscall.h M src/microcode/sysprim.c M src/microcode/term.c M src/microcode/termcap.c M src/microcode/terminfo.c M src/microcode/tparam.c M src/microcode/transact.c M src/microcode/trap.h M src/microcode/tterm.c M src/microcode/types.h M src/microcode/unstackify.c M src/microcode/usrdef.h M src/microcode/utabmd.c M src/microcode/utils.c M src/microcode/ux.c M src/microcode/ux.h M src/microcode/uxctty.c M src/microcode/uxentropy.c M src/microcode/uxenv.c M src/microcode/uxfile.c M src/microcode/uxfs.c M src/microcode/uxio.c M src/microcode/uxio.h M src/microcode/uxproc.c M src/microcode/uxproc.h M src/microcode/uxsig.c M src/microcode/uxsig.h M src/microcode/uxsock.c M src/microcode/uxsock.h M src/microcode/uxterm.c M src/microcode/uxterm.h M src/microcode/uxtop.c M src/microcode/uxtop.h M src/microcode/uxtrap.c M src/microcode/uxtrap.h M src/microcode/uxtty.c M src/microcode/uxutil.c M src/microcode/uxutil.h M src/microcode/vector.c M src/microcode/wind.c M src/microcode/xdebug.c M src/pgsql/Makefile.am M src/pgsql/NEWS M src/pgsql/compile.sh M src/pgsql/configure.ac M src/pgsql/pgsql-check.scm M src/pgsql/pgsql-shim.h M src/pgsql/pgsql.cdecl M src/pgsql/pgsql.pkg M src/pgsql/pgsql.scm M src/runtime/advice.scm M src/runtime/amap-alist.scm M src/runtime/amap-hash-table.scm M src/runtime/amap-impl.scm M src/runtime/amap-trie.scm M src/runtime/amap.scm M src/runtime/apply.scm M src/runtime/apropos.scm M src/runtime/arith.scm M src/runtime/binary-port.scm M src/runtime/bitstr.scm M src/runtime/blowfish.scm M src/runtime/boole.scm M src/runtime/boot-seq.scm M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/bytevector-low.scm M src/runtime/bytevector.scm M src/runtime/cgen-base.scm M src/runtime/cgen-cse.scm M src/runtime/cgen-optimize.scm M src/runtime/cgen-output.scm M src/runtime/char-set.scm M src/runtime/char.scm M src/runtime/chrsyn.scm M src/runtime/codwlk.scm M src/runtime/command-line.scm M src/runtime/comparator.scm M src/runtime/compound-predicate.scm M src/runtime/condvar.scm M src/runtime/conpar.scm M src/runtime/console-io.scm M src/runtime/contin.scm M src/runtime/cpoint.scm M src/runtime/cpress.scm M src/runtime/crypto.scm M src/runtime/datime.scm M src/runtime/dbgcmd.scm M src/runtime/dbgutl.scm M src/runtime/debug.scm M src/runtime/defstr.scm M src/runtime/digraph.scm M src/runtime/dispatch-cache.scm M src/runtime/dispatch-tag.scm M src/runtime/dos-pathname.scm M src/runtime/dragon4.scm M src/runtime/dynamic.scm M src/runtime/ed-ffi.scm M src/runtime/emacs.scm M src/runtime/environment.scm M src/runtime/equals.scm M src/runtime/error.scm M src/runtime/events.scm M src/runtime/feature.scm M src/runtime/ffi.scm M src/runtime/file-attributes.scm M src/runtime/file-io.scm M src/runtime/floenv.scm M src/runtime/format.scm M src/runtime/framex.scm M src/runtime/gc.scm M src/runtime/gcdemn.scm M src/runtime/gcfinal.scm M src/runtime/gcnote.scm M src/runtime/gcstat.scm M src/runtime/gdbm.scm M src/runtime/generator.scm M src/runtime/generic-io.scm M src/runtime/global.scm M src/runtime/graphics.scm M src/runtime/hash-table.scm M src/runtime/hash.scm M src/runtime/histry.scm M src/runtime/host-adapter.scm M src/runtime/html-form-codec.scm M src/runtime/http-client.scm M src/runtime/http-io.scm M src/runtime/http-syntax.scm M src/runtime/infstr.scm M src/runtime/infutl.scm M src/runtime/input-port.scm M src/runtime/integer-bits.scm M src/runtime/interrupt.scm M src/runtime/keyword.scm M src/runtime/lambda-list.scm M src/runtime/lambda.scm M src/runtime/lambdx.scm M src/runtime/legacy-string.scm M src/runtime/library-database.scm M src/runtime/library-ixports-mit.scm M src/runtime/library-ixports-r7rs.scm M src/runtime/library-ixports.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-scode.scm M src/runtime/library-standard.scm M src/runtime/list.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/memoizer.scm M src/runtime/microcode-data.scm M src/runtime/microcode-errors.scm M src/runtime/microcode-tables.scm M src/runtime/mime-codec.scm M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/msort.scm M src/runtime/ntdir.scm M src/runtime/ntprm.scm M src/runtime/numint.scm M src/runtime/numpar.scm M src/runtime/option.scm M src/runtime/optiondb.scm M src/runtime/ordvec.scm M src/runtime/os-primitives.scm M src/runtime/output-port.scm M src/runtime/packag.scm M src/runtime/parametric-predicate.scm M src/runtime/parser-buffer.scm M src/runtime/pathname.scm M src/runtime/pgsql.scm M src/runtime/poplat.scm M src/runtime/pp.scm M src/runtime/predicate-dispatch.scm M src/runtime/predicate-tagging.scm M src/runtime/predicate.scm M src/runtime/prgcop.scm M src/runtime/primitive-arithmetic.scm M src/runtime/primitive-io.scm M src/runtime/printer.scm M src/runtime/procedure.scm M src/runtime/process.scm M src/runtime/prop1d.scm M src/runtime/prop2d.scm M src/runtime/qsort.scm M src/runtime/queue.scm M src/runtime/random.scm M src/runtime/rbtree.scm M src/runtime/reader.scm M src/runtime/record.scm M src/runtime/reference-trap.scm M src/runtime/regexp-nfa.scm M src/runtime/regexp-recursive.scm M src/runtime/regexp-rules.scm M src/runtime/regexp.scm M src/runtime/regsexp.scm M src/runtime/rep-ui.scm M src/runtime/rep.scm M src/runtime/rexp.scm M src/runtime/rfc2822-headers.scm M src/runtime/rgxcmp.scm M src/runtime/runtime.cbf M src/runtime/runtime.pkg M src/runtime/runtime.sf M src/runtime/savres.scm M src/runtime/scan.scm M src/runtime/scode.scm M src/runtime/sdata.scm M src/runtime/sfile.scm M src/runtime/sha3.scm M src/runtime/simple-matcher.scm M src/runtime/socket.scm M src/runtime/srfi-1.scm M src/runtime/srfi-115.scm M src/runtime/stream.scm M src/runtime/string-io.scm M src/runtime/string.scm M src/runtime/structure-parser.scm M src/runtime/swank.scm M src/runtime/symbol.scm M src/runtime/syncproc.scm M src/runtime/syntax-check.scm M src/runtime/syntax-constructor.scm M src/runtime/syntax-declaration.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-low.scm M src/runtime/syntax-output.scm M src/runtime/syntax-parser.scm M src/runtime/syntax-rename.scm M src/runtime/syntax-rules.scm M src/runtime/syntax.scm M src/runtime/sysclk.scm M src/runtime/sysmac.scm M src/runtime/system.scm M src/runtime/textual-port.scm M src/runtime/thread-barrier.scm M src/runtime/thread-low.scm M src/runtime/thread-queue.scm M src/runtime/thread.scm M src/runtime/transcript.scm M src/runtime/trie.scm M src/runtime/ucd-glue.scm M src/runtime/ucd-grapheme.scm M src/runtime/ucd-segmentation.scm M src/runtime/ucd-table-alpha.scm M src/runtime/ucd-table-canonical-cm-second.scm M src/runtime/ucd-table-canonical-cm.scm M src/runtime/ucd-table-canonical-dm.scm M src/runtime/ucd-table-cased.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-comp_ex.scm M src/runtime/ucd-table-cwcf.scm M src/runtime/ucd-table-cwl.scm M src/runtime/ucd-table-cwu.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gc=cc.scm M src/runtime/ucd-table-gc=cf.scm M src/runtime/ucd-table-gc=cn.scm M src/runtime/ucd-table-gc=co.scm M src/runtime/ucd-table-gc=cs.scm M src/runtime/ucd-table-gc=ll.scm M src/runtime/ucd-table-gc=lm.scm M src/runtime/ucd-table-gc=lo.scm M src/runtime/ucd-table-gc=lt.scm M src/runtime/ucd-table-gc=lu.scm M src/runtime/ucd-table-gc=mc.scm M src/runtime/ucd-table-gc=me.scm M src/runtime/ucd-table-gc=mn.scm M src/runtime/ucd-table-gc=nd.scm M src/runtime/ucd-table-gc=nl.scm M src/runtime/ucd-table-gc=no.scm M src/runtime/ucd-table-gc=pc.scm M src/runtime/ucd-table-gc=pd.scm M src/runtime/ucd-table-gc=pe.scm M src/runtime/ucd-table-gc=pf.scm M src/runtime/ucd-table-gc=pi.scm M src/runtime/ucd-table-gc=po.scm M src/runtime/ucd-table-gc=ps.scm M src/runtime/ucd-table-gc=sc.scm M src/runtime/ucd-table-gc=sk.scm M src/runtime/ucd-table-gc=sm.scm M src/runtime/ucd-table-gc=so.scm M src/runtime/ucd-table-gc=zl.scm M src/runtime/ucd-table-gc=zp.scm M src/runtime/ucd-table-gc=zs.scm M src/runtime/ucd-table-gcb+ep.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-lower.scm M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ucd-table-nfd_qc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nt=de.scm M src/runtime/ucd-table-nt=di.scm M src/runtime/ucd-table-nt=nu.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-upper.scm M src/runtime/ucd-table-wb+ep.scm M src/runtime/ucd-table-wspace.scm M src/runtime/ucd-word.scm M src/runtime/unix-pathname.scm M src/runtime/unsyn.scm M src/runtime/unxdir.scm M src/runtime/unxprm.scm M src/runtime/url.scm M src/runtime/usrint.scm M src/runtime/vector.scm M src/runtime/version.scm M src/runtime/weak-pair.scm M src/runtime/where.scm M src/runtime/win32-registry.scm M src/runtime/wind.scm M src/runtime/world-report.scm M src/runtime/wrkdir.scm M src/runtime/wttree.scm M src/runtime/x11graph.scm M src/runtime/xeval.scm M src/runtime/ystep.scm M src/sf/analyze.scm M src/sf/butils.scm M src/sf/cgen.scm M src/sf/chtype.scm M src/sf/copy.scm M src/sf/emodel.scm M src/sf/gconst.scm M src/sf/make.scm M src/sf/object.scm M src/sf/pardec.scm M src/sf/pthmap.scm M src/sf/reduct.scm M src/sf/sf.cbf M src/sf/sf.pkg M src/sf/sf.sf M src/sf/subst.scm M src/sf/tables.scm M src/sf/toplev.scm M src/sf/usicon.scm M src/sf/usiexp.scm M src/sf/xform.scm M src/sos/class.scm M src/sos/compile.scm M src/sos/ed-ffi.scm M src/sos/geneqht.scm M src/sos/generic.scm M src/sos/genmult.scm M src/sos/instance.scm M src/sos/load.scm M src/sos/macros.scm M src/sos/method.scm M src/sos/microbench.scm M src/sos/printer.scm M src/sos/recslot.scm M src/sos/slot.scm M src/sos/sos.pkg M src/sos/tvector.scm M src/ssp/compile.scm M src/ssp/expenv.scm M src/ssp/load.scm M src/ssp/mod-lisp.scm M src/ssp/ssp.pkg M src/ssp/xhtml-expander.scm M src/ssp/xmlrpc.scm M src/star-parser/compile.scm M src/star-parser/ed-ffi.scm M src/star-parser/load.scm M src/star-parser/matcher.scm M src/star-parser/parser.pkg M src/star-parser/parser.scm M src/star-parser/shared.scm M src/win32/clipbrd.scm M src/win32/dib.scm M src/win32/dibutils/dibutils.c M src/win32/dibutils/dibutils.def M src/win32/dibutils/dibutils.h M src/win32/dibutils/makefile.msc M src/win32/dibutils/makefile.wcc M src/win32/ffimacro.scm M src/win32/graphics.scm M src/win32/make.scm M src/win32/module.scm M src/win32/protect.scm M src/win32/wf_user.scm M src/win32/win32.cbf M src/win32/win32.pkg M src/win32/win32.sf M src/win32/win_ffi.scm M src/win32/wingdi.scm M src/win32/winnt.scm M src/win32/winuser.scm M src/win32/wt_user.scm M src/x11-screen/Makefile.am M src/x11-screen/NEWS M src/x11-screen/compile.scm M src/x11-screen/compile.sh M src/x11-screen/configure.ac M src/x11-screen/ed-ffi.scm M src/x11-screen/x11-command.scm M src/x11-screen/x11-key.scm M src/x11-screen/x11-screen-test.scm M src/x11-screen/x11-screen.pkg M src/x11-screen/x11-screen.scm M src/x11/Makefile.am M src/x11/NEWS M src/x11/compile.scm M src/x11/compile.sh M src/x11/configure.ac M src/x11/x11-base.scm M src/x11/x11-color.scm M src/x11/x11-device.scm M src/x11/x11-graphics.scm M src/x11/x11-shim.h M src/x11/x11-terminal.scm M src/x11/x11-test.scm M src/x11/x11.cdecl M src/x11/x11.h M src/x11/x11.pkg M src/x11/x11base.c M src/x11/x11color.c M src/x11/x11graph.c M src/x11/x11term.c M src/xdoc/compile.scm M src/xdoc/db.scm M src/xdoc/load.scm M src/xdoc/validate-xdoc.scm M src/xdoc/xdoc.pkg M src/xdoc/xdoc.scm M src/xml/compile.scm M src/xml/ed-ffi.scm M src/xml/load.scm M src/xml/parser-macro.scm M src/xml/rdf-nt.scm M src/xml/rdf-struct.scm M src/xml/turtle.scm M src/xml/xhtml-entities.scm M src/xml/xhtml.scm M src/xml/xml-chars.scm M src/xml/xml-names.scm M src/xml/xml-output.scm M src/xml/xml-parser.scm M src/xml/xml-rpc.scm M src/xml/xml-struct.scm M src/xml/xml.pkg M src/xml/xpath.scm M tests/Tags.sh M tests/check.scm M tests/compiler/test-closure.scm M tests/compiler/test-fasdump.scm M tests/compiler/test-fgopt-conect.scm M tests/compiler/test-fixnum.scm M tests/compiler/test-lsh.scm M tests/compiler/test-open-code.scm M tests/compiler/test-remquo.scm M tests/compiler/test-toplev.scm M tests/compiler/test-varname.scm M tests/compiler/test-vartrap.scm M tests/compiler/test-y.scm M tests/ffi/Makefile.am M tests/ffi/configure.ac M tests/ffi/ffi-test.c M tests/ffi/test-ffi.scm M tests/libraries/test-srfi-133.scm M tests/libraries/test-srfi-143.scm M tests/load.scm M tests/microcode/test-chacha.scm M tests/microcode/test-flonum-casts.scm M tests/microcode/test-flonum-except.scm M tests/microcode/test-keccak.scm M tests/microcode/test-lookup.scm M tests/runtime/test-access.scm M tests/runtime/test-amap.scm M tests/runtime/test-arith.scm M tests/runtime/test-binary-port.scm M tests/runtime/test-bit-string.scm M tests/runtime/test-boyer-moore.scm M tests/runtime/test-bundle.scm M tests/runtime/test-bytevector.scm M tests/runtime/test-case-lambda.scm M tests/runtime/test-char-set.scm M tests/runtime/test-char.scm M tests/runtime/test-comparator.scm M tests/runtime/test-compound-predicate.scm M tests/runtime/test-digraph.scm M tests/runtime/test-dragon4.scm M tests/runtime/test-dynamic-env.scm M tests/runtime/test-entity.scm M tests/runtime/test-ephemeron.scm M tests/runtime/test-file-attributes.scm M tests/runtime/test-floenv.scm M tests/runtime/test-flonum.scm M tests/runtime/test-hash-table.scm M tests/runtime/test-ieee754.scm M tests/runtime/test-integer-bits.scm M tests/runtime/test-letrec.scm M tests/runtime/test-library-data/support-code.scm M tests/runtime/test-library-ixports.scm M tests/runtime/test-library-loader.scm M tests/runtime/test-library-parser.scm M tests/runtime/test-list.scm M tests/runtime/test-md5.scm M tests/runtime/test-mime-codec.scm M tests/runtime/test-msort.scm M tests/runtime/test-numpar.scm M tests/runtime/test-optional.scm M tests/runtime/test-os-env.scm M tests/runtime/test-parametric-predicate.scm M tests/runtime/test-pp.scm M tests/runtime/test-predicate-dispatch.scm M tests/runtime/test-predicate.scm M tests/runtime/test-primitive-arithmetic.scm M tests/runtime/test-printer.scm M tests/runtime/test-process.scm M tests/runtime/test-promise.scm M tests/runtime/test-qsort.scm M tests/runtime/test-random.scm M tests/runtime/test-readwrite.scm M tests/runtime/test-record.scm M tests/runtime/test-regsexp.scm M tests/runtime/test-rgxcmp.scm M tests/runtime/test-sha3.scm M tests/runtime/test-simple-matcher.scm M tests/runtime/test-srfi-1.scm M tests/runtime/test-srfi-115.scm M tests/runtime/test-stream.scm M tests/runtime/test-string-copy.scm M tests/runtime/test-string-normalization.scm M tests/runtime/test-string-search-data M tests/runtime/test-string-search.scm M tests/runtime/test-string.scm M tests/runtime/test-syncproc.scm M tests/runtime/test-syntax-rename.scm M tests/runtime/test-syntax.scm M tests/runtime/test-thread-queue.scm M tests/runtime/test-trie.scm M tests/runtime/test-ucd-data/segmentation-support.scm M tests/runtime/test-ucd-grapheme.scm M tests/runtime/test-ucd-word.scm M tests/runtime/test-url.scm M tests/runtime/test-weak-pair.scm M tests/runtime/test-wttree.scm M tests/sos/test-genmult.scm M tests/star-parser/test-parser.scm M tests/unit-testing.scm M tests/xml/test-parser.scm M tests/xml/test-turtle.scm commit ce6003df491355c650d3d3ccf5c04231c0bf237e Author: Chris Hanson Date: Tue Sep 6 01:47:51 2022 -0700 Eliminate superfluous compiler warnings for case-lambda expansion. M src/runtime/mit-macros.scm commit 5925968f80c2c7b875fd089bbbd372a907d757ce Author: Chris Hanson Date: Mon Sep 5 19:00:26 2022 -0700 Fix bug #62614. M src/runtime/reader.scm commit 03a0b7312f06e042bf227d731b902d833cb211c3 Author: Chris Hanson Date: Mon Sep 5 18:55:55 2022 -0700 Fix bug #62707. M src/microcode/fixnum.c M tests/check.scm A tests/runtime/test-primitive-arithmetic.scm commit 8b23288a343335e9b54bf13ef034ee04827b9409 Author: Chris Hanson Date: Mon Sep 5 18:28:36 2022 -0700 Fix bug #62836. M src/microcode/floenv.c commit 7378e4ec94adb0f0a88f1c0efc0d011bfad97fc1 Author: Chris Hanson Date: Mon Sep 5 02:04:01 2022 -0700 Fix bug #62582. M src/runtime/http-io.scm commit bcc7e30a771e288909a7d38e21a146432d397c67 Author: Chris Hanson Date: Mon Sep 5 01:48:41 2022 -0700 Fix bug #62581. M src/runtime/http-io.scm commit 2b4bd1e1faa74c36b44412615f94e768591b34d9 Author: Chris Hanson Date: Wed Aug 31 23:16:45 2022 -0700 Fix parsing error when reading RFC 2822 headers. M src/runtime/rfc2822-headers.scm commit f278c53270f26564202b52f63a1fe44b8031acdb Author: Chris Hanson Date: Wed Aug 31 23:04:29 2022 -0700 Properly handle HTTP URLs without a path. For example, "http://google.com" should be treated as though it were "http://google.com/". M src/runtime/http-client.scm M src/runtime/http-io.scm M src/runtime/runtime.pkg commit 27fa39155bc797c31bfdf2a29bfc64925c3b38ff Author: Chris Hanson Date: Wed Aug 31 22:12:50 2022 -0700 Fix typo. M src/runtime/http-io.scm commit d05f8564a953cf0ee7cdedc21c1369a3d671f38c Author: Chris Hanson Date: Sat Aug 6 21:49:58 2022 -0700 A bunch of changes to get things to config/compile on Ubuntu 22.04 LTS. Many of these changes were due to autoconf 2.71, which has obsoleted a bunch of the macros we were using, and whose advice has considerably changed as to what macros are needed for reasonably modern systems. The rest are changes to the C files that were affected by the autoconf changes. M src/Setup.sh M src/configure.ac M src/microcode/configure.ac M src/microcode/confshared.h M src/microcode/prosproc.c M src/microcode/ux.h commit b6204ee126eab8d4b0851a7b29d6937cdb8091f0 Author: Taylor R Campbell Date: Thu Jul 14 20:55:02 2022 +0000 microcode: Tweak for musl libc. M src/microcode/configure.ac M src/microcode/ux.h A src/relnotes/bug-musl-libc commit e0813016525fdba214eaf633b77fcc85dcb36ad2 Author: Taylor R Campbell Date: Fri Jun 10 15:11:42 2022 +0000 relnotes: Add release note about microcode stack traces. A src/relnotes/bug-ucode-stacktrace commit 9c6e1ee31c52ad07192779f3f291573b0996da7c Author: Taylor R Campbell Date: Fri Apr 22 09:11:29 2022 +0000 rtlgen: Simplify generate/continuation. No functional change intended, except that this might be a little faster because it uses one fewer temporary register for many continuations. M src/compiler/rtlgen/rtlgen.scm commit 039098c99c87216bfa52a28953b5bd4a9c65b88f Author: Taylor R Campbell Date: Sat May 14 14:24:31 2022 +0000 Add test for predicate continuation with dynamic link. A src/compiler/tests/dlink-pred.scm commit f38c4ff4c048955585416a774e61352fcd9e5178 Author: Taylor R Campbell Date: Fri Apr 22 08:49:23 2022 +0000 rtlgen: Always copy register:value to temp in continuation. This is necessary because register:value may be a machine register available for allocation as a machine temporary (as on x86 where it is rax). I had found most (if not all) other cases where register:value needed to be stashed in a pseudo temporary in a continuation, but I missed this one: if the continuation is a predicate continuation that first restores a dynamic link, the code to restore the dynamic link would ask for a temporary register that might (and did) turn out to be the same as register:value. Example: (define (rexists pred thing) (let tlp ((thing thing)) (pp thing) (cond ((pred thing) #t) ((vector? thing) (pp 'here) (let ((n (vector-length thing))) (let lp ((i 0)) (cond ((fix:= i n) #f) ((tlp (vector-ref thing i)) ; (*) (pp 'there) #t) (else (lp (fix:+ i 1))))))) ((list? thing) (any tlp thing)) (else #f)))) The predicate continuation marked (*) had the following code generated for it (rax is (r 0), where return value lives on entry): continuation-11: ;; (assign (register #x2d) (post-increment (register 4) 1)) (pop q (r 0)) ;; (assign (register #x2e) (object->address (register #x2d))) (and q (r 0) (r 5)) ;; (assign (offset (register 6) (machine-constant 4)) (register #x2e)) (mov q (@ro 6 #x20) (r 0)) ;; (eq-test (register 0) (constant #f)) (cmp q (r 0) (&u 0)) (jne (@pcr label-42)) This clobbers rax to restore the dynamic link, so the comparison at the end compares compares the dynamic link, not the return value as intended, to #f. M src/compiler/rtlgen/fndvar.scm M src/compiler/rtlgen/rtlgen.scm commit c95193a223b553e82b87dbd770ecb9eb10b9b271 Author: Taylor R Campbell Date: Sat May 14 14:05:00 2022 +0000 Test get-environment-variables. Based on test added in the release-11 branch, without the detour through an expected error to test for a bug on that branch. M tests/runtime/test-os-env.scm commit 9a043a1516e80d9708d18b74c981ef7b57c995a9 Author: Chris Hanson Date: Fri Feb 25 20:27:31 2022 -0800 Delete trailing whitespace. M src/microcode/cmpint.c commit 013fad016413e582d769e5d1b7e6bd15006554c4 Author: Taylor R Campbell Date: Tue Dec 28 12:16:28 2021 +0000 microcode/macosx-starter: Use fork, not vfork. I don't think this utility is remotely performance-sensitive, but if it is we could switch to posix_spawn instead. M src/microcode/macosx-starter.c commit 350be6720bce76eec23b551c720adc3570c0a608 Author: Taylor R Campbell Date: Tue Dec 28 12:04:58 2021 +0000 microcode: Fix bug in writing ucode stack traces to file. In the v15 microcode merge, the type-abuse of casting a FILE * to outf_channel was dropped, and thus so was the `C-c t' function's file output at the console. Do this is a slightly less abusive way that works with modern C and modern platforms where enums are not necessarily wide enough, or allowed by the semantics, to hold pointers. M src/microcode/outf.c M src/microcode/outf.h M src/microcode/uxsig.c commit 02b2f1d622bdecda3480dd314d2e4d48ae6bfdaa Author: Chris Hanson Date: Sat Dec 11 20:56:28 2021 -0800 Add make-arity-dispatched-procedure to dependencies for case-lambda. M src/runtime/library-standard.scm commit 06915e9c62fbcd439410c3096b9a4d890db3cd0f Author: Chris Hanson Date: Sun Nov 28 00:26:32 2021 -0800 Add tests for private exports. A tests/runtime/test-library-data/private-exports-example.scm M tests/runtime/test-library-data/support-code.scm M tests/runtime/test-library-ixports.scm M tests/runtime/test-library-parser.scm commit ee99ec924a3b312a868fb07423fe6bb75e45b159 Author: Chris Hanson Date: Sun Nov 28 00:26:03 2021 -0800 Fix typo discovered by testing. M src/runtime/library-parser.scm commit f4a38f819fa0e287b627bf4b416b28dffcb424d9 Author: Chris Hanson Date: Sat Nov 27 16:47:17 2021 -0800 Provide lset-adjoin!. M src/runtime/runtime.pkg commit 7e9312819da329d87da4c554ade1854b0fe7924c Author: Chris Hanson Date: Sat Nov 27 16:47:06 2021 -0800 Fix whitespace. M src/runtime/srfi-1.scm commit fd569bfd2aad198a374381657e91136f4584cf25 Author: Chris Hanson Date: Sun Nov 14 23:01:01 2021 -0800 Fix library bugs for existing test cases. It remains to write tests that exercise the new functionality. M src/runtime/library-database.scm M src/runtime/library-ixports.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-scode.scm M src/runtime/library-standard.scm M tests/runtime/test-library-parser.scm commit 09a6d8d488b461814fa813780b8b4b48fdea48ab Author: Chris Hanson Date: Sun Nov 14 18:21:26 2021 -0800 Fix compilation errors. M src/runtime/library-ixports-mit.scm M src/runtime/library-ixports-r7rs.scm M src/runtime/library-ixports.scm M src/runtime/library-loader.scm commit d028279b2e7f0925b8976272d3172d71756616c2 Author: Chris Hanson Date: Sun Nov 14 02:14:07 2021 -0800 First draft of private exports. M src/runtime/library-database.scm M src/runtime/library-ixports-mit.scm M src/runtime/library-ixports-r7rs.scm M src/runtime/library-ixports.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-scode.scm M src/runtime/runtime.pkg commit e2497487040ba84775fafc50db659eb260299b87 Author: Chris Hanson Date: Thu Nov 4 23:18:46 2021 -0700 Fix strip-syntactic-closures so it handles circularity. M src/runtime/syntax.scm M tests/runtime/test-syntax.scm commit 09a5e00fa9c7d8cd3f1778587a84cef3c50fbd1d Author: Chris Hanson Date: Thu Nov 4 23:02:38 2021 -0700 Rewrite datum label reading to support cyclical references. This works fine in tests, but can't yet be used at the REPL. For example, evaluating '(a #1=(b . #1#)) goes into an infinite loop. This is because the quote syntax calls strip-syntactic-closures, which doesn't handle circularity right. I'll rewrite that soon. M src/runtime/reader.scm M tests/runtime/test-readwrite.scm commit 37cda50d684f4bda0a629ac10a0432d8b4aab31d Author: Chris Hanson Date: Thu Nov 4 21:46:50 2021 -0700 Add tests for change to reading dot. M tests/runtime/test-readwrite.scm commit 784bf1f6e071e68213e949a7829dd8c8417b46e5 Author: Chris Hanson Date: Sun Oct 31 23:17:02 2021 -0700 Fix handling of dot token in reader. The reader was allowing the dot token to appear in places where it is illegal. For example, it could be used in vectors, where it was treated as a symbol, which is explicitly forbidden by R7RS. I changed the reader to never convert the dot token to a symbol, and to only be allowed in the list-parsing context. This revealed that there was an instance of a quoted dot in another file, which again is forbidden. This change may break any code that depends on dot being a symbol. M src/runtime/reader.scm M src/runtime/structure-parser.scm commit decf77e0284e47e5149cdc533ab1b4e527c82031 Author: Chris Hanson Date: Sun Oct 31 16:29:46 2021 -0700 SRFI 219 is supported. M doc/ref-manual/standards.texi commit 3c0287a408fee183d9d52fb12e2dcf9213625559 Author: Chris Hanson Date: Sun Oct 31 16:21:58 2021 -0700 Fix #N= and #N# so that N is composed of ASCII digits. M src/runtime/reader.scm commit b73e759154ca4c68d209c7684aba7650f7921d50 Author: Taylor R Campbell Date: Mon Oct 25 23:03:48 2021 +0000 edwin/sendmail: Don't abbreviate away content-type if not US-ASCII. `Content-type: text/plain; charset=utf-8' is not optional. Fixes a bug I introduced over 12 years ago in a fat-fingered cvs commit with a message about an unrelated change. M src/edwin/sendmail.scm commit 837bb3f1ca75f867e115bf3a195de2f78517dce1 Author: Taylor R Campbell Date: Fri May 7 16:02:08 2021 +0000 microcode: Make definition for chacha_core match declaration. Makes no semantic difference but some compilers object now. M src/microcode/chacha.i commit 41967043bf1019564f0dbcfa61a92773d1e37037 Author: Chris Hanson Date: Sun Apr 11 22:03:47 2021 -0700 Fix wastefulness in grapheme/word breaks. The solution has two parts: the first part is to generate the transitions at a finer grain and using hash consing for new states. The second part is to optimize the resulting diagram by collapsing identical states, which are an unfortunate side effect of the first part. The end result is a much smaller diagram, in which there is never more than one speculative branch introduced for any input code. I haven't measured the performance, but this can't help but be faster just on the basis of the amount of data being manipulated. Now that we have a limit on the speculative branches, it should be possible to optimize the NFA further by supporting at most two branches rather than a list of them. M src/runtime/ucd-segmentation.scm commit ca769bc6e85027156c60c4d699fb581859dd53bc Author: Chris Hanson Date: Sat Apr 10 15:34:28 2021 -0700 Simplify interface to grapheme/word breaks. Don't assume that breaks are generated incrementally, and take advantage of all the breaks being returned in a list. M src/runtime/regexp-nfa.scm M src/runtime/runtime.pkg M src/runtime/string.scm M src/runtime/ucd-grapheme.scm M src/runtime/ucd-segmentation.scm M src/runtime/ucd-word.scm commit 23756ac2eb18256f8b8c6c3ec45310ea70073132 Author: Chris Hanson Date: Mon Mar 15 22:05:25 2021 -0700 Implement grapheme/word-break changes for UCD 13. This is a complete reimplementation of the segmentation code, since the old model wasn't able to cope with the recent changes. There are a couple of problems remaining: 1. The evolver interface was designed to do incremental generation of breaks. The new design doesn't permit that, since it implements an NFA with speculative branches. It could be changed to do the breaks in batches when speculations collapse into certainties, but it is certainly simpler to accept all the breaks at once. 2. The speculative branches are somewhat wasteful: many of them have identical prefixes, which means we're updating several branches in parallel rather than having a shared prefix and splitting branches only when necessary. I'm working on an optimization that will take care of this. M src/runtime/ucd-grapheme.scm M src/runtime/ucd-segmentation.scm M src/runtime/ucd-word.scm commit 146d6bd372b2f31abde89b2fc0859e8cb68b186b Author: Chris Hanson Date: Mon Mar 15 22:03:37 2021 -0700 Update UCD tables to Unicode 13.0.0. This is not yet complete: there are issues with the new grapheme/word break code that I'm still working on. A src/etc/ucd-13/GraphemeBreakTest.txt A src/etc/ucd-13/NormalizationTest.txt A src/etc/ucd-13/WordBreakTest.txt A src/etc/ucd-13/names.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-AHex.scm A src/etc/ucd-13/raw-props/prop-Alpha.scm C079 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-Bidi_C.scm A src/etc/ucd-13/raw-props/prop-Bidi_M.scm A src/etc/ucd-13/raw-props/prop-CE.scm A src/etc/ucd-13/raw-props/prop-CI.scm A src/etc/ucd-13/raw-props/prop-CWCF.scm A src/etc/ucd-13/raw-props/prop-CWCM.scm A src/etc/ucd-13/raw-props/prop-CWKCF.scm A src/etc/ucd-13/raw-props/prop-CWL.scm A src/etc/ucd-13/raw-props/prop-CWT.scm A src/etc/ucd-13/raw-props/prop-CWU.scm A src/etc/ucd-13/raw-props/prop-Cased.scm A src/etc/ucd-13/raw-props/prop-Comp_Ex.scm C054 src/runtime/ucd-table-gc=co.scm src/etc/ucd-13/raw-props/prop-DI.scm C052 src/runtime/ucd-table-gc=co.scm src/etc/ucd-13/raw-props/prop-Dash.scm C072 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-Dep.scm A src/etc/ucd-13/raw-props/prop-Dia.scm A src/etc/ucd-13/raw-props/prop-EBase.scm C066 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-EComp.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-EMod.scm A src/etc/ucd-13/raw-props/prop-EPres.scm A src/etc/ucd-13/raw-props/prop-Emoji.scm A src/etc/ucd-13/raw-props/prop-Ext.scm A src/etc/ucd-13/raw-props/prop-ExtPict.scm A src/etc/ucd-13/raw-props/prop-FC_NFKC.scm A src/etc/ucd-13/raw-props/prop-GCB+EP.scm A src/etc/ucd-13/raw-props/prop-GCB.scm A src/etc/ucd-13/raw-props/prop-Gr_Base.scm A src/etc/ucd-13/raw-props/prop-Gr_Ext.scm A src/etc/ucd-13/raw-props/prop-Gr_Link.scm C074 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-Hex.scm C069 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-Hyphen.scm A src/etc/ucd-13/raw-props/prop-IDC.scm A src/etc/ucd-13/raw-props/prop-IDS.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-IDSB.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-IDST.scm A src/etc/ucd-13/raw-props/prop-Ideo.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-InMC.scm A src/etc/ucd-13/raw-props/prop-InPC.scm A src/etc/ucd-13/raw-props/prop-InSC.scm A src/etc/ucd-13/raw-props/prop-JSN.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-Join_C.scm C072 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-LOE.scm A src/etc/ucd-13/raw-props/prop-Lower.scm A src/etc/ucd-13/raw-props/prop-Math.scm C051 src/runtime/ucd-table-gc=pe.scm src/etc/ucd-13/raw-props/prop-NChar.scm A src/etc/ucd-13/raw-props/prop-NFC_QC.scm A src/etc/ucd-13/raw-props/prop-NFD_QC.scm A src/etc/ucd-13/raw-props/prop-NFKC_CF.scm A src/etc/ucd-13/raw-props/prop-NFKC_QC.scm A src/etc/ucd-13/raw-props/prop-NFKD_QC.scm A src/etc/ucd-13/raw-props/prop-OAlpha.scm C063 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-ODI.scm A src/etc/ucd-13/raw-props/prop-OGr_Ext.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-OIDC.scm C079 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-OIDS.scm C052 src/runtime/ucd-table-gc=co.scm src/etc/ucd-13/raw-props/prop-OLower.scm A src/etc/ucd-13/raw-props/prop-OMath.scm C074 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-OUpper.scm C075 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-PCM.scm A src/etc/ucd-13/raw-props/prop-Pat_Syn.scm C078 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-Pat_WS.scm C062 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-13/raw-props/prop-QMark.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-RI.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-Radical.scm A src/etc/ucd-13/raw-props/prop-SB.scm A src/etc/ucd-13/raw-props/prop-SD.scm A src/etc/ucd-13/raw-props/prop-STerm.scm A src/etc/ucd-13/raw-props/prop-Term.scm C056 src/runtime/ucd-table-gc=co.scm src/etc/ucd-13/raw-props/prop-UIdeo.scm A src/etc/ucd-13/raw-props/prop-Upper.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-VS.scm A src/etc/ucd-13/raw-props/prop-WB+EP.scm A src/etc/ucd-13/raw-props/prop-WB.scm C071 src/runtime/ucd-table-wspace.scm src/etc/ucd-13/raw-props/prop-WSpace.scm A src/etc/ucd-13/raw-props/prop-XIDC.scm A src/etc/ucd-13/raw-props/prop-XIDS.scm A src/etc/ucd-13/raw-props/prop-XO_NFC.scm A src/etc/ucd-13/raw-props/prop-XO_NFD.scm A src/etc/ucd-13/raw-props/prop-XO_NFKC.scm A src/etc/ucd-13/raw-props/prop-XO_NFKD.scm A src/etc/ucd-13/raw-props/prop-age.scm A src/etc/ucd-13/raw-props/prop-bc.scm A src/etc/ucd-13/raw-props/prop-blk.scm A src/etc/ucd-13/raw-props/prop-bmg.scm A src/etc/ucd-13/raw-props/prop-bpb.scm A src/etc/ucd-13/raw-props/prop-bpt.scm A src/etc/ucd-13/raw-props/prop-canonical-cm.scm A src/etc/ucd-13/raw-props/prop-canonical-dm.scm A src/etc/ucd-13/raw-props/prop-ccc.scm A src/etc/ucd-13/raw-props/prop-cf.scm A src/etc/ucd-13/raw-props/prop-dm.scm A src/etc/ucd-13/raw-props/prop-dt.scm A src/etc/ucd-13/raw-props/prop-ea.scm A src/etc/ucd-13/raw-props/prop-gc.scm A src/etc/ucd-13/raw-props/prop-hst.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-13/raw-props/prop-isc.scm A src/etc/ucd-13/raw-props/prop-jg.scm A src/etc/ucd-13/raw-props/prop-jt.scm A src/etc/ucd-13/raw-props/prop-lb.scm A src/etc/ucd-13/raw-props/prop-lc.scm A src/etc/ucd-13/raw-props/prop-na.scm A src/etc/ucd-13/raw-props/prop-na1.scm A src/etc/ucd-13/raw-props/prop-nt.scm A src/etc/ucd-13/raw-props/prop-nv.scm A src/etc/ucd-13/raw-props/prop-sc.scm A src/etc/ucd-13/raw-props/prop-scf.scm A src/etc/ucd-13/raw-props/prop-scx.scm A src/etc/ucd-13/raw-props/prop-slc.scm A src/etc/ucd-13/raw-props/prop-stc.scm A src/etc/ucd-13/raw-props/prop-suc.scm A src/etc/ucd-13/raw-props/prop-tc.scm A src/etc/ucd-13/raw-props/prop-uc.scm A src/etc/ucd-13/raw-props/prop-vo.scm A src/etc/ucd-13/raw-props/version.scm A src/etc/ucd-13/ucd.all.grouped.xml M src/etc/ucd-converter.scm M src/runtime/runtime.pkg M src/runtime/ucd-table-alpha.scm M src/runtime/ucd-table-canonical-cm-second.scm M src/runtime/ucd-table-canonical-cm.scm M src/runtime/ucd-table-canonical-dm.scm M src/runtime/ucd-table-cased.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-comp_ex.scm M src/runtime/ucd-table-cwcf.scm M src/runtime/ucd-table-cwl.scm M src/runtime/ucd-table-cwu.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gc=cc.scm M src/runtime/ucd-table-gc=cf.scm M src/runtime/ucd-table-gc=cn.scm M src/runtime/ucd-table-gc=co.scm M src/runtime/ucd-table-gc=cs.scm M src/runtime/ucd-table-gc=ll.scm M src/runtime/ucd-table-gc=lm.scm M src/runtime/ucd-table-gc=lo.scm M src/runtime/ucd-table-gc=lt.scm M src/runtime/ucd-table-gc=lu.scm M src/runtime/ucd-table-gc=mc.scm M src/runtime/ucd-table-gc=me.scm M src/runtime/ucd-table-gc=mn.scm M src/runtime/ucd-table-gc=nd.scm M src/runtime/ucd-table-gc=nl.scm M src/runtime/ucd-table-gc=no.scm M src/runtime/ucd-table-gc=pc.scm M src/runtime/ucd-table-gc=pd.scm M src/runtime/ucd-table-gc=pe.scm M src/runtime/ucd-table-gc=pf.scm M src/runtime/ucd-table-gc=pi.scm M src/runtime/ucd-table-gc=po.scm M src/runtime/ucd-table-gc=ps.scm M src/runtime/ucd-table-gc=sc.scm M src/runtime/ucd-table-gc=sk.scm M src/runtime/ucd-table-gc=sm.scm M src/runtime/ucd-table-gc=so.scm M src/runtime/ucd-table-gc=zl.scm M src/runtime/ucd-table-gc=zp.scm M src/runtime/ucd-table-gc=zs.scm A src/runtime/ucd-table-gcb+ep.scm D src/runtime/ucd-table-gcb.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-lower.scm M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ucd-table-nfd_qc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nt=de.scm M src/runtime/ucd-table-nt=di.scm M src/runtime/ucd-table-nt=nu.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-upper.scm A src/runtime/ucd-table-wb+ep.scm D src/runtime/ucd-table-wb.scm M src/runtime/ucd-table-wspace.scm M tests/runtime/test-string-normalization-data M tests/runtime/test-ucd-data/test-ucd-grapheme-data M tests/runtime/test-ucd-data/test-ucd-word-data commit 61b55d771bc24aa1989f4bd7623352aa56c79674 Author: Chris Hanson Date: Thu Apr 8 23:51:43 2021 -0700 Handle number specially in string*. This matters because we want to use numbers early enough in the cold load that string ports aren't available yet. M src/runtime/string.scm commit 6fc1108eb294a753e4eafdbc984514954197af37 Author: Chris Hanson Date: Wed Mar 17 22:27:48 2021 -0700 When setting REPL env, don't push old env on stack. M src/runtime/rep.scm commit 9424bffb1f325d8dba6a6b3454324fecd95fb350 Author: Chris Hanson Date: Mon Mar 15 22:05:02 2021 -0700 Change several procedures to comply with R7RS. In particular: * Change map and vector-map to avoid mutating previously returned results when there are multiple returns. * Change list-copy to accept improper lists. * Change vector-map and vector-for-each to stop on the shortest argument list. M src/runtime/list.scm M src/runtime/vector.scm commit c6f496aefebc9213f3a3500287401884dee244ec Author: Chris Hanson Date: Mon Mar 15 21:58:16 2021 -0700 Update reference manual to match R7RS for {,vector-}{map,for-each}. M doc/ref-manual/lists.texi M doc/ref-manual/vectors.texi commit 55032d892e74db3de50a8baf10d237e06fd92b2a Author: Chris Hanson Date: Tue Mar 9 23:14:07 2021 -0800 Write program to convert grapheme/word break test data. Also update the tests for Unicode 10.0.0. A src/etc/ucd-10/GraphemeBreakTest.txt A src/etc/ucd-10/WordBreakTest.txt A src/etc/ucd-9/GraphemeBreakTest.txt A src/etc/ucd-9/NormalizationTest.txt A src/etc/ucd-9/WordBreakTest.txt M src/etc/ucd-converter.scm A tests/runtime/test-ucd-data/test-ucd-grapheme-data A tests/runtime/test-ucd-data/test-ucd-word-data M tests/runtime/test-ucd-grapheme.scm M tests/runtime/test-ucd-word.scm commit a6e487fecd3766d188fb3e13cfb77a0246db859d Author: Chris Hanson Date: Tue Mar 9 23:12:59 2021 -0800 Move prop files from ucd-9 to ucd-9/raw-props. R100 src/etc/ucd-9/prop-AHex.scm src/etc/ucd-9/raw-props/prop-AHex.scm R100 src/etc/ucd-9/prop-Alpha.scm src/etc/ucd-9/raw-props/prop-Alpha.scm R100 src/etc/ucd-9/prop-Bidi_C.scm src/etc/ucd-9/raw-props/prop-Bidi_C.scm R100 src/etc/ucd-9/prop-Bidi_M.scm src/etc/ucd-9/raw-props/prop-Bidi_M.scm R100 src/etc/ucd-9/prop-CE.scm src/etc/ucd-9/raw-props/prop-CE.scm R100 src/etc/ucd-9/prop-CI.scm src/etc/ucd-9/raw-props/prop-CI.scm R100 src/etc/ucd-9/prop-CWCF.scm src/etc/ucd-9/raw-props/prop-CWCF.scm R100 src/etc/ucd-9/prop-CWCM.scm src/etc/ucd-9/raw-props/prop-CWCM.scm R100 src/etc/ucd-9/prop-CWKCF.scm src/etc/ucd-9/raw-props/prop-CWKCF.scm R100 src/etc/ucd-9/prop-CWL.scm src/etc/ucd-9/raw-props/prop-CWL.scm R100 src/etc/ucd-9/prop-CWT.scm src/etc/ucd-9/raw-props/prop-CWT.scm R100 src/etc/ucd-9/prop-CWU.scm src/etc/ucd-9/raw-props/prop-CWU.scm R100 src/etc/ucd-9/prop-Cased.scm src/etc/ucd-9/raw-props/prop-Cased.scm R100 src/etc/ucd-9/prop-Comp_Ex.scm src/etc/ucd-9/raw-props/prop-Comp_Ex.scm R100 src/etc/ucd-9/prop-DI.scm src/etc/ucd-9/raw-props/prop-DI.scm R100 src/etc/ucd-9/prop-Dash.scm src/etc/ucd-9/raw-props/prop-Dash.scm R100 src/etc/ucd-9/prop-Dep.scm src/etc/ucd-9/raw-props/prop-Dep.scm R100 src/etc/ucd-9/prop-Dia.scm src/etc/ucd-9/raw-props/prop-Dia.scm R100 src/etc/ucd-9/prop-Ext.scm src/etc/ucd-9/raw-props/prop-Ext.scm R100 src/etc/ucd-9/prop-FC_NFKC.scm src/etc/ucd-9/raw-props/prop-FC_NFKC.scm R100 src/etc/ucd-9/prop-GCB.scm src/etc/ucd-9/raw-props/prop-GCB.scm R100 src/etc/ucd-9/prop-Gr_Base.scm src/etc/ucd-9/raw-props/prop-Gr_Base.scm R100 src/etc/ucd-9/prop-Gr_Ext.scm src/etc/ucd-9/raw-props/prop-Gr_Ext.scm R100 src/etc/ucd-9/prop-Gr_Link.scm src/etc/ucd-9/raw-props/prop-Gr_Link.scm R100 src/etc/ucd-9/prop-Hex.scm src/etc/ucd-9/raw-props/prop-Hex.scm R100 src/etc/ucd-9/prop-Hyphen.scm src/etc/ucd-9/raw-props/prop-Hyphen.scm R100 src/etc/ucd-9/prop-IDC.scm src/etc/ucd-9/raw-props/prop-IDC.scm R100 src/etc/ucd-9/prop-IDS.scm src/etc/ucd-9/raw-props/prop-IDS.scm R100 src/etc/ucd-9/prop-IDSB.scm src/etc/ucd-9/raw-props/prop-IDSB.scm R100 src/etc/ucd-9/prop-IDST.scm src/etc/ucd-9/raw-props/prop-IDST.scm R100 src/etc/ucd-9/prop-Ideo.scm src/etc/ucd-9/raw-props/prop-Ideo.scm R100 src/etc/ucd-9/prop-InMC.scm src/etc/ucd-9/raw-props/prop-InMC.scm R100 src/etc/ucd-9/prop-InPC.scm src/etc/ucd-9/raw-props/prop-InPC.scm R100 src/etc/ucd-9/prop-InSC.scm src/etc/ucd-9/raw-props/prop-InSC.scm R100 src/etc/ucd-9/prop-JSN.scm src/etc/ucd-9/raw-props/prop-JSN.scm R100 src/etc/ucd-9/prop-Join_C.scm src/etc/ucd-9/raw-props/prop-Join_C.scm R100 src/etc/ucd-9/prop-LOE.scm src/etc/ucd-9/raw-props/prop-LOE.scm R100 src/etc/ucd-9/prop-Lower.scm src/etc/ucd-9/raw-props/prop-Lower.scm R100 src/etc/ucd-9/prop-Math.scm src/etc/ucd-9/raw-props/prop-Math.scm R100 src/etc/ucd-9/prop-NChar.scm src/etc/ucd-9/raw-props/prop-NChar.scm R100 src/etc/ucd-9/prop-NFC_QC.scm src/etc/ucd-9/raw-props/prop-NFC_QC.scm R100 src/etc/ucd-9/prop-NFD_QC.scm src/etc/ucd-9/raw-props/prop-NFD_QC.scm R100 src/etc/ucd-9/prop-NFKC_CF.scm src/etc/ucd-9/raw-props/prop-NFKC_CF.scm R100 src/etc/ucd-9/prop-NFKC_QC.scm src/etc/ucd-9/raw-props/prop-NFKC_QC.scm R100 src/etc/ucd-9/prop-NFKD_QC.scm src/etc/ucd-9/raw-props/prop-NFKD_QC.scm R100 src/etc/ucd-9/prop-OAlpha.scm src/etc/ucd-9/raw-props/prop-OAlpha.scm R100 src/etc/ucd-9/prop-ODI.scm src/etc/ucd-9/raw-props/prop-ODI.scm R100 src/etc/ucd-9/prop-OGr_Ext.scm src/etc/ucd-9/raw-props/prop-OGr_Ext.scm R100 src/etc/ucd-9/prop-OIDC.scm src/etc/ucd-9/raw-props/prop-OIDC.scm R100 src/etc/ucd-9/prop-OIDS.scm src/etc/ucd-9/raw-props/prop-OIDS.scm R100 src/etc/ucd-9/prop-OLower.scm src/etc/ucd-9/raw-props/prop-OLower.scm R100 src/etc/ucd-9/prop-OMath.scm src/etc/ucd-9/raw-props/prop-OMath.scm R100 src/etc/ucd-9/prop-OUpper.scm src/etc/ucd-9/raw-props/prop-OUpper.scm R100 src/etc/ucd-9/prop-PCM.scm src/etc/ucd-9/raw-props/prop-PCM.scm R100 src/etc/ucd-9/prop-Pat_Syn.scm src/etc/ucd-9/raw-props/prop-Pat_Syn.scm R100 src/etc/ucd-9/prop-Pat_WS.scm src/etc/ucd-9/raw-props/prop-Pat_WS.scm R100 src/etc/ucd-9/prop-QMark.scm src/etc/ucd-9/raw-props/prop-QMark.scm R100 src/etc/ucd-9/prop-Radical.scm src/etc/ucd-9/raw-props/prop-Radical.scm R100 src/etc/ucd-9/prop-SB.scm src/etc/ucd-9/raw-props/prop-SB.scm R100 src/etc/ucd-9/prop-SD.scm src/etc/ucd-9/raw-props/prop-SD.scm R100 src/etc/ucd-9/prop-STerm.scm src/etc/ucd-9/raw-props/prop-STerm.scm R100 src/etc/ucd-9/prop-Term.scm src/etc/ucd-9/raw-props/prop-Term.scm R100 src/etc/ucd-9/prop-UIdeo.scm src/etc/ucd-9/raw-props/prop-UIdeo.scm R100 src/etc/ucd-9/prop-Upper.scm src/etc/ucd-9/raw-props/prop-Upper.scm R100 src/etc/ucd-9/prop-VS.scm src/etc/ucd-9/raw-props/prop-VS.scm R100 src/etc/ucd-9/prop-WB.scm src/etc/ucd-9/raw-props/prop-WB.scm R100 src/etc/ucd-9/prop-WSpace.scm src/etc/ucd-9/raw-props/prop-WSpace.scm R100 src/etc/ucd-9/prop-XIDC.scm src/etc/ucd-9/raw-props/prop-XIDC.scm R100 src/etc/ucd-9/prop-XIDS.scm src/etc/ucd-9/raw-props/prop-XIDS.scm R100 src/etc/ucd-9/prop-XO_NFC.scm src/etc/ucd-9/raw-props/prop-XO_NFC.scm R100 src/etc/ucd-9/prop-XO_NFD.scm src/etc/ucd-9/raw-props/prop-XO_NFD.scm R100 src/etc/ucd-9/prop-XO_NFKC.scm src/etc/ucd-9/raw-props/prop-XO_NFKC.scm R100 src/etc/ucd-9/prop-XO_NFKD.scm src/etc/ucd-9/raw-props/prop-XO_NFKD.scm R100 src/etc/ucd-9/prop-age.scm src/etc/ucd-9/raw-props/prop-age.scm R100 src/etc/ucd-9/prop-bc.scm src/etc/ucd-9/raw-props/prop-bc.scm R100 src/etc/ucd-9/prop-blk.scm src/etc/ucd-9/raw-props/prop-blk.scm R100 src/etc/ucd-9/prop-bmg.scm src/etc/ucd-9/raw-props/prop-bmg.scm R100 src/etc/ucd-9/prop-bpb.scm src/etc/ucd-9/raw-props/prop-bpb.scm R100 src/etc/ucd-9/prop-bpt.scm src/etc/ucd-9/raw-props/prop-bpt.scm R100 src/etc/ucd-9/prop-canonical-cm.scm src/etc/ucd-9/raw-props/prop-canonical-cm.scm R100 src/etc/ucd-9/prop-canonical-dm.scm src/etc/ucd-9/raw-props/prop-canonical-dm.scm R100 src/etc/ucd-9/prop-ccc.scm src/etc/ucd-9/raw-props/prop-ccc.scm R100 src/etc/ucd-9/prop-cf.scm src/etc/ucd-9/raw-props/prop-cf.scm R100 src/etc/ucd-9/prop-dm.scm src/etc/ucd-9/raw-props/prop-dm.scm R100 src/etc/ucd-9/prop-dt.scm src/etc/ucd-9/raw-props/prop-dt.scm R100 src/etc/ucd-9/prop-ea.scm src/etc/ucd-9/raw-props/prop-ea.scm R100 src/etc/ucd-9/prop-gc.scm src/etc/ucd-9/raw-props/prop-gc.scm R100 src/etc/ucd-9/prop-hst.scm src/etc/ucd-9/raw-props/prop-hst.scm R100 src/etc/ucd-9/prop-isc.scm src/etc/ucd-9/raw-props/prop-isc.scm R100 src/etc/ucd-9/prop-jg.scm src/etc/ucd-9/raw-props/prop-jg.scm R100 src/etc/ucd-9/prop-jt.scm src/etc/ucd-9/raw-props/prop-jt.scm R100 src/etc/ucd-9/prop-lb.scm src/etc/ucd-9/raw-props/prop-lb.scm R100 src/etc/ucd-9/prop-lc.scm src/etc/ucd-9/raw-props/prop-lc.scm R100 src/etc/ucd-9/prop-na.scm src/etc/ucd-9/raw-props/prop-na.scm R100 src/etc/ucd-9/prop-na1.scm src/etc/ucd-9/raw-props/prop-na1.scm R100 src/etc/ucd-9/prop-nt.scm src/etc/ucd-9/raw-props/prop-nt.scm R100 src/etc/ucd-9/prop-nv.scm src/etc/ucd-9/raw-props/prop-nv.scm R100 src/etc/ucd-9/prop-sc.scm src/etc/ucd-9/raw-props/prop-sc.scm R100 src/etc/ucd-9/prop-scf.scm src/etc/ucd-9/raw-props/prop-scf.scm R100 src/etc/ucd-9/prop-scx.scm src/etc/ucd-9/raw-props/prop-scx.scm R100 src/etc/ucd-9/prop-slc.scm src/etc/ucd-9/raw-props/prop-slc.scm R100 src/etc/ucd-9/prop-stc.scm src/etc/ucd-9/raw-props/prop-stc.scm R100 src/etc/ucd-9/prop-suc.scm src/etc/ucd-9/raw-props/prop-suc.scm R100 src/etc/ucd-9/prop-tc.scm src/etc/ucd-9/raw-props/prop-tc.scm R100 src/etc/ucd-9/prop-uc.scm src/etc/ucd-9/raw-props/prop-uc.scm R100 src/etc/ucd-9/version.scm src/etc/ucd-9/raw-props/version.scm commit 992bfb65fbd70dfebd4a739f20d40a444383aaa7 Author: Chris Hanson Date: Sun Mar 7 15:07:56 2021 -0800 Update runtime system to Unicode 10.0.0. A src/etc/ucd-10/NormalizationTest.txt A src/etc/ucd-10/names.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-AHex.scm A src/etc/ucd-10/raw-props/prop-Alpha.scm C079 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-Bidi_C.scm A src/etc/ucd-10/raw-props/prop-Bidi_M.scm A src/etc/ucd-10/raw-props/prop-CE.scm A src/etc/ucd-10/raw-props/prop-CI.scm A src/etc/ucd-10/raw-props/prop-CWCF.scm A src/etc/ucd-10/raw-props/prop-CWCM.scm A src/etc/ucd-10/raw-props/prop-CWKCF.scm A src/etc/ucd-10/raw-props/prop-CWL.scm A src/etc/ucd-10/raw-props/prop-CWT.scm A src/etc/ucd-10/raw-props/prop-CWU.scm A src/etc/ucd-10/raw-props/prop-Cased.scm A src/etc/ucd-10/raw-props/prop-Comp_Ex.scm C054 src/runtime/ucd-table-gc=co.scm src/etc/ucd-10/raw-props/prop-DI.scm C054 src/runtime/ucd-table-gc=sc.scm src/etc/ucd-10/raw-props/prop-Dash.scm C072 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-Dep.scm A src/etc/ucd-10/raw-props/prop-Dia.scm A src/etc/ucd-10/raw-props/prop-Ext.scm A src/etc/ucd-10/raw-props/prop-FC_NFKC.scm A src/etc/ucd-10/raw-props/prop-GCB.scm A src/etc/ucd-10/raw-props/prop-Gr_Base.scm A src/etc/ucd-10/raw-props/prop-Gr_Ext.scm A src/etc/ucd-10/raw-props/prop-Gr_Link.scm C074 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-Hex.scm C069 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-Hyphen.scm A src/etc/ucd-10/raw-props/prop-IDC.scm A src/etc/ucd-10/raw-props/prop-IDS.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-IDSB.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-IDST.scm C053 src/runtime/ucd-table-gc=co.scm src/etc/ucd-10/raw-props/prop-Ideo.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-InMC.scm A src/etc/ucd-10/raw-props/prop-InPC.scm A src/etc/ucd-10/raw-props/prop-InSC.scm A src/etc/ucd-10/raw-props/prop-JSN.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-Join_C.scm C072 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-LOE.scm A src/etc/ucd-10/raw-props/prop-Lower.scm A src/etc/ucd-10/raw-props/prop-Math.scm C051 src/runtime/ucd-table-gc=pe.scm src/etc/ucd-10/raw-props/prop-NChar.scm A src/etc/ucd-10/raw-props/prop-NFC_QC.scm A src/etc/ucd-10/raw-props/prop-NFD_QC.scm A src/etc/ucd-10/raw-props/prop-NFKC_CF.scm A src/etc/ucd-10/raw-props/prop-NFKC_QC.scm A src/etc/ucd-10/raw-props/prop-NFKD_QC.scm A src/etc/ucd-10/raw-props/prop-OAlpha.scm C063 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-ODI.scm C050 src/runtime/ucd-table-gc=co.scm src/etc/ucd-10/raw-props/prop-OGr_Ext.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-OIDC.scm C079 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-OIDS.scm C052 src/runtime/ucd-table-gc=co.scm src/etc/ucd-10/raw-props/prop-OLower.scm A src/etc/ucd-10/raw-props/prop-OMath.scm C074 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-OUpper.scm C077 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-PCM.scm A src/etc/ucd-10/raw-props/prop-Pat_Syn.scm C078 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-Pat_WS.scm C062 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-QMark.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-RI.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-Radical.scm A src/etc/ucd-10/raw-props/prop-SB.scm A src/etc/ucd-10/raw-props/prop-SD.scm A src/etc/ucd-10/raw-props/prop-STerm.scm A src/etc/ucd-10/raw-props/prop-Term.scm C058 src/runtime/ucd-table-gc=cs.scm src/etc/ucd-10/raw-props/prop-UIdeo.scm A src/etc/ucd-10/raw-props/prop-Upper.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-VS.scm A src/etc/ucd-10/raw-props/prop-WB.scm C071 src/runtime/ucd-table-wspace.scm src/etc/ucd-10/raw-props/prop-WSpace.scm A src/etc/ucd-10/raw-props/prop-XIDC.scm A src/etc/ucd-10/raw-props/prop-XIDS.scm A src/etc/ucd-10/raw-props/prop-XO_NFC.scm A src/etc/ucd-10/raw-props/prop-XO_NFD.scm A src/etc/ucd-10/raw-props/prop-XO_NFKC.scm A src/etc/ucd-10/raw-props/prop-XO_NFKD.scm A src/etc/ucd-10/raw-props/prop-age.scm A src/etc/ucd-10/raw-props/prop-bc.scm A src/etc/ucd-10/raw-props/prop-blk.scm A src/etc/ucd-10/raw-props/prop-bmg.scm A src/etc/ucd-10/raw-props/prop-bpb.scm A src/etc/ucd-10/raw-props/prop-bpt.scm A src/etc/ucd-10/raw-props/prop-canonical-cm.scm A src/etc/ucd-10/raw-props/prop-canonical-dm.scm A src/etc/ucd-10/raw-props/prop-ccc.scm A src/etc/ucd-10/raw-props/prop-cf.scm A src/etc/ucd-10/raw-props/prop-dm.scm A src/etc/ucd-10/raw-props/prop-dt.scm A src/etc/ucd-10/raw-props/prop-ea.scm A src/etc/ucd-10/raw-props/prop-gc.scm A src/etc/ucd-10/raw-props/prop-hst.scm C080 src/runtime/ucd-table-gc=zl.scm src/etc/ucd-10/raw-props/prop-isc.scm A src/etc/ucd-10/raw-props/prop-jg.scm A src/etc/ucd-10/raw-props/prop-jt.scm A src/etc/ucd-10/raw-props/prop-lb.scm A src/etc/ucd-10/raw-props/prop-lc.scm A src/etc/ucd-10/raw-props/prop-na.scm A src/etc/ucd-10/raw-props/prop-na1.scm A src/etc/ucd-10/raw-props/prop-nt.scm A src/etc/ucd-10/raw-props/prop-nv.scm A src/etc/ucd-10/raw-props/prop-sc.scm A src/etc/ucd-10/raw-props/prop-scf.scm A src/etc/ucd-10/raw-props/prop-scx.scm A src/etc/ucd-10/raw-props/prop-slc.scm A src/etc/ucd-10/raw-props/prop-stc.scm A src/etc/ucd-10/raw-props/prop-suc.scm A src/etc/ucd-10/raw-props/prop-tc.scm A src/etc/ucd-10/raw-props/prop-uc.scm A src/etc/ucd-10/raw-props/prop-vo.scm A src/etc/ucd-10/raw-props/version.scm A src/etc/ucd-10/ucd.all.grouped.xml M src/runtime/ucd-table-alpha.scm M src/runtime/ucd-table-canonical-cm-second.scm M src/runtime/ucd-table-canonical-cm.scm M src/runtime/ucd-table-canonical-dm.scm M src/runtime/ucd-table-cased.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-comp_ex.scm M src/runtime/ucd-table-cwcf.scm M src/runtime/ucd-table-cwl.scm M src/runtime/ucd-table-cwu.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gc=cc.scm M src/runtime/ucd-table-gc=cf.scm M src/runtime/ucd-table-gc=cn.scm M src/runtime/ucd-table-gc=co.scm M src/runtime/ucd-table-gc=cs.scm M src/runtime/ucd-table-gc=ll.scm M src/runtime/ucd-table-gc=lm.scm M src/runtime/ucd-table-gc=lo.scm M src/runtime/ucd-table-gc=lt.scm M src/runtime/ucd-table-gc=lu.scm M src/runtime/ucd-table-gc=mc.scm M src/runtime/ucd-table-gc=me.scm M src/runtime/ucd-table-gc=mn.scm M src/runtime/ucd-table-gc=nd.scm M src/runtime/ucd-table-gc=nl.scm M src/runtime/ucd-table-gc=no.scm M src/runtime/ucd-table-gc=pc.scm M src/runtime/ucd-table-gc=pd.scm M src/runtime/ucd-table-gc=pe.scm M src/runtime/ucd-table-gc=pf.scm M src/runtime/ucd-table-gc=pi.scm M src/runtime/ucd-table-gc=po.scm M src/runtime/ucd-table-gc=ps.scm M src/runtime/ucd-table-gc=sc.scm M src/runtime/ucd-table-gc=sk.scm M src/runtime/ucd-table-gc=sm.scm M src/runtime/ucd-table-gc=so.scm M src/runtime/ucd-table-gc=zl.scm M src/runtime/ucd-table-gc=zp.scm M src/runtime/ucd-table-gc=zs.scm M src/runtime/ucd-table-gcb.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-lower.scm M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ucd-table-nfd_qc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nt=de.scm M src/runtime/ucd-table-nt=di.scm M src/runtime/ucd-table-nt=nu.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-upper.scm M src/runtime/ucd-table-wb.scm M src/runtime/ucd-table-wspace.scm M tests/runtime/test-string-normalization-data commit b154adb7d56e52a287175a1af08522de1284a336 Author: Chris Hanson Date: Sat Mar 6 15:16:34 2021 -0800 Update to work with recent Scheme versions and prepare for newer UCD. Also simplify the process a little, support version-specific output directories, and add converter for normalization test data. M src/etc/ucd-converter.scm commit e0fa1fbec71900a7cb7eaf45b2e2fe79ebbcd795 Author: Chris Hanson Date: Sat Mar 6 13:54:20 2021 -0800 Move ucd-raw-props into a version-specific directory. R100 src/etc/ucd-raw-props/names.scm src/etc/ucd-9/names.scm R100 src/etc/ucd-raw-props/prop-AHex.scm src/etc/ucd-9/prop-AHex.scm R100 src/etc/ucd-raw-props/prop-Alpha.scm src/etc/ucd-9/prop-Alpha.scm R100 src/etc/ucd-raw-props/prop-Bidi_C.scm src/etc/ucd-9/prop-Bidi_C.scm R100 src/etc/ucd-raw-props/prop-Bidi_M.scm src/etc/ucd-9/prop-Bidi_M.scm R100 src/etc/ucd-raw-props/prop-CE.scm src/etc/ucd-9/prop-CE.scm R100 src/etc/ucd-raw-props/prop-CI.scm src/etc/ucd-9/prop-CI.scm R100 src/etc/ucd-raw-props/prop-CWCF.scm src/etc/ucd-9/prop-CWCF.scm R100 src/etc/ucd-raw-props/prop-CWCM.scm src/etc/ucd-9/prop-CWCM.scm R100 src/etc/ucd-raw-props/prop-CWKCF.scm src/etc/ucd-9/prop-CWKCF.scm R100 src/etc/ucd-raw-props/prop-CWL.scm src/etc/ucd-9/prop-CWL.scm R100 src/etc/ucd-raw-props/prop-CWT.scm src/etc/ucd-9/prop-CWT.scm R100 src/etc/ucd-raw-props/prop-CWU.scm src/etc/ucd-9/prop-CWU.scm R100 src/etc/ucd-raw-props/prop-Cased.scm src/etc/ucd-9/prop-Cased.scm R100 src/etc/ucd-raw-props/prop-Comp_Ex.scm src/etc/ucd-9/prop-Comp_Ex.scm R100 src/etc/ucd-raw-props/prop-DI.scm src/etc/ucd-9/prop-DI.scm R100 src/etc/ucd-raw-props/prop-Dash.scm src/etc/ucd-9/prop-Dash.scm R100 src/etc/ucd-raw-props/prop-Dep.scm src/etc/ucd-9/prop-Dep.scm R100 src/etc/ucd-raw-props/prop-Dia.scm src/etc/ucd-9/prop-Dia.scm R100 src/etc/ucd-raw-props/prop-Ext.scm src/etc/ucd-9/prop-Ext.scm R100 src/etc/ucd-raw-props/prop-FC_NFKC.scm src/etc/ucd-9/prop-FC_NFKC.scm R100 src/etc/ucd-raw-props/prop-GCB.scm src/etc/ucd-9/prop-GCB.scm R100 src/etc/ucd-raw-props/prop-Gr_Base.scm src/etc/ucd-9/prop-Gr_Base.scm R100 src/etc/ucd-raw-props/prop-Gr_Ext.scm src/etc/ucd-9/prop-Gr_Ext.scm R100 src/etc/ucd-raw-props/prop-Gr_Link.scm src/etc/ucd-9/prop-Gr_Link.scm R100 src/etc/ucd-raw-props/prop-Hex.scm src/etc/ucd-9/prop-Hex.scm R100 src/etc/ucd-raw-props/prop-Hyphen.scm src/etc/ucd-9/prop-Hyphen.scm R100 src/etc/ucd-raw-props/prop-IDC.scm src/etc/ucd-9/prop-IDC.scm R100 src/etc/ucd-raw-props/prop-IDS.scm src/etc/ucd-9/prop-IDS.scm R100 src/etc/ucd-raw-props/prop-IDSB.scm src/etc/ucd-9/prop-IDSB.scm R100 src/etc/ucd-raw-props/prop-IDST.scm src/etc/ucd-9/prop-IDST.scm R100 src/etc/ucd-raw-props/prop-Ideo.scm src/etc/ucd-9/prop-Ideo.scm R100 src/etc/ucd-raw-props/prop-InMC.scm src/etc/ucd-9/prop-InMC.scm R100 src/etc/ucd-raw-props/prop-InPC.scm src/etc/ucd-9/prop-InPC.scm R100 src/etc/ucd-raw-props/prop-InSC.scm src/etc/ucd-9/prop-InSC.scm R100 src/etc/ucd-raw-props/prop-JSN.scm src/etc/ucd-9/prop-JSN.scm R100 src/etc/ucd-raw-props/prop-Join_C.scm src/etc/ucd-9/prop-Join_C.scm R100 src/etc/ucd-raw-props/prop-LOE.scm src/etc/ucd-9/prop-LOE.scm R100 src/etc/ucd-raw-props/prop-Lower.scm src/etc/ucd-9/prop-Lower.scm R100 src/etc/ucd-raw-props/prop-Math.scm src/etc/ucd-9/prop-Math.scm R100 src/etc/ucd-raw-props/prop-NChar.scm src/etc/ucd-9/prop-NChar.scm R100 src/etc/ucd-raw-props/prop-NFC_QC.scm src/etc/ucd-9/prop-NFC_QC.scm R100 src/etc/ucd-raw-props/prop-NFD_QC.scm src/etc/ucd-9/prop-NFD_QC.scm R100 src/etc/ucd-raw-props/prop-NFKC_CF.scm src/etc/ucd-9/prop-NFKC_CF.scm R100 src/etc/ucd-raw-props/prop-NFKC_QC.scm src/etc/ucd-9/prop-NFKC_QC.scm R100 src/etc/ucd-raw-props/prop-NFKD_QC.scm src/etc/ucd-9/prop-NFKD_QC.scm R100 src/etc/ucd-raw-props/prop-OAlpha.scm src/etc/ucd-9/prop-OAlpha.scm R100 src/etc/ucd-raw-props/prop-ODI.scm src/etc/ucd-9/prop-ODI.scm R100 src/etc/ucd-raw-props/prop-OGr_Ext.scm src/etc/ucd-9/prop-OGr_Ext.scm R100 src/etc/ucd-raw-props/prop-OIDC.scm src/etc/ucd-9/prop-OIDC.scm R100 src/etc/ucd-raw-props/prop-OIDS.scm src/etc/ucd-9/prop-OIDS.scm R100 src/etc/ucd-raw-props/prop-OLower.scm src/etc/ucd-9/prop-OLower.scm R100 src/etc/ucd-raw-props/prop-OMath.scm src/etc/ucd-9/prop-OMath.scm R100 src/etc/ucd-raw-props/prop-OUpper.scm src/etc/ucd-9/prop-OUpper.scm R100 src/etc/ucd-raw-props/prop-PCM.scm src/etc/ucd-9/prop-PCM.scm R100 src/etc/ucd-raw-props/prop-Pat_Syn.scm src/etc/ucd-9/prop-Pat_Syn.scm R100 src/etc/ucd-raw-props/prop-Pat_WS.scm src/etc/ucd-9/prop-Pat_WS.scm R100 src/etc/ucd-raw-props/prop-QMark.scm src/etc/ucd-9/prop-QMark.scm R100 src/etc/ucd-raw-props/prop-Radical.scm src/etc/ucd-9/prop-Radical.scm R100 src/etc/ucd-raw-props/prop-SB.scm src/etc/ucd-9/prop-SB.scm R100 src/etc/ucd-raw-props/prop-SD.scm src/etc/ucd-9/prop-SD.scm R100 src/etc/ucd-raw-props/prop-STerm.scm src/etc/ucd-9/prop-STerm.scm R100 src/etc/ucd-raw-props/prop-Term.scm src/etc/ucd-9/prop-Term.scm R100 src/etc/ucd-raw-props/prop-UIdeo.scm src/etc/ucd-9/prop-UIdeo.scm R100 src/etc/ucd-raw-props/prop-Upper.scm src/etc/ucd-9/prop-Upper.scm R100 src/etc/ucd-raw-props/prop-VS.scm src/etc/ucd-9/prop-VS.scm R100 src/etc/ucd-raw-props/prop-WB.scm src/etc/ucd-9/prop-WB.scm R100 src/etc/ucd-raw-props/prop-WSpace.scm src/etc/ucd-9/prop-WSpace.scm R100 src/etc/ucd-raw-props/prop-XIDC.scm src/etc/ucd-9/prop-XIDC.scm R100 src/etc/ucd-raw-props/prop-XIDS.scm src/etc/ucd-9/prop-XIDS.scm R100 src/etc/ucd-raw-props/prop-XO_NFC.scm src/etc/ucd-9/prop-XO_NFC.scm R100 src/etc/ucd-raw-props/prop-XO_NFD.scm src/etc/ucd-9/prop-XO_NFD.scm R100 src/etc/ucd-raw-props/prop-XO_NFKC.scm src/etc/ucd-9/prop-XO_NFKC.scm R100 src/etc/ucd-raw-props/prop-XO_NFKD.scm src/etc/ucd-9/prop-XO_NFKD.scm R100 src/etc/ucd-raw-props/prop-age.scm src/etc/ucd-9/prop-age.scm R100 src/etc/ucd-raw-props/prop-bc.scm src/etc/ucd-9/prop-bc.scm R100 src/etc/ucd-raw-props/prop-blk.scm src/etc/ucd-9/prop-blk.scm R100 src/etc/ucd-raw-props/prop-bmg.scm src/etc/ucd-9/prop-bmg.scm R100 src/etc/ucd-raw-props/prop-bpb.scm src/etc/ucd-9/prop-bpb.scm R100 src/etc/ucd-raw-props/prop-bpt.scm src/etc/ucd-9/prop-bpt.scm R100 src/etc/ucd-raw-props/prop-canonical-cm.scm src/etc/ucd-9/prop-canonical-cm.scm R100 src/etc/ucd-raw-props/prop-canonical-dm.scm src/etc/ucd-9/prop-canonical-dm.scm R100 src/etc/ucd-raw-props/prop-ccc.scm src/etc/ucd-9/prop-ccc.scm R100 src/etc/ucd-raw-props/prop-cf.scm src/etc/ucd-9/prop-cf.scm R100 src/etc/ucd-raw-props/prop-dm.scm src/etc/ucd-9/prop-dm.scm R100 src/etc/ucd-raw-props/prop-dt.scm src/etc/ucd-9/prop-dt.scm R100 src/etc/ucd-raw-props/prop-ea.scm src/etc/ucd-9/prop-ea.scm R100 src/etc/ucd-raw-props/prop-gc.scm src/etc/ucd-9/prop-gc.scm R100 src/etc/ucd-raw-props/prop-hst.scm src/etc/ucd-9/prop-hst.scm R100 src/etc/ucd-raw-props/prop-isc.scm src/etc/ucd-9/prop-isc.scm R100 src/etc/ucd-raw-props/prop-jg.scm src/etc/ucd-9/prop-jg.scm R100 src/etc/ucd-raw-props/prop-jt.scm src/etc/ucd-9/prop-jt.scm R100 src/etc/ucd-raw-props/prop-lb.scm src/etc/ucd-9/prop-lb.scm R100 src/etc/ucd-raw-props/prop-lc.scm src/etc/ucd-9/prop-lc.scm R100 src/etc/ucd-raw-props/prop-na.scm src/etc/ucd-9/prop-na.scm R100 src/etc/ucd-raw-props/prop-na1.scm src/etc/ucd-9/prop-na1.scm R100 src/etc/ucd-raw-props/prop-nt.scm src/etc/ucd-9/prop-nt.scm R100 src/etc/ucd-raw-props/prop-nv.scm src/etc/ucd-9/prop-nv.scm R100 src/etc/ucd-raw-props/prop-sc.scm src/etc/ucd-9/prop-sc.scm R100 src/etc/ucd-raw-props/prop-scf.scm src/etc/ucd-9/prop-scf.scm R100 src/etc/ucd-raw-props/prop-scx.scm src/etc/ucd-9/prop-scx.scm R100 src/etc/ucd-raw-props/prop-slc.scm src/etc/ucd-9/prop-slc.scm R100 src/etc/ucd-raw-props/prop-stc.scm src/etc/ucd-9/prop-stc.scm R100 src/etc/ucd-raw-props/prop-suc.scm src/etc/ucd-9/prop-suc.scm R100 src/etc/ucd-raw-props/prop-tc.scm src/etc/ucd-9/prop-tc.scm R100 src/etc/ucd-raw-props/prop-uc.scm src/etc/ucd-9/prop-uc.scm R100 src/etc/ucd-raw-props/ucd.all.grouped.xml src/etc/ucd-9/ucd.all.grouped.xml R100 src/etc/ucd-raw-props/version.scm src/etc/ucd-9/version.scm commit e3e581eadcfc82d266d4aa469fe53f1fd385e4a3 Author: Chris Hanson Date: Sat Mar 6 13:49:44 2021 -0800 Add parameter to force printer to use ASCII. This is needed for the UCD converter, when converting newer versions of UCD. Otherwise the output could contain characters that can't be read by the host Scheme reader, since they didn't exist in that version. M src/runtime/printer.scm M src/runtime/runtime.pkg commit d147c3907dfc1bde56b854bd1fe3c3714bab41c3 Author: Chris Hanson Date: Sat Mar 6 16:39:35 2021 -0800 Fix two bugs in SRFI 115 support. M src/runtime/mit-macros.scm M src/runtime/regexp-nfa.scm commit 9ac4651790007a3679e7d455caf6813197946d5a Author: Chris Hanson Date: Sun Feb 21 23:12:14 2021 -0800 Remove NFC restrictions on string match/search. It's a bad idea to do this without canonicalization, but it's up to the programmer to make sure they handle canonicalization when needed. M doc/ref-manual/strings.texi M src/runtime/regsexp.scm M src/runtime/srfi-115.scm M src/runtime/string.scm commit aaf378232916c8a9f7b7de358dfc5e349c9a146c Author: Chris Hanson Date: Sun Feb 21 00:07:22 2021 -0800 Partially undo some tweaks in nfs-composer. This restored remove-combiner!, which is an optimized version of delq! that takes advantage of the removed object being unique. It also changes cs* to combiners* to emphasize that this is the full list of combiners and not the one we're scanning through. M src/runtime/string.scm commit 26cd9c91cfa4fae19532446c5430a5e017474f4d Author: Chris Hanson Date: Sat Feb 20 00:30:52 2021 -0800 Reimplement normalization to use generators and be incremental. This will allow a normalizer to be plugged in front of textual port to normalize the input without reading all the it first. This will make it easy to fix #58893. M src/runtime/runtime.pkg M src/runtime/string.scm commit d2ae9c63b490ad2ce4910663b19e39249969bfeb Author: Chris Hanson Date: Sat Feb 20 00:30:23 2021 -0800 Implement gpeeker, which implements peek-ahead for a generator. M src/runtime/generator.scm M src/runtime/runtime.pkg commit 4e0691021b9274bed715e1a372bd10c84bf8dabc Author: Chris Hanson Date: Sat Feb 20 00:29:15 2021 -0800 Fix typo. This shouldn't have hidden any bugs. M tests/runtime/test-string-normalization.scm commit 108c22580da88ad74deec6ce5889d61909dc53b5 Author: Chris Hanson Date: Fri Feb 19 15:43:07 2021 -0800 Now that library compilation is fixed, simplify this script. M src/libraries/compile.scm commit 65782f775195b5ab383183a323e2423072303c1e Author: Chris Hanson Date: Fri Feb 19 15:42:39 2021 -0800 Document the import REPL escape. M doc/user-manual/user.texinfo commit adab6b86495b0a339a289c687b0e4fb66ce0ee84 Author: Chris Hanson Date: Fri Feb 19 00:52:34 2021 -0800 Eliminate import! in favor of a REPL directive. M src/runtime/library-loader.scm M src/runtime/rep-ui.scm M src/runtime/runtime.pkg M tests/load.scm commit 33f0a90909898f46af579ffb67c06d4cbfd1e81f Author: Chris Hanson Date: Fri Feb 19 00:13:27 2021 -0800 Allow syntax definitions to be exported from libraries. M src/runtime/syntax-environment.scm commit 48b6043579afe872e0ccc9fbed5b0b023648e341 Author: Chris Hanson Date: Thu Feb 18 19:38:41 2021 -0800 Don't flush parsed-contents when preregistering. It is needed for loading libraries as source. M src/runtime/library-database.scm commit 6c1081cbc39a15cf9326f8632b209fb5c856ff91 Author: Chris Hanson Date: Thu Feb 18 00:15:30 2021 -0800 Don't capture unbound identifiers in sealed syntactic env. This causes lots of spurious warnings to be generated. M src/runtime/syntax-environment.scm commit 30166b4fd697a329b8fe4ad565b300bb570d5c6a Author: Chris Hanson Date: Wed Feb 17 23:43:12 2021 -0800 Eliminate redundant argument to senv-store. M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm commit 34c53e28f5b92e6578ce9e74bdc917ff89889b5b Author: Chris Hanson Date: Wed Feb 17 23:40:18 2021 -0800 Always use new library DB for R7RS source. M src/sf/toplev.scm commit 9dceb24dfb790304c751cc943d8c4ada53bddb76 Author: Chris Hanson Date: Wed Feb 17 20:21:00 2021 -0800 Fix spurious unbound-variable warning. M src/runtime/make.scm commit d236a7dfc6df5e85e8af83c8ba80fc067bfe84ca Author: Chris Hanson Date: Mon Feb 15 20:04:22 2021 -0800 Don't signal error if debugging info not found. M src/runtime/infutl.scm commit b5378f180ba4e2685d8fca58d1e2e20f4c62b893 Author: Chris Hanson Date: Sun Feb 14 22:45:40 2021 -0800 Eliminate compiler warning. M src/x11/x11-shim.h commit 0db6a7b19baa1b327f6656832c193ff072aa5286 Author: Chris Hanson Date: Sun Feb 14 22:45:11 2021 -0800 Fix problem with fallthrough attribute on macos 10.x. M src/microcode/confshared.h commit fcc5e566934b8a1f751e8cf0e5831206ea8a63af Author: Taylor R Campbell Date: Sat Feb 13 16:30:21 2021 +0000 runtime/arith: Factor out loop call in logsumexp. No functional change. M src/runtime/arith.scm commit 8866f0e134d80474e67f69bd5c432eeb5b74e0e1 Author: Arthur A. Gleckler Date: Thu Feb 11 21:45:54 2021 -0800 Fix `cond-expand' inside `define-library'. M src/runtime/library-parser.scm commit 475efc008f78c2468437136dfff4f5975aea9e1a Author: Taylor R Campbell Date: Thu Feb 11 17:30:33 2021 +0000 runtime: Stop blowing out the stack in list operations. Exceptions: unzipN, unfold, pair-fold-right (not for any good reason, I just got bored writing tests). Note: This has the effect that internal continuations in many of the higher-order procedures may be destructive even if the procedures themselves are otherwise nondestructive. No clear guidance in SRFI 1 about it. However, it's just a matter of substituting reverse for reverse! in all of these if this turns out to be a problem (but if you do make this change, please write an automatic test that verifies it). M src/runtime/srfi-1.scm M tests/runtime/test-list.scm commit 7c8a3e1991c7647c7afdf8dcf851cfba6706df1d Author: Taylor R Campbell Date: Thu Feb 11 17:15:31 2021 +0000 Say why the delete-duplicates test is disabled. M tests/runtime/test-list.scm commit e889dce042a538b0ab4d140d2f802b5910583e23 Author: Taylor R Campbell Date: Thu Feb 11 16:48:55 2021 +0000 Add some more list operation tests. M tests/runtime/test-list.scm commit fcc221d84b9b81efa1089c6a88159b71d320c700 Author: Taylor R Campbell Date: Thu Feb 11 15:50:28 2021 +0000 tests/runtime: Test blowing the stack with more list operations. M tests/runtime/test-list.scm commit 49b271f3e1d0af77c3d48cd8eba801ae2cee704f Author: Taylor R Campbell Date: Thu Feb 11 15:26:31 2021 +0000 Clarify logsumexp comments. M src/runtime/arith.scm commit 270906e82f3bd3e6dfd9892d2fb085576e321a75 Author: Taylor R Campbell Date: Thu Feb 11 04:58:13 2021 +0000 Fix comments in logsumexp. M src/runtime/arith.scm commit fc747b66302b64ab18e3cfe640ee5a4c232f4151 Author: Taylor R Campbell Date: Thu Feb 11 04:48:04 2021 +0000 Fix accuracy and nonsensical logic for edge cases in logsumexp. (What was I thinking?!?) M doc/ref-manual/numbers.texi M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 1030084696b7dd118a1c6a1e323d3d7be74ebf22 Author: Taylor R Campbell Date: Thu Feb 11 04:17:04 2021 +0000 Fix various logsumexp tests. - logsumexp{..., -inf, +inf, ...} = log(... + e^-inf + e^+inf + ...) = log(... + 0 + inf + ...) = inf, not NaN. - logsumexp(log(tiny1) + log(1 + tiny2)) = log(1 + tiny1 + tiny2), requires log1p to compute precisely. M tests/runtime/test-arith.scm commit df76fc0ecbbc6bd0a0afc641abf655e86398d2b0 Author: Taylor R Campbell Date: Thu Feb 4 17:02:36 2021 +0000 microcode: Use fallthrough attribute on clang 10 and 11 too. M src/microcode/confshared.h commit 43ea2feb108135921eea80228c9797e95676209e Author: Taylor R Campbell Date: Wed Feb 3 23:04:35 2021 +0000 microcode: Skip feget/enable/disableexcept on Apple aarch64. We can implement these on x86 where the hardware supports it, but aarch64 hardware generally doesn't anyway so there's no point. M src/microcode/floenv.h commit 86ca461c105cf008b5b8a81969b894f97a6fce5b Author: Taylor R Campbell Date: Wed Feb 3 23:00:51 2021 +0000 microcode/aarch64: Disable m4 comments so we can expand after #. M src/microcode/cmpauxmd/aarch64.m4 commit 73081a7cce8c8ee9facfbba35da16c468799354b Author: Taylor R Campbell Date: Wed Feb 3 22:57:11 2021 +0000 microcode/aarch64: Use SYMBOL in ADRL to get leading _ if needed. M src/microcode/cmpauxmd/aarch64.m4 commit 28e237b3ec0c2be9367613e1e3373d2ea4d312f9 Author: Taylor R Campbell Date: Wed Feb 3 22:52:25 2021 +0000 microcode: Stop translating @ to $ in asm. Whatever assembler needed this is no longer relevant, and it breaks arm relocations with Apple's assembler. M src/microcode/makegen/m4.sh commit 80b43c68402930a68ca44445710bc436d49f2a1b Author: Taylor R Campbell Date: Wed Feb 3 22:38:33 2021 +0000 microcode/aarch64: Reverse sense of __APPLE__ conditional. M src/microcode/cmpauxmd/aarch64.m4 commit d102b20a4634882ee3e1c2be300f77b2ca507655 Author: Taylor R Campbell Date: Wed Feb 3 15:55:26 2021 +0000 ref-manual: Undeprecate with-working-directory-pathname. The mechanism of working-directory-pathname as a parameter doesn't work very well -- it leaves bogus pathnames around in bands, and it doesn't really match the OS semantics anyway. If we simply try to use a parameter getter, (define (wd-getter pathname) (or pathname (pathname-simplify ... (ucode-primitive working-directory-pathname) ...)) (define working-directory-pathname (make-general-parameter ... wd-getter ...)) then when the REPL tries to preserve the working directory pathname with (parameterize ((working-directory-pathname (working-directory-pathname))) ...) it has the side effect of keeping the pathname persistently in bands again. I tried to find a way around, but really the mechanism of storing a pathname in userland memory is just not a good way to reflect the working directory state; should really use directory file descriptors and fchdir or openat &c. Some further details: https://lists.gnu.org/archive/html/bug-mit-scheme/2020-08/msg00002.html M doc/ref-manual/os-interface.texi commit 19702bc0dbc500fa6988472920b188545ce1001e Author: Taylor R Campbell Date: Wed Feb 3 07:43:29 2021 +0000 microcode: Start working around Apple's quirky assembler. Problem remains that it apparently doesn't recognize the standard aarch64 comment syntax, `//' (but the alternative syntax `#' only works at start of line, which really cramps the style here!). M src/microcode/cmpauxmd/aarch64.m4 M src/microcode/configure.ac commit 765ac899ae52b91ce1ee97e3ccae69d408c9930e Author: Taylor R Campbell Date: Wed Feb 3 06:39:27 2021 +0000 microcode: Pacify clang's objection to gcc asm constraints. M src/microcode/cmpintmd/aarch64.c commit b421c2b0a77584bc1e0e095745d413913cef9f67 Author: Taylor R Campbell Date: Wed Feb 3 06:31:25 2021 +0000 microcode: Put x86isms under __x86_64__, not just __APPLE__. M src/microcode/floenv.h commit 99d2ac63f0899d9e866454a5549e1e323fe110d5 Author: Chris Hanson Date: Tue Feb 2 01:02:27 2021 -0800 Rework dist scripts to work from freshly-cloned repo. This prevents the distribution tarballs from containing backup files and any other random crap lying around in the working directory. M dist/make-doc-files M dist/make-macosx-app M dist/make-native-files M dist/make-src-files M dist/shared.sh commit 6db111c1ea5a565bc081ea74888391d2ac7fc1fe Author: Chris Hanson Date: Sun Jan 24 14:28:27 2021 -0800 Need m4, not automake, for releases. Need automake for compiling from scratch. M doc/user-manual/user.texinfo commit ba43a351c9422a50061bc5dcf29dd8d359277bd7 Author: Chris Hanson Date: Sat Jan 23 21:16:05 2021 -0800 Fix intmod number-of-args error. M src/edwin/intmod.scm commit 223fbb65fe2d639539bdcaf082f92b68990f9478 Author: Chris Hanson Date: Sat Jan 23 20:50:22 2021 -0800 Need to have automake installed as well. M doc/user-manual/user.texinfo commit f9ec932a457df123c0d0be10f2944bcbc62514c1 Author: Chris Hanson Date: Sat Jan 23 20:01:01 2021 -0800 Clean up .deps file too. M tests/ffi/Makefile.am commit 6424f90bf1e56437fbbf8d7a80998e6497200f3f Author: Chris Hanson Date: Sat Jan 23 19:33:10 2021 -0800 Make --help option put its output on stderr. Also clean up the output by eliminating unnecessary stuff. M src/microcode/option.c M src/runtime/command-line.scm commit f7d8d5c43c5c079a4cc360c8f2970b717d4ffe05 Author: Taylor R Campbell Date: Mon Jan 18 04:14:52 2021 +0000 x11: Fix x-bytes-into-image. Restore the old behaviour on vectors (not bytevectors) of integers, which apparently 6001 uses. M src/x11/x11-graphics.scm M src/x11/x11.cdecl M src/x11/x11graph.c commit 6469c2672b0b01c0381334b8e75d65123c3c4cdf Author: Taylor R Campbell Date: Mon Jan 18 04:14:31 2021 +0000 x11: Fix calls to x-display-image. This takes integer coordinates, not floating-point coordinates. M src/x11/x11-device.scm commit 689c0a207b162d076dd47a695cd0e9669ef16cf6 Author: Taylor R Campbell Date: Mon Jan 18 04:13:55 2021 +0000 6001: Disable usual-integrations. Interferes with overriding / to compute only integer or floating-point division, which apparently this code relies on. M src/6001/arith.scm M src/6001/edextra.scm M src/6001/floppy.scm M src/6001/make.scm M src/6001/nodefs.scm M src/6001/pic-imag.scm M src/6001/pic-ops.scm M src/6001/pic-read.scm M src/6001/pic-reco.scm M src/6001/picture.scm commit 6f3f5f28e4dd6e597ff3c49aedb8d26b92def73b Author: Taylor R Campbell Date: Fri Jan 1 01:43:40 2021 +0000 Make sure to define PRINTFLIKE in both cases. M src/microcode/confshared.h commit 791d4a7bd2bd109f9debb1660a2e2486a8114805 Author: Taylor R Campbell Date: Thu Dec 31 18:23:28 2020 +0000 Define PRINTFLIKE and UNUSED attributes too. M src/compiler/machines/C/cutl.scm M src/microcode/confshared.h M src/microcode/ctassert.h M src/microcode/gccode.h M src/microcode/liarc.h M src/microcode/outf.h M src/microcode/uxtrap.h commit 4c55717b7d6b38c1aaaf51b95beff879b9ffd7ae Author: Taylor R Campbell Date: Thu Dec 31 18:18:07 2020 +0000 Define and use FALLTHROUGH() macro to pacify clang. M src/microcode/confshared.h M src/microcode/interp.c M src/microcode/syntax.c M src/microcode/ux.c M src/microcode/uxsig.c commit 1aeb3baa00ba784cabdb7a447dc327ea4e4cf510 Author: Taylor R Campbell Date: Tue Dec 1 01:18:33 2020 +0000 Don't suppress autoreconf output. Suppressing the output just makes this silently and mysteriously fail instead of failing noisily and explaining why it failed. M src/blowfish/autogen.sh M src/edwin/autogen.sh M src/gdbm/autogen.sh M src/imail/autogen.sh M src/pgsql/autogen.sh M src/x11-screen/autogen.sh M src/x11/autogen.sh commit c692f84195254b00af8260e44e99e65eea3fda57 Author: Taylor R Campbell Date: Thu Nov 26 04:43:01 2020 +0000 microcode: Fix sense of subtraction so STACK_CHECK does anything. M src/microcode/hooks.c commit 11893ecca2eaa4d74d6f78f156a8aa1271bf1d25 Author: Taylor R Campbell Date: Wed Nov 25 08:02:01 2020 +0000 runtime/contin: Omit needless %within-continuation. The primitive call-with-current-continuation already arranges the stack to be exactly as within-control-point would arrange it, and there is no need to change the thread event block or transition to a state, so the %within-continuation here (a vestige of an older design with an error-checking non-reentrant variant) is not needed -- and carries a substantial cost: this change reduces ctak time by ~40%. M src/runtime/contin.scm commit 2a8e55327658a3d18c777daa775f1754572773f5 Author: Taylor R Campbell Date: Wed Nov 25 18:16:15 2020 +0000 compiler: Avoid unnecessary saves in load-machine-register!. If the source is the machine register, or if the source is dead after this instruction and the machine register already aliases it, then there is no need to save the content of the machine register with clear-registers!. M src/compiler/back/lapgn2.scm commit 7f82898a42be54eaf97e8b737f9764984602c980 Author: Taylor R Campbell Date: Wed Nov 25 18:15:58 2020 +0000 Fix indentation for consistency. No functional change. M src/compiler/machines/x86-64/rulfix.scm commit 91512e30feb187779051142f907fe9348d6635bb Author: Taylor R Campbell Date: Wed Nov 25 18:10:12 2020 +0000 x86-64: Redo constant-divisor division. Cite the paper, and use the signed division algorithm from it rather than cobbling together the signed one from the unsigned one with a tangle of branches. M src/compiler/machines/x86-64/rulfix.scm commit 1669132ccc4e6c92239253d4f02490bc7aee5a60 Author: Taylor R Campbell Date: Wed Nov 25 17:52:44 2020 +0000 compiler: Open-code integer division, for positive divisors. For nonpositive divisors, defer to the primitive. M src/compiler/rtlgen/opncod.scm commit 8b157ec6547de85224906c71fc592c0b9fb58276 Author: Taylor R Campbell Date: Wed Nov 25 17:46:41 2020 +0000 Add tests for fixed-denominator quotient and remainder. M tests/check.scm A tests/compiler/test-remquo.scm commit c772dd9ca580a638de82f3616d23aa016cd16890 Author: Taylor R Campbell Date: Wed Nov 25 02:29:18 2020 +0000 compiler: Make reuse-pseudo-register-alias avoid needed registers. Otherwise, for example, (need-registers! (list rax rdx)) (let ((source (move-to-temporary-register! source 'GENERAL))) (delete-dead-registers!) (prefix-instructions! (clear-registers! rax rdx)) (rtl-target:=machine-register! target rdx) (LAP ... rax ... rdx ... ... source ...)) might return rax or rdx for source, which defeats the purpose of move-to-temporary-register!. M src/compiler/back/lapgn2.scm commit de956731f57acc9f9827a4826841321c5ea5ef27 Author: Taylor R Campbell Date: Sat Nov 21 19:11:00 2020 +0000 aarch64: Simplify fixnum multiplication by constant. M src/compiler/machines/aarch64/rulfix.scm commit 0a2a93c28974e06dd2dbad8872af59209d5e3131 Author: Taylor R Campbell Date: Sat Nov 21 02:59:40 2020 +0000 aarch64: Fix load/store float register in homes. Mnemonic for vector load/store in our assembler is ldr.v/str.v, not ldr/str. M src/compiler/machines/aarch64/lapgen.scm commit 9c7363ab82d5b966ddcb886b5cefcbeeb2fd0691 Author: Taylor R Campbell Date: Sat Nov 21 02:00:48 2020 +0000 aarch64: Fix indentation. No functional change. M src/compiler/machines/aarch64/rules3.scm commit d92896a7b2b7aaf2aa2d7bc79eba7fdc323d6266 Author: Taylor R Campbell Date: Sat Nov 21 01:33:43 2020 +0000 aarch64: Semi-open-code with-interrupt-mask/with-interrupts-reduced. M src/compiler/machines/aarch64/rules3.scm commit 077221f1d083d7564747d992b4b438cab980b79a Author: Taylor R Campbell Date: Sat Nov 21 00:18:48 2020 +0000 aarch64: Fix zero-tagging. assign-register->register takes pseudos, not machine registers. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/rules1.scm commit b887221f1cd065bf71fd4e39a57d261eb1a43ff9 Author: Taylor R Campbell Date: Fri Nov 20 23:43:05 2020 +0000 aarch64: Semi-open-code set-interrupt-enables!. M src/compiler/machines/aarch64/rules3.scm M src/microcode/cmpauxmd/aarch64.m4 commit dfb71d112a8bfa332ab5da0f9506b28f19882813 Author: Taylor R Campbell Date: Fri Nov 20 23:16:36 2020 +0000 aarch64: Improve instruction scheduling for interrupt check on return. M src/compiler/machines/aarch64/rules3.scm commit dba40cb27a33421505cf15a39b9f995512ba1639 Author: Taylor R Campbell Date: Tue Nov 17 03:49:52 2020 +0000 aarch64: Improve instruction scheduling of flonum predicates. M src/compiler/machines/aarch64/rulflo.scm commit 8fd76678dadfeab959fcdefe7cd5c621a637f018 Author: Taylor R Campbell Date: Tue Nov 17 03:48:33 2020 +0000 aarch64: Open-code with-stack-marker. M src/compiler/machines/aarch64/rules3.scm commit 30f2855b885585ae812c2604988e6cc7df3f3512 Author: Taylor R Campbell Date: Tue Nov 17 03:48:16 2020 +0000 aarch64: Improve instruction scheduling of interrupt checks. M src/compiler/machines/aarch64/rules3.scm commit 3d98b45952a50baa22684a9ba5817d1a8376858f Author: Taylor R Campbell Date: Tue Nov 17 03:47:50 2020 +0000 aarch64: Teach assembler about conditional-compare instructions. M src/compiler/machines/aarch64/instr1.scm commit b01ae5da586aa88a48adbd7764686fc2d6df0cfd Author: Taylor R Campbell Date: Mon Nov 16 02:42:07 2020 +0000 aarch64: Simplify code for multiply-fixnum. M src/compiler/machines/aarch64/rulfix.scm commit f7157c7f3fb1a8ae81ae0fccd2e71d89e2e2c2cc Author: Taylor R Campbell Date: Wed Nov 25 16:54:46 2020 +0000 x86-64: Fix missing (clear-registers! rdx). This got lost in the shuffle around removing require-register!. M src/compiler/machines/x86-64/rulfix.scm commit 7ec69d970111ba66af76adb3d951344639824667 Author: Taylor R Campbell Date: Wed Nov 25 16:32:23 2020 +0000 Revert "compiler/back: Don't bother saving aliases for dead registers." This reverts commit d248519275f7b9e406a5f09e4f882cc917192946. This doesn't work after all, because the register might be needed by _this_ instruction and might not have been copied to another alias or saved to its home yet. The issue I was trying to address with this change is that in (load-machine-register! source rax), if source's only alias is rax and source is dead afterward, in our zeal to clear rax we always allocate another alias for source (or save it to its home) even if we're not actually going to use it again later on. We'll have to do that another way. M src/compiler/back/lapgn2.scm M src/compiler/back/regmap.scm commit fbf3a6cbea1e37ee0504f65f8142bbb39ac9e35c Author: Taylor R Campbell Date: Thu Nov 5 02:50:32 2020 +0000 aarch64: Fix typo in comment. M src/microcode/cmpauxmd/aarch64.m4 commit ccdb6cc80d01422a227bf7e956a7e1ba66ae4f36 Author: Taylor R Campbell Date: Wed Nov 4 23:23:50 2020 +0000 compiler/machines/aarch64: Tweak machine-register allocation usage. - Nix flush-register! and require-register!. - Omit needless need-register!. - Make sure to issue need-registers! for all machine registers up front used specifically by the code we're generating. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/rules4.scm commit 51a84e2b000c955f4327c3159462cb6a6ae36b57 Author: Taylor R Campbell Date: Tue Nov 3 00:24:36 2020 +0000 aarch64: Implement fast path for application setup. M src/microcode/cmpauxmd/aarch64.m4 commit 55ca623d6f968122d6f91f1f3c19ca54f7c80ec7 Author: Taylor R Campbell Date: Mon Nov 2 19:09:15 2020 +0000 compiler/documentation: Add caveats about overlapping source/target. M src/compiler/documentation/porting.guide commit 77ee822faa595a535ef883f6c903a9e4e63f13b2 Author: Taylor R Campbell Date: Mon Nov 2 16:59:55 2020 +0000 compiler/machines/x86-64: Tweak machine-register allocation usage. - Nix the always confusing flush-register! and require-register!. - Omit needless need-register! where clear-registers! does it now. - Omit needless delete-dead-registers! where clear-map! does it. - Make sure to issue need-registers! for all machine registers up front used specifically by the code we're generating. M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/rules3.scm M src/compiler/machines/x86-64/rules4.scm M src/compiler/machines/x86-64/rulfix.scm commit d248519275f7b9e406a5f09e4f882cc917192946 Author: Taylor R Campbell Date: Mon Nov 2 16:48:53 2020 +0000 compiler/back: Don't bother saving aliases for dead registers. M src/compiler/back/lapgn2.scm M src/compiler/back/regmap.scm commit c1b4a338bd3a7f44dc48a75526da84dfa54c323f Author: Taylor R Campbell Date: Mon Nov 2 16:32:09 2020 +0000 compiler: Note that CLEAR-MAP! implies DELETE-DEAD-REGISTERS!. Various callers use both -- to be cleaned up. M src/compiler/documentation/porting.guide commit b0472ae046f5d780c292966ae66e1c5e97f8939f Author: Taylor R Campbell Date: Mon Nov 2 16:26:09 2020 +0000 compiler/back: Save to temporaries if possible in CLEAR-REGISTERS!. Make it update needed-registers while here -- this is necessary in order for it to allocate temporaries as it goes, and helpful for most callers anyway. Update the documentation to reflect this and the 30-year-old change to LOAD-MACHINE-REGISTER! so that it implies CLEAR-REGISTERS!. This avoids unnecessary saves to memory homes and will help to simplify the register allocator API, which I (and others, I suspect) could never keep straight between clear/need/require/flush-registers. M src/compiler/back/lapgn2.scm M src/compiler/back/regmap.scm M src/compiler/documentation/porting.guide commit d7de8d3517f7ec0177da0e295cf86b565ded41be Author: Taylor R Campbell Date: Mon Nov 2 00:10:52 2020 +0000 aarch64: Use simpler mnemonics for object->type and object->datum. object->type: Use LSR, rather than UBFX; exactly the same instruction encoding but perhaps slightly clearer and less involved to write. object->datum: Use AND #x3f...ff now that the assembler supports the necessary logical immediate encoding. Not the same instruction as UBFX, but should have the sam performance; again, perhaps slightly clearer and less involved to write. M src/compiler/machines/aarch64/lapgen.scm commit f5075ae8cbc8bd1dfbaac6b2309b9a803c18ab4a Author: Taylor R Campbell Date: Sun Nov 1 23:02:20 2020 +0000 aarch64: Simplify cons-pointer rule with shifted-register ORR. M src/compiler/machines/aarch64/rules1.scm commit bf31cac8b7a99aacf839be48e2c23dfed603aba5 Author: Taylor R Campbell Date: Sun Nov 1 01:19:16 2020 +0000 aarch64: Allow signed or unsigned immediates for addition. This is kinda grody but expedient. Should do this better. M src/compiler/machines/aarch64/lapgen.scm commit 4d763f184e34670e2c7aa828323a8cfea4a98a9d Author: Taylor R Campbell Date: Sat Oct 31 23:16:41 2020 +0000 aarch64: Expand arithmetic lap generation tricks. M src/compiler/machines/aarch64/rulfix.scm commit afd9ae1f447b67986d2f00d2f57cc02a245f9348 Author: Taylor R Campbell Date: Sat Oct 31 23:14:51 2020 +0000 aarch64: Enable rewriting rules for constant fixnum operands. M src/compiler/machines/aarch64/rulrew.scm commit d438776ed4e48d27ae2841cd438d3771b75b0ce0 Author: Taylor R Campbell Date: Sat Oct 31 23:14:32 2020 +0000 aarch64: Fix name of SBFIZ instruction. M src/compiler/machines/aarch64/instr2.scm commit b5bfd1bca12947fb15f6dc7e9f83d0e550f0dc79 Author: Taylor R Campbell Date: Sat Oct 31 21:36:59 2020 +0000 compiler/base: Add some more function primitives. M src/compiler/base/utils.scm commit e58997180ac117581cae6e7b754b2613802d99b7 Author: Taylor R Campbell Date: Sat Oct 31 20:31:35 2020 +0000 compiler/base/crsend: Flush icache if needed after linking. Fixes compiler/test-toplev test failure, which invoked the compiled code immediately without writing to disk and reading back again. M src/compiler/base/crsend.scm commit 1b579ae2c6d2e2db96d7d01ff083e2227b46715c Author: Taylor R Campbell Date: Sat Oct 31 16:43:10 2020 +0000 aarch64: Fix shifted-12 immediate operands. M src/compiler/machines/aarch64/lapgen.scm commit 040d03b2ddbe3072e3b67b94285475abcf9123f9 Author: Taylor R Campbell Date: Sat Oct 31 16:33:46 2020 +0000 aarch64: Fix BIC/BICS/EON/ORN encoding with shifted 64-bit operand. M src/compiler/machines/aarch64/instr1.scm commit 6b8cbce9076f7bca5253cd368cd7e9ada990b206 Author: Taylor R Campbell Date: Sat Oct 31 16:09:25 2020 +0000 compiler/base: Add some type codes used by aarch64. M src/compiler/base/utils.scm M src/compiler/machines/aarch64/machine.scm commit 0b0b891e1f75092a8016fe6ce468c1aa0e748a15 Author: Taylor R Campbell Date: Sat Oct 31 16:08:55 2020 +0000 compiler/base: Sort type codes by name. M src/compiler/base/utils.scm commit d460d9d13803d11d1df1fd12169ad3a68a236d2a Author: Taylor R Campbell Date: Sat Oct 31 15:20:09 2020 +0000 aarch64: Open-code immediate comparisons. M src/compiler/machines/aarch64/rulfix.scm commit 08ac00f39839ce9c309226bbb611bab4f1d72c48 Author: Taylor R Campbell Date: Sat Oct 31 15:18:48 2020 +0000 aarch64: Open-code untagged*tagged and register*constant fixnum ops. M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/aarch64/rulfix.scm M src/microcode/cmpauxmd/aarch64.m4 commit a1352aa2aea8fedb78a3d5c933ce8ffdf0e82ffe Author: Taylor R Campbell Date: Sat Oct 31 15:14:53 2020 +0000 aarch64: Convert add/ldr to a single ldur with negative offset. M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/rules3.scm commit eb96213644f1efe245e4c6bceb1c387b62f6ce92 Author: Taylor R Campbell Date: Sat Oct 31 15:08:25 2020 +0000 microcode: Avoid right shift of negative. Technically this is undefined behaviour in C, so let's just spell it out to clarify that we really mean the two's-complement arithmetic right shift semantics. M src/microcode/fixnum.h commit 948856992e128135691800e6a4abbe21b00cbaab Author: Taylor R Campbell Date: Sat Oct 31 14:45:57 2020 +0000 Make fix:lsh consistently compute arithmetic `left' shifts. For negative amounts, this becomes arithmetic right shift. Following discussion here: https://lists.gnu.org/archive/html/mit-scheme-devel/2020-10/msg00000.html M doc/ref-manual/numbers.texi M src/compiler/machines/C/rulfix.scm M src/microcode/fixnum.c M src/microcode/fixnum.h A src/relnotes/lsh M tests/compiler/test-lsh.scm commit 68e772e733287efeca629246f0079304b8e9faa9 Author: Taylor R Campbell Date: Fri Oct 30 23:13:40 2020 +0000 Test fixnum-lsh microcode primitive too. Currently for hysterical raisins it implements logical right shifts, which we've decided is a bug. M tests/compiler/test-lsh.scm commit a14a00015251b06800459c0b4874685a93f288d3 Author: Taylor R Campbell Date: Fri Oct 30 05:48:20 2020 +0000 compiler/back: Assert pseudoness in add-pseudo-register-alias!. Avoids confusion later on if you naively try to do this to a machine register in a misguided attempt to avoid a transfer. M src/compiler/back/lapgn2.scm commit f0c74eed21f4b2ba8fe3a5d5fe1a3b20c9dd1baf Author: Taylor R Campbell Date: Fri Oct 30 03:25:59 2020 +0000 aarch64: Fix typo in comment. M src/compiler/machines/aarch64/insutl.scm commit 927ccba3568f3aa6fe3ce920cc1887bd929a9030 Author: Taylor R Campbell Date: Fri Oct 30 03:25:53 2020 +0000 aarch64: Fix logical-immediate-unsigned when period=64 and phase=0. M src/compiler/machines/aarch64/insutl.scm commit a5aabbd4e4cf58d905d1c82cd695aaa29acbb2ee Author: Taylor R Campbell Date: Thu Oct 29 23:48:44 2020 +0000 Disable open-coded integer-shift-right on aarch64 for now. No rules for fixnum-lsh yet, not even for constant shift amounts. M src/compiler/machines/aarch64/machine.scm commit bfaf64fa5a261715f55355ebcb52b425d660258c Author: Taylor R Campbell Date: Wed Oct 28 05:09:32 2020 +0000 Export bitwise-if (alias for bitwise-merge). This is not the IF (or IMPLIES) binary operator with truth table FF->T FT->T TF->F TT->T, but rather the three-operand bitwise IF/THEN/ELSE. M src/runtime/runtime.pkg commit 965397ad0423873d30316e95cd997edfd09f4bb2 Author: Taylor R Campbell Date: Wed Oct 28 05:09:08 2020 +0000 Actually define flo:log-ulp-of-one if we're going to export it. M src/runtime/arith.scm commit 2b68b9db6ae24833ff23d4eb13a061d13e7fcaca Author: Taylor R Campbell Date: Wed Oct 28 04:27:01 2020 +0000 Delete rules that won't ever be reached. The RTL notion of a `fixnum' never occurs in memory, so there's no reason to put in fixnum operations on them even if we could generate better code for that on x86. M src/compiler/machines/x86-64/rulfix.scm commit 39573e3545e96456ba0292437d70b29db82df0b9 Author: Taylor R Campbell Date: Wed Oct 28 04:12:55 2020 +0000 Fix typos referring to nonexistent predicates. Generalize rules to other predicates while here. M src/compiler/machines/x86-64/rulfix.scm commit 143aa8558c6c79b6e38e268cb26d5a5267975b8f Author: Taylor R Campbell Date: Wed Oct 28 03:03:04 2020 +0000 Avoid `apply' in case-lambda expansion. Saves a trip through the interpreter and another copy or three of the argument list. M src/runtime/mit-macros.scm commit 69def82e943f3a4d730f98843962dbcf40ab60f1 Author: Taylor R Campbell Date: Wed Oct 28 02:33:24 2020 +0000 Reimplement case-lambda in terms of arity-dispatched procedures. M src/runtime/mit-macros.scm M tests/runtime/test-case-lambda.scm commit 1e7ac517bb21a18d59c72bb363ecd772f062f357 Author: Taylor R Campbell Date: Tue Oct 27 23:28:51 2020 +0000 Add some trivial case-lambda tests. M tests/check.scm A tests/runtime/test-case-lambda.scm commit be2a4964d31e8a6a0c67f1429ae6a16286b27ada Author: Taylor R Campbell Date: Mon Oct 26 19:02:59 2020 +0000 Document some of the integer bit operations. M doc/ref-manual/numbers.texi commit fae96857a3210aed24389eff7ca810d3cebe33a2 Author: Taylor R Campbell Date: Mon Oct 26 07:27:07 2020 +0000 Enable open-coded integer-shift-left on amd64. Ensure that integer-shift-left avoids generating zero shifts, so we don't have to worry about ensuring the overflow flag is clear. Do the same for integer-shift-right while here -- a little partial evaluation might save some needless RTL construction. M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/rulfix.scm M src/compiler/rtlgen/opncod.scm commit 64585f02b3e51f49938b1fa586e9004504e2ae1e Author: Taylor R Campbell Date: Mon Oct 26 17:43:20 2020 +0000 Open-code constant-distance integer shifts. Left shifts are currently not open-coded anywhere because they require overflow detection; TBD. M src/compiler/machines/C/machin.scm M src/compiler/machines/C/rulfix.scm M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/i386/rulfix.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/rulfix.scm M src/compiler/rtlgen/opncod.scm commit 6c97473798f4ac0f4e6513c694ffd6c91c22e826 Author: Taylor R Campbell Date: Mon Oct 26 17:42:25 2020 +0000 Extend associative bitwise operations to any number of arguments. M src/runtime/integer-bits.scm M src/sf/gconst.scm M src/sf/usiexp.scm M tests/runtime/test-integer-bits.scm commit d5d407497ff02933f373c31e3744d24ba5467c63 Author: Taylor R Campbell Date: Mon Oct 26 17:19:32 2020 +0000 Rewrite test-fixnum.scm to be compilable all at once. Disable most of the tests if FAST=y. M tests/check.scm M tests/compiler/test-fixnum.scm commit c7d0bc055bd10dfd115d21052281022b7d0a1a57 Author: Taylor R Campbell Date: Tue Jan 1 21:05:45 2019 +0000 Use CMP and TEST for (FIX:ZERO/NEGATIVE/POSITIVE? (FIX:-/AND x y)). M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/rulfix.scm commit 970eafeb1c427952c606c6a0b0ac5d227dd11865 Author: Taylor R Campbell Date: Tue Jan 1 21:05:24 2019 +0000 Open-code generic bitwise operations. M src/compiler/rtlgen/opncod.scm M src/sf/gconst.scm commit c689398c6319eb2e8db41a192c4b11e9e86ce1f6 Author: Taylor R Campbell Date: Tue Jan 1 19:56:42 2019 +0000 Remove bad rules for (fix:lsh x ) and use SAR, not SHR. SAR does sign-extension; SHR does zero-extension, which is wrong for negative inputs. The trick that i386 used for applying the tag works only for positive inputs where sign-extension and zero-extension coincide. Not clear how to extend this trick to work correctly for both signs of inputs. M src/compiler/machines/i386/rulfix.scm M src/compiler/machines/x86-64/rulfix.scm M tests/compiler/test-lsh.scm commit e592a66db1e25760652ea579e64ca8ef8eaa28f5 Author: Taylor R Campbell Date: Tue Jan 1 19:37:21 2019 +0000 Rules for (fix:lsh x ) are busted for negative x on x86. M tests/check.scm A tests/compiler/test-lsh.scm commit 8ad99f8cefd4007275d97ff4b1b90d455156303d Author: Taylor R Campbell Date: Tue Jan 1 19:32:20 2019 +0000 Add some fixnum tests to exercise the new rules. Only does +, -, AND, (I)OR, XOR, and NOT for now. Should be taught about quotient, remainder, *, and compositions of + and * to exercise the LEA rules. But this is already so large the compiler chokes on it and I had to uncomment it in small sections to run it, so I'm not wiring it up to the build for now. Maybe later it can be split up and wired into the build. A tests/compiler/test-fixnum.scm commit 2cbd17b9635bd06d255e068acf057a8a7763185d Author: Taylor R Campbell Date: Tue Jan 1 05:05:46 2019 +0000 Use LEA for various addition operations. - (+ x y ) - (+ x (* y {1,2,4,8}) ) - (+ x (lsh y {0,1,2,3}) ) - Any of the above followed by adding a tag. M src/compiler/machines/x86-64/rulfix.scm commit 7e919c680a740d941ea61ededed0f753d3b50cc7 Author: Taylor R Campbell Date: Tue Jan 1 05:00:14 2019 +0000 Exploit bitwise operations preserving tags. M src/compiler/machines/x86-64/rulfix.scm commit 5265f69db82bd40f38575a1df52eba52b356b135 Author: Taylor R Campbell Date: Sat Dec 29 21:54:27 2018 +0000 Fold (+ x ) and tagging into a single ADD/SUB with ROR. Works because the low bits of the in-register fixnum representation are all zero, so there's room to add the tag too. M src/compiler/machines/x86-64/rulfix.scm commit 29c18d77089c6fa3583eb4969b1efd8a1e4540a2 Author: Taylor R Campbell Date: Tue Jan 1 17:41:44 2019 +0000 Don't use OBJECT->FIXNUM on objects not tagged as fixnums. Otherwise, we miscompile things like (get-interrupt-enables) by reducing (object->fixnum (cons-non-pointer (ucode-type fixnum) (offset interpreter-regs 1))) => (object->fixnum (offset interpreter-regs 1)) when what is stored there is not actually tagged as a fixnum, which violates assumptions made by that might assume a fixnum tag (under the premise of compiler:assume-safe-fixnums?). Instead, use ADDRESS->FIXNUM. (If we had a DATUM->FIXNUM we would use that but we don't, and on x86 they would be the same anyway.) M src/compiler/machines/x86-64/rulrew.scm commit 2432fb4e4c153d82bf2f1cc287e4435610340bc9 Author: Taylor R Campbell Date: Mon Dec 31 03:11:00 2018 +0000 Teach RTL compression to operate on arithmetic too. M src/compiler/rtlopt/rcompr.scm commit f0fb7b7e356ed085352769e6fca30d3159cc2fa5 Author: Taylor R Campbell Date: Tue Jan 1 05:01:01 2019 +0000 Sort commutative fixnum and flonum operands to put constants last. M src/compiler/machines/x86-64/rulrew.scm commit 67df61dfd6f8742cbcb08e585c43525efc0d373a Author: Taylor R Campbell Date: Tue Jan 1 05:18:54 2019 +0000 Define type-code:fixnum too for compiler use. M src/compiler/base/utils.scm commit 6e1c5e914534e10d4fc9442f77c8bd74b30000ed Author: Taylor R Campbell Date: Mon Oct 26 04:15:21 2020 +0000 Sort. M tests/check.scm commit 182e10367d670b6ece53758869b9f20efbedee10 Author: Taylor R Campbell Date: Sun Oct 25 23:09:38 2020 +0000 Harmonize documented and exported floating-point procedures. M doc/ref-manual/numbers.texi M src/runtime/runtime.pkg commit b4029dfdf885652ee7f6d312654b3fcc0b5ce4f9 Author: Taylor R Campbell Date: Mon Oct 26 07:48:40 2020 +0000 Expand (flo:*- x y s) into (flo:*+ x y (flo:negate s)). M src/sf/usiexp.scm commit 8b21982a5804ccc8663662520bac00b717bfcd5b Author: Taylor R Campbell Date: Sun Oct 25 20:48:30 2020 +0000 Expose flo:*- (not yet open-coded). M doc/ref-manual/numbers.texi M src/runtime/runtime.pkg commit eba09bd84709a20714b2eafba86e35ce2f5396a0 Author: Taylor R Campbell Date: Sun Oct 25 20:46:21 2020 +0000 Add language about no floating-point exceptions. M doc/ref-manual/numbers.texi commit c5a61bd0c8c47a81b74004e3764ec05a196c9bf1 Author: Taylor R Campbell Date: Sun Oct 25 20:35:10 2020 +0000 Eliminate redundant flo:copysign description. M doc/ref-manual/numbers.texi commit b54e8b8d5aecf66970960e1d9c897759c5cc6c92 Author: Taylor R Campbell Date: Sun Oct 25 20:26:31 2020 +0000 Typographical tweaks for consistency. M doc/ref-manual/numbers.texi commit e0347d46cc4adbd1404b353d1c01f625f8f81d85 Author: Taylor R Campbell Date: Sun Oct 25 18:56:58 2020 +0000 Fix mistake in round/ property. M doc/ref-manual/numbers.texi commit 9967e95f39842f25f382171a7d49fe4db0976141 Author: Taylor R Campbell Date: Thu Aug 13 14:53:18 2020 +0000 New primitive (monotonic-nanotime p) fills pair p with (sec . nsec). M src/microcode/osenv.h M src/microcode/prosenv.c M src/microcode/uxenv.c commit 97036a00df73a3a98b044b322f2c75b7303123dd Author: Taylor R Campbell Date: Sun Oct 25 18:42:08 2020 +0000 Rework integer division section of manual. M doc/ref-manual/numbers.texi M doc/ref-manual/scheme.texinfo commit c03272db94698a8f4465a88cbfaaf14be5eba636 Author: Taylor R Campbell Date: Sun Oct 25 17:14:19 2020 +0000 Expand description of abs. Move copysign next to it. M doc/ref-manual/numbers.texi commit bd5f1c0b7ef99f596c7d5e6f98b6985ad4130476 Author: Taylor R Campbell Date: Sun Oct 25 00:51:31 2020 +0000 Plot sqrt1pm1 and its condition number. M doc/ref-manual/Makefile.in A doc/ref-manual/fig/cn-sqrt1pm1.eps.in A doc/ref-manual/fig/sqrt1pm1.eps.in M doc/ref-manual/numbers.texi commit 6f732f0435778c9155829a143a581a84e02003ce Author: Taylor R Campbell Date: Sun Oct 25 00:20:11 2020 +0000 Document rsqrt, sqrt1pm1, compound, compoundm1. M doc/ref-manual/numbers.texi commit 7641d831e545dd29e4f3ccd9afa8660ce75d74db Author: Taylor R Campbell Date: Sun Oct 25 00:19:55 2020 +0000 Test and fix some edge cases in rsqrt and compound. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 0450361543a5246cb5cb02fd744fc3ffdfe7bfc3 Author: Taylor R Campbell Date: Sat Oct 24 23:52:31 2020 +0000 Fix mistaken use of make-recnum where exact0 imag part is possible. M src/runtime/arith.scm commit b9e7542b44ff66a84d78e29a73774b0042b1feb8 Author: Taylor R Campbell Date: Sat Oct 24 23:51:06 2020 +0000 Fix an even number of sign errors in comment. M src/runtime/arith.scm commit 580152ba9ddd73ce804ee1e6f9a4b143af10dfa2 Author: Taylor R Campbell Date: Sat Oct 24 23:48:02 2020 +0000 Repaginate. M src/runtime/arith.scm commit d3e9039df4f8c54d4eedd28d0ff4bfc24735e89e Author: Taylor R Campbell Date: Sat Oct 24 23:47:37 2020 +0000 Prune dead branches and convert real: -> rat: where provable. M src/runtime/arith.scm commit 8de758beeebed371311aaa4e1a0d1de252f01e37 Author: Taylor R Campbell Date: Sat Oct 24 23:43:10 2020 +0000 Simplify: make-recnum is OK when imaginary part is not exact zero. M src/runtime/arith.scm commit cfbf3cdea22e903852edc9aa67dd8e8647fc7479 Author: Taylor R Campbell Date: Sat Oct 24 23:42:52 2020 +0000 New arithmetic procedures: sqrt1pm1, rsqrt, compound, compoundm1. A src/relnotes/arith M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit 7dc3e880d682446508b269b319d1c59e430ca6cd Author: Taylor R Campbell Date: Sun Oct 4 13:40:07 2020 +0000 Fix typo in proof (no change to conclusion). Also paginate and omit needless line. M src/runtime/arith.scm commit 81e85e79e8f3fb09feec192439a1350506e4d5e9 Author: Taylor R Campbell Date: Sat Oct 3 05:19:35 2020 +0000 Handle exact trigonometric points. Fix arcexsecant bug on x <= -2. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit da8e74a1fcbe79841640577d6dad97f9c92594b6 Author: Taylor R Campbell Date: Sat Oct 3 04:16:29 2020 +0000 Add some more trigonometric test cases. Arcexsecant is slightly busted, oops. M tests/runtime/test-arith.scm commit 52c449ea764fbf362b68a58511c25d4207c05a47 Author: Taylor R Campbell Date: Thu Oct 1 23:56:03 2020 +0000 Add some more popular trigonometric functions, versine and exsecant. Need to work out the complex branch cuts for these. M doc/ref-manual/Makefile.in A doc/ref-manual/fig/cn-exsec.eps.in A doc/ref-manual/fig/cn-versin.eps.in M doc/ref-manual/fig/common/ad.ps M doc/ref-manual/fig/common/math.ps M doc/ref-manual/fig/common/plot.ps A doc/ref-manual/fig/exsec.eps.in A doc/ref-manual/fig/versin.eps.in M doc/ref-manual/numbers.texi M doc/ref-manual/scheme.texinfo M src/relnotes/trig M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit 9b7771a31af7a54271d9587ca34668e7d38e25c4 Author: Taylor R Campbell Date: Thu Oct 1 18:40:07 2020 +0000 Add trigonometric functions in units of half-revolutions. Should follow IEEE 754-2019. M doc/ref-manual/numbers.texi A src/relnotes/trig M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit e50159803c211bc59d1019671b1a86a6064c704b Author: Taylor R Campbell Date: Thu Oct 1 17:01:03 2020 +0000 New base-2 and base-10 exponentials and logarithms. These do not handle exact arguments very well yet. M doc/ref-manual/numbers.texi M src/microcode/flonum.c A src/relnotes/explog210 M src/runtime/arith.scm M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit 5aa67894c2575b0a1c951930f51c7fc20da55070 Author: Taylor R Campbell Date: Thu Oct 1 15:39:10 2020 +0000 Rename flo:expm1/log1p -> flo:primitive-expm1/log1p. These are the operations with domain restrictions inherited from the i387 implementation. Instead, define and document flo:expm1/log1p to have no domain restrictions. M doc/ref-manual/numbers.texi M src/runtime/arith.scm M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M src/sf/gconst.scm M tests/microcode/test-flonum-except.scm commit 24533f0a44f776e645b95476ac25e86e3f700b48 Author: Taylor R Campbell Date: Wed Sep 30 05:55:09 2020 +0000 Partially fix spurious overflow in complex sqrt. A src/relnotes/bug-sqrtoverflow M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 41ce7329e9cfe3c2de3728727b5f4d7995d1658c Author: Taylor R Campbell Date: Wed Sep 30 04:03:59 2020 +0000 Test some more sqrt cases. Near overflow we have a problem. M tests/runtime/test-arith.scm commit 60e20d437529249263d130cb3e4b8a90795eff7f Author: Taylor R Campbell Date: Tue Sep 29 23:03:49 2020 +0000 Fix/simplify overflow handling in complex expm1/exp. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit bb27d88ebddfc4758816ef6fdea6d72a60535f20 Author: Taylor R Campbell Date: Tue Sep 29 23:03:19 2020 +0000 Derp -- make sure to exercise all four quadrants. M tests/runtime/test-arith.scm commit de279f570a72f019eae4e08b2ab81dffa09ef7fe Author: Taylor R Campbell Date: Tue Sep 29 22:16:29 2020 +0000 Fix spurious overflow in complex exp. M src/relnotes/bug-complog1pexpm1 M src/runtime/arith.scm M tests/runtime/test-arith.scm commit aecea0d7b7bf162b34c1abfe5c6b0f72a5546c5b Author: Taylor R Campbell Date: Tue Sep 29 22:04:13 2020 +0000 Test some broken exp edge cases. M tests/runtime/test-arith.scm commit a14f7c83750b184da3b1ad6662b7e2b2d658d478 Author: Taylor R Campbell Date: Tue Sep 29 18:51:56 2020 +0000 Fix flo:min/max-num on signalling NaN inputs. Quoth IEEE 754-2019 (and probably -2008 too): > If both operands are NaNs, a quiet NaN is returned, according to 6.2. > If either operand is a signaling NaN, an invalid operation exception > is returned, but unless both operands are NaNs, the signalling NaN is > otherwise ignored and not converted to a quiet NaN as stated in 6.2 > for other operations. M src/runtime/primitive-arithmetic.scm M tests/runtime/test-flonum.scm commit 6dc4da719ae6c653c470f10630de0be8291a236b Author: Taylor R Campbell Date: Tue Sep 29 18:40:35 2020 +0000 Oops: flo:min/max-num return NaN on signalling NaN, which is wrong. M tests/runtime/test-flonum.scm commit db82aaa1f359033aff108c2eb954d8f84249981c Author: Taylor R Campbell Date: Tue Sep 29 18:40:12 2020 +0000 Clarify behaviour of flo:min/max &c. on NaNs. M doc/ref-manual/numbers.texi commit cd9ff086e985565296cb7e37601b5b6aa19253e1 Author: Taylor R Campbell Date: Tue Sep 29 18:30:52 2020 +0000 We also support negative fp numbers even in the Info manual. M doc/ref-manual/numbers.texi commit 7114a734bf869b794fd7530e640144cee5e70918 Author: Taylor R Campbell Date: Tue Sep 29 18:30:24 2020 +0000 We DO support negative floating-point numbers, actually! M doc/ref-manual/numbers.texi commit 20f187a655f1b7dedca47423eb429c224fb51e38 Author: Taylor R Campbell Date: Tue Sep 29 18:24:41 2020 +0000 Fix documentation for floating-point min/max. M doc/ref-manual/numbers.texi commit b39ca92dc16adcc61a75bf77d1f32696819ebede Author: Taylor R Campbell Date: Tue Sep 29 18:09:40 2020 +0000 Fix mistake in flo:copysign example: both inputs must be flonums. M doc/ref-manual/numbers.texi commit ee37217363cbd13c48127440b5b66bc5f87cafb7 Author: Taylor R Campbell Date: Tue Sep 29 17:15:51 2020 +0000 Refactor complex log, log1p, and expm1, and fix more edge cases. M doc/ref-manual/numbers.texi M src/relnotes/bug-complog1pexpm1 M src/runtime/arith.scm M tests/runtime/test-arith.scm commit ac683d5ea73ab27992ae5ec8f0d63dc043f07b0a Author: Taylor R Campbell Date: Tue Sep 29 16:57:30 2020 +0000 More exp and log edge cases. M tests/runtime/test-arith.scm commit 14be198174b985adb4e12705bbfdcc1624f30ccc Author: Taylor R Campbell Date: Tue Sep 29 17:57:23 2020 +0000 Fix makefile targets in doc/ref-manual. M doc/ref-manual/Makefile.in commit bff4133fbdf18ecc19ccb94302baa407cc38531c Author: Taylor R Campbell Date: Mon Sep 21 20:46:18 2020 +0000 Simplify real part of complex log1p. Refactor 1/2 log1p(x*(2 + x) + y^2); then, without any min/max or abs, use Fast2Sum and FMA Dekker product to compute p = fl(x*(2 + x)) and e0, e1 such that p + x*e0 + e1 = x*(2 + x), so we can add the error term x*e0 + e1 in case p + y^2 cancels. If we actually managed to compile this down to flops, it would cost eight flops (4 add/sub, 1 mul, 3 fma), and the relative error should be reasonably bounded (still haven't proven it, though). M src/runtime/arith.scm commit b7ae54fe1035af9a5cfd1b9f46ec73c241ecd95c Author: Taylor R Campbell Date: Mon Sep 21 20:46:01 2020 +0000 Test some more complex log1p edge cases. M tests/runtime/test-arith.scm commit f32449d6d48e77bbbc6a7abf2a1f41778c8d2182 Author: Taylor R Campbell Date: Sun Sep 20 22:38:31 2020 +0000 Fix typo in comment. M src/runtime/arith.scm commit 99033a1d6f9d6745b3e790cbb7283f027a3cc16a Author: Taylor R Campbell Date: Sun Sep 20 19:12:46 2020 +0000 Fix compensated summation logic in log1p and explain what's going on. Still haven't proven error bounds but this is looking a little more promising. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit dc837ed99562d5c4887cec2a5939aa3642716eca Author: Taylor R Campbell Date: Sun Sep 20 19:01:47 2020 +0000 Test some more log1p edge cases. M tests/runtime/test-arith.scm commit df78ff8070dfe7dd0f9fdcafcb591d5fec0797ef Author: Taylor R Campbell Date: Sun Sep 20 06:51:28 2020 +0000 Fix relerr to avoid overflow on large complex inputs. M tests/runtime/test-arith.scm commit 30a4eb631a86b08faab84bb263a4809a8dc01120 Author: Taylor R Campbell Date: Sun Sep 20 06:38:49 2020 +0000 Provide better definitions of complex log1p and expm1. Inspired by and , with some compensated summation to improve the log1p bounds so it doesn't flip out when |z + 1| ~ 1. Unfortunately, I can't prove error bounds on expm1 because it still flips out when e^x cos y ~ 1 and x ~ 1, but on lots of other parts of the domain it's fine. Error bounds on log1p should be reasonable since it evaluates log or log1p only where well-conditioned, and the intermediate quantities should have reasonable forward error, but I haven't proven bounds on the error yet. A src/relnotes/bug-complog1pexpm1 M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 38c2a7adbcdbb2bfc041e45dcabefd6b580d9f71 Author: Taylor R Campbell Date: Thu Sep 17 17:19:41 2020 +0000 Test complex log1p and expm1 edge cases -- some currently busted. M tests/runtime/test-arith.scm commit 6799b79a99f7d4e0e6c1c549cdf047f0cc832717 Author: Arthur A. Gleckler Date: Mon Aug 10 11:50:21 2020 -0700 Fix bug in `normalize-line-endings'. M src/xml/xml-parser.scm commit 280d8a878893e33d124dd22553890f6c71988008 Author: Taylor R Campbell Date: Thu Jul 23 14:38:19 2020 +0000 Fix case of quoted-printable hex digits. https://tools.ietf.org/html/rfc2045#section-6.7 `In this encoding, octets are to be represented as determined by the following rules: `(1) (General 8bit representation) Any octet, except a CR or LF that is part of a CRLF line break of the canonical (standard) form of the data being encoded, may be represented by an "=" followed by a two digit hexadecimal representation of the octet's value. The digits of the hexadecimal alphabet, for this purpose, are "0123456789ABCDEF". Uppercase letters must be used; lowercase letters are not allowed. [...]' A src/relnotes/bug-qp-hex M src/runtime/mime-codec.scm M tests/runtime/test-mime-codec.scm commit 821e6f5c4459e9ebb64a7b46af9be66e8fb94be7 Author: Taylor R Campbell Date: Thu Jul 23 14:27:30 2020 +0000 Quoted-printable encoder is busted since digit->char went lowercase. M tests/runtime/test-mime-codec.scm commit cf5d9215489de3fbbc54cb523f9ccc70bcff7ca6 Author: Taylor R Campbell Date: Fri Jul 10 00:46:38 2020 +0000 Initialize level->last for good measure. This code is too much spaghetti for me to prove one way or another whether it is initialized; let's give newer GCC some help in proving that it is. M src/microcode/syntax.c commit 3da997d2e4ae49fb2f4ee19ad7032d49a2c9be5e Author: Taylor R Campbell Date: Wed Jul 8 21:32:03 2020 +0000 Gracefully handle microcodes with the older DUMP-BAND primitive. Should fix build from 10.1.11. M src/microcode/fasdump.c M src/microcode/prename.h M src/runtime/savres.scm commit 8768e0dfdbfce92d977abbcb15874ce4ae9e0146 Author: Matt Birkholz Date: Tue Jul 7 20:58:43 2020 -0700 gcfinal: Fix arguments to search-gc-finalizer's predicate. M src/runtime/gcfinal.scm commit ec771946507fbcfa173002b1c7fae8e0743ddb34 Author: Taylor R Campbell Date: Tue Jul 7 21:44:02 2020 +0000 Document key parameter for sort. M doc/ref-manual/lists.texi M doc/ref-manual/vectors.texi commit 4e02ecf15d88e71f99374816873576f32e1cee27 Author: Taylor R Campbell Date: Tue Jul 7 21:22:29 2020 +0000 Document modexp. M doc/ref-manual/numbers.texi commit ebee6806321a6b0f42fff849300ba7b8d9a83513 Author: Taylor R Campbell Date: Sat Jul 4 06:16:54 2020 +0000 Rip out obsolete mcrypt module. M dist/shared.sh M dist/update-copyright.scm M doc/user-manual/user.texinfo M src/Makefile.in M src/README.txt M src/Setup.sh M src/configure.ac D src/mcrypt/.gitignore D src/mcrypt/AUTHORS D src/mcrypt/COPYING D src/mcrypt/ChangeLog D src/mcrypt/Makefile.am D src/mcrypt/NEWS D src/mcrypt/README D src/mcrypt/autogen.sh D src/mcrypt/compile.scm D src/mcrypt/compile.sh D src/mcrypt/configure.ac D src/mcrypt/make.scm D src/mcrypt/mcrypt-adapter.c D src/mcrypt/mcrypt-check.scm D src/mcrypt/mcrypt-check.sh D src/mcrypt/mcrypt-shim.h D src/mcrypt/mcrypt.cdecl D src/mcrypt/mcrypt.pkg D src/mcrypt/mcrypt.scm D src/mcrypt/optiondb.scm D src/mcrypt/tags-fix.sh M src/runtime/crypto.scm M src/runtime/runtime.pkg commit a0d7954f8f61e39155bf937d54be9497a3637c23 Author: Taylor R Campbell Date: Tue Jul 7 18:35:53 2020 +0000 Rework default pathname defaults and working directory pathname. New logic: - *default-pathname-defaults* is just #!default, which as an argument to pathname operations has the same effect as not passing it and implying the default pathname defaults parameter instead. - (param:default-pathname-defaults) can be set to #f (default), meaning use whatever (working-directory-pathname) returns - wrkdir.scm no longer depends on the default pathname defaults mechanism at all (although it is still kind of broken: it should be a thread-local file descriptor fit for use with openat &c.) This way nothing gets stored in a band. If the extra parsing turns out to be slow, we can the working directory pathname in a string that we clear with a secondary GC daemon, but let's wait for a measurement of slowness before bothering. M src/runtime/pathname.scm M src/runtime/rep.scm M src/runtime/wrkdir.scm commit 7716736ab12ed9eb0a01303b39a182e65831b44b Author: Taylor R Campbell Date: Tue Jul 7 18:29:32 2020 +0000 Fix up make.com's debug data pathname too. M src/runtime/make.scm commit ecab16647b545417d5b12bec9a5e03aad0bc1e97 Author: Taylor R Campbell Date: Tue Jul 7 17:21:56 2020 +0000 Restore *working-directory-pathname* internally. This way we can avoid storing the original working directory in bands (not yet done in this commit). M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/wrkdir.scm commit 18433bcdc1d385df320f0bdfe591abdb38b4abb0 Author: Taylor R Campbell Date: Tue Jul 7 17:08:40 2020 +0000 Compute library-directory-path on-demand. Avoid saving it in bands. M src/runtime/load.scm M src/runtime/option.scm M src/runtime/pathname.scm commit c1c3d8a3a62eca678a72a198b750f0ad18cc67d4 Author: Taylor R Campbell Date: Tue Jul 7 16:58:53 2020 +0000 Avoid putting the disk-save pathname into the resulting band. M src/microcode/fasdump.c M src/runtime/savres.scm commit d995d30d18a6e20c9270e4d1f3c6c65c4c5176c7 Author: Taylor R Campbell Date: Tue Jul 7 15:23:18 2020 +0000 Fix missing car after weak-list-set-fold conversion. M src/imail/imail-imap.scm commit aa9a60a6203f951050e3ef0050035c41a6da33fd Author: Taylor R Campbell Date: Tue Jul 7 15:17:39 2020 +0000 Fix pretty-printer highlights. Apparently I broke these back in 2018 when teaching pp to handle custom print methods, oops. M src/runtime/pp.scm commit 3f1e2e7f466b58ac60c7b0e10f4114a757642114 Author: Taylor R Campbell Date: Tue Jul 7 15:09:12 2020 +0000 Fix typo: call-with-output-string procedure takes a port. M src/edwin/debug.scm commit 9f41b9feb4ecd90596625452c109dd6795db7122 Author: Taylor R Campbell Date: Tue Jul 7 15:31:02 2020 +0000 Note sort key. A src/relnotes/sort-key commit d2ca4fd14d68b8908c8e7d5f2ddc62fc74b11d13 Author: Taylor R Campbell Date: Tue Jul 7 15:30:55 2020 +0000 Note OpenSSL nondependency. A src/relnotes/openssl commit 1dbacc123a3bfe09bca6141565812c30f13554a6 Author: Taylor R Campbell Date: Tue Jul 7 15:25:59 2020 +0000 Note band process environment fix. A src/relnotes/bug-bandenv commit 649ead135c684c1fc552e2de458033f6b417bf43 Author: Taylor R Campbell Date: Tue Jul 7 15:08:55 2020 +0000 Add relnotes/README. A src/relnotes/README commit 3c39f3207be6f8d58c7e1213c4aa6a5f38781172 Author: Taylor R Campbell Date: Tue Jul 7 15:08:44 2020 +0000 Delete released notes. D src/relnotes/aarch64 D src/relnotes/amd64 D src/relnotes/arith D src/relnotes/bug-anglezero D src/relnotes/bug-bigendian D src/relnotes/bug-compare-nan D src/relnotes/bug-compinfnan D src/relnotes/bug-compsignedzero D src/relnotes/bug-exactimul D src/relnotes/bug-floabs D src/relnotes/bug-floexcept D src/relnotes/bug-inftimes0 D src/relnotes/bug-integerp D src/relnotes/bug-localoptparam D src/relnotes/bug-magoverflow D src/relnotes/bug-minmax D src/relnotes/bug-nan-notation D src/relnotes/bug-negate D src/relnotes/bug-polar D src/relnotes/bug-ppcfloenv D src/relnotes/bug-readexactinfnan D src/relnotes/bug-rounding D src/relnotes/bug-sharedwrite D src/relnotes/bug-sqrt D src/relnotes/bug-symbolescape D src/relnotes/bvzero D src/relnotes/cross D src/relnotes/flonum D src/relnotes/flotrap D src/relnotes/fma D src/relnotes/hexpoint D src/relnotes/ieee754 D src/relnotes/nan-syntax D src/relnotes/rng D src/relnotes/subnormal-operand commit 26fbf518ae122f3c1aa98ece928289e81d910454 Merge: 310de2dd3 d664f2474 Author: Arthur A. Gleckler Date: Mon Jul 6 15:42:30 2020 -0700 Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme commit 310de2dd3b57c862aef94a81578f89aff0c4b301 Author: Arthur A. Gleckler Date: Mon Jul 6 15:42:13 2020 -0700 Fix typo. M doc/ref-manual/numbers.texi commit d664f24748bf1338fc6faddb8d85bace87ee192c Author: Matt Birkholz Date: Sun Jul 5 15:23:34 2020 -0700 src{,/etc}/Tags.sh: Skip autom4te.cache/ and lib/. Also rm /-f/ TAGS (because there might not be one), and allow symlinks to .scm, .sld or .pkg files. M src/Tags.sh M src/etc/Tags.sh commit 810e46d2b827eb2a594c45a1ce23c46c767613c4 Author: Matt Birkholz Date: Sun Jul 5 15:22:54 2020 -0700 Two files escaped the copyright notice update. M Tags.sh M src/compiler/configure commit 15be392c299ab29f13158f90649adb03276d6e1a Author: Matt Birkholz Date: Sun Jul 5 15:21:35 2020 -0700 gcnote: Correct order of arguments to weak-list-set-add!, -delete!. M src/runtime/gcnote.scm commit b0670d22641cda2b9b4da98d80451fee1741276b Author: Chris Hanson Date: Fri Jul 3 23:28:50 2020 -0700 Update definition of "standard Scheme". M doc/ref-manual/overview.texi commit 5cf502da0baaf4f4ef382881361e849ea193d51d Author: Chris Hanson Date: Fri Jul 3 23:22:47 2020 -0700 Fix for backwards compatibility. GJS uses this procedure with no arguments. M src/compiler/base/asstop.scm M src/compiler/machines/C/ctop.scm commit 64705cfb7050ca8dc179249bca1b3875387a7aef Author: Taylor R Campbell Date: Sat Jul 4 05:59:17 2020 +0000 Omit vestigial reference to OpenSSL. M src/README.txt commit 6c8adbd5da6a0f97f474f090005b737b2aa03519 Author: Taylor R Campbell Date: Sat Jul 4 05:46:25 2020 +0000 Remove OpenSSL dependency from blowfish. Update module documentation to reflect the modern world as of two decades ago. M src/blowfish/Makefile.am M src/blowfish/README M src/blowfish/blowfish-adapter.c M src/blowfish/blowfish-shim.h A src/blowfish/blowfish.c M src/blowfish/blowfish.cdecl A src/blowfish/blowfish.h M src/blowfish/blowfish.scm M src/blowfish/configure.ac M src/blowfish/mit-scheme-blowfish.texi commit 4a2f7999e0ba58db3144d496fefa8568c911b992 Author: Taylor R Campbell Date: Sat Jul 4 05:45:52 2020 +0000 Update blowfish/.gitignore. M src/blowfish/.gitignore commit 63711b3a60bac57956f89c3b089d170ec07f8fca Author: Matt Birkholz Date: Tue Jun 30 14:54:45 2020 -0700 Merge pathname defaults in directory-file-names as everywhere else. M src/runtime/sfile.scm commit b404a8ba8bbe7cd1ee9928c70ebd2910b01ef5cc Author: Matt Birkholz Date: Tue Jun 30 11:56:39 2020 -0700 Make the Mcrypt plugin's version as “real” as GDBM's (1.0). M src/mcrypt/make.scm commit 1aed1ed8a52f1effcbfee45821843a54f2057af9 Author: Matt Birkholz Date: Tue Jun 30 11:53:10 2020 -0700 Plugin builds: catch Imail up with Blowfish and GDBM. M src/imail/Makefile.am commit 2ea1918c84a4da5cd599332a2fc11f34042c0545 Author: Matt Birkholz Date: Tue Jun 30 11:30:39 2020 -0700 microcode --band option help: wordsmithing Removed weird references to something “returning the full pathname”. Simplified and left more room for %s. M src/microcode/option.c commit b190c09155d5da89ac840a0947e3f7519a65d9f6 Author: Matt Birkholz Date: Tue Jun 30 11:22:36 2020 -0700 blowfish/README: wordsmithing I didn't realize how specific this plugin is to OpenSSL. M src/blowfish/README commit 5091b46510f9ec1dec4514654185d7e9304ddfeb Author: Matt Birkholz Date: Tue Jun 30 11:04:25 2020 -0700 makeinfo 5 fix for portability? Found only this in debian/patches/0004-makeinfo-5-fix.patch: From: "Barak A. Pearlmutter" Date: Thu, 29 Aug 2013 22:46:52 +0100 M doc/ffi/ffi.texinfo commit 6a5292b9dd5b3f4a35f89c94486771e3fc9cd360 Author: Taylor R Campbell Date: Tue Jun 30 06:12:54 2020 +0000 Parse environment variables lazily. Toss the cache on gc-clean, so they don't get saved in bands, but preserve the variables that were set explicitly by the user. Make the ordering of get-environment-variables deterministic. M src/runtime/os-primitives.scm M tests/check.scm A tests/runtime/test-os-env.scm commit ccc6e7546c231d07c3e2ceb87cb9f7a0821f9b1e Author: Taylor R Campbell Date: Tue Jun 30 06:09:45 2020 +0000 Add optional key parameter to merge-sort and quick-sort. Example: (merge-sort '((123 . value0) (456 . value1) (78 . value2) ...) < car) M src/runtime/msort.scm M src/runtime/qsort.scm M tests/check.scm A tests/runtime/test-msort.scm A tests/runtime/test-qsort.scm commit 8528a8c1054380054afb646b6d392fd1e2729f76 Author: Taylor R Campbell Date: Tue Jun 30 06:07:37 2020 +0000 Test for LIAR bug I just tripped over. M tests/check.scm A tests/compiler/test-closure.scm commit 529576d11ef0c6d62ce6cf57d54bf2dbacbe7187 Author: Taylor R Campbell Date: Tue Jun 30 05:52:30 2020 +0000 Resolve `scheme-subprocess-environment' lazily. Avoids keeping an unnecessary copy of the environment around. (This is also redundant with the R7RS environment API -- we have two primitives for getting a copy of C `environ', added 28 years apart.) M src/runtime/process.scm commit 69fd0e5f0dce03b2053a82fdfbf0e4818e8ea94a Author: Chris Hanson Date: Tue Jun 23 23:37:37 2020 -0700 Use find -maxdepth rather than find -depth for portability. M src/Tags.sh M src/etc/Tags.sh commit da34f4ab8f89e835b6541e2a167fa61462e033ec Merge: 9929b02fa e31136a6d Author: Arthur A. Gleckler Date: Tue Jun 23 16:44:34 2020 -0700 Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme commit 9929b02fa106180566103783c871724562b20065 Author: Arthur A. Gleckler Date: Tue Jun 23 16:44:00 2020 -0700 Wrong procedure. M doc/ref-manual/io.texi commit e31136a6d208cf02a0e6351d9972d80ca8c9315e Author: Chris Hanson Date: Sun Jun 21 23:03:35 2020 -0700 Update version number now that release-11 branch is cut. M doc/configure.ac M doc/mit-scheme.1 M doc/ref-manual/scheme.texinfo M doc/user-manual/user.texinfo M src/blowfish/mit-scheme-blowfish.texi M src/configure.ac M src/gdbm/mit-scheme-gdbm.texi M src/microcode/configure.ac M src/runtime/version.scm commit 0e7aa0f0780d6a36411972d3d879e24c6d5f7450 Author: Chris Hanson Date: Sun Jun 21 17:32:03 2020 -0700 Generalize make-upload-files to support other repositories. M dist/make-upload-files commit 7c7414fc2cbdbfe6666edd9e91fc1a0588a15fe6 Author: Chris Hanson Date: Tue Jun 16 22:08:19 2020 -0700 Include no-split HTML files in documentation. M doc/index.html M doc/make-common.in commit 90b2484e0fc91af44330ff8f4cc22bfc008ca4c5 Author: Chris Hanson Date: Mon Jun 15 22:40:25 2020 -0700 Document associative map abstraction. M doc/ref-manual/associations.texi M doc/ref-manual/scheme.texinfo commit c503657353e5e7364180406a6bd732dd5a41efa5 Author: Chris Hanson Date: Mon Jun 15 22:40:12 2020 -0700 Fix thinko in amap=? . M src/runtime/amap.scm commit 03a654100b0d4b944ec8a1b7b237e56a503d0391 Author: Chris Hanson Date: Sun Jun 14 23:31:22 2020 -0700 Fix some problems that caused invalid XML with HTML5. M src/ssp/xhtml-expander.scm M src/xml/xhtml.scm M src/xml/xml-output.scm commit e9ce473ef09634668504d4850e0d86516b8b460d Author: Chris Hanson Date: Sun Jun 14 23:30:54 2020 -0700 Fix indent. M src/runtime/library-loader.scm commit f4a8739f5b76a0fe6609daa79388b01a956e78aa Author: Chris Hanson Date: Sun Jun 14 23:30:37 2020 -0700 Document changes to weak pairs. M doc/ref-manual/misc-datatypes.texi commit 7e0ed1eb34bca9d9038a88879a2792ad79a16d95 Author: Chris Hanson Date: Sat Jun 13 14:26:58 2020 -0700 Fix typos. M src/runtime/feature.scm commit f7a39283138c279bb01961af7a066c3dbc3ad166 Author: Chris Hanson Date: Fri Jun 12 23:48:58 2020 -0700 Document the new REPL UI. M doc/user-manual/user.texinfo commit bdda9dbd39694ec569a0faf2a197605775013746 Author: Chris Hanson Date: Fri Jun 12 23:48:45 2020 -0700 Add message to ,name command. M src/runtime/rep-ui.scm commit ed25aec43e1182e8f44b19117217d00543fb1fd0 Author: Chris Hanson Date: Thu Jun 11 12:42:07 2020 -0700 Address bug #44086. M src/microcode/errors.h commit 0e96e54dd126102fb47e9aa44bdfc73f7b87e384 Author: Taylor R Campbell Date: Wed Jun 10 16:05:06 2020 +0000 Fix stale node pointers. M doc/user-manual/user.texinfo commit 9e0a10449d0e309e39a099506f5007a98812d404 Author: Taylor R Campbell Date: Mon Jun 8 19:07:21 2020 +0000 Avoid generating (LSL (&U ...) 0) operands where convenient. M src/compiler/machines/aarch64/lapgen.scm commit 7d3c171219784afb230291f4d49bb284c8d4e767 Author: Taylor R Campbell Date: Mon Jun 8 18:47:13 2020 +0000 Handle linking very large compiled blocks. M src/compiler/machines/aarch64/rules3.scm commit 00cf9a9986c561161e70729c80705934223a50fc Author: Taylor R Campbell Date: Mon Jun 8 13:56:00 2020 +0000 More autocrud gitignores. M src/blowfish/.gitignore M src/gdbm/.gitignore A src/libraries/.gitignore M src/mcrypt/.gitignore M src/pgsql/.gitignore M src/x11/.gitignore M tests/ffi/.gitignore commit 282a0ed1c05698e5c8e1c919ba8da7032567bad9 Author: Taylor R Campbell Date: Sat Jun 6 18:59:15 2020 +0000 Raise timeout a little bit so test-list.scm passes on my pinebook. M tests/unit-testing.scm commit 6a75ca3465133ab157667e5779aac9e12f9b71c3 Author: Chris Hanson Date: Thu Jun 4 22:40:43 2020 -0700 Implement post-finalization note from SRFI 115. M src/runtime/runtime.pkg M src/runtime/srfi-115.scm M tests/runtime/test-srfi-115.scm commit 432b361dbaae7eac5d8aa0165f7a2f3ed053bbcf Author: Chris Hanson Date: Thu Jun 4 21:49:17 2020 -0700 Eliminate regexp-matches-all{,?}. They are non-standard aliases of the standard regexp-matches{,?} and consequently will just cause confusion. M src/runtime/runtime.pkg M src/runtime/srfi-115.scm M tests/runtime/test-srfi-115.scm commit a5c681689dfb5a886dc80e34f2ee818ed2973839 Author: Chris Hanson Date: Wed Jun 3 00:59:21 2020 -0700 Change predicate tag relation cache to hold its keys weakly. This unfortunately required creating a hand-made hash table type since trying to use a comparator would create a dependency loop in the cold-load sequence. M src/runtime/hash-table.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg commit 437b705bce4e6125b4714e9261aa2753661c0bfd Author: Chris Hanson Date: Wed Jun 3 00:59:11 2020 -0700 Fix some typos. M src/runtime/comparator.scm commit 9201993ca27fd6210811018524ddbdae9f57c8a8 Author: Chris Hanson Date: Tue Jun 2 23:48:35 2020 -0700 The constant type is not scode. M src/runtime/scode.scm commit fec3f03fab2b9d2b982d3609e6ff8ca55690bc6e Author: Chris Hanson Date: Tue Jun 2 22:26:54 2020 -0700 Change fluid-let so it doesn't depend on set!'s value. To make this work, I introduced a special form safe-reference, which allows looking up a variable that might be unassigned. The end result is that after this release, we can change set! so that it doesn't return the old value. M src/compiler/base/fasdump.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/fggen.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/aarch64/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/x86-64/compiler.pkg M src/microcode/debug.c M src/microcode/interp.c M src/microcode/scode.h M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/prgcop.scm M src/runtime/printer.scm M src/runtime/runtime.pkg M src/runtime/scode.scm M src/runtime/syntax-constructor.scm M src/runtime/syntax-items.scm M src/runtime/syntax-output.scm M src/runtime/syntax-rename.scm M src/runtime/unsyn.scm M src/runtime/xeval.scm M src/sf/cgen.scm M src/sf/copy.scm M src/sf/object.scm M src/sf/reduct.scm M src/sf/usiexp.scm M src/sf/xform.scm commit 7b1f7a3a4a5d99d86da6f773b64a898c17aa5b2b Author: Chris Hanson Date: Tue Jun 2 19:13:08 2020 -0700 Eliminate special treatment of TC_VARIABLE by fasdump. This is an ancient holdover from a time when we used those extra fields in the variable for a display. We haven't used them in at least 30 years now. M src/microcode/fasdump.c commit c70076fb1dd23d0861e7cf86f9689813f0ea775b Author: Taylor R Campbell Date: Tue Jun 2 01:35:47 2020 +0000 Need runtime/arith for exact-nonnegative-integer?. M src/runtime/bytevector.scm commit fba2c27945cbe9d58f492496dad7e41bc02f0cae Author: Chris Hanson Date: Mon Jun 1 23:59:20 2020 -0700 Change lambda.scm so that evaluating it doesn't return a reference trap. M src/runtime/lambda.scm commit 77c4cb0675fad9afa5b2edeb805019aa2e7f7a57 Author: Taylor R Campbell Date: Tue Jun 2 01:18:52 2020 +0000 Use PROT_EXEC only for native-code builds. M src/microcode/ux.c commit f56ae91fd675a87bf68c46dfe0f30d16b208337d Author: Taylor R Campbell Date: Tue Jun 2 00:29:28 2020 +0000 Use /tmp in preference to /var/tmp for temporary files. /var/tmp is conventionally for temporary files that are persistent across reboot, e.g. vi recovery files, not for temporary files that we have no use for after a reboot. M src/runtime/unxprm.scm commit b96249cbe50515a637e68a2cfc2804475122da93 Author: Taylor R Campbell Date: Tue Jun 2 00:23:25 2020 +0000 Rebuild toolchain if runtime/host-adapter.scm changes. M src/Makefile.in commit 23a8b16ecff1d58a88927d14b68a883fb0488f6e Author: Taylor R Campbell Date: Sun May 31 17:31:53 2020 +0000 Flush icache for new trampolines before using them. M src/microcode/cmpint.c commit 760e4a1b911e29ce2a5dd57de76c6aaaeb7eebe4 Author: Chris Hanson Date: Mon Jun 1 12:07:31 2020 -0700 Tweak to get test to pass on macOS. M tests/runtime/test-floenv.scm commit 38d6e6e5d197292b87a31c47eb82af7f41f74180 Author: Chris Hanson Date: Mon Jun 1 11:37:43 2020 -0700 Supply missing FE_DENORMAL on macOS. M src/microcode/floenv.h commit 38f00e777581dfcb0fd02261d64d31ce3ca5772b Author: Chris Hanson Date: Mon Jun 1 11:29:46 2020 -0700 Fix workaround for feenableexcept/fedisableexcept. M src/microcode/floenv.c commit a6632983ea9b4f394eb196149d60ed4a70eb55fb Author: Chris Hanson Date: Sun May 31 23:15:43 2020 -0700 Fix values returned by vector-every, string-any, and string-every. M src/libraries/srfi-133-impl.scm M src/runtime/string.scm M src/runtime/vector.scm M tests/libraries/test-srfi-133.scm M tests/runtime/test-string.scm commit 65491dea5dbbfc18292d20ee4838fa000533771a Author: Chris Hanson Date: Sun May 31 00:02:54 2020 -0700 Update version numbering to use Emacs version conventions. Next release will be 11.1, and if I do pre-releases they will be 11.0.90, 11.0.91, etc. M doc/configure.ac M doc/mit-scheme.1 M doc/ref-manual/scheme.texinfo M doc/user-manual/user.texinfo M src/blowfish/mit-scheme-blowfish.texi M src/configure.ac M src/gdbm/mit-scheme-gdbm.texi M src/microcode/configure.ac M src/runtime/version.scm commit a4b353e68f769578db7f8536445bfe0a826e2b2b Author: Chris Hanson Date: Sat May 30 20:13:31 2020 -0700 Clean up no-split html target. M doc/make-common.in commit 9fbcdb28485e6974558b3ddf97a1691355b09a62 Author: Chris Hanson Date: Sat May 30 20:04:38 2020 -0700 Update copyright dates; also tweak updater program a bit. M dist/Makefile M dist/copyright.c M dist/copyright.scm M dist/make-doc-files M dist/make-liarc-files M dist/make-macosx-app M dist/make-native-files M dist/make-scmutils M dist/make-src-files M dist/shared.sh M dist/update-copyright.scm M doc/Makefile.in M doc/configure.ac M doc/ffi/ffi.texinfo M doc/make-common.in M doc/ref-manual/Makefile.in M doc/ref-manual/scheme.texinfo M doc/sos/Makefile.in M doc/sos/sos.texinfo M doc/user-manual/Makefile.in M doc/user-manual/user.texinfo M etc/dirdif.scm M etc/dumpdat.scm M etc/mkauto.bat M etc/mkopt.bat M etc/nrwcopyr.el M etc/run-three-stages M src/6001/6001.cbf M src/6001/6001.pkg M src/6001/6001.sf M src/6001/arith.scm M src/6001/edextra.scm M src/6001/floppy.scm M src/6001/make.scm M src/6001/nodefs.scm M src/6001/pic-imag.scm M src/6001/pic-ops.scm M src/6001/pic-read.scm M src/6001/pic-reco.scm M src/6001/picture.scm M src/Clean.sh M src/Makefile.in M src/Makefile.tools.in M src/Setup.sh M src/Stage.sh M src/Tags.sh M src/berkeley-db/berkeley-db.scm M src/berkeley-db/prdb4.c M src/berkeley-db/prdb4.scm M src/blowfish/Makefile.am M src/blowfish/NEWS M src/blowfish/blowfish-adapter.c M src/blowfish/blowfish-check.scm M src/blowfish/blowfish-shim.h M src/blowfish/blowfish-test.scm M src/blowfish/blowfish.cdecl M src/blowfish/blowfish.pkg M src/blowfish/blowfish.scm M src/blowfish/compile.sh M src/blowfish/configure.ac M src/blowfish/mit-scheme-blowfish.texi M src/compiler/Clean.sh M src/compiler/Setup.sh M src/compiler/Stage.sh M src/compiler/Tags.sh M src/compiler/back/asmmac.scm M src/compiler/back/asutl.scm M src/compiler/back/bittop.scm M src/compiler/back/bitutl.scm M src/compiler/back/checks.scm M src/compiler/back/insseq.scm M src/compiler/back/lapgn1.scm M src/compiler/back/lapgn2.scm M src/compiler/back/lapgn3.scm M src/compiler/back/linear.scm M src/compiler/back/mermap.scm M src/compiler/back/regmap.scm M src/compiler/back/syerly.scm M src/compiler/back/symtab.scm M src/compiler/back/syntax.scm M src/compiler/base/asstop.scm M src/compiler/base/blocks.scm M src/compiler/base/cfg1.scm M src/compiler/base/cfg2.scm M src/compiler/base/cfg3.scm M src/compiler/base/constr.scm M src/compiler/base/contin.scm M src/compiler/base/crsend.scm M src/compiler/base/crstop.scm M src/compiler/base/ctypes.scm M src/compiler/base/debug.scm M src/compiler/base/enumer.scm M src/compiler/base/infnew.scm M src/compiler/base/lvalue.scm M src/compiler/base/macros.scm M src/compiler/base/make.scm M src/compiler/base/mvalue.scm M src/compiler/base/object.scm M src/compiler/base/pmerly.scm M src/compiler/base/pmlook.scm M src/compiler/base/pmpars.scm M src/compiler/base/proced.scm M src/compiler/base/refctx.scm M src/compiler/base/rvalue.scm M src/compiler/base/scode.scm M src/compiler/base/sets.scm M src/compiler/base/subprb.scm M src/compiler/base/switch.scm M src/compiler/base/toplev.scm M src/compiler/base/utils.scm M src/compiler/choose-machine.sh M src/compiler/documentation/cmpaux.txt M src/compiler/documentation/cmpint.txt M src/compiler/documentation/porting.guide M src/compiler/etc/asm.scm M src/compiler/etc/comcmp.scm M src/compiler/etc/comfiles.scm M src/compiler/etc/disload.scm M src/compiler/etc/stackp.scm M src/compiler/etc/xcbfdir.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/declar.scm M src/compiler/fggen/fggen.scm M src/compiler/fgopt/blktyp.scm M src/compiler/fgopt/closan.scm M src/compiler/fgopt/conect.scm M src/compiler/fgopt/contan.scm M src/compiler/fgopt/delint.scm M src/compiler/fgopt/desenv.scm M src/compiler/fgopt/envopt.scm M src/compiler/fgopt/folcon.scm M src/compiler/fgopt/offset.scm M src/compiler/fgopt/operan.scm M src/compiler/fgopt/order.scm M src/compiler/fgopt/outer.scm M src/compiler/fgopt/param.scm M src/compiler/fgopt/reord.scm M src/compiler/fgopt/reteqv.scm M src/compiler/fgopt/reuse.scm M src/compiler/fgopt/sideff.scm M src/compiler/fgopt/simapp.scm M src/compiler/fgopt/simple.scm M src/compiler/fgopt/subfre.scm M src/compiler/fgopt/varind.scm M src/compiler/machines/C/compiler.cbf M src/compiler/machines/C/compiler.pkg M src/compiler/machines/C/compiler.sf M src/compiler/machines/C/cout.scm M src/compiler/machines/C/ctop.scm M src/compiler/machines/C/cutl.scm M src/compiler/machines/C/decls.scm M src/compiler/machines/C/lapgen.scm M src/compiler/machines/C/machin.scm M src/compiler/machines/C/make.scm M src/compiler/machines/C/rgspcm.scm M src/compiler/machines/C/rules1.scm M src/compiler/machines/C/rules2.scm M src/compiler/machines/C/rules3.scm M src/compiler/machines/C/rules4.scm M src/compiler/machines/C/rulfix.scm M src/compiler/machines/C/rulflo.scm M src/compiler/machines/C/rulrew.scm M src/compiler/machines/C/stackify.scm M src/compiler/machines/C/stackops.scm M src/compiler/machines/C/traditional.scm M src/compiler/machines/aarch64/assmd.scm M src/compiler/machines/aarch64/big-endian.scm M src/compiler/machines/aarch64/coerce.scm M src/compiler/machines/aarch64/compiler.cbf M src/compiler/machines/aarch64/compiler.pkg M src/compiler/machines/aarch64/compiler.sf M src/compiler/machines/aarch64/decls.scm M src/compiler/machines/aarch64/insmac.scm M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/instr2.scm M src/compiler/machines/aarch64/instrf.scm M src/compiler/machines/aarch64/insutl.scm M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/lapopt.scm M src/compiler/machines/aarch64/little-endian.scm M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/aarch64/make.scm M src/compiler/machines/aarch64/rgspcm.scm M src/compiler/machines/aarch64/rules1.scm M src/compiler/machines/aarch64/rules2.scm M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rules4.scm M src/compiler/machines/aarch64/rulfix.scm M src/compiler/machines/aarch64/rulflo.scm M src/compiler/machines/aarch64/rulrew.scm M src/compiler/machines/i386/assmd.scm M src/compiler/machines/i386/coerce.scm M src/compiler/machines/i386/compiler.cbf M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/compiler.sf M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/i386/dassm2.scm M src/compiler/machines/i386/dassm3.scm M src/compiler/machines/i386/decls.scm M src/compiler/machines/i386/insmac.scm M src/compiler/machines/i386/instr1.scm M src/compiler/machines/i386/instr2.scm M src/compiler/machines/i386/instrf.scm M src/compiler/machines/i386/insutl.scm M src/compiler/machines/i386/lapgen.scm M src/compiler/machines/i386/lapopt.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/i386/make.scm M src/compiler/machines/i386/pc-make.scm M src/compiler/machines/i386/rgspcm.scm M src/compiler/machines/i386/rules1.scm M src/compiler/machines/i386/rules2.scm M src/compiler/machines/i386/rules3.scm M src/compiler/machines/i386/rules4.scm M src/compiler/machines/i386/rulfix.scm M src/compiler/machines/i386/rulflo.scm M src/compiler/machines/i386/rulrew.scm M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/assembler-rules.scm M src/compiler/machines/svm/assembler-runtime.scm M src/compiler/machines/svm/big-endian.scm M src/compiler/machines/svm/compile-assembler.scm M src/compiler/machines/svm/compiler.cbf M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/compiler.sf M src/compiler/machines/svm/decls.scm M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/svm/lapgen.scm M src/compiler/machines/svm/lapopt.scm M src/compiler/machines/svm/little-endian.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/svm/make.scm M src/compiler/machines/svm/rgspcm.scm M src/compiler/machines/svm/rules.scm M src/compiler/machines/svm/wordsize-32.scm M src/compiler/machines/svm/wordsize-64.scm M src/compiler/machines/x86-64/assmd.scm M src/compiler/machines/x86-64/coerce.scm M src/compiler/machines/x86-64/compiler.cbf M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/compiler.sf M src/compiler/machines/x86-64/dassm1.scm M src/compiler/machines/x86-64/dassm2.scm M src/compiler/machines/x86-64/dassm3.scm M src/compiler/machines/x86-64/decls.scm M src/compiler/machines/x86-64/insmac.scm M src/compiler/machines/x86-64/instr1.scm M src/compiler/machines/x86-64/instr2.scm M src/compiler/machines/x86-64/instrf.scm M src/compiler/machines/x86-64/insutl.scm M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/lapopt.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/make.scm M src/compiler/machines/x86-64/pc-make.scm M src/compiler/machines/x86-64/rgspcm.scm M src/compiler/machines/x86-64/rules1.scm M src/compiler/machines/x86-64/rules2.scm M src/compiler/machines/x86-64/rules3.scm M src/compiler/machines/x86-64/rules4.scm M src/compiler/machines/x86-64/rulfix.scm M src/compiler/machines/x86-64/rulflo.scm M src/compiler/machines/x86-64/rulrew.scm M src/compiler/rtlbase/regset.scm M src/compiler/rtlbase/rgraph.scm M src/compiler/rtlbase/rtlcfg.scm M src/compiler/rtlbase/rtlcon.scm M src/compiler/rtlbase/rtlexp.scm M src/compiler/rtlbase/rtline.scm M src/compiler/rtlbase/rtlobj.scm M src/compiler/rtlbase/rtlreg.scm M src/compiler/rtlbase/rtlty1.scm M src/compiler/rtlbase/rtlty2.scm M src/compiler/rtlbase/valclass.scm M src/compiler/rtlgen/fndblk.scm M src/compiler/rtlgen/fndvar.scm M src/compiler/rtlgen/opncod.scm M src/compiler/rtlgen/rgcomb.scm M src/compiler/rtlgen/rgproc.scm M src/compiler/rtlgen/rgretn.scm M src/compiler/rtlgen/rgrval.scm M src/compiler/rtlgen/rgstmt.scm M src/compiler/rtlgen/rtlgen.scm M src/compiler/rtlopt/ralloc.scm M src/compiler/rtlopt/rcompr.scm M src/compiler/rtlopt/rcse1.scm M src/compiler/rtlopt/rcse2.scm M src/compiler/rtlopt/rcseep.scm M src/compiler/rtlopt/rcseht.scm M src/compiler/rtlopt/rcserq.scm M src/compiler/rtlopt/rcsesr.scm M src/compiler/rtlopt/rdebug.scm M src/compiler/rtlopt/rdflow.scm M src/compiler/rtlopt/rerite.scm M src/compiler/rtlopt/rinvex.scm M src/compiler/rtlopt/rlife.scm M src/compiler/rtlopt/rtlcsm.scm M src/configure.ac M src/cref/anfile.scm M src/cref/conpkg.scm M src/cref/cref.cbf M src/cref/cref.pkg M src/cref/cref.sf M src/cref/forpkg.scm M src/cref/make.scm M src/cref/mset.scm M src/cref/object.scm M src/cref/redpkg.scm M src/cref/toplev.scm M src/cref/triv.pkg M src/edwin/Clean.sh M src/edwin/Makefile.am M src/edwin/NEWS M src/edwin/abbrev.scm M src/edwin/adapters.scm M src/edwin/ansi.scm M src/edwin/argred.scm M src/edwin/artdebug.scm M src/edwin/autold.scm M src/edwin/autosv.scm M src/edwin/basic.scm M src/edwin/bios.scm M src/edwin/bufcom.scm M src/edwin/buffer.scm M src/edwin/buffrm.scm M src/edwin/bufinp.scm M src/edwin/bufmnu.scm M src/edwin/bufout.scm M src/edwin/bufset.scm M src/edwin/bufwfs.scm M src/edwin/bufwin.scm M src/edwin/bufwiu.scm M src/edwin/bufwmc.scm M src/edwin/c-mode.scm M src/edwin/calias.scm M src/edwin/cinden.scm M src/edwin/class.scm M src/edwin/clscon.scm M src/edwin/clsmac.scm M src/edwin/comatch.scm M src/edwin/comhst.scm M src/edwin/comint.scm M src/edwin/comman.scm M src/edwin/compile.scm M src/edwin/compile.sh M src/edwin/comred.scm M src/edwin/comtab.scm M src/edwin/comwin.scm M src/edwin/configure.ac M src/edwin/curren.scm M src/edwin/dabbrev.scm M src/edwin/debian-changelog.scm M src/edwin/debug.scm M src/edwin/debuge.scm M src/edwin/decls.scm M src/edwin/dired.scm M src/edwin/dirunx.scm M src/edwin/dirw32.scm M src/edwin/display.scm M src/edwin/docstr.scm M src/edwin/dos.scm M src/edwin/doscom.scm M src/edwin/dosfile.scm M src/edwin/dosproc.scm M src/edwin/dosshell.scm M src/edwin/ed-ffi.scm M src/edwin/editor.scm M src/edwin/edtfrm.scm M src/edwin/edtstr.scm M src/edwin/edwin.cbf M src/edwin/edwin.ldr M src/edwin/edwin.pkg M src/edwin/edwin.sf M src/edwin/evlcom.scm M src/edwin/eystep.scm M src/edwin/filcom.scm M src/edwin/fileio.scm M src/edwin/fill.scm M src/edwin/grpops.scm M src/edwin/hlpcom.scm M src/edwin/htmlmode.scm M src/edwin/image.scm M src/edwin/info.scm M src/edwin/input.scm M src/edwin/intmod.scm M src/edwin/iserch.scm M src/edwin/javamode.scm M src/edwin/key-w32.scm M src/edwin/keymap.scm M src/edwin/keyparse.scm M src/edwin/kilcom.scm M src/edwin/kmacro.scm M src/edwin/lincom.scm M src/edwin/linden.scm M src/edwin/loadef.scm M src/edwin/lspcom.scm M src/edwin/macros.scm M src/edwin/make.scm M src/edwin/malias.scm M src/edwin/manual.scm M src/edwin/midas.scm M src/edwin/modefs.scm M src/edwin/modes.scm M src/edwin/modlin.scm M src/edwin/modwin.scm M src/edwin/motcom.scm M src/edwin/motion.scm M src/edwin/mousecom.scm M src/edwin/nntp.scm M src/edwin/notify.scm M src/edwin/nvector.scm M src/edwin/occur.scm M src/edwin/outline.scm M src/edwin/pasmod.scm M src/edwin/paths.scm M src/edwin/print.scm M src/edwin/process.scm M src/edwin/prompt.scm M src/edwin/pwedit.scm M src/edwin/pwparse.scm M src/edwin/rcsparse.scm M src/edwin/reccom.scm M src/edwin/regcom.scm M src/edwin/regexp.scm M src/edwin/regops.scm M src/edwin/replaz.scm M src/edwin/rfc822.scm M src/edwin/ring.scm M src/edwin/rmail.scm M src/edwin/rmailsrt.scm M src/edwin/rmailsum.scm M src/edwin/schmod.scm M src/edwin/scrcom.scm M src/edwin/screen.scm M src/edwin/search.scm M src/edwin/sendmail.scm M src/edwin/sercom.scm M src/edwin/shell.scm M src/edwin/simple.scm M src/edwin/snr.scm M src/edwin/sort.scm M src/edwin/sources.scm M src/edwin/sources.sh M src/edwin/string.scm M src/edwin/strpad.scm M src/edwin/strtab.scm M src/edwin/struct.scm M src/edwin/syntax.scm M src/edwin/tagutl.scm M src/edwin/techinfo.scm M src/edwin/telnet.scm M src/edwin/termcap.scm M src/edwin/texcom.scm M src/edwin/things.scm M src/edwin/tparse.scm M src/edwin/tterm.scm M src/edwin/tximod.scm M src/edwin/txtprp.scm M src/edwin/undo.scm M src/edwin/unix.scm M src/edwin/utils.scm M src/edwin/utlwin.scm M src/edwin/vc-bzr.scm M src/edwin/vc-cvs.scm M src/edwin/vc-git.scm M src/edwin/vc-rcs.scm M src/edwin/vc-svn.scm M src/edwin/vc.scm M src/edwin/verilog.scm M src/edwin/vhdl.scm M src/edwin/webster.scm M src/edwin/win32.scm M src/edwin/win32com.scm M src/edwin/wincom.scm M src/edwin/window.scm M src/edwin/winout.scm M src/edwin/world-monitor.scm M src/edwin/xform.scm M src/edwin/xterm.scm M src/etc/Clean.sh M src/etc/Setup.sh M src/etc/Stage.sh M src/etc/Tags.sh M src/etc/build-bands.sh M src/etc/build-boot-compiler.sh M src/etc/c-bundle.sh M src/etc/c-compile.sh M src/etc/c-prepare.sh M src/etc/compile-boot-compiler.sh M src/etc/compile.scm M src/etc/compile.sh M src/etc/create-makefiles.sh M src/etc/crossbin.scm M src/etc/functions.sh M src/etc/install-bin-symlinks.sh M src/etc/iso8859-converter.scm M src/etc/macosx/make-app.sh M src/etc/make-liarc-dist.sh M src/etc/make-liarc.sh M src/etc/make-native.sh M src/etc/maybe-update-file.sh M src/etc/native-prepare.sh M src/etc/optiondb.scm M src/etc/std-makefile-prefix M src/etc/ucd-converter.scm M src/etc/utilities.scm M src/ffi/build.scm M src/ffi/cdecls.scm M src/ffi/ctypes.scm M src/ffi/generator.scm M src/ffi/syntax.scm M src/gdbm/Makefile.am M src/gdbm/NEWS M src/gdbm/compile.sh M src/gdbm/configure.ac M src/gdbm/gdbm-adapter.c M src/gdbm/gdbm-check.scm M src/gdbm/gdbm-shim.h M src/gdbm/gdbm.cdecl M src/gdbm/gdbm.pkg M src/gdbm/gdbm.scm M src/gdbm/mit-scheme-gdbm.texi M src/imail/Makefile.am M src/imail/NEWS M src/imail/compile.scm M src/imail/compile.sh M src/imail/configure.ac M src/imail/ed-ffi.scm M src/imail/imail-browser.scm M src/imail/imail-core.scm M src/imail/imail-file.scm M src/imail/imail-imap.scm M src/imail/imail-mime.scm M src/imail/imail-rmail.scm M src/imail/imail-summary.scm M src/imail/imail-top.scm M src/imail/imail-umail.scm M src/imail/imail-util.scm M src/imail/imail.pkg M src/imail/imap-response.scm M src/imail/imap-syntax.scm M src/imail/make.scm M src/imail/mit-scheme-imail.texi M src/imail/print.sh M src/libraries/compile.scm M src/libraries/inline-testing-impl.scm M src/libraries/inline-testing.sld M src/libraries/srfi-133-impl.scm M src/libraries/srfi-133.sld M src/libraries/srfi-14.sld M src/libraries/srfi-140-impl.scm M src/libraries/srfi-140.sld M src/mcrypt/Makefile.am M src/mcrypt/NEWS M src/mcrypt/compile.sh M src/mcrypt/configure.ac M src/mcrypt/mcrypt-adapter.c M src/mcrypt/mcrypt-check.scm M src/mcrypt/mcrypt-shim.h M src/mcrypt/mcrypt.cdecl M src/mcrypt/mcrypt.pkg M src/mcrypt/mcrypt.scm M src/microcode/Clean.sh M src/microcode/Setup.sh M src/microcode/artutl.c M src/microcode/avltree.c M src/microcode/avltree.h M src/microcode/bignmint.h M src/microcode/bignum.c M src/microcode/bignum.h M src/microcode/bigprm.c M src/microcode/bits.h M src/microcode/bitstr.c M src/microcode/bitstr.h M src/microcode/bkpt.c M src/microcode/bkpt.h M src/microcode/boot.c M src/microcode/bytevector.c M src/microcode/char.c M src/microcode/cmpauxmd/aarch64.m4 M src/microcode/cmpauxmd/asmcvt.c M src/microcode/cmpauxmd/c.c M src/microcode/cmpauxmd/i386.m4 M src/microcode/cmpauxmd/m4-dos M src/microcode/cmpauxmd/makefile M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpgc.h M src/microcode/cmpint.c M src/microcode/cmpint.h M src/microcode/cmpintmd/aarch64-config.h M src/microcode/cmpintmd/aarch64.c M src/microcode/cmpintmd/aarch64.h M src/microcode/cmpintmd/c-config.h M src/microcode/cmpintmd/c.c M src/microcode/cmpintmd/c.h M src/microcode/cmpintmd/i386-config.h M src/microcode/cmpintmd/i386.c M src/microcode/cmpintmd/i386.h M src/microcode/cmpintmd/none-config.h M src/microcode/cmpintmd/none.c M src/microcode/cmpintmd/none.h M src/microcode/cmpintmd/svm1-config.h M src/microcode/cmpintmd/svm1.c M src/microcode/cmpintmd/svm1.h M src/microcode/cmpintmd/x86-64-config.h M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h M src/microcode/cmpintmd/x86-fenv.c M src/microcode/cmpintmd/x86-fenv.h M src/microcode/comlin.c M src/microcode/comlin.h M src/microcode/comutl.c M src/microcode/configure.ac M src/microcode/confshared.h M src/microcode/const.h M src/microcode/copyrigh.c M src/microcode/critsec.h M src/microcode/ctassert.h M src/microcode/daemon.c M src/microcode/debug.c M src/microcode/dfloat.c M src/microcode/dstack.h M src/microcode/edwin.h M src/microcode/error.c M src/microcode/errors.h M src/microcode/extern.c M src/microcode/extern.h M src/microcode/extract-liarc-decls.c M src/microcode/fasdump.c M src/microcode/fasl.c M src/microcode/fasl.h M src/microcode/fasload.c M src/microcode/findprim.c M src/microcode/fixnum.c M src/microcode/fixnum.h M src/microcode/fixobj.h M src/microcode/floenv.c M src/microcode/floenv.h M src/microcode/flonum.c M src/microcode/fma.h M src/microcode/gc.h M src/microcode/gccode.h M src/microcode/gcloop.c M src/microcode/gen-nonce.c M src/microcode/generic.c M src/microcode/history.h M src/microcode/hooks.c M src/microcode/hunk.c M src/microcode/intern.c M src/microcode/interp.c M src/microcode/interp.h M src/microcode/intext.c M src/microcode/intext.h M src/microcode/intprm.c M src/microcode/intrpt.h M src/microcode/liarc-cc.in M src/microcode/liarc-ld.in M src/microcode/liarc.h M src/microcode/list.c M src/microcode/lookprm.c M src/microcode/lookup.c M src/microcode/lookup.h M src/microcode/macosx-starter.c M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/bundles-liarc.scm M src/microcode/makegen/dirs-liarc.scm M src/microcode/makegen/files-core.scm M src/microcode/makegen/files-optional.scm M src/microcode/makegen/files-os-prim.scm M src/microcode/makegen/files-other.scm M src/microcode/makegen/files-unix.scm M src/microcode/makegen/liarc-base-rules M src/microcode/makegen/m4.sh M src/microcode/makegen/makegen.scm M src/microcode/makegen/makeinit.sh M src/microcode/makegen/pkds-liarc.scm M src/microcode/memmag.c M src/microcode/memmag.h M src/microcode/missing.c M src/microcode/mul.c M src/microcode/nt.h M src/microcode/ntapi.h M src/microcode/ntasutl.asm M src/microcode/ntenv.c M src/microcode/ntfile.c M src/microcode/ntfs.c M src/microcode/ntfs.h M src/microcode/ntgui.c M src/microcode/ntgui.h M src/microcode/ntio.c M src/microcode/ntio.h M src/microcode/ntproc.c M src/microcode/ntproc.h M src/microcode/ntscmlib.h M src/microcode/ntscreen.c M src/microcode/ntscreen.h M src/microcode/ntsig.c M src/microcode/ntsock.c M src/microcode/ntsys.c M src/microcode/ntsys.h M src/microcode/ntterm.h M src/microcode/nttop.c M src/microcode/nttop.h M src/microcode/nttrap.c M src/microcode/nttrap.h M src/microcode/nttterm.c M src/microcode/nttty.c M src/microcode/ntutl/config.bat M src/microcode/ntutl/config.h M src/microcode/ntutl/makefile M src/microcode/ntutl/makefile.wcc M src/microcode/ntutl/scheme16.c M src/microcode/ntutl/scheme16.mak M src/microcode/ntutl/scheme31.c M src/microcode/ntutl/scheme32.c M src/microcode/ntutl/scm-p-nt.lst M src/microcode/ntutl/setenv.bat M src/microcode/ntutl/wconfig.bat M src/microcode/object.h M src/microcode/obstack.c M src/microcode/obstack.h M src/microcode/option.c M src/microcode/option.h M src/microcode/os.h M src/microcode/osctty.h M src/microcode/osentropy.h M src/microcode/osenv.h M src/microcode/osfile.h M src/microcode/osfs.h M src/microcode/osio.h M src/microcode/osproc.h M src/microcode/ospty.h M src/microcode/osscheme.c M src/microcode/osscheme.h M src/microcode/ossig.h M src/microcode/osterm.h M src/microcode/ostop.h M src/microcode/ostty.c M src/microcode/ostty.h M src/microcode/outf.c M src/microcode/outf.h M src/microcode/prchacha.c M src/microcode/prename.h M src/microcode/prentropy.c M src/microcode/prim.c M src/microcode/prim.h M src/microcode/prims.h M src/microcode/primutl.c M src/microcode/prkeccak.c M src/microcode/prmd5.c M src/microcode/prntenv.c M src/microcode/prntfs.c M src/microcode/prntio.c M src/microcode/prosenv.c M src/microcode/prosfile.c M src/microcode/prosfs.c M src/microcode/prosio.c M src/microcode/prosproc.c M src/microcode/prospty.c M src/microcode/prosterm.c M src/microcode/prostty.c M src/microcode/pruxdld.c M src/microcode/pruxenv.c M src/microcode/pruxffi.c M src/microcode/pruxffi.h M src/microcode/pruxfs.c M src/microcode/pruxio.c M src/microcode/pruxsock.c M src/microcode/ptrvec.c M src/microcode/purify.c M src/microcode/purutl.c M src/microcode/regex.c M src/microcode/regex.h M src/microcode/returns.h M src/microcode/rgxprim.c M src/microcode/sample.c M src/microcode/scheme.h M src/microcode/scode.h M src/microcode/sdata.h M src/microcode/stack.h M src/microcode/stackops.h M src/microcode/step.c M src/microcode/storage.c M src/microcode/string.c M src/microcode/svm1-interp.c M src/microcode/syntax.c M src/microcode/syntax.h M src/microcode/syscall.h M src/microcode/sysprim.c M src/microcode/term.c M src/microcode/termcap.c M src/microcode/terminfo.c M src/microcode/tparam.c M src/microcode/transact.c M src/microcode/trap.h M src/microcode/tterm.c M src/microcode/types.h M src/microcode/unstackify.c M src/microcode/usrdef.h M src/microcode/utabmd.c M src/microcode/utils.c M src/microcode/ux.c M src/microcode/ux.h M src/microcode/uxctty.c M src/microcode/uxentropy.c M src/microcode/uxenv.c M src/microcode/uxfile.c M src/microcode/uxfs.c M src/microcode/uxio.c M src/microcode/uxio.h M src/microcode/uxproc.c M src/microcode/uxproc.h M src/microcode/uxsig.c M src/microcode/uxsig.h M src/microcode/uxsock.c M src/microcode/uxsock.h M src/microcode/uxterm.c M src/microcode/uxterm.h M src/microcode/uxtop.c M src/microcode/uxtop.h M src/microcode/uxtrap.c M src/microcode/uxtrap.h M src/microcode/uxtty.c M src/microcode/uxutil.c M src/microcode/uxutil.h M src/microcode/vector.c M src/microcode/wind.c M src/microcode/xdebug.c M src/pgsql/Makefile.am M src/pgsql/NEWS M src/pgsql/compile.sh M src/pgsql/configure.ac M src/pgsql/pgsql-check.scm M src/pgsql/pgsql-shim.h M src/pgsql/pgsql.cdecl M src/pgsql/pgsql.pkg M src/pgsql/pgsql.scm M src/runtime/advice.scm M src/runtime/amap-alist.scm M src/runtime/amap-hash-table.scm M src/runtime/amap-impl.scm M src/runtime/amap-trie.scm M src/runtime/amap.scm M src/runtime/apply.scm M src/runtime/apropos.scm M src/runtime/arith.scm M src/runtime/binary-port.scm M src/runtime/bitstr.scm M src/runtime/blowfish.scm M src/runtime/boole.scm M src/runtime/boot-seq.scm M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/bytevector-low.scm M src/runtime/bytevector.scm M src/runtime/cgen-base.scm M src/runtime/cgen-cse.scm M src/runtime/cgen-optimize.scm M src/runtime/cgen-output.scm M src/runtime/char-set.scm M src/runtime/char.scm M src/runtime/chrsyn.scm M src/runtime/codwlk.scm M src/runtime/command-line.scm M src/runtime/comparator.scm M src/runtime/compound-predicate.scm M src/runtime/condvar.scm M src/runtime/conpar.scm M src/runtime/console-io.scm M src/runtime/contin.scm M src/runtime/cpoint.scm M src/runtime/cpress.scm M src/runtime/crypto.scm M src/runtime/datime.scm M src/runtime/dbgcmd.scm M src/runtime/dbgutl.scm M src/runtime/debug.scm M src/runtime/defstr.scm M src/runtime/digraph.scm M src/runtime/dispatch-cache.scm M src/runtime/dispatch-tag.scm M src/runtime/dos-pathname.scm M src/runtime/dragon4.scm M src/runtime/dynamic.scm M src/runtime/ed-ffi.scm M src/runtime/emacs.scm M src/runtime/environment.scm M src/runtime/equals.scm M src/runtime/error.scm M src/runtime/events.scm M src/runtime/feature.scm M src/runtime/ffi.scm M src/runtime/file-attributes.scm M src/runtime/file-io.scm M src/runtime/floenv.scm M src/runtime/format.scm M src/runtime/framex.scm M src/runtime/gc.scm M src/runtime/gcdemn.scm M src/runtime/gcfinal.scm M src/runtime/gcnote.scm M src/runtime/gcstat.scm M src/runtime/gdbm.scm M src/runtime/generator.scm M src/runtime/generic-io.scm M src/runtime/global.scm M src/runtime/graphics.scm M src/runtime/hash-table.scm M src/runtime/hash.scm M src/runtime/histry.scm M src/runtime/host-adapter.scm M src/runtime/html-form-codec.scm M src/runtime/http-client.scm M src/runtime/http-io.scm M src/runtime/http-syntax.scm M src/runtime/infstr.scm M src/runtime/infutl.scm M src/runtime/input-port.scm M src/runtime/integer-bits.scm M src/runtime/interrupt.scm M src/runtime/keyword.scm M src/runtime/lambda-list.scm M src/runtime/lambda.scm M src/runtime/lambdx.scm M src/runtime/legacy-string.scm M src/runtime/library-database.scm M src/runtime/library-ixports-mit.scm M src/runtime/library-ixports-r7rs.scm M src/runtime/library-ixports.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-scode.scm M src/runtime/library-standard.scm M src/runtime/list.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/memoizer.scm M src/runtime/microcode-data.scm M src/runtime/microcode-errors.scm M src/runtime/microcode-tables.scm M src/runtime/mime-codec.scm M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/msort.scm M src/runtime/ntdir.scm M src/runtime/ntprm.scm M src/runtime/numint.scm M src/runtime/numpar.scm M src/runtime/option.scm M src/runtime/optiondb.scm M src/runtime/ordvec.scm M src/runtime/os-primitives.scm M src/runtime/output-port.scm M src/runtime/packag.scm M src/runtime/parametric-predicate.scm M src/runtime/parser-buffer.scm M src/runtime/pathname.scm M src/runtime/pgsql.scm M src/runtime/poplat.scm M src/runtime/pp.scm M src/runtime/predicate-dispatch.scm M src/runtime/predicate-tagging.scm M src/runtime/predicate.scm M src/runtime/prgcop.scm M src/runtime/primitive-arithmetic.scm M src/runtime/primitive-io.scm M src/runtime/printer.scm M src/runtime/procedure.scm M src/runtime/process.scm M src/runtime/prop1d.scm M src/runtime/prop2d.scm M src/runtime/qsort.scm M src/runtime/queue.scm M src/runtime/random.scm M src/runtime/rbtree.scm M src/runtime/reader.scm M src/runtime/record.scm M src/runtime/reference-trap.scm M src/runtime/regexp-nfa.scm M src/runtime/regexp-recursive.scm M src/runtime/regexp-rules.scm M src/runtime/regexp.scm M src/runtime/regsexp.scm M src/runtime/rep-ui.scm M src/runtime/rep.scm M src/runtime/rexp.scm M src/runtime/rfc2822-headers.scm M src/runtime/rgxcmp.scm M src/runtime/runtime.cbf M src/runtime/runtime.pkg M src/runtime/runtime.sf M src/runtime/savres.scm M src/runtime/scan.scm M src/runtime/scode.scm M src/runtime/sdata.scm M src/runtime/sfile.scm M src/runtime/sha3.scm M src/runtime/simple-matcher.scm M src/runtime/socket.scm M src/runtime/srfi-1.scm M src/runtime/srfi-115.scm M src/runtime/stream.scm M src/runtime/string-io.scm M src/runtime/string.scm M src/runtime/structure-parser.scm M src/runtime/swank.scm M src/runtime/symbol.scm M src/runtime/syncproc.scm M src/runtime/syntax-check.scm M src/runtime/syntax-constructor.scm M src/runtime/syntax-declaration.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-low.scm M src/runtime/syntax-output.scm M src/runtime/syntax-parser.scm M src/runtime/syntax-rename.scm M src/runtime/syntax-rules.scm M src/runtime/syntax.scm M src/runtime/sysclk.scm M src/runtime/sysmac.scm M src/runtime/system.scm M src/runtime/textual-port.scm M src/runtime/thread-barrier.scm M src/runtime/thread-low.scm M src/runtime/thread-queue.scm M src/runtime/thread.scm M src/runtime/transcript.scm M src/runtime/trie.scm M src/runtime/ucd-glue.scm M src/runtime/ucd-grapheme.scm M src/runtime/ucd-segmentation.scm M src/runtime/ucd-table-alpha.scm M src/runtime/ucd-table-canonical-cm-second.scm M src/runtime/ucd-table-canonical-cm.scm M src/runtime/ucd-table-canonical-dm.scm M src/runtime/ucd-table-cased.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-comp_ex.scm M src/runtime/ucd-table-cwcf.scm M src/runtime/ucd-table-cwl.scm M src/runtime/ucd-table-cwu.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gc=cc.scm M src/runtime/ucd-table-gc=cf.scm M src/runtime/ucd-table-gc=cn.scm M src/runtime/ucd-table-gc=co.scm M src/runtime/ucd-table-gc=cs.scm M src/runtime/ucd-table-gc=ll.scm M src/runtime/ucd-table-gc=lm.scm M src/runtime/ucd-table-gc=lo.scm M src/runtime/ucd-table-gc=lt.scm M src/runtime/ucd-table-gc=lu.scm M src/runtime/ucd-table-gc=mc.scm M src/runtime/ucd-table-gc=me.scm M src/runtime/ucd-table-gc=mn.scm M src/runtime/ucd-table-gc=nd.scm M src/runtime/ucd-table-gc=nl.scm M src/runtime/ucd-table-gc=no.scm M src/runtime/ucd-table-gc=pc.scm M src/runtime/ucd-table-gc=pd.scm M src/runtime/ucd-table-gc=pe.scm M src/runtime/ucd-table-gc=pf.scm M src/runtime/ucd-table-gc=pi.scm M src/runtime/ucd-table-gc=po.scm M src/runtime/ucd-table-gc=ps.scm M src/runtime/ucd-table-gc=sc.scm M src/runtime/ucd-table-gc=sk.scm M src/runtime/ucd-table-gc=sm.scm M src/runtime/ucd-table-gc=so.scm M src/runtime/ucd-table-gc=zl.scm M src/runtime/ucd-table-gc=zp.scm M src/runtime/ucd-table-gc=zs.scm M src/runtime/ucd-table-gcb.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-lower.scm M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ucd-table-nfd_qc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nt=de.scm M src/runtime/ucd-table-nt=di.scm M src/runtime/ucd-table-nt=nu.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-upper.scm M src/runtime/ucd-table-wb.scm M src/runtime/ucd-table-wspace.scm M src/runtime/ucd-word.scm M src/runtime/unix-pathname.scm M src/runtime/unsyn.scm M src/runtime/unxdir.scm M src/runtime/unxprm.scm M src/runtime/url.scm M src/runtime/usrint.scm M src/runtime/vector.scm M src/runtime/version.scm M src/runtime/weak-pair.scm M src/runtime/where.scm M src/runtime/win32-registry.scm M src/runtime/wind.scm M src/runtime/world-report.scm M src/runtime/wrkdir.scm M src/runtime/wttree.scm M src/runtime/x11graph.scm M src/runtime/xeval.scm M src/runtime/ystep.scm M src/sf/analyze.scm M src/sf/butils.scm M src/sf/cgen.scm M src/sf/chtype.scm M src/sf/copy.scm M src/sf/emodel.scm M src/sf/gconst.scm M src/sf/make.scm M src/sf/object.scm M src/sf/pardec.scm M src/sf/pthmap.scm M src/sf/reduct.scm M src/sf/sf.cbf M src/sf/sf.pkg M src/sf/sf.sf M src/sf/subst.scm M src/sf/tables.scm M src/sf/toplev.scm M src/sf/usicon.scm M src/sf/usiexp.scm M src/sf/xform.scm M src/sos/class.scm M src/sos/compile.scm M src/sos/ed-ffi.scm M src/sos/geneqht.scm M src/sos/generic.scm M src/sos/genmult.scm M src/sos/instance.scm M src/sos/load.scm M src/sos/macros.scm M src/sos/method.scm M src/sos/microbench.scm M src/sos/printer.scm M src/sos/recslot.scm M src/sos/slot.scm M src/sos/sos.pkg M src/sos/tvector.scm M src/ssp/compile.scm M src/ssp/expenv.scm M src/ssp/load.scm M src/ssp/mod-lisp.scm M src/ssp/ssp.pkg M src/ssp/xhtml-expander.scm M src/ssp/xmlrpc.scm M src/star-parser/compile.scm M src/star-parser/ed-ffi.scm M src/star-parser/load.scm M src/star-parser/matcher.scm M src/star-parser/parser.pkg M src/star-parser/parser.scm M src/star-parser/shared.scm M src/win32/clipbrd.scm M src/win32/dib.scm M src/win32/dibutils/dibutils.c M src/win32/dibutils/dibutils.def M src/win32/dibutils/dibutils.h M src/win32/dibutils/makefile.msc M src/win32/dibutils/makefile.wcc M src/win32/ffimacro.scm M src/win32/graphics.scm M src/win32/make.scm M src/win32/module.scm M src/win32/protect.scm M src/win32/wf_user.scm M src/win32/win32.cbf M src/win32/win32.pkg M src/win32/win32.sf M src/win32/win_ffi.scm M src/win32/wingdi.scm M src/win32/winnt.scm M src/win32/winuser.scm M src/win32/wt_user.scm M src/x11-screen/Makefile.am M src/x11-screen/NEWS M src/x11-screen/compile.scm M src/x11-screen/compile.sh M src/x11-screen/configure.ac M src/x11-screen/ed-ffi.scm M src/x11-screen/x11-command.scm M src/x11-screen/x11-key.scm M src/x11-screen/x11-screen-test.scm M src/x11-screen/x11-screen.pkg M src/x11-screen/x11-screen.scm M src/x11/Makefile.am M src/x11/NEWS M src/x11/compile.scm M src/x11/compile.sh M src/x11/configure.ac M src/x11/x11-base.scm M src/x11/x11-color.scm M src/x11/x11-device.scm M src/x11/x11-graphics.scm M src/x11/x11-shim.h M src/x11/x11-terminal.scm M src/x11/x11-test.scm M src/x11/x11.cdecl M src/x11/x11.h M src/x11/x11.pkg M src/x11/x11base.c M src/x11/x11color.c M src/x11/x11graph.c M src/x11/x11term.c M src/xdoc/compile.scm M src/xdoc/db.scm M src/xdoc/load.scm M src/xdoc/validate-xdoc.scm M src/xdoc/xdoc.pkg M src/xdoc/xdoc.scm M src/xml/compile.scm M src/xml/ed-ffi.scm M src/xml/load.scm M src/xml/parser-macro.scm M src/xml/rdf-nt.scm M src/xml/rdf-struct.scm M src/xml/turtle.scm M src/xml/xhtml-entities.scm M src/xml/xhtml.scm M src/xml/xml-chars.scm M src/xml/xml-names.scm M src/xml/xml-output.scm M src/xml/xml-parser.scm M src/xml/xml-rpc.scm M src/xml/xml-struct.scm M src/xml/xml.pkg M src/xml/xpath.scm M tests/Tags.sh M tests/check.scm M tests/compiler/test-fasdump.scm M tests/compiler/test-fgopt-conect.scm M tests/compiler/test-open-code.scm M tests/compiler/test-toplev.scm M tests/compiler/test-varname.scm M tests/compiler/test-vartrap.scm M tests/compiler/test-y.scm M tests/ffi/Makefile.am M tests/ffi/configure.ac M tests/ffi/ffi-test.c M tests/ffi/test-ffi.scm M tests/libraries/test-srfi-133.scm M tests/libraries/test-srfi-143.scm M tests/load.scm M tests/microcode/test-chacha.scm M tests/microcode/test-flonum-casts.scm M tests/microcode/test-flonum-except.scm M tests/microcode/test-keccak.scm M tests/microcode/test-lookup.scm M tests/runtime/test-access.scm M tests/runtime/test-amap.scm M tests/runtime/test-arith.scm M tests/runtime/test-binary-port.scm M tests/runtime/test-bit-string.scm M tests/runtime/test-boyer-moore.scm M tests/runtime/test-bundle.scm M tests/runtime/test-bytevector.scm M tests/runtime/test-char-set.scm M tests/runtime/test-char.scm M tests/runtime/test-comparator.scm M tests/runtime/test-compound-predicate.scm M tests/runtime/test-digraph.scm M tests/runtime/test-dragon4.scm M tests/runtime/test-dynamic-env.scm M tests/runtime/test-entity.scm M tests/runtime/test-ephemeron.scm M tests/runtime/test-file-attributes.scm M tests/runtime/test-floenv.scm M tests/runtime/test-flonum.scm M tests/runtime/test-hash-table.scm M tests/runtime/test-ieee754.scm M tests/runtime/test-integer-bits.scm M tests/runtime/test-letrec.scm M tests/runtime/test-library-data/support-code.scm M tests/runtime/test-library-ixports.scm M tests/runtime/test-library-loader.scm M tests/runtime/test-library-parser.scm M tests/runtime/test-list.scm M tests/runtime/test-md5.scm M tests/runtime/test-mime-codec.scm M tests/runtime/test-numpar.scm M tests/runtime/test-optional.scm M tests/runtime/test-parametric-predicate.scm M tests/runtime/test-pp.scm M tests/runtime/test-predicate-dispatch.scm M tests/runtime/test-predicate.scm M tests/runtime/test-printer.scm M tests/runtime/test-process.scm M tests/runtime/test-promise.scm M tests/runtime/test-random.scm M tests/runtime/test-readwrite.scm M tests/runtime/test-record.scm M tests/runtime/test-regsexp.scm M tests/runtime/test-rgxcmp.scm M tests/runtime/test-sha3.scm M tests/runtime/test-simple-matcher.scm M tests/runtime/test-srfi-1.scm M tests/runtime/test-srfi-115.scm M tests/runtime/test-stream.scm M tests/runtime/test-string-copy.scm M tests/runtime/test-string-normalization.scm M tests/runtime/test-string-search-data M tests/runtime/test-string-search.scm M tests/runtime/test-string.scm M tests/runtime/test-syncproc.scm M tests/runtime/test-syntax-rename.scm M tests/runtime/test-syntax.scm M tests/runtime/test-thread-queue.scm M tests/runtime/test-trie.scm M tests/runtime/test-ucd-data/segmentation-support.scm M tests/runtime/test-ucd-grapheme.scm M tests/runtime/test-ucd-word.scm M tests/runtime/test-url.scm M tests/runtime/test-weak-pair.scm M tests/runtime/test-wttree.scm M tests/sos/test-genmult.scm M tests/star-parser/test-parser.scm M tests/unit-testing.scm M tests/xml/test-parser.scm M tests/xml/test-turtle.scm commit 47cc22e4d260aa0d34166b05b7aeeb6f4316d62d Author: Chris Hanson Date: Fri May 29 21:04:23 2020 -0700 Add segment-variable restrictions to simple matcher. M src/runtime/simple-matcher.scm M tests/runtime/test-simple-matcher.scm commit ce10122a7dab0239d74e70bfe713ee5c4f45d2f6 Author: Chris Hanson Date: Thu May 28 22:52:55 2020 -0700 Fixed a bunch of incorrect uses of parameterize. M doc/ref-manual/io.texi M doc/ref-manual/numbers.texi commit 9d6540702896d4e12d43c2249f399786ecb5164f Author: Chris Hanson Date: Thu May 28 20:55:44 2020 -0700 Add top-level command to REP UI. M src/runtime/rep-ui.scm commit e6523987f890333a8a523cf89c134307a7aa2853 Author: Chris Hanson Date: Thu May 28 20:55:22 2020 -0700 A round of editing to the user's manual to prepare for release. M doc/ref-manual/scheme.texinfo M doc/user-manual/user.texinfo commit e0f60e56e6010481883159531c3816683573e4b8 Author: Chris Hanson Date: Wed May 27 22:29:42 2020 -0700 Clean up "list.scm" and remove some old deprecations. Specifically: * Rewrite procedures to use %null-list? instead of manually signalling errors. * Add %null-alist? and %null-keyword-list? to simplify those procedures too. * Change the parameter names of some procedures to match SRFI 1. * Reorganize contents a little and tweak pagination. M src/compiler/machines/svm/assembler-compiler.scm M src/runtime/error.scm M src/runtime/html-form-codec.scm M src/runtime/list.scm M src/runtime/runtime.pkg M src/sf/toplev.scm M src/xml/rdf-struct.scm commit 9c5d9d1ba4ce3a3690ec715a490251f17e6fa052 Author: Chris Hanson Date: Wed May 27 00:00:24 2020 -0700 Fix member to apply its equality predicate as specified in SRFI 1. M src/runtime/list.scm commit 906f97e08b60b5927e5726a40ef38161523268d7 Author: Chris Hanson Date: Tue May 26 22:05:07 2020 -0700 Add tests of implicit construction: no implementation specified. M tests/runtime/test-amap.scm commit 79cb849d08f5afe170f41e6377d77b1de272dd56 Author: Chris Hanson Date: Tue May 26 22:04:19 2020 -0700 Add a few more useful test assertions. M tests/unit-testing.scm commit cb27bbd0d8e63978f7b41d6e5e9d996949d3dbe4 Author: Chris Hanson Date: Tue May 26 20:35:43 2020 -0700 Refactor amap argument handling for simplicity. M src/runtime/amap-impl.scm commit 3f6972d0b1efc8601cd574767477d92306582e3d Author: Chris Hanson Date: Tue May 26 20:35:30 2020 -0700 Fix bug in implementation of lset=. M src/runtime/srfi-1.scm commit 7ee9613ec5494da22faa33650781b250b89dc901 Author: Chris Hanson Date: Tue May 26 02:40:07 2020 -0700 Add tests to check constructor argument processing and fix related bugs. These tests are only for arguments that specify the implementation by name. Tests to use searching still need to be added. M src/runtime/amap-impl.scm M src/runtime/runtime.pkg M tests/runtime/test-amap.scm M tests/runtime/test-comparator.scm commit ec8f61b6dd2d9358e59765dbfb1ce189f0ca4840 Author: Chris Hanson Date: Mon May 25 15:04:22 2020 -0700 Refactor the amap interface to better support reflection. M src/runtime/amap-alist.scm M src/runtime/amap-hash-table.scm M src/runtime/amap-impl.scm M src/runtime/amap-trie.scm M src/runtime/amap.scm M src/runtime/rbtree.scm M src/runtime/runtime.pkg commit 6856a22d1e79d1a9871a9fedd8f792bcdaa38dbb Author: Chris Hanson Date: Mon May 25 00:50:31 2020 -0700 Fix typo. M tests/runtime/test-hash-table.scm commit 2e3c96ddb0df0a76e6d865fdc5968291cd6c216b Author: Chris Hanson Date: Mon May 25 00:49:56 2020 -0700 Change guard macro to declare its variable ignorable. M src/runtime/mit-macros.scm commit 762bb4401b22a0426975fe077fd0bb73631b114e Author: Chris Hanson Date: Mon May 25 00:22:13 2020 -0700 Add test-amap and fix bugs that were found. M src/runtime/amap-impl.scm M src/runtime/amap.scm M src/runtime/rbtree.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-amap.scm commit ccf8a5af769a3da3bddca8dc7e095f7f93809c5a Author: Chris Hanson Date: Sun May 24 21:25:13 2020 -0700 Fix problem with amap-map; move new-state into operations list. M src/runtime/amap-alist.scm M src/runtime/amap-hash-table.scm M src/runtime/amap-impl.scm M src/runtime/amap-trie.scm M src/runtime/amap.scm M src/runtime/rbtree.scm commit deba73c51e90cdfb5507c6ba83e8a504751883c2 Author: Chris Hanson Date: Sun May 24 20:25:28 2020 -0700 Refactor select-impl to generate more precise errors. M src/runtime/amap-impl.scm commit 905182193f65e34448b789867b629b46ef650527 Author: Chris Hanson Date: Sun May 24 13:58:24 2020 -0700 Add amap implementation for red/black trees. M src/runtime/amap-impl.scm M src/runtime/rbtree.scm M src/runtime/runtime.pkg commit d8d4a8006189194351a5fbda18d542fa0cb4cb0c Author: Chris Hanson Date: Sun May 24 01:14:25 2020 -0700 Generalize amap impls to allow "impl selectors". This is used to merge the strong and weak alist tables into a single implementation. M src/runtime/amap-alist.scm M src/runtime/amap-impl.scm M src/runtime/amap.scm M src/runtime/runtime.pkg commit 75f34fbdf0fa492e8d97b0582551c97f5a0beb0e Author: Chris Hanson Date: Sat May 23 23:40:59 2020 -0700 Change amap-impl to hold a metadata object instead of name and props. M src/runtime/amap-impl.scm M src/runtime/amap.scm M src/runtime/runtime.pkg commit 0eb10f2fc8bc3fc668722e1c5de7397f14bce52d Author: Chris Hanson Date: Sat May 23 21:59:31 2020 -0700 Replace amap-impl keywords with more flexible properties. M src/runtime/amap-alist.scm M src/runtime/amap-hash-table.scm M src/runtime/amap-impl.scm M src/runtime/amap-trie.scm M src/runtime/amap.scm M src/runtime/runtime.pkg commit 4df5402c5803bb5c99f33aa2086e1020dd639bf3 Author: Chris Hanson Date: Sat May 23 00:02:10 2020 -0700 First draft of associative-map abstraction. This provides an interface based on SRFI 125 but allows for a variety of implementations. Initial implementations are hash tables, tries, and alists. Tests need to be written next, then tree implementation(s). A src/runtime/amap-alist.scm A src/runtime/amap-hash-table.scm A src/runtime/amap-impl.scm A src/runtime/amap-trie.scm A src/runtime/amap.scm M src/runtime/list.scm M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit 72cc5e1629da951c94beecc3e074637b288378dc Author: Chris Hanson Date: Sun May 24 12:56:34 2020 -0700 Always load rb-tree and wt-tree. M doc/ref-manual/associations.texi M src/runtime/optiondb.scm M src/runtime/runtime.pkg M src/runtime/wttree.scm commit f1f528dd3f28a5a687481d4787842781ba24aa84 Author: Chris Hanson Date: Sat May 23 13:57:18 2020 -0700 Fix bug in hash-table-constructor. It is documented to accept an initial-size argument and use it as a default, but it wasn't doing this. M src/runtime/hash-table.scm commit d3ae82adef6c337927ca64396b40ec267cdea740 Author: Chris Hanson Date: Fri May 22 23:33:53 2020 -0700 Change alist-table ref and update! to use SRFI 125 interface. M src/runtime/list.scm M src/runtime/weak-pair.scm commit 164d739894719d61912cb7bb04a8401b3788876e Author: Chris Hanson Date: Fri May 22 23:09:43 2020 -0700 Rename alist-table-delete-matching! to alist-table-prune! and swap args. For compatibility with SRFI 125. M src/mcrypt/mcrypt.scm M src/runtime/ffi.scm M src/runtime/gcfinal.scm M src/runtime/list.scm M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit 8703f0bb4aca56e204e264acc5c0f42f1fc20e46 Author: Chris Hanson Date: Fri May 22 21:41:42 2020 -0700 Refactor the compound comparators. * Add predicates and accessors for introspection. * Add more testing. * Fixes for bugs found by new tests. M src/runtime/comparator.scm M src/runtime/hash-table.scm M src/runtime/runtime.pkg M tests/runtime/test-comparator.scm commit abfb027f114d9f833eb147924f97242f6342d57d Author: Chris Hanson Date: Fri May 22 17:16:31 2020 -0700 Change debugging printer to show parameters of lambda expressions. M src/microcode/debug.c commit 2a30fb94d62d0db35278b218724d9d25b1aaf914 Author: Chris Hanson Date: Fri May 22 14:57:01 2020 -0700 Rename alist-table-exists? to alist-table-contains?. For consistency with SRFI 125. M src/runtime/global.scm M src/runtime/list.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit 6c683492e8d62c7a64ee5b51ab6da6107d6fcf7b Author: Chris Hanson Date: Wed May 20 23:54:07 2020 -0700 Track whether standard hash functions and their derivatives need rehash after GC. M src/runtime/comparator.scm commit 20433e18f3a97f38ad42414f6d28b3a4501e8d4a Author: Chris Hanson Date: Wed May 20 23:52:26 2020 -0700 Fix typos. M src/runtime/hash-table.scm commit a0c0ddfa6cdc983938a8eb3c6cd227b1d3d3fe2c Author: Taylor R Campbell Date: Thu May 21 05:10:02 2020 +0000 Fix off-by-one error in unix socket path length. The sun_path member of struct sockaddr_un need not be NUL-terminated; it is a fixed-width field of the sort that strncpy was designed for. Using a NUL terminator is only necessary for paths that don't fill the sun_path member when we pass in the full structure size to bind, as we do. M src/microcode/uxsock.c commit 0b705be7e304f3d069861fc75e6337fcad188941 Author: Taylor R Campbell Date: Thu May 21 05:07:14 2020 +0000 Use -fno-builtin-floor if available. This is because gcc7 miscompiles floor(0.5) to return -0 rather than 0 in some rounding modes. We could conditionalize it on the version of gcc but that's more work. We could use a test program but test programs are annoying because they don't work with cross-compilation. It seems unlikely that use of the compiler builtin floor is critical for performance, so just keep it simple and disable it unconditionally. M src/microcode/configure.ac commit d748c0745e3e4ec7eb035aca6dc9fd977b944e18 Author: Taylor R Campbell Date: Thu May 21 04:42:11 2020 +0000 Trap deferred exceptions after libm calls. This fixes a failure of (exp 800.) to trap on NetBSD 9 (and earlier), where libm computes the result in binary80 internally, which doesn't overflow, and then stores the result in binary64 with FSTP. Although the conversion to binary64 overflows, FSTP defers the exception trap until the next FWAIT. M src/microcode/flonum.c commit 490a9c35ee3bb70464a503ede48117c18e45cb8a Author: Taylor R Campbell Date: Wed May 20 04:12:38 2020 +0000 New (modexp base exponent modulus). M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg commit c90d07d11a452471ffaa40d33e8302985ef1bec3 Author: Taylor R Campbell Date: Wed May 20 04:12:21 2020 +0000 Update flo:min/max to reflect IEEE 754-2019. M src/relnotes/flonum M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-flonum.scm commit 6190fdbb66d1f95b120b4477e62a67d52007f9dd Author: Chris Hanson Date: Wed May 20 21:30:55 2020 -0700 Fix wrong-number-of-arguments error. M src/runtime/hash-table.scm commit 911e23183592f6898e6e05726f13e29f49fc4a84 Author: Chris Hanson Date: Wed May 20 21:30:23 2020 -0700 Incorporate the tests from SRFI 125. M tests/runtime/test-hash-table.scm commit af78e39d12897154197831fc3cc5b3d2ebc3fd9f Author: Chris Hanson Date: Wed May 20 19:24:27 2020 -0700 Move features into their own file and simplify. A src/runtime/feature.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 4b4c6e5d834f7af3cea5e433d59a7e0f93f519a0 Author: Chris Hanson Date: Wed May 20 18:55:57 2020 -0700 Document SRFI 124 support. M doc/ref-manual/scheme.texinfo M doc/ref-manual/standards.texi M src/runtime/library-standard.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit cfcc26e869ecc44db3887cabf40bddaee00bcced Author: Chris Hanson Date: Wed May 20 18:55:39 2020 -0700 Fix typo. M doc/ref-manual/strings.texi commit f3e4a0dd58e9d35dda5a10827757363e0274f13f Author: Chris Hanson Date: Tue May 19 23:46:07 2020 -0700 Add a chapter showing support for R7RS and various SRFIs. All of the names that we implement are shown for each standard, and are indexed. This should help people find documentation for names that aren't in the manual, but are specified by an appropriate standard. There's also some code to help generate new entries in this chapter. Also added a make target for generating all-on-one-page .html files. M .gitignore M doc/make-common.in M doc/ref-manual/Makefile.in M doc/ref-manual/gfdl.texinfo M doc/ref-manual/scheme.texinfo A doc/ref-manual/standards.texi A doc/ref-manual/tools.scm M doc/ref-manual/win32-packaging.texi commit 2d472135443f92c7caa5a6b98cdf04cbb8d290b3 Author: Chris Hanson Date: Tue May 19 00:30:43 2020 -0700 Fix thinko. M src/runtime/hash-table.scm commit 1911d01fcfbc5f2c0f0d2fee81967c74aa156472 Author: Chris Hanson Date: Wed May 20 18:01:04 2020 -0700 Fix define-values-deferred so that it works with 10.1. M src/runtime/host-adapter.scm commit 008d9b0227d95f6b639cde489c2d828f6bead432 Author: Chris Hanson Date: Wed May 20 18:00:49 2020 -0700 Fix incorrect order that was hidden by integration. M src/runtime/comparator.scm commit 8bcae54136f3ceab50152e369f9d57b07eea7be7 Author: Chris Hanson Date: Wed May 20 14:21:40 2020 -0700 Revert change to make hash functions unary. My apologies Taylor. M doc/ref-manual/associations.texi M doc/ref-manual/misc-datatypes.texi M doc/ref-manual/strings.texi M src/runtime/bytevector.scm M src/runtime/char-set.scm M src/runtime/comparator.scm M src/runtime/hash-table.scm M src/runtime/runtime.pkg M src/runtime/stack-sample.scm M src/runtime/string.scm M src/runtime/symbol.scm M tests/runtime/test-hash-table.scm commit c17fa878e0fa924d6f658a9232193e4723a50db2 Author: Chris Hanson Date: Mon May 18 02:20:02 2020 -0700 SRFI 125 fixes. hash-table-set! and hash-table-delete! are required to take rest arguments. hash-table-delete! is required to return the number of deletions. M src/runtime/hash-table.scm commit 1f4365672472b44c2a3184527c64b81f24fb26c2 Author: Chris Hanson Date: Mon May 18 02:18:40 2020 -0700 Implement alist->alist-table. M src/runtime/list.scm M src/runtime/runtime.pkg commit 7dfa5231366adedf10eeaee6b01689b8143bb33b Author: Chris Hanson Date: Sat May 16 23:46:57 2020 -0700 Make sure that every package sequencer is run. Some packages had no before links, but did have after links, which meant they were not part of the sequencer tree. Now every file (except the very early ones) is linked into the root of the tree. At worst this a harmless redundant dependency. M src/runtime/boot-seq.scm M src/runtime/http-syntax.scm M src/runtime/make.scm commit 3ee7d53f649db6c59fb9f243a4960d36c22d3a76 Author: Chris Hanson Date: Sat May 16 21:51:57 2020 -0700 Implement new REPL ui. Evaluate ,help to see the commands. A src/runtime/rep-ui.scm M src/runtime/rep.scm M src/runtime/runtime.pkg commit e2dd063961292f155ecfb91e077959098eab96b9 Author: Chris Hanson Date: Sat May 16 16:45:11 2020 -0700 Add tests for the default comparator. M tests/runtime/test-comparator.scm commit b972b58cca42b94486edd1325ebec401832ccd7b Author: Chris Hanson Date: Sat May 16 16:42:57 2020 -0700 Another big round of changes to comparators. Moved all of the comparator-specific compound predicates into the comparator package. They are no longer exposed in the global environment, since they probably aren't needed anyway. Also upped the abstraction level a bit more to reduce the redundancy in the comparator implementations. M src/runtime/comparator.scm M src/runtime/compound-predicate.scm M src/runtime/runtime.pkg M tests/runtime/test-compound-predicate.scm commit 63075dc9922bce95b635d0935283822cab9d0823 Author: Chris Hanson Date: Sat May 16 16:41:48 2020 -0700 Improve boot sequencing of predicate registration. M src/runtime/predicate.scm commit 3459e6f05a5c6f16a0db6b526389749377334e97 Author: Chris Hanson Date: Sat May 16 16:05:34 2020 -0700 Implement define-values-deferred. M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M src/runtime/sysmac.scm commit c6f80b6e071b8efdaa1e2f59e187095af32ece5d Author: Chris Hanson Date: Sat May 16 01:06:05 2020 -0700 Eliminate equality-predicate mechanism; comparators are better. M src/runtime/comparator.scm M src/runtime/global.scm M src/runtime/hash-table.scm M src/runtime/library-ixports-mit.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg commit 836968623a468a571785b53208d26101d401b975 Author: Chris Hanson Date: Sat May 16 01:05:30 2020 -0700 Rewrite memoizers to use comparators and be much simpler. M src/runtime/memoizer.scm M src/runtime/parametric-predicate.scm M src/runtime/runtime.pkg commit 6e5f8e38e28c4233f403a8b02ce39af0701d7e69 Author: Chris Hanson Date: Fri May 15 21:34:04 2020 -0700 Add tests for SRFI 128. M tests/check.scm A tests/runtime/test-comparator.scm commit 32e088ecc72452ff63b0bfc69b18d4c5904ae363 Author: Chris Hanson Date: Fri May 15 21:33:48 2020 -0700 Add interned-symbol-comparator. M src/runtime/comparator.scm M src/runtime/runtime.pkg commit 7e253d838efcf9b8050f96714b3c758b12d4aa6f Author: Chris Hanson Date: Fri May 15 20:39:30 2020 -0700 Avoid redundancy in default-comparator definitions. M src/runtime/comparator.scm M src/runtime/runtime.pkg commit 29d025625534c271586607bda8ce4c14fd900af5 Author: Chris Hanson Date: Fri May 15 20:31:20 2020 -0700 Improve a few primitive hash functions. These are designed for speed and to produce better hashes than what is obtained from eq-hash. M src/runtime/char.scm M src/runtime/comparator.scm M src/runtime/runtime.pkg commit 5ed74dca6b340f1f0eeaffd3231fb951c562a98e Author: Chris Hanson Date: Fri May 15 19:08:21 2020 -0700 Fix pagination. M src/runtime/hash-table.scm commit 9e37d4372c86a2f658ad941c69508bcf0fc7b66d Author: Chris Hanson Date: Fri May 15 01:47:35 2020 -0700 Add (srfi 128) library and srfi-128 feature. M src/runtime/library-standard.scm M src/runtime/mit-macros.scm commit c6965943c4fa37a9058a21bbb1fca140780cec87 Author: Chris Hanson Date: Fri May 15 01:44:25 2020 -0700 Finish implementing SRFI 128. It's likely buggy; additional testing is needed. M src/runtime/comparator.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm commit e45392aecd11d066c01b0c9041587a339438384b Author: Chris Hanson Date: Fri May 15 01:43:02 2020 -0700 Implement a bunch of procedures needed by the comparator implementation. M src/runtime/boole.scm M src/runtime/char-set.scm M src/runtime/char.scm M src/runtime/pathname.scm M src/runtime/runtime.pkg commit 11cd21dec10a0f47a43846295ce54d2685ec8c12 Author: Chris Hanson Date: Fri May 15 01:39:41 2020 -0700 It turns out that hash-bound is intended to be an exclusive bound. This isn't obvious from the SRFI text but the example implementation makes it clear. So hash-bound has been increased by one, and hash-mask has been introduced with the previous value of hash-bound. M doc/ref-manual/associations.texi M src/runtime/comparator.scm M src/runtime/hash-table.scm M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M tests/runtime/test-hash-table.scm commit a7bb1adf959ca9d6b89a578d86c58c4f79e9666a Author: Chris Hanson Date: Fri May 15 01:31:01 2020 -0700 Fix bugs in handling of library imports. Since the import and export structures are identical, import expansions weren't handling renames right, instead just passing along an export as an import. Instead it is necessary to create a new import that uses the export's "to" name as the import's "from" name. This was trivial in the R7RS expansion process, but complicated in the MIT expansion process. So the MIT process was refactored to clarify what is going on. M src/runtime/library-ixports-mit.scm M src/runtime/library-ixports-r7rs.scm commit 28d01395af3656766f4fe7eab0e37aead504420d Author: Chris Hanson Date: Fri May 15 01:26:56 2020 -0700 Fix bug: copy-library-db was preserving mutable data. Specifically, it kept the environments in the source libraries, which could cause problems. The fixes guarantee that a library's properties are never modified, only augmented by additional properties. A pointer to the original properties of the library is stashed, and when copying the library, it's properties are restored to their original values. The consequence of this change is that libraries may need to be re-loaded in the copy, but since this is all automatic, that shouldn't be a problem. M src/runtime/library-database.scm commit afc37894a4d8fd64783e13dae54b81d287b42a1d Author: Chris Hanson Date: Thu May 14 23:40:32 2020 -0700 Several changes to compound predicate combinators. 1. Make sure that each compound predicate is related to its superset. 2. Add some optimizations for common combinators. 3. Implement two more combinators. M src/runtime/compound-predicate.scm M src/runtime/runtime.pkg commit 5477326f1c3bca7b84e56a54391175c2728beb72 Author: Chris Hanson Date: Thu May 14 23:37:40 2020 -0700 Implement fixed-objects-item?. M src/runtime/microcode-tables.scm M src/runtime/runtime.pkg commit 9c62c0b1ff63a8dd5d4ddfb1447f22b907fa6902 Author: Chris Hanson Date: Thu May 14 23:37:11 2020 -0700 Implement bytevector-any and bytevector-every. M src/runtime/bytevector.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg commit 15602519978b9c1e6b5c491cbbf01928257df51b Author: Chris Hanson Date: Thu May 14 23:35:36 2020 -0700 Fix typo. M tests/runtime/test-library-data/support-code.scm commit ef7063e8b3d3d5711d46ed51053d1912ad95609c Author: Chris Hanson Date: Thu May 14 23:35:00 2020 -0700 Make sure that promise? and cell? have the right relationship. M src/runtime/boot.scm M src/runtime/global.scm M src/runtime/runtime.pkg commit 7c22e773a561b4024c651e721c37089c3c3f66b5 Author: Chris Hanson Date: Thu May 14 23:32:43 2020 -0700 Implement mechanism for the runtime to pass initial-hash to the microcode. M src/microcode/extern.h M src/microcode/fixobj.h M src/microcode/utils.c commit cda8a2fc2a3541c2f7a6bcab954c6ab933a99c14 Author: Chris Hanson Date: Thu May 14 02:04:07 2020 -0700 Fix bug in how import conflicts were being detected. M src/runtime/library-loader.scm commit be25d10b00dc2739de6f8ae5a213c15bc66b51d4 Author: Chris Hanson Date: Thu May 14 02:03:53 2020 -0700 Add (srfi 125) library. M src/runtime/library-standard.scm commit 95335912073d22416ad19a23a94e784281c09bd4 Author: Chris Hanson Date: Thu May 14 02:01:21 2020 -0700 Change hash to have the SRFI 69 binding. M doc/ref-manual/associations.texi M src/runtime/runtime.pkg commit 1b54281247378719b63a31f2e9f2aecaf297888d Author: Chris Hanson Date: Thu May 14 00:46:01 2020 -0700 Implement SRFI 125. Needs expanded tests but all the pieces are there. M doc/ref-manual/associations.texi M src/runtime/hash-table.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 7973590c2f61f32868d4754e953a6f70ae473856 Author: Chris Hanson Date: Wed May 13 23:03:10 2020 -0700 Fix broken hash-table tests. M tests/runtime/test-hash-table.scm commit c803efdb1f24a6848481b018e385944d21c7f378 Author: Chris Hanson Date: Wed May 13 22:46:17 2020 -0700 Implement hash entry with weak list key and weak datum. Use it for compound-predicate tables. M src/runtime/compound-predicate.scm M src/runtime/hash-table.scm M src/runtime/runtime.pkg commit cc7f7bcf95a641957b8093140593aadc5791355c Author: Chris Hanson Date: Wed May 13 15:31:41 2020 -0700 Implement translation of comparators to hash-table-types. Modify make-hash-table and hash-table-constructor to support comparator arguments. Also remove all those listy types and constructors. M src/runtime/compound-predicate.scm M src/runtime/hash-table.scm M src/runtime/runtime.pkg commit 0810abac15b52254c1d01fe1f3ae7f4a570aebfe Author: Chris Hanson Date: Wed May 13 14:52:55 2020 -0700 Some more fixes to comparators. M src/runtime/comparator.scm M src/runtime/runtime.pkg commit f980781f0b5e3e471b7a9304b4d3202c73a4551a Author: Chris Hanson Date: Wed May 13 13:55:54 2020 -0700 Change hash-bound to be a macro. M src/runtime/comparator.scm M src/runtime/host-adapter.scm commit 285c1c5b2365adf313c7f9f778bf2dc3ade08e29 Author: Chris Hanson Date: Wed May 13 13:32:42 2020 -0700 Memoize listy comparator combinators. M src/runtime/comparator.scm M src/runtime/runtime.pkg commit 2e2f1b1d56f5ec42e627d3a0bb34d52f8d9aa289 Author: Chris Hanson Date: Wed May 13 01:00:07 2020 -0700 Change all hash functions to be unary. SRFI 128 makes this transition, and it makes sense. There's no reason to have separate modulo versions of every hash function, or to pay the overhead of having optional modulus arguments. M doc/ref-manual/associations.texi M doc/ref-manual/misc-datatypes.texi M doc/ref-manual/strings.texi M src/runtime/bytevector.scm M src/runtime/char-set.scm M src/runtime/comparator.scm M src/runtime/hash-table.scm M src/runtime/memoizer.scm M src/runtime/runtime.pkg M src/runtime/stack-sample.scm M src/runtime/string.scm M src/runtime/symbol.scm M tests/runtime/test-hash-table.scm commit dbc7123af9b50aa018fc472ed7d2d2207776bb2b Author: Chris Hanson Date: Wed May 13 00:56:00 2020 -0700 Implement int:abs. M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg commit a8ae7acecbbf7e79bc37199c5fe4e8ad3ae1adfd Author: Chris Hanson Date: Tue May 12 23:30:54 2020 -0700 Rewrite compound-predicate support. New implementation uses hash tables with weak-list keys. It also restructures the construction so that each constructor generates a unique set of predicates that can't be confused with those of any other. Previously the "operator" name was used to determine whether two compound predicates were related, which is not sound. However, using weak lists is not sufficient, since the datum carries strong pointers to the elements of the key. Either the datum will have to carry them weakly, or I will have to implement ephemeral-list keys. M src/runtime/compound-predicate.scm M src/runtime/hash-table.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg M tests/runtime/test-compound-predicate.scm commit 32c27ebc844ae78a68e96690ece933fc6e300f54 Author: Chris Hanson Date: Tue May 12 23:28:03 2020 -0700 Implement subset of SRFI 128 (Comparators). More work remains. A src/runtime/comparator.scm M src/runtime/runtime.pkg commit 71d3b063c41f5304fabac7f19f390a04ef84b44f Author: Chris Hanson Date: Tue May 12 23:23:51 2020 -0700 Implement weak-list-of-type? and weak-list-reclaimed?. M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit 4dde48ab14c4c9822bbb1ef7585434a285f4e0b6 Author: Chris Hanson Date: Tue May 12 14:43:08 2020 -0700 Add relevant cond-expand features for host and target. M src/compiler/machines/C/compiler.pkg M src/compiler/machines/C/machin.scm M src/compiler/machines/aarch64/compiler.pkg M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/machin.scm M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/machin.scm M src/runtime/mit-macros.scm commit 84c8183162ba9c24a0adaa89205a818eb5105578 Author: Chris Hanson Date: Tue May 12 00:35:47 2020 -0700 Implement uniform-list-predicate and simplify making new compound predicates. M src/runtime/compound-predicate.scm M src/runtime/runtime.pkg M tests/runtime/test-compound-predicate.scm commit df6ce9005adb7aaede1249ecc5fb50e5b9459d03 Author: Chris Hanson Date: Mon May 11 23:53:50 2020 -0700 Implement list-keyed hash tables. M src/runtime/hash-table.scm M src/runtime/runtime.pkg M tests/runtime/test-hash-table.scm commit f0ce96013c8740fc1fd009eaf41e5cbb933dc328 Author: Chris Hanson Date: Mon May 11 18:11:51 2020 -0700 Round out the set of trie operations a bit. M src/runtime/cgen-base.scm M src/runtime/runtime.pkg M src/runtime/trie.scm M tests/runtime/test-trie.scm commit 192e7413b373bbb83e90b9e24c610108c12c6fa7 Author: Chris Hanson Date: Sun May 10 23:33:48 2020 -0700 Revamp tags generation to include tests. R075 src/libraries/Tags.sh Tags.sh M src/Tags.sh M src/etc/Tags.sh M tests/Tags.sh commit d9581c92c98267762eb8b5ac39cc08cb7ede4e49 Author: Chris Hanson Date: Sun May 10 01:07:48 2020 -0700 Implement trie-set!; rename trie-find and trie-intern!. M src/runtime/cgen-base.scm M src/runtime/cgen-cse.scm M src/runtime/runtime.pkg M src/runtime/trie.scm M tests/runtime/test-trie.scm commit 22403cc08b2a7648901a41eeac818a7bc6dea08d Author: Chris Hanson Date: Sun May 10 00:49:34 2020 -0700 Implement alist-for-each. M src/runtime/list.scm M src/runtime/runtime.pkg commit 6b690b97184a006d1cd8ae9b75ed312d3e662d51 Author: Chris Hanson Date: Sun May 10 00:48:45 2020 -0700 Implement weak-alist-for-each. M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit 55691510345bda3dcacde7728a0c186c573c3f08 Author: Chris Hanson Date: Sat May 9 23:59:41 2020 -0700 Fix typo. M src/runtime/weak-pair.scm commit aabf5e3dbe785db843039741c7c255f85b244870 Author: Chris Hanson Date: Sat May 9 21:50:03 2020 -0700 Rework the interfaces of many weak-pair procedures to allow setters. Most of the weak loops track the previous pair in a list (or alist) and dike out elements that have been reclaimed. But when the head of the list is reclaimed, they can't do anything about that. By adding optional set-X! arguments, those operations now have a way to update the cell holding the list's head. This not only allows the cleaning to be more effective, it also means that the weak-list-set abstraction can just reuse existing procedures rather than having their own slightly different ones. M src/runtime/weak-pair.scm commit 06c4f95471d39a45e678e14db1b00fcf4e271cab Author: Chris Hanson Date: Sat May 9 00:34:18 2020 -0700 Add some more optimization rules and re-paginate. M src/runtime/cgen-optimize.scm commit ea7a27c0b813518cb8b1307ae18053f9919ded43 Author: Chris Hanson Date: Sat May 9 00:14:49 2020 -0700 Canonicalize the standard comments in "runtime.pkg". M src/runtime/runtime.pkg commit 57ac394b6873e504135b6485c7fa6d06f0a6d42c Author: Chris Hanson Date: Fri May 8 22:13:31 2020 -0700 Fix CSE's handling of unshared nodes. M src/runtime/cgen-cse.scm commit 73897ddc0001f9485e31a77c9cdb6378a70586ea Author: Chris Hanson Date: Fri May 8 19:59:32 2020 -0700 Rewrite substitution phase to handle nested lets right. Also simplify the substitution considerably, performing it in a single pass. M src/runtime/cgen-cse.scm commit 00f38ff4618910899616f7c524fb4fd5dfde3d8d Author: Chris Hanson Date: Fri May 8 13:55:12 2020 -0700 Make failure output easier to parse and more regular. M src/libraries/inline-testing-impl.scm M src/libraries/inline-testing.sld commit 1052f0bdf47af2f9313fde6c475e919a34f7622d Author: Chris Hanson Date: Fri May 8 13:54:41 2020 -0700 Fix loading of library debugging info. M src/runtime/infutl.scm commit 4076db10f6f39e5e2296707c9d13643e5d24ccf6 Author: Chris Hanson Date: Fri May 8 13:54:15 2020 -0700 Change VE to make its argument optional, like GE. M src/runtime/rep.scm commit abd8c8226989362ef5e88352802420eb3dff2f98 Author: Chris Hanson Date: Fri May 8 13:20:31 2020 -0700 Implement pp-to-string and read-from-string. Move write-to-string to "string-io.scm". M src/runtime/global.scm M src/runtime/runtime.pkg M src/runtime/string-io.scm commit db6378ab379d7b6c734b138ce390d7feb516a52d Author: Chris Hanson Date: Fri May 8 00:52:16 2020 -0700 Fix broken installation of files in src/libraries/. M src/libraries/Makefile-fragment commit 2b46b73aab97dec593c1f721e62041942b881e7e Author: Chris Hanson Date: Fri May 8 00:04:50 2020 -0700 Expose cgen:raw-output? as it is generally useful. M src/runtime/cgen-base.scm M src/runtime/runtime.pkg commit f09e08ab3ce636660e84ad0b5090ef002faf2a7f Author: Chris Hanson Date: Fri May 8 00:04:45 2020 -0700 Reorganize the handling of REPL environments. This implements support for naming environments and tracking them in a stack. None of this is exposed in the UI yet -- that is in development. Also change GE to generate a new environment if none is given. Plus some small cleanups of "rep.scm". M src/runtime/environment.scm M src/runtime/rep.scm M src/runtime/runtime.pkg commit 95a9eb955c729b102547ca86807040e8cb0627f3 Author: Chris Hanson Date: Fri May 8 00:01:29 2020 -0700 Implement weak-last-pair. M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit 190c6afc597727e0b902aea2cfed279a41247642 Author: Chris Hanson Date: Thu May 7 21:04:00 2020 -0700 Implement alist-table, with the same interface as weak-alist-table. M src/runtime/list.scm M src/runtime/runtime.pkg commit b5f469c0b3bd88b2c87af8a7569293eb28b8dbab Author: Chris Hanson Date: Thu May 7 21:03:21 2020 -0700 Change weak-alist-table-search so the predicate takes both key and value. M src/runtime/weak-pair.scm commit 34e1801dbeb1cdeae6be01e84e1a8d53bc5df2f9 Author: Chris Hanson Date: Thu May 7 21:02:33 2020 -0700 Reimplement alist metadata table using weak-alist-table. Also add two new operations to each table type: get-key and clear!. M src/runtime/global.scm commit 4e2f0660bcba7ea4432532e94c62641992738819 Author: Chris Hanson Date: Thu May 7 15:01:08 2020 -0700 Add rules to expand small list-ref and drop calls. M src/runtime/cgen-optimize.scm commit 47bd69ce4659e094b1266edc9641b4298b59187a Author: Chris Hanson Date: Thu May 7 15:00:28 2020 -0700 Allow boot inits to be run after cold load. M src/runtime/boot-seq.scm commit ac99be64bf39b9450937963e5c2798c096623947 Author: Chris Hanson Date: Wed May 6 21:27:20 2020 -0700 Implement a simple code-generation library. This is a substrate for an unfinished re-implementation of syntax-rules. It is fairly general though, and could be useful in other contexts. A src/runtime/cgen-base.scm A src/runtime/cgen-cse.scm A src/runtime/cgen-optimize.scm A src/runtime/cgen-output.scm M src/runtime/runtime.pkg commit 58c4b4e780a4726e1c14c75b2be4ecee5e557eeb Author: Chris Hanson Date: Wed May 6 21:26:35 2020 -0700 In hash-table-intern! no need to re-set an existing value. M src/runtime/hash-table.scm commit 3a5e4cf5b426c52c93247142583d1a46bc512776 Author: Chris Hanson Date: Sun May 3 13:37:49 2020 -0700 Add some operations on trie edges. M src/runtime/runtime.pkg M src/runtime/trie.scm commit ebbbc133b6f24fc73d786284e155379f38e15a88 Author: Chris Hanson Date: Sun May 3 00:02:13 2020 -0700 Edwin: Fix problems caused by confusion between #f and #!reclaim. M src/edwin/buffrm.scm M src/edwin/curren.scm M src/edwin/debug.scm M src/edwin/editor.scm M src/edwin/snr.scm M src/edwin/vc.scm M src/edwin/wincom.scm M src/imail/imail-imap.scm M src/imail/imail-top.scm commit ebdda71eb08bddb3d20946e143d52bcb5862dde3 Author: Chris Hanson Date: Sat May 2 23:27:25 2020 -0700 Convert add-to-population! calls to add-new-to-population!. It turns out that all the calls were for new objects, so this should speed all of them up. add-to-population! remains but isn't used right now. Also renamed add-to-population!/unsafe to add-new-to-population!/unsafe since that's a more accurate name. M src/runtime/advice.scm M src/runtime/infutl.scm M src/runtime/poplat.scm M src/runtime/prop1d.scm M src/runtime/runtime.pkg M src/runtime/thread.scm M src/sos/geneqht.scm commit a479341e3e6ec87896e00866494f64eb5a7febc7 Author: Chris Hanson Date: Sat May 2 23:18:41 2020 -0700 Implement trie-fold and trie-for-each. M src/runtime/runtime.pkg M src/runtime/trie.scm M tests/runtime/test-trie.scm commit cf35f6a4293d94d1d209a3cda939dd1560a20258 Author: Chris Hanson Date: Sat May 2 22:49:07 2020 -0700 A bunch of cleanups and speed tweaks in "weak-pair.scm". Added weak-list procedure. Also added tests for the weak-pair fold procedures. M src/runtime/runtime.pkg M src/runtime/weak-pair.scm M tests/check.scm A tests/runtime/test-weak-pair.scm commit 8a20757864284a9dfd36ccbf86b24575b3789a81 Author: Chris Hanson Date: Sat May 2 22:31:52 2020 -0700 Implement alist-fold and keyword-list-fold. Add a bunch of tests for all of the fold variants in "list.scm". Also clean up and hopefully speed up a bunch of things. M src/runtime/list.scm M src/runtime/runtime.pkg M tests/runtime/test-list.scm commit 246e52919c09ac98d0a3d1bd2f32a91140aa2f5a Author: Chris Hanson Date: Sat May 2 20:11:50 2020 -0700 Eliminate weak-alist->generator and simplify weak-alist-fold. M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit fad4f8b856dcb2cbb5e11c9f8797551e76638039 Author: Chris Hanson Date: Sat May 2 13:33:13 2020 -0700 Fix problem with non-simple predicate dispatchers. These dispatchers require registered predicates in order to do their job properly, so check for that up front and generate an error if this condition isn't met. Also register predicates that failed the check. For convenience, this prints a message during cold load instead of dying. M src/edwin/window.scm M src/runtime/boot-seq.scm M src/runtime/boot.scm M src/runtime/poplat.scm M src/runtime/pp.scm M src/runtime/predicate-dispatch.scm M src/runtime/predicate.scm M src/runtime/prop1d.scm M src/runtime/rep.scm M src/runtime/thread-low.scm M src/sf/pthmap.scm commit 08d7c51d548863f7d2f60851cd0e028b28999f73 Author: Chris Hanson Date: Sat May 2 02:26:12 2020 -0700 Eliminate the use of system-pair-X in dispatch-cache.scm. This required figuring out which lists were weak and which were strong. This wasn't completely obvious. In the process I made some significant rewrites attempting to simplify things. M src/runtime/dispatch-cache.scm commit 7c6dfce6489abd6d5825c7be2f0025ce7e865059 Author: Chris Hanson Date: Sat May 2 02:25:59 2020 -0700 Fix test that I broke with last change. M tests/runtime/test-simple-matcher.scm commit 4687b2267fa0d88a0b2f91ba68e1776d49ad0114 Author: Chris Hanson Date: Sat May 2 00:34:31 2020 -0700 Use add-new-to-population! for the address-hash tables. M src/runtime/hash-table.scm commit 9f87681e35d5e1687395966ad59a642dea31a2ca Author: Chris Hanson Date: Sat May 2 00:34:15 2020 -0700 Implement add-new-to-population!. M src/runtime/poplat.scm M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit a24b8227ae7767392878be7775e58c960302b4c5 Author: Chris Hanson Date: Sat May 2 00:33:47 2020 -0700 Implement make-weak-list. M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit 7a7dc28d45edefebcba2919c5cc7e47d2c272330 Author: Chris Hanson Date: Fri May 1 22:14:30 2020 -0700 Slightly simplify the code in weak hash tables. M src/runtime/hash-table.scm commit 90449c2a43836fd0978bc880364568af59a68757 Author: Chris Hanson Date: Fri May 1 22:14:04 2020 -0700 Change eq? hash tables to use weak-alist abstraction. M src/sos/geneqht.scm commit 6afb566e43114ba9cd53b370b190ad07f69ea3fd Author: Chris Hanson Date: Fri May 1 22:13:14 2020 -0700 Use weak-cons instead of system-pair-cons. M src/runtime/win32-registry.scm commit ff897c4a87fdc93b1b5e91695b6f4d83a1613c55 Author: Chris Hanson Date: Fri May 1 22:12:23 2020 -0700 Abstract out the use of system-pair-car in symbol accessors. M src/runtime/symbol.scm commit cbad8800ca12c0bebd7c0462035edafae6e6a75a Author: Chris Hanson Date: Fri May 1 22:11:41 2020 -0700 The open-channel procedure always passes a weak pair to its argument. M src/runtime/primitive-io.scm M src/runtime/socket.scm commit 91e0cc90acfaf052977cc9a890c54681a5835b7a Author: Chris Hanson Date: Fri May 1 22:10:29 2020 -0700 Change Edwin to use weak-list-set to track marks. M src/edwin/debuge.scm M src/edwin/grpops.scm M src/edwin/struct.scm commit 6079bcd561970855f9eb256a5c4b0ec1340ead37 Author: Chris Hanson Date: Fri May 1 22:10:13 2020 -0700 Implement weak-list-set-find. M src/runtime/runtime.pkg M src/runtime/weak-pair.scm commit c87066ffee29c16cf50c2a9cea7102ddc90e9443 Author: Chris Hanson Date: Fri May 1 17:15:48 2020 -0700 Redo the way that identifiers are matched. M src/runtime/simple-matcher.scm commit 16bddce482da915b941880a7ba0611913d3bf7e8 Author: Chris Hanson Date: Thu Apr 30 19:51:02 2020 -0700 Implement fold-map and fold-right-map. Also clean up implementations of folders. M src/runtime/list.scm M src/runtime/runtime.pkg commit 6a0514083ce3be24663b26ec6e27e405dc765324 Author: Chris Hanson Date: Wed Apr 29 01:30:05 2020 -0700 Implement simple trie. M src/runtime/runtime.pkg A src/runtime/trie.scm M tests/check.scm A tests/runtime/test-trie.scm commit 4714f4fe8ac2bb76ae9cf069d906b1fb16677c2c Author: Taylor R Campbell Date: Thu Apr 30 07:04:17 2020 +0000 Process .icb -> .bci files too. The cross-compiler used to generate .fni files but now it generates .icb files. M src/compiler/base/crsend.scm commit 620a982a971e507c8a16e77f4180d3c0fec26c32 Author: Chris Hanson Date: Tue Apr 28 23:28:01 2020 -0700 Don't store values of anonymous variables in the dictionary. M src/runtime/simple-matcher.scm M tests/runtime/test-simple-matcher.scm commit 74078ba635cb5560b022f35483b3dfd03d577e3d Author: Chris Hanson Date: Tue Apr 28 22:41:19 2020 -0700 Expose procedure that computes the names in a simple-matcher pattern. M src/runtime/runtime.pkg M src/runtime/simple-matcher.scm commit 7c35657bb447a9176d398af71de101e121fe66c2 Author: Chris Hanson Date: Mon Apr 27 14:45:09 2020 -0700 Implement simple pattern matcher. M src/runtime/runtime.pkg A src/runtime/simple-matcher.scm M tests/check.scm A tests/runtime/test-simple-matcher.scm commit 60d00fc53ea93e1df9a074cc0173da5cd9e94143 Author: Chris Hanson Date: Mon Apr 27 13:24:30 2020 -0700 Eliminate incorrect comment. M src/runtime/events.scm commit 2dc128e2041e33f40bf944b39c8e5ec5183cbc85 Author: Chris Hanson Date: Sun Apr 26 20:14:46 2020 -0700 Get per-test expectation definitions working. M src/libraries/inline-testing-impl.scm M src/libraries/inline-testing.sld commit 2ddad35b33a2d214d2b16c5b5d389b8f34b0e593 Author: Chris Hanson Date: Sun Apr 26 20:14:24 2020 -0700 pp: Don't run unsyntax on object unless as-code? is true. M src/runtime/pp.scm commit fbfb1511df26e7f2e821d10dacb3289b4438136d Author: Chris Hanson Date: Sun Apr 26 19:37:40 2020 -0700 Recompile library if its -impl files is changed. M src/libraries/compile.scm commit ca29e2d43eb59198b13254e47559f4c24161b202 Author: Chris Hanson Date: Sun Apr 26 19:37:20 2020 -0700 Fix inline testing reporting of failures. M src/libraries/inline-testing-impl.scm M src/libraries/inline-testing.sld commit 0a2c1e1aa1bca2dde70cf9766fb3d269a8002177 Author: Chris Hanson Date: Sun Apr 26 18:14:59 2020 -0700 Register preregister-standard-libraries! with event:after-restore. M src/runtime/library-loader.scm commit 38c7d07671caed011599676d1d4160db1a4fd565 Author: Chris Hanson Date: Sun Apr 26 17:19:33 2020 -0700 Handle unix domain socket filenames a little better. M src/microcode/pruxsock.c M src/microcode/uxsock.c M src/microcode/uxsock.h commit 447cd3252a06e81ec9f132d9f9318a949ef70b04 Author: Chris Hanson Date: Sun Apr 26 03:04:38 2020 -0700 Show datum of constant object. M src/runtime/printer.scm commit 6175003367c452389ab11a2a1c5433f507b3fc55 Author: Chris Hanson Date: Sun Apr 26 03:03:50 2020 -0700 Make sure that MITSCHEME_INF_DIRECTORY is set. M src/run-build commit a94abf64e4407e7b2b3ded56b0f79acf0c9fbbad Author: Chris Hanson Date: Sat Apr 25 23:36:53 2020 -0700 Workaround for cross-compiling with old microcode. Otherwise toolchain doesn't work since it's looking for gc-claimed-object but the microcode is using #f. This is a kludge. It deliberately ignores the case where #f is stored in a weak car, which shouldn't be an issue for cross compiling. Once the cross compilation produces its final output, this won't matter since it will be using gc-claimed-object. M src/microcode/fixobj.h M src/microcode/utabmd.c M src/runtime/boot.scm M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M src/runtime/weak-pair.scm M src/sf/usiexp.scm commit cb92327c3ee0a2af4f6bac588e2b31e70271e8d9 Author: Chris Hanson Date: Sat Apr 25 23:36:18 2020 -0700 Fix unused variable warnings. M src/sf/usiexp.scm commit 6494a24b9997e61b3d3cb7c577ce223abffe958c Author: Chris Hanson Date: Sat Apr 25 23:35:39 2020 -0700 Fix warning generated by newer gcc. M src/microcode/uxsock.c commit 248891b9b1542aa2a27e28297299b5fb8ff272d6 Author: Chris Hanson Date: Sat Apr 25 19:43:02 2020 -0700 Add a bunch more generator procedures. M src/runtime/generator.scm M src/runtime/runtime.pkg commit 48eda27056a94e59d3b87ed54a5d4fa82eeb5da0 Author: Chris Hanson Date: Sat Apr 25 19:38:11 2020 -0700 Change pretty-printer to recognize a few more indentation forms. M src/runtime/pp.scm commit eaee600ded812fa00238543e39eaee49f483e956 Author: Chris Hanson Date: Tue Apr 21 20:19:07 2020 -0700 Check range when open-coding bytevector-u8-set! and primitive-byte-set! Previously we only tested for fixnum type, now we make sure that the value is in the appropriate range. M src/compiler/rtlgen/opncod.scm commit a4acb3dec2b44f49b3671fd777a73445719c527e Author: Chris Hanson Date: Mon Apr 20 17:46:38 2020 -0700 Minor optimization for defstruct. M src/runtime/defstr.scm commit e1dda181ed78ac03f30920d04fc4e9e376a968ea Author: Chris Hanson Date: Mon Apr 20 01:18:55 2020 -0700 Extend define-record-type to accept keyword options. This include both per-type options and per-field options. The syntax doesn't know what the options are, it just arranges to pass them to make-record-type in the appropriate way. M src/runtime/mit-macros.scm commit b0712c6f7b6aed566b395fd73ddf88e4ed78e10f Author: Chris Hanson Date: Mon Apr 20 01:18:41 2020 -0700 Change make-record-type to accept keyword options on field specs. For now there's just the 'default-init option. M src/runtime/record.scm commit b2bcafbeb95d777ebe0e27d60b90d843b3150091 Author: Chris Hanson Date: Sun Apr 19 13:46:34 2020 -0700 Replace many ad hoc uses of weak pairs with weak abstractions. Another large round of changes, including a new weak-alist-table abstraction, which is more-or-less compatible with the hash-table abstraction and a significantly expanded set of operations on weak alists. Also renamed weak-set to weak-list-set to clarify that this is a set based on a weak list. M src/compiler/machines/C/cout.scm M src/imail/imail-imap.scm M src/mcrypt/mcrypt.scm M src/runtime/dispatch-tag.scm M src/runtime/ffi.scm M src/runtime/gcfinal.scm M src/runtime/gcnote.scm M src/runtime/generator.scm M src/runtime/global.scm M src/runtime/poplat.scm M src/runtime/predicate.scm M src/runtime/process.scm M src/runtime/prop1d.scm M src/runtime/runtime.pkg M src/runtime/thread.scm M src/runtime/weak-pair.scm M tests/ffi/test-ffi-wrapper.scm commit 009917494afe83ab448243e4fa84c3d1d547f09c Author: Chris Hanson Date: Sat Apr 18 00:52:37 2020 -0700 Move most of the weak-pair code into a centralized place. This makes it easier to maintain the weak-pair codebase and reduces the possibility of introducing bugs by editing one use and not another. In addition, this commit adds some useful generator support, which is compatible with SRFI 158. The generators simplify the implementation of procedures that manipulate multiple weak lists, by hiding the elision of gc-reclaimed objects. M src/compiler/machines/svm/disassembler.scm M src/edwin/utils.scm M src/gdbm/gdbm.scm M src/mcrypt/mcrypt.scm M src/runtime/boot.scm M src/runtime/dispatch-tag.scm M src/runtime/ffi.scm M src/runtime/gcnote.scm A src/runtime/generator.scm M src/runtime/hash-table.scm M src/runtime/list.scm M src/runtime/make.scm M src/runtime/poplat.scm M src/runtime/prop1d.scm M src/runtime/runtime.pkg A src/runtime/weak-pair.scm M src/x11/x11-base.scm commit 9f431cc06e0319cdd8623e8aa1abbe8f85b0a9ba Author: Chris Hanson Date: Fri Apr 17 17:59:00 2020 -0700 Add expansions for common constant procedures. M src/runtime/dispatch-cache.scm M src/runtime/host-adapter.scm M src/sf/usiexp.scm commit d5052035d62da83d1f010d4517409a7ec4721943 Author: Chris Hanson Date: Fri Apr 17 17:22:26 2020 -0700 Change weak pairs to use gc-reclaimed-object to represent reclamation. M src/edwin/buffrm.scm M src/edwin/curren.scm M src/edwin/debug.scm M src/edwin/editor.scm M src/edwin/snr.scm M src/edwin/vc.scm M src/edwin/wincom.scm M src/imail/imail-core.scm M src/imail/imail-imap.scm M src/imail/imail-mime.scm M src/imail/imail-top.scm M src/microcode/daemon.c M src/microcode/debug.c M src/microcode/gcloop.c M src/microcode/lookup.c M src/microcode/object.h M src/runtime/boot.scm M src/runtime/dispatch-cache.scm M src/runtime/equals.scm M src/runtime/ffi.scm M src/runtime/gcfinal.scm M src/runtime/gcnote.scm M src/runtime/global.scm M src/runtime/hash-table.scm M src/runtime/list.scm M src/runtime/poplat.scm M src/runtime/printer.scm M src/runtime/process.scm M src/runtime/prop1d.scm M src/runtime/reader.scm M src/runtime/runtime.pkg M src/runtime/thread-low.scm M src/runtime/win32-registry.scm M src/sf/gconst.scm commit f19dde952991d9f128356ffa114d8dbc4d330e03 Author: Chris Hanson Date: Thu Apr 16 17:00:58 2020 -0700 Fix typo. M src/compiler/base/toplev.scm commit cbcc47414db30b77996778a357a7b28608ddafa6 Author: Chris Hanson Date: Thu Apr 16 14:23:13 2020 -0700 Add missing dependency that broke boot when interpreted. M src/runtime/gcstat.scm commit feb178fa6fda49ddea90f6d78c5a39bc413b3d62 Author: Chris Hanson Date: Thu Apr 16 01:04:39 2020 -0700 Fix some initialization problems that occur only in edge cases. M src/runtime/make.scm M src/runtime/poplat.scm M src/runtime/prop1d.scm commit 0336380d7d9948c37b3034d0e6b6492f643a089c Author: Chris Hanson Date: Sun Apr 12 21:13:38 2020 -0700 Finish converting cold load to sequenced initialization. M src/runtime/advice.scm M src/runtime/boot-seq.scm M src/runtime/compound-predicate.scm M src/runtime/dbgcmd.scm M src/runtime/debug.scm M src/runtime/emacs.scm M src/runtime/error.scm M src/runtime/ffi.scm M src/runtime/framex.scm M src/runtime/gcnote.scm M src/runtime/html-form-codec.scm M src/runtime/http-syntax.scm M src/runtime/infutl.scm M src/runtime/make.scm M src/runtime/microcode-errors.scm M src/runtime/microcode-tables.scm M src/runtime/mit-syntax.scm M src/runtime/numpar.scm M src/runtime/parametric-predicate.scm M src/runtime/predicate.scm M src/runtime/regsexp.scm M src/runtime/rfc2822-headers.scm M src/runtime/runtime.pkg M src/runtime/savres.scm M src/runtime/srfi-115.scm M src/runtime/stack-sample.scm M src/runtime/structure-parser.scm M src/runtime/swank.scm M src/runtime/syntax-items.scm M src/runtime/url.scm M src/runtime/version.scm M src/runtime/where.scm M src/runtime/win32-registry.scm M src/runtime/wind.scm commit 6287528b6d71a1a33d6f9d85f87349787fbafe81 Author: Chris Hanson Date: Sun Apr 12 01:44:45 2020 -0700 Eliminate more explicit initialization. M src/runtime/gcnote.scm M src/runtime/gcstat.scm M src/runtime/interrupt.scm M src/runtime/make.scm M src/runtime/rep.scm M src/runtime/syntax-parser.scm M src/runtime/syntax-rename.scm M src/runtime/syntax.scm commit 7ad75d388417d2649378173ecb71f0fab0ba0386 Author: Chris Hanson Date: Sun Apr 12 00:27:32 2020 -0700 Change method by which predicate dispatcher specifies default handler. Instead of a separate call, it's now an optional argument to the constructor. M src/runtime/pp.scm M src/runtime/predicate-dispatch.scm M src/runtime/printer.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm M src/runtime/syntax-rename.scm M tests/runtime/test-predicate-dispatch.scm commit 3fc3eaaa27db16e93161a7cf0a1ab3422084036a Author: Chris Hanson Date: Sun Apr 12 00:16:00 2020 -0700 Eliminate more explicit initialization. M src/runtime/file-attributes.scm M src/runtime/make.scm M src/runtime/numpar.scm M src/runtime/option.scm M src/runtime/pathname.scm M src/runtime/pp.scm M src/runtime/printer.scm M src/runtime/reader.scm M src/runtime/syntax-items.scm M src/runtime/syntax-low.scm M src/runtime/unsyn.scm M src/runtime/xeval.scm commit eaf4a6ecc17d7784341b65e18d53fe50db802735 Author: Chris Hanson Date: Sat Apr 11 22:32:40 2020 -0700 Eliminate a large number of entries from explicit initialization. M src/runtime/apply.scm M src/runtime/arith.scm M src/runtime/boot-seq.scm M src/runtime/bytevector.scm M src/runtime/char-set.scm M src/runtime/char.scm M src/runtime/codwlk.scm M src/runtime/command-line.scm M src/runtime/compound-predicate.scm M src/runtime/conpar.scm M src/runtime/console-io.scm M src/runtime/dispatch-tag.scm M src/runtime/dos-pathname.scm M src/runtime/dynamic.scm M src/runtime/file-io.scm M src/runtime/floenv.scm M src/runtime/generic-io.scm M src/runtime/global.scm M src/runtime/hash-table.scm M src/runtime/hash.scm M src/runtime/histry.scm M src/runtime/lambda.scm M src/runtime/library-database.scm M src/runtime/library-loader.scm M src/runtime/library-standard.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/memoizer.scm M src/runtime/microcode-errors.scm M src/runtime/ntdir.scm M src/runtime/os-primitives.scm M src/runtime/output-port.scm M src/runtime/parametric-predicate.scm M src/runtime/pathname.scm M src/runtime/predicate-dispatch.scm M src/runtime/predicate-tagging.scm M src/runtime/prgcop.scm M src/runtime/prop2d.scm M src/runtime/record.scm M src/runtime/regexp-rules.scm M src/runtime/regsexp.scm M src/runtime/runtime.pkg M src/runtime/scode.scm M src/runtime/sfile.scm M src/runtime/socket.scm M src/runtime/srfi-115.scm M src/runtime/stream.scm M src/runtime/string-io.scm M src/runtime/string.scm M src/runtime/sysclk.scm M src/runtime/textual-port.scm M src/runtime/thread.scm M src/runtime/ucd-glue.scm M src/runtime/ucd-grapheme.scm M src/runtime/ucd-word.scm M src/runtime/unix-pathname.scm M src/runtime/unxdir.scm M src/runtime/unxprm.scm M src/runtime/usrint.scm M src/runtime/wrkdir.scm commit 35d2f3a1d975610ced3754049f49633014894ca9 Author: Chris Hanson Date: Fri Apr 10 23:39:32 2020 -0700 Tighten up the early initialization sequence. M src/runtime/apply.scm M src/runtime/boot-seq.scm M src/runtime/dispatch-tag.scm M src/runtime/events.scm M src/runtime/gcfinal.scm D src/runtime/gdatab.scm M src/runtime/make.scm M src/runtime/poplat.scm M src/runtime/primitive-io.scm M src/runtime/prop1d.scm M src/runtime/random.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/thread.scm commit 611a0913e05826f412805fd2a6ee08bb7efeb217 Author: Chris Hanson Date: Fri Apr 10 23:38:05 2020 -0700 Refactor boot sequencing to eliminate gratuitous use of trigger!. M src/runtime/boot-seq.scm M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/char-set.scm M src/runtime/compound-predicate.scm M src/runtime/dispatch-tag.scm M src/runtime/make.scm M src/runtime/microcode-tables.scm M src/runtime/pp.scm M src/runtime/predicate.scm M src/runtime/printer.scm M src/runtime/procedure.scm M src/runtime/record.scm M src/runtime/regexp-rules.scm M src/runtime/regsexp.scm M src/runtime/srfi-115.scm M src/runtime/syntax-items.scm M src/runtime/ucd-glue.scm commit 02d552e40b9f6617f8bff0680fb25d764fbdec87 Author: Chris Hanson Date: Fri Apr 10 22:52:09 2020 -0700 Improve printing of constants. M src/microcode/debug.c M src/microcode/object.h commit 42469b915c4a0ecdba79ae90f502f950af96a954 Author: Chris Hanson Date: Fri Apr 10 00:51:16 2020 -0700 Use dependency link to relate dispatch-tag initialization. M src/runtime/dispatch-tag.scm M src/runtime/make.scm commit de2cde550b1ac8644dd9dee78aebf171be9591f4 Author: Chris Hanson Date: Fri Apr 10 00:08:04 2020 -0700 Eliminate dangling reference. M src/sf/sf.pkg commit bd11cc71ee83b16e5ee17e0bf1d57d1f24848e89 Author: Chris Hanson Date: Fri Apr 10 00:07:50 2020 -0700 Don't export get-fixed-objects-vector to global. M src/runtime/runtime.pkg M src/sf/gconst.scm commit dd3a82ac69aafdd63bdbb49dae49d797e97cb341 Author: Chris Hanson Date: Fri Apr 10 00:07:31 2020 -0700 Eliminate unnecessary calls to set-fixed-objects-vector!. M src/runtime/gc.scm M src/runtime/gcdemn.scm M src/runtime/interrupt.scm M src/runtime/make.scm commit 750e218afdcad8295f84f7ab828d2669c4b4465e Author: Chris Hanson Date: Thu Apr 9 22:37:18 2020 -0700 Fix bug in compiled-closure printer. M src/microcode/debug.c commit bf4e1e0f5ab93dc90bc2ab0c72ce1cbdbd0abeda Author: Chris Hanson Date: Thu Apr 9 00:29:57 2020 -0700 Rewrite boot-init support to use sequencers. This is a temporary solution. We want to use the ordering constraints on the sequencers, but currently we have a fixed initialization ordering specified in "make.scm". We'll incrementally change over the sequencers to specify their ordering. M src/runtime/boot-seq.scm M src/runtime/boot.scm M src/runtime/make.scm M src/runtime/mime-codec.scm M src/runtime/packag.scm M src/runtime/primitive-arithmetic.scm M src/runtime/regexp.scm M src/runtime/rep.scm M src/runtime/runtime.pkg commit 3b56f949b73823e40945ccbc64ca03cdcc409485 Author: Chris Hanson Date: Tue Apr 7 21:49:55 2020 -0700 Convert all "deferred boot actions" to use sequencers. M src/runtime/boot-seq.scm M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/char-set.scm M src/runtime/compound-predicate.scm M src/runtime/host-adapter.scm M src/runtime/microcode-tables.scm M src/runtime/predicate.scm M src/runtime/procedure.scm M src/runtime/record.scm M src/runtime/regexp-rules.scm M src/runtime/regsexp.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm M src/runtime/syntax-items.scm M src/runtime/sysmac.scm M src/runtime/ucd-glue.scm commit b26551910d5fb2adf46326b851c076ddcad752f5 Author: Chris Hanson Date: Mon Apr 6 23:49:29 2020 -0700 Initial draft of boot sequencer supporting dependencies. A src/runtime/boot-seq.scm M src/runtime/boot.scm M src/runtime/make.scm M src/runtime/pp.scm M src/runtime/printer.scm M src/runtime/runtime.pkg commit 88e4199bae9383eadc150f5b9689bb1c5438da63 Author: Chris Hanson Date: Sat Apr 4 19:31:10 2020 -0700 Update "Special Forms" chapter to more closely reflect current standards. M doc/ref-manual/special-forms.texi commit d1919901a80612ec1ba5e480c2be06c4aa2dac52 Author: Taylor R Campbell Date: Fri Apr 3 05:24:37 2020 +0000 Simplify internal floating-point environment thread switching API. Only three operations, not four: save, restore, and discard. Avoid touching the machine state if we're transitioning between threads that haven't asked to use the floating-point environment. M src/runtime/floenv.scm M src/runtime/runtime.pkg M src/runtime/thread.scm commit 514e4cac1a445dcd6c879d103e54321b9d87829c Author: Taylor R Campbell Date: Thu Apr 2 15:56:23 2020 +0000 Add an assertion for clarity. M src/runtime/thread.scm commit 7fd15190e973f723e127677f28981607201cb8ee Author: Taylor R Campbell Date: Thu Apr 2 15:46:13 2020 +0000 Ensure the thread's fp environment is #t or #f while running. Fixes assertion failure in enter-default-float-environment. M src/runtime/floenv.scm commit e45de4135995e0b28fa674ff85a15890d44180d7 Author: Chris Hanson Date: Wed Apr 1 17:51:59 2020 -0700 Reimplement define syntax to have fewer layers and be faster. Basically this permits loops in classifiers by means of apply-classifier-item, avoiding the indirection of keywords and calls to classify-form. M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-low.scm M src/runtime/syntax.scm commit e24eca882dec69dd0e3b319ac164fbcf219a0d51 Author: Chris Hanson Date: Sun Mar 29 20:14:10 2020 -0700 Fix bug #57833. M src/runtime/syntax-rules.scm M src/runtime/syntax.scm M tests/runtime/test-syntax.scm commit b1700234fa4f2b45989f20eb3184066beef05178 Author: Chris Hanson Date: Sat Mar 28 22:49:25 2020 -0700 Implement comprehensive tracing of syntax expansion. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-rename.scm M src/runtime/syntax.scm commit 694439f6780c52124c7049e75543748a85573bf5 Author: Chris Hanson Date: Sat Mar 28 22:49:04 2020 -0700 Eliminate free-variable lists in internal syntactic environments. M src/runtime/syntax-environment.scm commit ba63d00b5155b3a0cb84b48bca4d852cb47ffe1c Author: Taylor R Campbell Date: Sun Mar 29 16:41:26 2020 +0000 Regenerate edwin-*.pkd if edwin.pkg is newer. M src/edwin/edwin.sf commit 89ff09f8cd53aad7f819a6600baa9350d218aabf Author: Chris Hanson Date: Sat Mar 28 02:27:25 2020 -0700 Implement ability to render syntax items as s-expressions. This is more preparation for better syntax tracing. M src/edwin/clsmac.scm M src/edwin/edwin.pkg M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm commit 2f7acd03b8863d698d7a7e5c2f435b9257be63a7 Author: Chris Hanson Date: Sat Mar 28 02:11:28 2020 -0700 Fix bug: OK to load type-less pathname if it's a regular file. M src/runtime/load.scm commit f70a02dade89e4e53ad4a447bbef5ebc010d2c9c Author: Chris Hanson Date: Fri Mar 27 15:47:28 2020 -0700 Split keyword items into classifiers and transformers. This is preparation for implementing better syntax tracing. M src/runtime/compound-predicate.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-low.scm M src/runtime/syntax.scm commit 2a451e18073c774acca193767cb9bcb110cb2d4b Author: Chris Hanson Date: Fri Mar 27 14:14:21 2020 -0700 Eliminate unused procedure. M src/runtime/runtime.pkg M src/runtime/syntax-low.scm commit 67af0042489fdabffcf11d99033c720453c39f36 Author: Chris Hanson Date: Fri Mar 27 14:06:38 2020 -0700 Eliminate no-longer-needed arguments. M src/runtime/syntax-low.scm commit 7edd7770ec9885350753007cd9f6e6ec5262d726 Author: Chris Hanson Date: Sun Mar 22 18:37:41 2020 -0700 Mark syntax regression tests with their bug numbers. M tests/runtime/test-syntax.scm commit f1b48eeba2857da797c1058e1ca5f475dc605ca5 Author: Arthur A. Gleckler Date: Sat Mar 7 19:21:01 2020 -0800 Fix char-set:graphic and char-graphic?. M src/runtime/ucd-glue.scm commit e01d8625193edb843e7c2774b6279d0c5d501d0d Author: Chris Hanson Date: Mon Mar 2 00:54:26 2020 -0800 Fix several bugs in syntax-rules and update tests. M src/runtime/syntax-rules.scm M tests/runtime/test-syntax.scm commit dfeb5c128d0418004d8e1c24c00cb84872f6bf47 Author: Chris Hanson Date: Sun Mar 1 15:45:22 2020 -0800 Add additional syntax tests from Larceny. M tests/runtime/test-syntax.scm commit 0462916250b41f786f5dfac91a376696d731e773 Author: Chris Hanson Date: Tue Feb 11 21:51:04 2020 -0800 Don't close a compound identifier in syntax-rules. Also fix broken error reporting. M src/runtime/syntax-rules.scm M tests/runtime/test-syntax.scm commit 9f175968ff6c31927fdbbbf1a62ba8914209dd19 Author: Chris Hanson Date: Mon Feb 10 20:51:05 2020 -0800 Allow closures of compound identifiers. This fixes some subtle bugs in the interaction between syntax-rules and everything else. M src/runtime/syntax.scm M tests/runtime/test-syntax.scm commit b8d22ddaf117f47af0fd6c61b19bc84875a8108f Author: Chris Hanson Date: Mon Feb 10 20:50:44 2020 -0800 Add more syntax tracing. M src/runtime/syntax-environment.scm M src/runtime/syntax-rename.scm commit 7ab4e7ab5b1ca8e931eebbead0f365bc14904ebc Author: Arthur A. Gleckler Date: Thu Feb 6 21:19:53 2020 -0800 Reset buffers when positioning textual ports. For textual input ports, reset decoded-chars, line, and peeked. For textual output ports, reset buffer-column and buffer-line. M src/runtime/file-io.scm M src/runtime/runtime.pkg commit e73742231bed803a57954bb0242541d79d473d6d Author: Arthur A. Gleckler Date: Wed Feb 5 14:19:41 2020 -0800 Ignore ".bcild", ".binld", ".comld", and ".icb". M .gitignore commit 76bb84eaa87a4496ba0fccd0111fee46e2bdbf23 Author: Chris Hanson Date: Sat Jan 11 17:51:26 2020 -0800 Fix typo. M src/runtime/generic-io.scm commit 7a0edd6513043b33322fd679c2cc83eaa448663a Author: Chris Hanson Date: Mon Jan 6 00:26:15 2020 -0800 Erase configure.ac debugging statements. M src/microcode/configure.ac commit 3044f9400fdc527e60e810a07c45eb75c8aac19f Author: Chris Hanson Date: Mon Jan 6 00:24:37 2020 -0800 Include version number in executable and library directory. This supports having multiple versions installed at the same time. M src/configure.ac M src/etc/install-bin-symlinks.sh M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in commit 84a35f68820f336be351e694ce6c485292abfb46 Author: Chris Hanson Date: Mon Jan 6 00:24:28 2020 -0800 Fix typo in previous change. M src/compiler/base/toplev.scm commit 589b475204ff233e328af72c1fc7a61fabad8634 Author: Matt Birkholz Date: Thu Jan 2 00:47:49 2020 -0700 x11: Fix x-get-visual-info's arguments to x_window_display. M src/x11/NEWS M src/x11/configure.ac M src/x11/make.scm M src/x11/x11-color.scm commit f7ce3abbae88d768b07a35227c853f8650184de5 Author: Taylor R Campbell Date: Fri Dec 27 15:53:56 2019 +0000 Adapt to the new world order of UTF-8 by default. M src/6001/pic-read.scm commit 09b696a6f6786b2cb6ef238530c00ea25bd6bcdd Author: Taylor R Campbell Date: Wed Dec 25 18:41:52 2019 +0000 Fix xrefs to mit-scheme-ref manual. M doc/user-manual/user.texinfo commit d15afa766efd561d668e5ed7f8d32e2cc59a1e43 Author: Chris Hanson Date: Mon Dec 23 04:16:51 2019 -0500 Fix bug in cross compilation that I introduced in recent commit. Also clean up the code slightly. It's still a mess and could use some attention. M src/compiler/base/toplev.scm M src/sf/toplev.scm commit b480cea3974eda686431dbf0fd04414d2217c32f Author: Chris Hanson Date: Sat Dec 21 23:13:33 2019 -0800 Compile libraries with empty library database. Otherwise the libraries interact with their older preregistered instances, which causes the compilation to fail. This probably needs to be done in a more general way. M src/libraries/compile.scm M src/runtime/runtime.pkg commit 20e4308199c8351cee824b543efdc8de23062da8 Author: Chris Hanson Date: Sat Dec 21 23:13:15 2019 -0800 Fix problem with library database naming. M src/runtime/library-database.scm M src/runtime/library-standard.scm commit 656768f70d0b6a9cebaab33c7734329806e2d2dc Author: Chris Hanson Date: Sat Dec 21 23:02:29 2019 -0800 Split libraries into sld/scm files. M src/libraries/compile.scm R093 src/libraries/inline-testing.scm src/libraries/inline-testing-impl.scm C054 src/libraries/compile.scm src/libraries/inline-testing.sld R094 src/libraries/srfi-133.scm src/libraries/srfi-133-impl.scm C051 src/libraries/compile.scm src/libraries/srfi-133.sld R100 src/libraries/srfi-14.scm src/libraries/srfi-14.sld R087 src/libraries/srfi-140.scm src/libraries/srfi-140-impl.scm A src/libraries/srfi-140.sld commit f39a6df0489458fdb77426ec567b0664a99c8f44 Author: Chris Hanson Date: Sat Dec 21 22:37:02 2019 -0800 Update SF and LIAR to use new file-types abstraction. M src/compiler/base/asstop.scm M src/compiler/base/toplev.scm M src/compiler/machines/C/ctop.scm M src/runtime/library-loader.scm M src/runtime/load.scm M src/runtime/runtime.pkg M src/sf/toplev.scm commit 13702283f353279fb8ddb2d9c519e0b5f776cd9c Author: Chris Hanson Date: Sat Dec 21 16:32:11 2019 -0800 Major rewrite of library implementation. New implementation supports an alternative syntax that's more expressive than the one in R7RS, making it easier to handle complicated import/export situations without explicit lists of names. This was prompted by the SRFI 140 libraries, which can't be simply expressed in the R7RS syntax. The new syntax uses distinct keywords (define-library* and import*), keeping the R7RS keywords as previously defined. Regardless of the syntax, the internal representation of libraries is the same, allowing the programmer to use whichever is more convenient without worrying about compatibility. (Caveat: the R7RS include-library-declarations keyword can't be used to include a file using define-library*.) The new syntax introduces a couple of new concepts: * "namesets" are just sets of names that can be combined with the usual set combinators, as well as filtered and renamed. The leaf namesets are either explicit names, or the set of exported names from a specified library. * Filtering and renaming using SRFI 115 regular expressions. This is in addition to nameset intersection and simple one-to-one renames. Note that the format of the metadata in compiled (.bin/.com) files has changed, so it is necessary to re-compile any R7RS library/program files. The loader should detect and ignore compiled files with the old format, but if the corresponding source file isn't available, the library will be unavailable. M src/libraries/inline-testing.scm M src/runtime/library-database.scm D src/runtime/library-imports.scm A src/runtime/library-ixports-mit.scm A src/runtime/library-ixports-r7rs.scm A src/runtime/library-ixports.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-scode.scm M src/runtime/library-standard.scm M src/runtime/load.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm M src/sf/sf.pkg M src/sf/xform.scm M tests/check.scm M tests/runtime/test-library-data/foo-bar-1.scm M tests/runtime/test-library-data/foo-bar-2.scm A tests/runtime/test-library-data/srfi-140-example.scm M tests/runtime/test-library-data/support-code.scm D tests/runtime/test-library-imports.scm A tests/runtime/test-library-ixports.scm M tests/runtime/test-library-loader.scm M tests/runtime/test-library-parser.scm D tests/runtime/test-library-standard.scm commit a62de1c136f8f3d35729302dae2545bc68f56cc6 Author: Chris Hanson Date: Thu Dec 19 16:25:25 2019 -0800 Fix typo in srfi-115. M src/runtime/srfi-115.scm commit 0f665ce4411c083383b9c60d90925c383a24a848 Author: Chris Hanson Date: Thu Dec 19 16:25:09 2019 -0800 Implement cons-last!. M src/runtime/list.scm M src/runtime/runtime.pkg commit 1fdf2e5e00aa3e0991a903f2c38bd36a0e3440be Author: Chris Hanson Date: Sat Dec 14 23:59:19 2019 -0800 Formalize sets of file types to support both ".scm" and ".sld". M src/runtime/load.scm M src/runtime/runtime.pkg commit 98dd82c9a58b188afae8013eab5b33291fe4d3c5 Author: Chris Hanson Date: Mon Dec 16 16:22:25 2019 -0800 Add SRFI 115 tests from Chibi and fix all the bugs they found. M src/runtime/char-set.scm M src/runtime/regexp-nfa.scm M src/runtime/regexp-rules.scm M src/runtime/regsexp.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm M tests/runtime/test-srfi-115.scm M tests/unit-testing.scm commit 1f33730d89eb9dc6ac1d088e43b3f43d391e58ce Author: Chris Hanson Date: Mon Dec 16 16:23:15 2019 -0800 Provide two SRFI 140 names in global environment. M src/libraries/srfi-140.scm M src/runtime/runtime.pkg M src/runtime/string.scm commit 80f7bfff160367536056e79e15d74bf4700d186f Author: Chris Hanson Date: Mon Dec 16 22:46:56 2019 -0800 Change guarantee-procedure-of-arity to return its argument. M src/runtime/procedure.scm commit a0d556f7e5a4c28fb33e275569e5c7dd267a3bd1 Author: Chris Hanson Date: Sun Dec 15 19:58:57 2019 -0800 Add SF expansions for interned-symbol? and symbol?. Also reorganize the expansions lists to eliminate the possibility of mismatches. M src/runtime/host-adapter.scm M src/sf/usiexp.scm commit 107a36b53b754c52752d52471c9da6ce06e3ded4 Author: Chris Hanson Date: Sun Dec 15 20:09:18 2019 -0800 Implement partition-generator, a useful abstraction. M src/runtime/global.scm M src/runtime/runtime.pkg commit 36735195d3346984770f362493aef18fe4ca7622 Author: Chris Hanson Date: Sat Dec 14 01:10:33 2019 -0800 Implement a few useful list utilities. M src/runtime/list.scm M src/runtime/runtime.pkg commit 3591637ab824f2b618cdee00e2a510a634c2a02d Author: Chris Hanson Date: Fri Dec 13 17:14:09 2019 -0800 Remove cph-specific bindings from dir locals. M .dir-locals.el commit 6cdcbf5363706a811400a2c2e1a7caf708441dcf Author: Chris Hanson Date: Thu Dec 12 00:30:03 2019 -0800 Integrate grapheme-cluster support directly into regexp NFA. The new streaming interface makes this easy. If the NFA doesn't use the gcb instructions, then it doesn't bother computing the breaks. M src/runtime/regexp-nfa.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit 6a5a0936dcf312c703feb3f6fc70bf20d73cdd93 Author: Chris Hanson Date: Wed Dec 11 23:57:44 2019 -0800 Implement stream interface for grapheme cluster and word breaks. M src/runtime/runtime.pkg M src/runtime/ucd-grapheme.scm M src/runtime/ucd-segmentation.scm M src/runtime/ucd-word.scm commit e52fde965907c12449af28ad084039fb39b23b8f Author: Chris Hanson Date: Wed Dec 11 23:19:22 2019 -0800 Don't pass prev-break through the state tranaitions. It's wasteful and unnecessary. M src/runtime/ucd-segmentation.scm commit 2d14fb1425ad8612358387ec5e5fc45ca27e8741 Author: Chris Hanson Date: Mon Dec 9 01:31:35 2019 -0800 Carefully fix problems caused by changing char-set:graphic. M src/compiler/machines/C/cout.scm M src/edwin/adapters.scm M src/edwin/edwin.pkg M src/edwin/modefs.scm M tests/runtime/test-mime-codec.scm commit c88397555609c36d8ea20d2fe4e76f5853c95035 Author: Chris Hanson Date: Sat Dec 7 16:55:05 2019 -0800 Add title of SRFI. M src/libraries/srfi-133.scm commit f6a3f20e3a49bcfaefc12996ba6d1dadbace1828 Author: Chris Hanson Date: Wed Dec 4 22:19:52 2019 -0800 Eliminate use of char-set-members. M src/edwin/comtab.scm M src/edwin/paredit.scm M src/runtime/chrsyn.scm M src/runtime/http-syntax.scm M src/runtime/regexp.scm M src/runtime/rexp.scm commit 0ec5b988497ff5fba53f5ed7c0f2de9345b3bc5d Author: Chris Hanson Date: Wed Dec 4 22:09:49 2019 -0800 Eliminate use of ascii-range->char-set. M src/compiler/machines/C/cout.scm M src/compiler/machines/C/cutl.scm M src/edwin/dired.scm M src/edwin/dosfile.scm M src/edwin/modefs.scm M src/edwin/rcsparse.scm M src/edwin/rfc822.scm M src/edwin/sendmail.scm M src/edwin/syntax.scm M src/imail/imap-syntax.scm M src/runtime/http-syntax.scm M src/runtime/mime-codec.scm M src/runtime/sfile.scm M src/xml/rdf-nt.scm M src/xml/rdf-struct.scm M src/xml/xml-rpc.scm commit 3df7fa6bea54ee0cecd2d581108f5a7553d8182c Author: Chris Hanson Date: Wed Dec 4 21:20:47 2019 -0800 Change REPL to recognize and print multiple values. M src/edwin/edwin.pkg M src/edwin/intmod.scm M src/runtime/emacs.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/swank.scm M src/runtime/usrint.scm commit a5dcb596cb72ab0914aaad2cb66d9a59949edffd Author: Chris Hanson Date: Wed Dec 4 18:33:08 2019 -0800 Extensive revision of Lists chapter in reference manual. M doc/configure.ac M doc/ref-manual/lists.texi M doc/ref-manual/scheme.texinfo M doc/user-manual/user.texinfo commit d6b8dd2094d60880985c39b4d263f6ca1497f3bd Author: Chris Hanson Date: Wed Dec 4 16:21:06 2019 -0800 Eliminate use of list-head and list-tail. Also make reverse* an alias for append-reverse. M src/compiler/base/sets.scm M src/compiler/fgopt/order.scm M src/compiler/fgopt/reuse.scm M src/compiler/fgopt/simapp.scm M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/x86-64/insmac.scm M src/compiler/rtlbase/rtlcon.scm M src/edwin/artdebug.scm M src/edwin/debug.scm M src/edwin/dired.scm M src/edwin/keymap.scm M src/edwin/kilcom.scm M src/edwin/nntp.scm M src/edwin/prompt.scm M src/edwin/rfc822.scm M src/edwin/shell.scm M src/edwin/snr.scm M src/etc/ucd-converter.scm M src/imail/imail-imap.scm M src/runtime/advice.scm M src/runtime/dbgutl.scm M src/runtime/debug.scm M src/runtime/defstr.scm M src/runtime/gcstat.scm M src/runtime/infutl.scm M src/runtime/list.scm M src/runtime/load.scm M src/runtime/mit-macros.scm M src/runtime/output-port.scm M src/runtime/pp.scm M src/runtime/record.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/scan.scm M src/runtime/srfi-1.scm M src/runtime/string.scm M src/runtime/unix-pathname.scm M src/sf/reduct.scm M src/sos/generic.scm M tests/runtime/test-floenv.scm M tests/runtime/test-string.scm commit 8ec6ea8fe7605b621afbba3f0c209041e5c2b1a1 Author: Chris Hanson Date: Wed Dec 4 16:25:30 2019 -0800 Eliminate use of with-values. M src/6001/floppy.scm M src/compiler/back/lapgn1.scm M src/compiler/fggen/fggen.scm M src/compiler/fgopt/blktyp.scm M src/compiler/fgopt/delint.scm M src/compiler/fgopt/order.scm M src/compiler/fgopt/param.scm M src/compiler/fgopt/reuse.scm M src/compiler/improvements/gasn.scm M src/compiler/machines/C/ctop.scm M src/compiler/machines/C/stackify.scm M src/compiler/machines/i386/lapgen.scm M src/compiler/rtlgen/fndblk.scm M src/compiler/rtlgen/fndvar.scm M src/compiler/rtlgen/opncod.scm M src/compiler/rtlgen/rgproc.scm M src/compiler/rtlgen/rgrval.scm M src/compiler/rtlgen/rgstmt.scm M src/compiler/rtlgen/rtlgen.scm M src/compiler/rtlopt/rcompr.scm M src/compiler/rtlopt/rtlcsm.scm M src/edwin/artdebug.scm M src/edwin/bufwmc.scm M src/edwin/comred.scm M src/edwin/dabbrev.scm M src/edwin/edtfrm.scm M src/edwin/edtstr.scm M src/edwin/rmail.scm M src/edwin/things.scm M src/edwin/tterm.scm M src/runtime/conpar.scm M src/runtime/debug.scm M src/runtime/environment.scm M src/runtime/process.scm M src/runtime/xeval.scm commit 6cdb944ed11d7be7b89c67ed43fb43ccd8077a61 Author: Chris Hanson Date: Wed Dec 4 16:19:41 2019 -0800 Eliminate use of map*, append-map*, append-map*!. M src/compiler/back/regmap.scm M src/compiler/base/pmerly.scm M src/compiler/base/utils.scm M src/compiler/fggen/fggen.scm M src/compiler/machines/svm/assembler-compiler.scm M src/ffi/generator.scm M src/imail/imail-top.scm M src/runtime/dynamic.scm M src/runtime/environment.scm M src/runtime/mit-macros.scm M src/sf/copy.scm M src/sf/pardec.scm M src/sf/tables.scm M src/sf/xform.scm M src/xdoc/xdoc.scm commit 0c910b49805d12fdc45c845574e4585d231827f1 Author: Chris Hanson Date: Wed Dec 4 00:45:39 2019 -0800 Convert test-srfi-1 into a real test. M tests/check.scm M tests/runtime/test-srfi-1.scm commit 46ca85ada48d61c46405a044fdaeade3b531cd33 Author: Chris Hanson Date: Wed Dec 4 14:33:09 2019 -0800 Rewrite foldX and reduceX for simplicity. Deprecate the non-standard X-left procedures, as well as the X* mappings that can be expressed using fold-right. M src/runtime/list.scm M src/runtime/runtime.pkg commit 31013ad058c3f967e59f332cd0d9f4d04ad42b04 Author: Chris Hanson Date: Wed Dec 4 00:45:23 2019 -0800 Eliminate use of fold-left. M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/assembler-runtime.scm M src/runtime/arith.scm M src/runtime/vector.scm M src/sf/analyze.scm M src/sf/object.scm commit 61452d0a5ae838a21dfa37c726919d8a2368a6fd Author: Chris Hanson Date: Tue Dec 3 23:11:44 2019 -0800 Force indent-tabs-mode only for Scheme files. M .dir-locals.el commit eb0d7caa3f7f27d0d3c8f9ea4b5118c6f6179fef Author: Chris Hanson Date: Mon Dec 2 23:50:29 2019 -0800 SRFI 115 complete. M src/runtime/library-standard.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit e376bc50cc0464783ca6eee480d091b1e5993bfb Author: Chris Hanson Date: Mon Dec 2 23:44:41 2019 -0800 Pull Unicode segmentation support out of string and rewrite. This is a nearly complete reimplementation, with a simpler and faster DFA, providing a fold-like interface. The describing rules are nearly identical to those in UAX #29, which makes them much easier to write and understand. Also, there's a debugging feature that shows how the DFA evolves for a given string. M src/runtime/make.scm M src/runtime/runtime.pkg M src/runtime/string.scm A src/runtime/ucd-grapheme.scm A src/runtime/ucd-segmentation.scm A src/runtime/ucd-word.scm M tests/check.scm M tests/runtime/test-string.scm A tests/runtime/test-ucd-data/segmentation-support.scm A tests/runtime/test-ucd-grapheme.scm C070 tests/runtime/test-string.scm tests/runtime/test-ucd-word.scm commit 6f599cc8227737d533b1cf44e9dbd05d20b3a864 Author: Chris Hanson Date: Mon Dec 2 23:42:23 2019 -0800 Implement more general zero-width assertions in the regexp NFA. M src/runtime/regexp-nfa.scm M src/runtime/runtime.pkg commit ba498552e9622c5cea73e83e5ed6bc87ea320849 Author: Chris Hanson Date: Mon Dec 2 23:41:42 2019 -0800 Round out the named char-set abstraction. M src/runtime/char-set.scm M src/runtime/runtime.pkg commit e5052e940def888a511e1e3074278c89f9903b56 Author: Chris Hanson Date: Mon Dec 2 20:48:06 2019 -0800 More SRFI 115 work. Fixed issues with implementation of regexp-match-submatch*. Implemented procedures for folding and transforming. M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit caf9b9e1c8f82ebb7850a62817117d8f2c7d7705 Author: Chris Hanson Date: Mon Dec 2 18:28:46 2019 -0800 Implement regexp-search-all and fix two typos. M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit c7c160eefbf4af0a9df09532793cbd70d7e07a89 Author: Taylor R Campbell Date: Mon Dec 9 02:27:19 2019 +0000 Use char-set:printing, not graphic, so we can type SPC in Edwin again. M src/edwin/modefs.scm commit c338d97cf8035172d1e76b441a3cae54d56bc069 Author: Chris Hanson Date: Mon Dec 2 16:05:48 2019 -0800 Implement regexp replacement. M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit 791aa5cbbaca907402c021dd21c724983af377c3 Author: Chris Hanson Date: Mon Dec 2 16:13:30 2019 -0800 Add missing call to run-deferred-boot-actions. M src/runtime/ucd-glue.scm commit cb54705b45ecde587022100588b275c2da2ed0e6 Author: Chris Hanson Date: Mon Dec 2 09:43:47 2019 -0800 Implement (w/FOO ...) patterns for SRFI 115. M src/runtime/regexp-nfa.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit 4e70d47e03c877f0ace24a82e3317af710ad3534 Author: Chris Hanson Date: Mon Dec 2 00:59:19 2019 -0800 Add support for case-folding of character sets. M src/runtime/char-set.scm M src/runtime/runtime.pkg commit 39226da0b4ba92e8a666d7e6f66ef7fb2a44468d Author: Chris Hanson Date: Mon Dec 2 00:37:01 2019 -0800 Char-set refactor: SRFI 14 complete. A src/libraries/srfi-14.scm M src/runtime/char-set.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 7d2f0d002c22eadb6a26563c907d339ffcbb53d8 Author: Chris Hanson Date: Sun Dec 1 23:25:55 2019 -0800 Char-set refactor: add another round of SRFI 14 support. Also rename old char-set->string to char-set->ascii-string since it conflicted with SRFI 14. M src/edwin/paredit.scm M src/runtime/char-set.scm M src/runtime/equals.scm M src/runtime/runtime.pkg commit 46f129c388b2c56f720b1e84a38469835ae2c548 Author: Chris Hanson Date: Sun Dec 1 22:51:54 2019 -0800 Char-set refactor: fill out some missing SRFI 14 procedures. M src/runtime/char-set.scm M src/runtime/runtime.pkg commit 12e971b8a95e368b502528df63ce90e329a60d06 Author: Chris Hanson Date: Sun Dec 1 22:30:32 2019 -0800 Char-set refactor: a bunch of small internal changes. M src/runtime/char-set.scm commit 52be001ada47557e98477bda74ac4f11cb62b060 Author: Chris Hanson Date: Sun Dec 1 22:26:59 2019 -0800 Expand the ilist and ranges abstractions in preparation for char-set refactor. M src/runtime/char-set.scm commit 85761b267d2a230a1ef6583b4d17c5ed7e91cc0c Author: Chris Hanson Date: Sun Dec 1 20:49:07 2019 -0800 Reorganization in preparation for char-set refactor. M src/runtime/char-set.scm commit 087ed1912c556d01ea7eccaf62113f0dfeec7188 Author: Chris Hanson Date: Sun Dec 1 20:11:21 2019 -0800 A bunch of renames in preparation for char-set refactor. M src/runtime/char-set.scm M src/runtime/runtime.pkg commit 4dae14cdc21eea97d974106f7ea5a55b679b7f99 Author: Chris Hanson Date: Sun Dec 1 15:19:58 2019 -0800 Move string-fold{,-right} into runtime. M src/libraries/srfi-140.scm M src/runtime/runtime.pkg M src/runtime/string.scm commit 6fe5ae6b5e3a7b85905e38ce67c138bf6803020c Author: Chris Hanson Date: Sat Nov 30 20:48:26 2019 -0800 Refactor regexp-rules to allow prefix arguments. M src/runtime/regexp-rules.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit 72a93c0f9a66484b20d323837ee482657d209f7b Author: Chris Hanson Date: Sat Nov 30 15:13:06 2019 -0800 Rename SRE? -> VALID-SRE?. M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit 0df097b7e262fe6a07263ba0a970aa8ab80f5ee5 Author: Chris Hanson Date: Sun Dec 1 23:23:02 2019 -0800 Fix some issues with tags generation. M src/compiler/Tags.sh C073 src/compiler/Tags.sh src/libraries/Tags.sh commit f810ad1c6423572de56c03e41391f99153f0515f Author: Chris Hanson Date: Sun Dec 1 19:56:15 2019 -0800 Fix typo in previous commit. M src/runtime/char-set.scm commit 28b7a38786d12e3ad967cc15da0966cc0d8ce006 Author: Taylor R Campbell Date: Sun Dec 1 00:12:36 2019 +0000 Fix wrong number of arguments. M src/runtime/char-set.scm commit fe6ace7798f83c747f120e77197be62d8795ec48 Author: Chris Hanson Date: Sat Nov 30 00:35:13 2019 -0800 Collapse NFA matcher node types together. M src/runtime/regexp-nfa.scm commit 28ff2faee21744305dbcfcc886cb5d21086dc9be Author: Chris Hanson Date: Sat Nov 30 00:22:57 2019 -0800 Optimize follow-epsilons to reuse the same hash table. There's no reason to cons a new one on each call since we can just clear it between calls. M src/runtime/regexp-nfa.scm commit ac4fbf99076be17c3c3e76c2336a8b7702604919 Author: Chris Hanson Date: Sat Nov 30 00:08:01 2019 -0800 Rewrite the NFA regexp interpreter into epsilon/matcher phases. This greatly simplifies the interpreter's operation, and isolates the state elision in the epsilon phase where it belongs. Also added hash-consing of states, so that we can use eq? to compare them. M src/runtime/regexp-nfa.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm commit 2994a7b4e9e5b58eae6cbf9e00cddba08e6e329e Author: Chris Hanson Date: Fri Nov 29 22:01:48 2019 -0800 Change NFS nodes to have a clearer set of types. This also allows more detailed analysis of the graph: we can now write a program that will determine the initial character(s) of a regexp and use that to speed up search. M src/runtime/regexp-nfa.scm M src/runtime/srfi-115.scm commit 5a6eb167435c3e6eb72e5f8281bd31dbcea1479b Author: Chris Hanson Date: Fri Nov 29 22:01:06 2019 -0800 Markup and tweaks for partial SRFI 14 support. M src/runtime/char-set.scm M src/runtime/hash-table.scm M src/runtime/runtime.pkg commit 02f259f5606c8ea1f1913bc77a1491281b21bca9 Author: Chris Hanson Date: Fri Nov 29 17:20:26 2019 -0800 Implement NFA regexp engine and change srfi-115 to use it. M src/runtime/mit-macros.scm A src/runtime/regexp-nfa.scm M src/runtime/runtime.pkg M src/runtime/srfi-115.scm M tests/runtime/test-srfi-115.scm commit 4cf364ed349780138db9738bc5f0df71eda41ccb Author: Chris Hanson Date: Fri Nov 29 17:19:48 2019 -0800 Implement char-set-size and update char-set:newline. M src/runtime/char-set.scm M src/runtime/runtime.pkg M src/runtime/ucd-glue.scm commit 0b4a952a6f68eb7fdcb47a247e31bf64d20998f0 Author: Chris Hanson Date: Wed Nov 27 00:09:29 2019 -0800 Partial implementation of SRFI 115. M src/runtime/ed-ffi.scm M src/runtime/make.scm M src/runtime/runtime.pkg A src/runtime/srfi-115.scm M tests/check.scm A tests/runtime/test-srfi-115.scm commit ac06b090340227f8df3c2d7d99f49698fe579555 Author: Chris Hanson Date: Mon Nov 25 13:39:17 2019 -0800 Add character sets needed for SRFI 115. M src/runtime/char-set.scm M src/runtime/runtime.pkg M src/runtime/ucd-glue.scm commit eb815140794ebd5f2ea8a9d0ed6b00ff6e669032 Author: Chris Hanson Date: Mon Nov 25 01:33:26 2019 -0800 Refactor regsexp for simplicity and future sharing. * The rule engine has been moved to its own file, rewritten, and generalized. * The recursive implementation has been moved to its own file and slightly edited. * There's new support for match replacement. M src/runtime/ed-ffi.scm M src/runtime/make.scm A src/runtime/regexp-recursive.scm A src/runtime/regexp-rules.scm M src/runtime/regsexp.scm M src/runtime/runtime.pkg commit ba001262df4cfe9100357e663aa98cf04c434c9a Author: Chris Hanson Date: Tue Nov 26 22:27:27 2019 -0800 Add define-deferred-procedure to capture a common pattern. M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M src/runtime/sysmac.scm commit 318f183229760364049c768e056edb9ea3d85140 Author: Chris Hanson Date: Sun Nov 24 21:50:53 2019 -0800 Implement complement, a predicate inverter. M src/runtime/compound-predicate.scm M src/runtime/runtime.pkg commit 8194b2f49a38030c1d1bcf5b02b32954a68b300f Author: Chris Hanson Date: Sun Nov 24 23:38:32 2019 -0800 Fix typo from earlier commit. M src/runtime/string.scm commit 2393fe2dd74563f1fd7586f480e3c52d7d332036 Author: Chris Hanson Date: Mon Nov 18 22:48:40 2019 -0800 Implementation of the immutable strings of SRFI 140. This does not include the mutable strings from SRFI 118. A src/libraries/srfi-140.scm M tests/check.scm A tests/libraries/test-srfi-140.scm commit 8043c81d72bb397dc0552db6edbf7d0a67bac7a3 Author: Chris Hanson Date: Tue Nov 19 21:23:06 2019 -0800 Tighten up testing of duplicate imports to ensure R7RS compatibility. M src/libraries/inline-testing.scm M src/libraries/srfi-133.scm M src/runtime/library-imports.scm commit dfc6874f7eb63ff890ecafea035414801f32b7c7 Author: Chris Hanson Date: Mon Nov 18 22:47:50 2019 -0800 Change list->string to take optional start and end args. This extension matches SRFI 140. M src/runtime/string.scm commit b52ecd51f28d1530073d155670bad2919f2cfca6 Author: Chris Hanson Date: Mon Nov 18 22:46:03 2019 -0800 Allow string-builder to take a zero argument. This simplifies cases where the length of the result is known in advance and passed as the buffer size. M src/runtime/string.scm commit a90dfb5360f6f4a9392096f1082726e8be69de63 Author: Chris Hanson Date: Mon Nov 18 22:45:25 2019 -0800 On error, show a condition report instead of a condition object. M src/libraries/inline-testing.scm commit aa5e374a09da77b8cfac92329dac24023475844f Author: Chris Hanson Date: Mon Nov 18 18:15:06 2019 -0800 Update reference manual with changes to string-{splitter,trimmer}. M doc/ref-manual/strings.texi commit 079d23cbd647157e809d2a639291d361740169be Author: Chris Hanson Date: Sun Nov 17 23:42:20 2019 -0800 Modify string-splitter and string-trimmer to accept copier arg. M src/runtime/string.scm commit 0a7ecd25694f4726918cc8b85956d3d60133dbd2 Author: Chris Hanson Date: Sun Nov 17 20:12:39 2019 -0800 Change string-builder to use a vector as its buffer. Hopefully this will be generally faster since it's slower to copy characters into a mutable string than it is into a vector. M src/runtime/string.scm commit 64664b958aab1b15cca967c80852fd472a5c28c1 Author: Chris Hanson Date: Sun Nov 17 16:48:18 2019 -0800 Implement UTF-{16,32} converters that use BOM. This is needed for support of SRFI 140. M src/runtime/bytevector.scm M src/runtime/runtime.pkg M tests/runtime/test-bytevector.scm commit b51333624dda1756ce3d5510a03df460d84bdd2d Author: Chris Hanson Date: Sun Nov 17 16:35:53 2019 -0800 Fix bug in parsing of cond-expand. M src/runtime/mit-macros.scm commit d761d720a5200514b56481b8dcb8b5c289c4713e Author: Chris Hanson Date: Sun Nov 17 16:14:20 2019 -0800 Fix warning about re-exporting imported names from libraries. M src/runtime/library-loader.scm commit 182a998416b6bde9900a4d51f518310d01d25643 Author: Chris Hanson Date: Sun Nov 17 14:51:36 2019 -0800 Fix typo. M src/runtime/string.scm commit 1a35ccb8d2e76630af193c92f21b97afdd493cc5 Author: Chris Hanson Date: Sat Nov 16 15:01:40 2019 -0800 Use euclidean/ from division package as pointed out by Taylor. Also fix typo. M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg commit b272a61a05695872c0b84e1aa621044fbdfc91c8 Author: Chris Hanson Date: Mon Nov 11 00:42:50 2019 -0800 Register srfi-133 and srfi-143 for cond-expand. M src/runtime/mit-macros.scm commit 1cea0c0feac1705274b63cc24aa9e0e09f01e3c0 Author: Chris Hanson Date: Mon Nov 11 00:39:10 2019 -0800 Finish implementing SRFI 143. M src/libraries/inline-testing.scm M src/microcode/fixnum.c M src/runtime/library-standard.scm M src/runtime/predicate.scm M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M src/sf/gconst.scm M src/sf/usiexp.scm M tests/check.scm M tests/libraries/test-srfi-133.scm A tests/libraries/test-srfi-143.scm commit f3e87155dedc711127e6054d8ce0c511350b0ef8 Author: Chris Hanson Date: Mon Nov 4 20:19:26 2019 -0800 Add usual-integrations for SRFI-143 bindings. M src/sf/gconst.scm M src/sf/usiexp.scm commit d6acec19d3b4f227f941f9959b8ab99687187ce9 Author: Chris Hanson Date: Mon Nov 4 20:06:03 2019 -0800 Add some SRFI-143 renames to primitive arithmetic. M src/runtime/predicate.scm M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg commit 80655960c0ed1d44ddf8561b889f4953dd4bf465 Author: Chris Hanson Date: Sun Oct 27 18:08:29 2019 -0700 Integrate inline tests into testing framework. M src/libraries/inline-testing.scm M tests/check.scm M tests/load.scm commit cf36c49c76b47f60504961f6030897d8eb22cebc Author: Chris Hanson Date: Sun Oct 27 17:48:07 2019 -0700 Implement as-needed loading of libraries on import. This does topological sorting to do the loads in the right order, but doesn't handle dependency loops (yet). M src/runtime/library-loader.scm M src/runtime/runtime.pkg commit 304ac31fd512a3557956e9b27946028663c42296 Author: Chris Hanson Date: Sun Oct 27 15:07:00 2019 -0700 Add implementation of simple directed graph algorithms. A src/runtime/digraph.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-digraph.scm M tests/unit-testing.scm commit e3dd4b9c9e0c661baaae698b53a7bc811117b067 Author: Chris Hanson Date: Sun Oct 27 13:52:55 2019 -0700 Add ability to import a library into an existing environment. M src/runtime/library-loader.scm M src/runtime/runtime.pkg commit f06b64690bc8c823065808a08d66ed8d59304f9d Author: Chris Hanson Date: Sat Oct 26 22:50:52 2019 -0700 Automatically pre-register libraries in standard places. M src/runtime/library-loader.scm M src/runtime/make.scm commit 571effeca55aa10649e03c4df8fadcc4f1275323 Author: Chris Hanson Date: Sat Oct 26 22:50:11 2019 -0700 Add param:hide-notifications?. M src/runtime/runtime.pkg M src/runtime/usrint.scm commit cb6e423dcf816bbe992d5e664b85d3ba6af4d3f0 Author: Chris Hanson Date: Wed Oct 23 00:29:52 2019 -0700 Create a new directory src/libraries, to hold R7RS libraries. Initially populate this with (srfi 133) and (mit inline-testing), plus unit tests for the former. M src/Makefile.in M src/Setup.sh M src/Tags.sh M src/configure.ac M src/etc/create-makefiles.sh A src/libraries/Makefile-fragment A src/libraries/compile.scm A src/libraries/inline-testing.scm A src/libraries/srfi-133.scm A tests/libraries/test-srfi-133.scm commit b03648344461cca9ec802f1f4a8aab1a3345e725 Author: Chris Hanson Date: Tue Oct 22 00:16:20 2019 -0700 Preserve the initial host-library-db. M src/runtime/library-standard.scm M src/runtime/runtime.pkg commit 78f5b6cb7591c102a4b50a9cf65b98db0a91911e Author: Chris Hanson Date: Mon Oct 21 23:00:09 2019 -0700 Create a "standard" library providing access to the library database. This is useful for programs that want to work directly on libraries. M src/runtime/library-standard.scm M src/runtime/make.scm M src/runtime/runtime.pkg commit 23a886372abf4a8e7ce0e43153e98c0233b6def1 Author: Chris Hanson Date: Mon Oct 21 22:58:01 2019 -0700 Fix problems with reporting why an auto property isn't available. The previous approach was not filtering the dependencies right. M src/runtime/library-database.scm commit 9e6215bfef971180bf884adfbcc579ceeea95795 Author: Chris Hanson Date: Mon Oct 21 22:13:46 2019 -0700 Eliminate duplicate binding. M src/runtime/runtime.pkg commit dc8490ce92a5d069d486e55be4ff608c2daf06c0 Author: Chris Hanson Date: Mon Oct 21 22:12:36 2019 -0700 Don't rewrite library imports after parsing them. It's more convenient to have the retain their syntax, so that they can be used by programs using reflective access to the libraries. M src/runtime/library-imports.scm M src/runtime/library-parser.scm M tests/runtime/test-library-data/support-code.scm M tests/runtime/test-library-parser.scm commit abb749f59f9dfd158c8192baed0038954439e075 Author: Chris Hanson Date: Mon Oct 21 20:43:19 2019 -0700 Be more careful when checking for unquote in repl eval. M src/runtime/rep.scm commit 4424a420f021fcebdd3bcd96fd76478da5d88fee Author: Chris Hanson Date: Sun Oct 20 22:37:00 2019 -0700 Furthur improve error reporting for libraries. M src/runtime/library-database.scm commit c786cea2a2638a459006140e4ad2976603ef4573 Author: Chris Hanson Date: Sun Oct 20 16:33:52 2019 -0700 Just have one legacy library: (mit legacy runtime) Otherwise it's a pain to figure out where all the exports are, since they aren't necessarily where you might think. Also, this eliminates deprecated bindings. M src/runtime/library-standard.scm M src/runtime/make.scm M src/runtime/runtime.pkg commit 234cbb6531fdb76d804728a0c5d64d6dd414d3a3 Author: Chris Hanson Date: Sun Oct 20 13:07:17 2019 -0700 Improve error reporting for library imports. M src/runtime/library-database.scm M src/runtime/library-imports.scm M src/runtime/library-loader.scm M src/runtime/runtime.pkg commit 69fe6b8c0de2e7c2edd29c4331e24e0c054773f6 Author: Chris Hanson Date: Sat Oct 19 22:41:51 2019 -0700 Fix problem with syntaxing of DO. This wouldn't work correctly in some weird edge cases. Specifically, it was trying to detect the 'else and '=> keywords, but comparing them in the syntactic environment outside of the DO, not the one inside of it. Fixed by rewriting the macro to defer the cond-clause processing until the interior environment was available. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/syntax-constructor.scm commit b16cb5a8dc35e2ff2b5df0ede4026a2ad44a7b8f Author: Chris Hanson Date: Sat Oct 19 22:20:19 2019 -0700 Fix typo in earlier change. M src/runtime/record.scm commit bc4fddd8ece0038c410643c59cab2f14d21879a8 Author: Chris Hanson Date: Mon Oct 7 01:10:28 2019 -0400 Add printer for bytevectors and limit printing of vectors. M src/microcode/debug.c commit bd3ca4d05f17c009c6a202330a20af920548d9b0 Author: Chris Hanson Date: Mon Oct 7 00:34:47 2019 -0400 Change debug printer to print vectors correctly. M src/microcode/debug.c commit 60575153d4b43017cdee795870e4caec23c0aaa0 Author: Chris Hanson Date: Mon Oct 7 00:34:26 2019 -0400 Fix cold-load problems when cross-compiling from 10.1.10. M src/runtime/record.scm M src/runtime/runtime.pkg commit d6e79ed1b065b446b928aa84452ff36d85927663 Author: Taylor R Campbell Date: Thu Oct 3 16:23:03 2019 +0000 A reader has alerted me to a caveat about IEEE 754 min/max. M src/relnotes/bug-minmax commit 2bc5b8f5c2a18513b9232746578c3a08cb0433b2 Author: Taylor R Campbell Date: Thu Oct 3 15:39:13 2019 +0000 Fix bugs in min/max on signalling NaN inputs. M src/relnotes/bug-minmax M src/runtime/primitive-arithmetic.scm M tests/runtime/test-flonum.scm commit 3551710b4964a2908956ebd32daceedbc1aaadbf Author: Taylor R Campbell Date: Thu Oct 3 14:49:34 2019 +0000 Fix floating-point min/max tests, and mark them xfail. I misread IEEE 754 semantics on min/max for _signalling_ NaN. If given a number and a _quiet_ NaN, min/max are to return the _number_. But if given a _signalling_ NaN, min/max are to return a quiet version of the NaN. References: Sec. 5.3 `Homogeneous general-computational operations', subsec. 5.3.1 `General operations', on minNum/maxNum/minNumMag/maxNumMag reads: `minNum(x, y) is...the canonicalized number if one operand is a number and the other is a quiet NaN.' `When either x or y is a signaling NaN, then the result is according to 6.2.' Sec. 6.2 `Operations with NaNs' reads: `Under default exception handling, any operation signaling an invalid operation exception and for which a floating-point result is to be delivered shall deliver a quiet NaN.' [Consequently, _if_ min/max raise invalid-operation and nevertheless return a result, they shall return a quiet NaN.] `Signaling NaNs shall be reserved operands that, under default exception handling, signal the invalid operation exception (see 7.2) for every general-computational and signaling-computational operation except for the conversions described in 5.12.' [min/max (i.e., minNum/maxNum/minNumMag/maxNumMag) are listed under homogeneous general-computational, so this clause applies.] Subsec. 6.2.3 `NaN propagation' further reads: `An operation that propagates a NaN operand to its result and has a single NaN as an input should produce a NaN with the payload of the input NaN.' `If two or more inputs are NaN, then the payload of the resulting NaN should be identical to the payload of one of the input NaNs if representable in the destination format.' M tests/runtime/test-flonum.scm commit 33e3a188ffb8e332db58af2a4942b8fa044034f2 Author: Chris Hanson Date: Tue Sep 24 00:35:38 2019 -0700 Change record types to be immutable. The primary reason for this is to make the predicates slightly faster, eliminating the need to look up the type markers in the predicates. Additionally, make-record-type now accepts these additional options using a keyword list. The define-record-type macro has not been updated to support these new options, but that will come soon. Consequently the files using these options have been modified to use make-record-type directly. Finally, a small tweak was needed so that multiple values are available earlier in the cold load. M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/global.scm M src/runtime/list.scm M src/runtime/make.scm M src/runtime/pathname.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit 01e3ca0ede25ee3a63dc4fbbba79a0f78b066659 Author: Chris Hanson Date: Mon Sep 23 13:41:39 2019 -0700 Fix aliasing problem with sub-record predicates. Add test to check that it works. M src/runtime/record.scm M tests/runtime/test-record.scm commit 3cf6d6a1de3a120bf515f7cd1d1b3fdde496b3c2 Author: Chris Hanson Date: Sun Sep 22 14:14:02 2019 -0700 Restore compatibility with SRFI 131. Also add some tests for records, and fix several bugs revealed by them. M src/runtime/mit-macros.scm M src/runtime/record.scm M tests/check.scm A tests/runtime/test-record.scm commit ae03333b1638c4eea10ff0535db8730ace13096d Author: Chris Hanson Date: Sat Sep 21 22:54:01 2019 -0700 Refactor record layout following a suggestion from Taylor. New layout is identical for records that don't have a parent type. For those that do have a parent type, the layout is like this: root-marker root-fields sub1-marker sub1-fields sub2-marker sub2-fields ... The primary advantage of this layout is to make the record predicate be constant time, as opposed to the previous design in which it could be linear in the depth of the parent chain. In addition, a number of record operations have been bummed for slightly better performance, and the layout of record types has been altered to keep track of the type information in a way that's better organized for generating the record operations. There are some behavioral changes: * This implementation is slightly incompatible with SRFI 131, since it prohibits a child from having a field name that's the same as one of its ancestors. I'll probably change this for compatibility. * Only a root record type can have an applicability method, and that method is called for all sub-types of that root type. Arguably this is reasonable behavior. * Non-root fasdumpable records must have proxy markers for all of their component types. Previously, only the record type stored in slot 0 needed to have a fasdumpable proxy. This isn't an immediate issue since fasdumpable records are used very sparingly at the moment and probably won't be supported outside of the runtime system. M src/runtime/bundle.scm A src/runtime/bytevector-low.scm M src/runtime/bytevector.scm M src/runtime/equals.scm M src/runtime/global.scm M src/runtime/list.scm M src/runtime/make.scm M src/runtime/msort.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/sos/recslot.scm commit e1aee03b0f85d80a317d8b8ab56acc9d5f16ebe3 Author: Chris Hanson Date: Sat Sep 21 21:09:13 2019 -0700 Tweak my special hack. M etc/run-three-stages commit 09802e9c75d44fe7e8e2618a8596377a5e6e1d32 Author: Chris Hanson Date: Sat Sep 21 00:02:15 2019 -0700 Implement any-duplicates?. M src/runtime/list.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/syntax-rules.scm commit 271538af5bdde5267a48e045aedadb0c37dce561 Author: Chris Hanson Date: Fri Sep 20 23:16:04 2019 -0700 Fix syntax bug that showed up in syntax-rules. M src/runtime/runtime.pkg M src/runtime/syntax-low.scm M src/runtime/syntax.scm commit 189fb637e20f15fb1199c4d925fea6240e70db4c Merge: 689da8bf9 6be9604d2 Author: Taylor R Campbell Date: Wed Sep 18 14:40:06 2019 +0000 Merge branch 'riastradh-20190917-fixamd64uuojmp' commit 6be9604d29f64fb0605563183f301798d0a9e2c9 Author: Taylor R Campbell Date: Wed Sep 18 01:50:37 2019 +0000 Fix tospace/newspace confusion. This did not manifest in my testing on NetBSD because it happened that on NetBSD, the tospace and newspace are always separated by more than 4 GB, so the bogus jmprel32_offset was never used during GC, e.g.: newspace=0x17dd7f8 tospace=0x7f7feeb00000 delta=17523427132673 I suspect it is the cause of Chris's problems on macOS, so this should fix Chris's issue on macOS and speed things up even more for everyone. M src/microcode/cmpintmd/x86-64.c commit 9457dac02584523878b31ea8add5ce426c1eb5d5 Author: Taylor R Campbell Date: Wed Sep 18 01:44:15 2019 +0000 Revert "Workaround for inexplicable fatal error on macOS." This reverts commit 689da8bf97534063f1800caf544a694de81d511e. Will fix in a subsequent commit. M src/microcode/cmpintmd/x86-64.c commit 689da8bf97534063f1800caf544a694de81d511e Author: Chris Hanson Date: Mon Sep 16 23:50:23 2019 -0700 Workaround for inexplicable fatal error on macOS. M src/microcode/cmpintmd/x86-64.c commit 2cbd3b7c1a5a3e9b4c215422bba083be4147b72c Author: Chris Hanson Date: Mon Sep 16 23:16:14 2019 -0700 Update incorrect comments. M src/microcode/cmpauxmd/x86-64.m4 commit 3684c24a43bc74a5c0882d1c054f22e31290f3d0 Author: Chris Hanson Date: Mon Sep 16 23:13:44 2019 -0700 Teach fasload about cc_return objects. Otherwise fasload gets SIGSEGV when the memory addresses are different. M src/microcode/fasl.c M src/microcode/fasl.h M src/microcode/fasload.c commit b0e6eba1a93578273bc5e8ed7c398fdec5bf469c Author: Chris Hanson Date: Sun Sep 8 00:31:51 2019 -0700 Adapt fegetexcept etc. workarounds to work when debugging turned on. M src/microcode/floenv.c M src/microcode/floenv.h commit 3a19ad8ea2244d08c2b3bd0ec0a9117588da37d3 Author: Chris Hanson Date: Sun Sep 8 00:30:51 2019 -0700 Don't use MAP_TRYFIXED unless is it defined; otherwise the assert fails. M src/microcode/ux.c commit cb5cf4cd56029fe987108ce7d22493840957b143 Author: Taylor R Campbell Date: Tue Sep 3 13:37:25 2019 +0000 Mark floenv in use so exceptions stay cleared if preempted. Otherwise, we might do: T1: clear-float-exceptions preempt and switch T2: floating-point operation that raises exceptions preempt and switch T1: use-floating-point-environment! and the exceptions may remain raised from T2. M src/runtime/floenv.scm commit 878e299e821d90179394013eced01a01f9209406 Author: Taylor R Campbell Date: Mon Aug 26 04:50:32 2019 +0000 Open-code flonum-fma (fused multiply-add) on aarch64. The fused multiply-subtract doesn't kick in right now for reasons I don't understand in rcompr.scm; maybe someone who understands that code better can help. M src/compiler/machines/C/machin.scm M src/compiler/machines/aarch64/instrf.scm M src/compiler/machines/aarch64/rulflo.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/rtlbase/rtlcon.scm M src/compiler/rtlbase/rtlexp.scm M src/compiler/rtlbase/rtlty1.scm M src/compiler/rtlgen/opncod.scm M src/sf/gconst.scm commit 6a69bd46c5808e8d995c081ea117ed8150b324fb Author: Taylor R Campbell Date: Mon Aug 26 03:20:37 2019 +0000 Fix missing ELSE (error). M src/compiler/machines/aarch64/rulflo.scm commit d526f15c426172731f81ec522bcd15d23e9af3b4 Author: Taylor R Campbell Date: Mon Aug 26 03:15:43 2019 +0000 Fix leak of floating-point environment in test-arith.scm. M tests/runtime/test-arith.scm commit 5e3de39d43d7b9736a5583073112e237a5da00a9 Author: Taylor R Campbell Date: Mon Aug 26 03:14:22 2019 +0000 If enabling fp traps for first time, clear sticky exceptions. Otherwise, the indeterminate state of the sticky exceptions -- possibly from another thread -- may cause the machine to trap merely by enabling traps. Also, don't bother marking the floating-point environment in use when disabling traps. M src/runtime/floenv.scm commit 426d2385edb35c216d16554b7deba805c0f0c2e1 Author: Taylor R Campbell Date: Mon Aug 26 02:59:12 2019 +0000 Cache cleared exceptions to prevent SIGFPE loop on trap. fesetenv, as used by fixup_float_environment at the top of Interpret, will trap any trapped and raised exceptions in the floating-point environment it is restoring, which is bad news during a trap. Not really sure how this managed to work in the past... M src/microcode/floenv.c commit 1b54cc3d488da817ac8706ab95f0e1c9d5846807 Author: Taylor R Campbell Date: Mon Aug 26 02:48:45 2019 +0000 Teach continuation parser about last return code offsets. This fixes a thirty-year-old (!) bug with creating continuations that return into compiled code with #f as the last return code offset for reenter-compiled-code. Manifests only with debugging enabled. M src/runtime/conpar.scm M src/runtime/runtime.pkg commit 8cbede4dbb7956d077fba4c29236e0523da20fbd Author: Taylor R Campbell Date: Mon Aug 26 00:21:27 2019 +0000 Fix store-value restarts for unassigned/unbound variable references. Turns out these have been busted since 2007... M src/microcode/cmpint.c M tests/compiler/test-vartrap.scm commit ed988f07efd71dcb370c9545065bef7f613dd6ad Author: Taylor R Campbell Date: Sun Aug 25 21:20:39 2019 +0000 New primitive PRIMITIVE-PROCEDURE-OPEN-CODED?. Usage: (define (foo x y) (if ((ucode-primitive primitive-procedure-open-coded? 1) (ucode-primitive xyz 2)) ((ucode-primitive xyz 2) x y) ... Scheme alternative implementation ...)) M src/compiler/base/utils.scm M src/compiler/fgopt/folcon.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/aarch64/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/x86-64/compiler.pkg M src/compiler/rtlgen/opncod.scm M src/microcode/extern.c M tests/check.scm A tests/compiler/test-open-code.scm commit fb334919d8119d40fc5602d604ae80117aaf0da0 Author: Taylor R Campbell Date: Sun Aug 25 20:27:53 2019 +0000 Use paxctl on NetBSD to allow PROT_WRITE|PROT_EXEC. M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in commit 8b19c025f35823d8595286f4ae342628487996db Author: Taylor R Campbell Date: Sun Aug 25 20:27:05 2019 +0000 Use proper m4 quotation for AC_CHECK_TOOL usage. M src/microcode/configure.ac commit 6de490ce0890854d0b92369d37faa569fdc0b3c1 Author: Chris Hanson Date: Sun Aug 25 20:16:36 2019 -0700 Tweak workaround for floating exceptions on macOS. M src/microcode/floenv.h commit 3e3b5c617eaf519c737d843970c2394de4cd3b73 Merge: e0dc8ee50 8659d5cb6 Author: Taylor R Campbell Date: Sun Aug 25 19:49:44 2019 +0000 Merge branch 'riastradh-20190113-aarch64-v6' commit 8659d5cb62a614993c064ddf11ba95b138dd0103 Author: Taylor R Campbell Date: Sun Aug 25 19:48:23 2019 +0000 Open-code floating-point arithmetic on aarch64. Disabled by default for now due to limited testing. M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/instrf.scm M src/compiler/machines/aarch64/insutl.scm M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/aarch64/rules2.scm M src/compiler/machines/aarch64/rulflo.scm commit cd1deccee466c884d3c888fb31623906fdfe6761 Author: Taylor R Campbell Date: Sun Aug 25 19:25:34 2019 +0000 Reduce some extraneous MOVK instructions in immediate loads. M src/compiler/machines/aarch64/lapgen.scm commit 8c42227cc988989bb2b5dba6ba1f8fc1e8634e90 Author: Taylor R Campbell Date: Sun Aug 25 19:03:51 2019 +0000 Fix set of architectures with busted fp compare exceptions. M tests/microcode/test-flonum-except.scm commit b9a7ebc36284d8b45df9eeef054f8a9053cadc86 Author: Taylor R Campbell Date: Sun Aug 25 19:03:01 2019 +0000 Work around buggy libm on NetBSD/aarch64. Will be fixed upstream but it doesn't hurt to add one more bit here. M src/runtime/arith.scm commit a03995e6513743d824208444ba8f80d2f6e416a8 Author: Taylor R Campbell Date: Sun Aug 25 18:35:37 2019 +0000 Show for which parameters the test failed. M tests/runtime/test-flonum.scm commit e0dc8ee501afa84dd36dd85d8edbcc1db7a88ad6 Author: Taylor R Campbell Date: Sun Aug 25 18:32:03 2019 +0000 Simplify flo:-inf.0 and flo:+inf.0. We have put out a release now whose reader understands +inf.0/-inf.0, so we should be able to use the notation. Fixes bugs with incorrectly raising the divide-by-zero exception flag (even if no trap), e.g.: ;|log1mexp-invalid/(4.9406564584124654e-324)| failed 1 sub-tests out of 1 in 0. seconds: assertion 3: value was 3 but expected an object eqv? to 1 Here 3 = (invalid-operation divide-by-zero), 1 = (invalid-operation) [aarch64]. M src/runtime/floenv.scm commit 74659440d7c1f8bb11665b91c4703e3cb81bdc02 Author: Taylor R Campbell Date: Sun Aug 25 18:25:43 2019 +0000 Fix missing #include. Mistake failed silently because it only changed #ifdef outcome. M src/microcode/flonum.c commit c7ab86d8e78b1e59d85697103ebd50b50dc38846 Author: Taylor R Campbell Date: Sun Aug 25 15:40:15 2019 +0000 Let caller specify how to get a temporary in ADD-IMMEDIATE. Fixes ; Compiling file: "test-hack.bin" => "test-hack.com"... ;Unassigned variable: *needed-registers* because of attempt to allocate a temporary in ADD-IMMEDIATE during GENERATE/REMOTE-LINKS. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/rules2.scm M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rulfix.scm commit fde570c1db4629ce55b24efc91da9c39cfd325a9 Author: Taylor R Campbell Date: Sun Aug 25 15:38:25 2019 +0000 New GENERAL-TEMPORARY! shorthand. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/rules1.scm M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rulfix.scm commit 35bd3efcdd36d355d8432ec45a85f6df68667723 Author: Taylor R Campbell Date: Sun Aug 25 15:09:11 2019 +0000 Fix units for cc_entry_to_block_offset/cc_return_to_block_offset. It would make more sense for the compiler to generate debug data labels in instruction units, but this is a simpler change and is what was done in the past on machines like mips with 32-bit aligned instructions. aarch64 now has functioning debug data! M src/microcode/cmpint.c commit 4f53a5bcd27c1405433e459dd7ae8d111259715c Author: Taylor R Campbell Date: Sat Aug 24 07:10:39 2019 +0000 Fix comment about odd rounding mode. M doc/ref-manual/numbers.texi commit bedaea49dd0a6d08606a67c5448b15bf796bbd6c Author: Taylor R Campbell Date: Sat Aug 24 07:09:39 2019 +0000 Add missing include guards. M src/microcode/cmpintmd/x86-fenv.h commit ba48a1bef22c24a00aec7fd9b5a506a2f88cbf8e Author: Taylor R Campbell Date: Sat Aug 24 07:07:11 2019 +0000 Update and clarify fp-env documentation. M doc/ref-manual/numbers.texi commit 4b869cf336e7fbdb1151046a87603ab010f9ae5b Author: Taylor R Campbell Date: Sat Aug 24 04:32:50 2019 +0000 Simplify flo:update-environment!. Caller is interested in exceptions afterward, so it is not sensible to deregister interest in the floating-point environment afterward. If you really want that, surround it in flo:preserving-environment. M src/runtime/floenv.scm commit 29bcc8f3f6ffc1abdd13d775402d201b1c78c8fb Author: Taylor R Campbell Date: Sat Aug 24 04:26:31 2019 +0000 Fix two bugs in floating-point environment. 1. Don't cache it in the current thread. We can't mark everywhere the cache needs to be invalidated -- i.e., every floating-point instruction -- and it's not clear there's any performance benefit to the cache anyway. The main performance cost, as I recall, was swapping environments on every thread switch, which we avoid for all threads in the default environment. 2. The default environment initialization left the machine in a wacky state after reset-package!, which caused many spurious exception traps once I undid the cache. There's no need to preserve the machine environment here; we are setting up the default environment, after all, so the environment we're in when done should be the default one. M src/runtime/floenv.scm M src/runtime/thread.scm M tests/runtime/test-floenv.scm commit 08298703a8a611a52a3d345dfe6978876b36d773 Author: Taylor R Campbell Date: Sat Aug 24 01:40:11 2019 +0000 Test busted flo:set-environment!. M tests/runtime/test-floenv.scm commit 0fbe3181f7630cf1258bf019fce0504728bdb9f8 Author: Taylor R Campbell Date: Sat Apr 20 19:48:07 2019 +0000 Simplify some logic by using dedicated scratch registers or targets. No need to allocate temporaries except when we need more than two or three of them. M src/compiler/machines/aarch64/rules2.scm M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rulfix.scm commit 5f2ebbe9490fd3cef732c77e38eb20ede511f79a Author: Taylor R Campbell Date: Thu Aug 22 14:23:08 2019 +0000 Use AC_CHECK_TOOL for as and allow configure parameter. This way we auto-detect a cross-assembler more easily with, e.g., --build=aarch64--netbsd. M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in commit 7e85ba9816383d8735623af94316f2682907a119 Author: Taylor R Campbell Date: Mon Apr 22 04:07:27 2019 +0000 Fix sign error in previous. M src/microcode/cmpintmd/aarch64.c commit fb0bfc1341055e5e0ad8cf65effbfec6a43ff6da Author: Taylor R Campbell Date: Sat Apr 20 20:09:12 2019 +0000 Link the endian-independent cmpauxmd for aarch64. M src/microcode/configure.ac commit f71cabe0dab33b2e6ae3d7e34a3cd3a663598a0e Author: Taylor R Campbell Date: Sat Feb 9 17:40:30 2019 +0000 Update aarch64 release note. M src/relnotes/aarch64 commit 7e46c95c04145766cf6ced2174e98695eedcfc78 Author: Taylor R Campbell Date: Fri Feb 1 05:30:38 2019 +0000 Validate signed-26 PC-relative offset in B instruction. M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/insutl.scm commit 3bdab315ad39bdd86470a23c12d8a3588c68cc04 Author: Taylor R Campbell Date: Fri Feb 1 05:29:29 2019 +0000 Comment out bogus ADRP-ADD pseudo-instruction definition. This will cause the compiler to fail noisily if it tries to assemble code with sufficiently distant PC-relative addresses, which is better than silently assembling garbage. Need to find a proper fix. M src/compiler/machines/aarch64/instr1.scm commit b10c049480db221855647dd70fd9300896c08e8a Author: Taylor R Campbell Date: Fri Jan 25 04:35:12 2019 +0000 No need for a separate function here. M src/microcode/cmpintmd/aarch64.c commit 8b2e18eb0902bbaa6397bdca6bc83ec794b5cd4f Author: Taylor R Campbell Date: Fri Jan 25 04:31:15 2019 +0000 Fix comment about ADRP to reflect reality. M src/microcode/cmpintmd/aarch64.c commit 2ee93991fe9e55bce18772f78d54181601aa8441 Author: Taylor R Campbell Date: Fri Jan 25 04:30:38 2019 +0000 Add another step to the compiler tests README. M src/compiler/tests/README commit 85202ca21ec7fc8bc184fdc09305b83af1aba0e9 Author: Taylor R Campbell Date: Fri Jan 25 04:21:09 2019 +0000 Add note on ughbletchness of ADRP. M src/compiler/machines/aarch64/instr1.scm commit 540dea32a046b816977129e772ad36473971437c Author: Taylor R Campbell Date: Fri Jan 25 03:56:51 2019 +0000 Add some basic compiler tests. For use when bringing up a compiler or back end that can't yet run the normal test suite. A src/compiler/tests/README A src/compiler/tests/clogc.scm A src/compiler/tests/closure.scm A src/compiler/tests/datum.scm A src/compiler/tests/decldatum.scm A src/compiler/tests/declempty.scm A src/compiler/tests/dlink-tail1.scm A src/compiler/tests/dlink-tail8.scm A src/compiler/tests/dlink.scm A src/compiler/tests/dslink.scm A src/compiler/tests/empty.scm A src/compiler/tests/gc.scm A src/compiler/tests/identity.scm A src/compiler/tests/link1.scm A src/compiler/tests/link2.scm A src/compiler/tests/link3.scm A src/compiler/tests/map-reduce.scm A src/compiler/tests/mfu-dlink1.scm A src/compiler/tests/mfu-dlink8.scm A src/compiler/tests/mfu-static.scm A src/compiler/tests/slink.scm A src/compiler/tests/tests.cbf A src/compiler/tests/tests.sf A src/compiler/tests/uuo.scm A src/compiler/tests/uuoclo.scm A src/compiler/tests/uuoclogc.scm A src/compiler/tests/uuogc.scm commit 800e15df95da9135bbb81223c6ed8654715686eb Author: Taylor R Campbell Date: Fri Jan 25 03:39:32 2019 +0000 Fix some bugs in logical immediate encoding. M src/compiler/machines/aarch64/insutl.scm commit 311147f517cc205a0857e84863b39ed28967ef65 Author: Taylor R Campbell Date: Wed Jan 23 08:17:57 2019 +0000 One more TODO item. M src/compiler/machines/aarch64/TODO commit 26d704bf6ec19ddec817aecda74f025476ef2318 Author: Taylor R Campbell Date: Wed Jan 23 08:15:50 2019 +0000 Update TODO. M src/compiler/machines/aarch64/TODO commit bf1e461ea437a46a35bdb4179eefded621222a53 Author: Taylor R Campbell Date: Wed Jan 23 08:12:26 2019 +0000 Disable some tests when trapping is busted. M tests/runtime/test-flonum.scm commit 24af9689f0692497e38963ac892e6955473772bf Author: Taylor R Campbell Date: Wed Jan 23 07:52:00 2019 +0000 Expect failure, not error, if trapping is not supported. Makes these tests pass on my arm64 laptop. M tests/microcode/test-flonum-except.scm commit fff23f74e52f1cc59317c194e844aa826a516608 Author: Taylor R Campbell Date: Wed Jan 23 07:50:38 2019 +0000 Check at runtime whether feenableexcept does anything. The bits are defined on aarch64, but apparently some CPUs are fabricated without support for them so they just read back as zers. Bummer! M src/microcode/floenv.c commit fa51f66ae33b6682c441676bb5c950260f7ceb2a Author: Taylor R Campbell Date: Wed Jan 23 07:49:00 2019 +0000 Fix excessive sign bits in uuo link instruction. M src/microcode/cmpintmd/aarch64.c commit f1404a385499d652b8496acf1caa881bb1e4da48 Author: Taylor R Campbell Date: Wed Jan 23 05:33:39 2019 +0000 Fix displaced byte load rule. The offset is not a machine register! Yikes. M src/compiler/machines/aarch64/rules1.scm commit 94cf4d8647cf3ef7ef38d3683d57e126716d2ce7 Author: Taylor R Campbell Date: Wed Jan 23 05:21:52 2019 +0000 Fix FIXNUM-NOT rule: don't set the low bits. M src/compiler/machines/aarch64/rulfix.scm commit d7e71a952b8e63e3bd078c2f1b7bb074bb1f6063 Author: Taylor R Campbell Date: Wed Jan 23 05:21:34 2019 +0000 Implement aarch64 logical immediate encoding. M src/compiler/machines/aarch64/coerce.scm M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/insutl.scm M src/compiler/machines/aarch64/lapgen.scm commit d7a562346e00d672821cc61a50e9eec751750c14 Author: Taylor R Campbell Date: Wed Jan 23 03:02:31 2019 +0000 Fix far uuo links. Apparently ADRP really does do Rd <- (PC & ~0xfff) + (imm << 12), not PC + (imm << 12), which means it's gonna cause some trouble for the assembler in LIAR, since it means the code needs to know its own offset within a page of memory and the target's offset within a page of memory. M src/microcode/cmpintmd/aarch64.c commit c5a445397e78b5cb294f8ca781785dd0087cd48c Author: Taylor R Campbell Date: Wed Jan 23 03:02:16 2019 +0000 Fix loading complemented immediates. M src/compiler/machines/aarch64/lapgen.scm commit 12750e62cde67479ff0f26028afc9a3d1a26753e Author: Taylor R Campbell Date: Wed Jan 23 03:01:43 2019 +0000 Fix UNSIGNED-LESS-THAN-FIXNUM? branch condition. Add some condition code aliases while here and clarify comments. M src/compiler/machines/aarch64/insutl.scm M src/compiler/machines/aarch64/rulfix.scm commit 5bc9062fe3925ee9e4c9fe7805ad02b5b45dccb8 Author: Taylor R Campbell Date: Tue Jan 22 09:01:33 2019 +0000 Fix indexing of remote links. M src/compiler/machines/aarch64/rules3.scm commit 57f02f16e96a1a24466eeb6f1dadbd5353c6b2e6 Author: Taylor R Campbell Date: Tue Jan 22 03:47:47 2019 +0000 Fix byte ordering in GENERATE/NSECTS. M src/compiler/machines/aarch64/rules3.scm commit 0c87f9d50194a468b5861114433c194cf9f26c17 Author: Taylor R Campbell Date: Tue Jan 22 03:47:35 2019 +0000 Fix register choices in GENERATE/REMOTE-LINKS. M src/compiler/machines/aarch64/rules3.scm commit c35d5bfd1d34e185bbf357c7bef02ed18abea046 Author: Taylor R Campbell Date: Tue Jan 22 03:47:03 2019 +0000 Fix sense of INVOCATION-PREFIX:DYNAMIC-LINK choice. M src/compiler/machines/aarch64/rules3.scm commit 8760a99a75528ce4c486c4a4c80edd606505da90 Author: Taylor R Campbell Date: Tue Jan 22 01:55:18 2019 +0000 Fix reference to constant section in GENERATE/REMOTE-LINKS. M src/compiler/machines/aarch64/rules3.scm commit 4c03e84542a03bf1eb8ebdfd4decd92ffb1d4e72 Author: Taylor R Campbell Date: Mon Jan 21 23:37:32 2019 +0000 Sign-extend PC-relative branch target. M src/microcode/cmpintmd/aarch64.c commit c08784cd5141b978e61ef70c6c6a2275463ea5b6 Author: Taylor R Campbell Date: Mon Jan 21 22:39:29 2019 +0000 Fix indexing in MOVE-FRAME-UP code: objects, not bytes, here. And with this, the cold load completes on aarch64! M src/compiler/machines/aarch64/rules3.scm commit f34769eda0d9b475d529059ebc4b064f86456f45 Author: Taylor R Campbell Date: Mon Jan 21 22:39:11 2019 +0000 Fix large application setup. M src/compiler/machines/aarch64/rules3.scm commit 7fbfd0cbc0def740e9565d7f00227b3d75ff397f Author: Taylor R Campbell Date: Mon Jan 21 20:59:02 2019 +0000 Teach cmpintmd to flush the instruction cache on aarch64. M src/microcode/cmpintmd/aarch64.c M src/microcode/cmpintmd/aarch64.h commit 2303479047342b0591ce768fbf84d31ee98aa431 Author: Taylor R Campbell Date: Mon Jan 21 20:53:14 2019 +0000 Fix argument to PUSH_D_CACHE_REGION. Takes startptr/count, not startptr/endptr. This was not an issue before because until aarch64, the only extant port that even used this, i386, ignored the argument as a macro and flushed the entire cache. M src/microcode/cmpint.c commit 5a68c73d4b507cf617763fa1e1210c336491de0b Author: Taylor R Campbell Date: Mon Jan 21 19:06:38 2019 +0000 Fix branch instruction in uuo link stub. M src/microcode/cmpintmd/aarch64.c commit b5d2c80cca087321a65984636b6867d367e0e255 Author: Taylor R Campbell Date: Mon Jan 21 19:06:20 2019 +0000 Tweak read/write_compiled_closure_target for clarity and assertions. M src/microcode/cmpintmd/aarch64.c commit 5df679f86b0bb3d93fae57e918316575180cd055 Author: Taylor R Campbell Date: Mon Jan 21 19:06:02 2019 +0000 Fix cache-assignment code generation. M src/compiler/machines/aarch64/rules4.scm commit 038a0c2eea2d946d0fa467e9cd6dc14e0a5b5020 Author: Taylor R Campbell Date: Mon Jan 21 19:05:51 2019 +0000 Fix case. M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/rulfix.scm commit f42a75044d0ab95bcc64989d4f53029bc33b3b35 Author: Taylor R Campbell Date: Mon Jan 21 01:20:14 2019 +0000 Fix LSR instruction encoding. M src/compiler/machines/aarch64/instr2.scm commit 00e785b531a64bbc2626c84beaa0d018abcb1dd0 Author: Taylor R Campbell Date: Mon Jan 21 00:37:29 2019 +0000 Fix scale->shift. M src/compiler/machines/aarch64/lapgen.scm commit 5ba637383c459c3c89d60e6d66876da11e156595 Author: Taylor R Campbell Date: Sun Jan 20 21:36:42 2019 +0000 Fix read/write_compiled_closure_target. Byte offsets, not object or instruction word offsets. M src/microcode/cmpintmd/aarch64.c commit 33fcee2b43c2fd21bd75f15a47982ab16f4bc1e4 Author: Taylor R Campbell Date: Sun Jan 20 20:10:39 2019 +0000 Fix comment. M src/compiler/machines/aarch64/instr1.scm commit 3cfe907181bb616b8baeda273a5b2ea59fc8a390 Author: Taylor R Campbell Date: Sun Jan 20 00:19:13 2019 +0000 Fix PC-relative calculations to work entirely in newspace. M src/microcode/cmpintmd/aarch64.c commit a16a8679c577b1a5f754fe0b18b95b5580263bb3 Author: Taylor R Campbell Date: Sun Jan 20 00:18:55 2019 +0000 Fix read/write_compiled_closure_target offsets. M src/microcode/cmpintmd/aarch64.c commit ac4fda488ce8952746699763ec323859c2bb27d8 Author: Taylor R Campbell Date: Sat Jan 19 23:57:34 2019 +0000 Allow non-branch in cc_return_address_to_entry_address. This happens for trampolines. Maybe this should be a special case. M src/microcode/cmpintmd/aarch64.c commit 19569b848cc166120d91b74c5beb7403eee1f670 Author: Taylor R Campbell Date: Sat Jan 19 23:57:08 2019 +0000 Fix scaling of PC offsets: they're byte offsets, not word offsets. M src/microcode/cmpintmd/aarch64.c M src/microcode/cmpintmd/aarch64.h commit 95dd00b1b18ad0c035259c4902c2e8b2aa007322 Author: Taylor R Campbell Date: Sat Jan 19 23:56:55 2019 +0000 Fix some symbol sizing. M src/microcode/cmpauxmd/aarch64.m4 commit a5f5c130d9579b55b4e8b4a236d894b111ee9910 Author: Taylor R Campbell Date: Sat Jan 19 23:56:45 2019 +0000 Tidy up interface_to_C. M src/microcode/cmpauxmd/aarch64.m4 commit 60743079122d7a9ae7eb7dc6f8d9c040809018ae Author: Taylor R Campbell Date: Sat Jan 19 23:56:31 2019 +0000 Note there is a way to do negative offsets. M src/compiler/machines/aarch64/rules3.scm commit ec90057ae6f71c6eb77b32be59d6230d2a662728 Author: Taylor R Campbell Date: Sat Jan 19 22:43:03 2019 +0000 Make C_to_interface go through interface_to_scheme. This way C_to_interface sets up VAL, which is necessary in case it is invoking a continuation. M src/microcode/cmpauxmd/aarch64.m4 commit 462471469ee6d6ad41c8ddd34a3f3ef9a6cea1d7 Author: Taylor R Campbell Date: Sat Jan 19 21:20:47 2019 +0000 Fix encoding of ROR and EXTR instructions. M src/compiler/machines/aarch64/instr2.scm commit b76b5a9cbb20d5888108ff0abf0139cc7cb547cb Author: Taylor R Campbell Date: Sat Jan 19 20:51:56 2019 +0000 Load UARG2, don't clobber UARG1, in apply hooks. M src/microcode/cmpauxmd/aarch64.m4 commit 8012b6f4088c0a176ae26a37ecc2f2dceaa7fdd2 Author: Taylor R Campbell Date: Sat Jan 19 20:51:44 2019 +0000 Fix calculation of hook instruction address. M src/compiler/machines/aarch64/lapgen.scm commit 204b58380edf93e6ac6ee896531bfbddf847c70d Author: Taylor R Campbell Date: Sat Jan 19 18:33:01 2019 +0000 Fix order of arguments to load-tagged-immediate. M src/compiler/machines/aarch64/rules3.scm commit 72cff2455f3c28dd337543d37208c789bb8b7ccd Author: Taylor R Campbell Date: Sat Jan 19 08:03:54 2019 +0000 Fix reversed byte order branches in read_uuo_frame_size. M src/microcode/cmpintmd/aarch64.c commit 824cff9e400820018f188bd31b3e14d16032bb36 Author: Taylor R Campbell Date: Sat Jan 19 08:03:41 2019 +0000 Fix extraction of PC offset from branch instruction. M src/microcode/cmpintmd/aarch64.c commit 52d7ed7ffb384b7f8176e2ad3f5357b3b0812e02 Author: Taylor R Campbell Date: Sat Jan 19 08:02:50 2019 +0000 Fix format word padding and tweak block offsets. We already arranged for all entries to be 64-bit aligned, so we might as well take advantage of that in block offsets. M src/compiler/machines/aarch64/assmd.scm M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/rules3.scm M src/microcode/cmpintmd/aarch64.c commit 9cd60dc8c8709dd0d15a101631b56524be066f42 Author: Taylor R Campbell Date: Fri Jan 18 08:15:28 2019 +0000 Fix uuo link and trampoline instructions. M src/microcode/cmpintmd/aarch64.c M src/microcode/cmpintmd/aarch64.h commit 7fd8f1397d43e459801cf861d1224886d9eb3d01 Author: Taylor R Campbell Date: Fri Jan 18 07:13:32 2019 +0000 Make interface_to_scheme match reality, not sensibility. Should change cmpint.c so we pass a separate dispatch routine in for entries and continuations, but that requires changing all the cmpauxen at once. M src/microcode/cmpauxmd/aarch64.m4 commit 47b14105917c000034fe6b6539a62d46a6473d62 Author: Taylor R Campbell Date: Fri Jan 18 07:13:15 2019 +0000 Compiler oughta agree cmpauxmd about what register is stack pointer. M src/compiler/machines/aarch64/machine.scm commit cd6ba8fca070682cdef093b7cde9ea26e57ac234 Author: Taylor R Campbell Date: Fri Jan 18 07:03:11 2019 +0000 Simplify format words: make them always be instruction words. No need for endianness conditionalization. M src/compiler/machines/aarch64/instr1.scm M src/microcode/cmpintmd/aarch64.c commit 56fde00c4a7b70eccb87298c4d33d3616c05fc05 Author: Taylor R Campbell Date: Fri Jan 18 06:23:00 2019 +0000 Fix passage of dynamic-link. Only machine register, not regblock. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/aarch64/rules3.scm M src/microcode/cmpauxmd/aarch64.m4 commit 8fb6b31bdf72590018d8c837de33667248f06def Author: Taylor R Campbell Date: Fri Jan 18 06:22:18 2019 +0000 Assert block offset is zero. M src/compiler/machines/aarch64/assmd.scm commit 3097eb8356448e09ed10b9dcf48e07b8ddba04b5 Author: Taylor R Campbell Date: Wed Jan 16 04:48:27 2019 +0000 Add a TODO. M src/compiler/machines/aarch64/TODO commit f8d2ab2553ef1022bdf1a3407a47d22d94f0bc5a Author: Taylor R Campbell Date: Wed Jan 16 04:47:27 2019 +0000 Teach ucode identify about aarch64. Also make this always return a string here, so it doesn't crash on boot if it hasn't been taught about new compiled code types. M src/microcode/utabmd.c commit 323bb75874942c820781095f0be9c4145b1f48a7 Author: Taylor R Campbell Date: Wed Jan 16 04:47:13 2019 +0000 Save an instruction in multiplication with CSETM. M src/compiler/machines/aarch64/rulfix.scm commit 9325f5fcb953777b687cab4c15f96580eb6a992d Author: Taylor R Campbell Date: Wed Jan 16 04:47:00 2019 +0000 Tweak some register numbering to reduce a bit of code. M src/compiler/machines/aarch64/machine.scm M src/microcode/cmpauxmd/aarch64.m4 commit 909ef339cb9f02711f8d6f542d929a74c0e68ff0 Author: Taylor R Campbell Date: Wed Jan 16 04:46:17 2019 +0000 Fix register block indexing: no hooks in the register block here. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/rules3.scm commit 2ad438132edb04c0c8d5d546405336899bf78607 Author: Taylor R Campbell Date: Tue Jan 15 17:27:45 2019 +0000 Fix add/sub immediate syntax and criterion. M src/compiler/machines/aarch64/lapgen.scm commit d865375bc5a17e11b985b857a29dd2dee1248a90 Author: Taylor R Campbell Date: Tue Jan 15 16:37:11 2019 +0000 Use a temporary if necessary in AFFIX-TYPE. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/rules1.scm M src/compiler/machines/aarch64/rules3.scm commit 5f120e02fe85ec65cd19e356ac9d79550fe47ffa Author: Taylor R Campbell Date: Tue Jan 15 16:29:02 2019 +0000 Draft aarch64 cmpauxmd. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rules4.scm M src/microcode/cmpauxmd/aarch64.m4 M src/microcode/cmpintmd/aarch64.c M src/microcode/cmpintmd/aarch64.h M src/microcode/confshared.h commit 3a4bc4b6b16f07a04f75a2d13dcc87e40fb3e7b8 Author: Taylor R Campbell Date: Tue Jan 15 03:48:25 2019 +0000 Fix push order in move-frame-up / dynamic-link. M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/rules3.scm commit ee6fc87e14dc88bffc77fe933419761ff62e9b23 Author: Taylor R Campbell Date: Tue Jan 15 03:20:21 2019 +0000 Fix some instruction syntax bugs. - Specify target _and_ source -- we're not x86 here. - Specify operand size. - Specify multipliers correctly. M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rulfix.scm commit 136919dcd09d3ef54d9890d41576b1999bc2bc54 Author: Taylor R Campbell Date: Tue Jan 15 03:19:18 2019 +0000 Avoid REGISTER-COPY-IF-AVAILABLE and TEMPORARY-COPY-IF-AVAILABLE. These give out register references, which are a pain. Just use REUSE-PSEUDO-REGISTER-IF-AVAILABLE! to get the machine register number. M src/compiler/machines/aarch64/rules1.scm M src/compiler/machines/aarch64/rules2.scm commit e851445e4bdc60ad476239067853846003f3aa40 Author: Taylor R Campbell Date: Tue Jan 15 03:18:32 2019 +0000 Disable floating-point vector primitives too. Until we have open-coded floating-point arithmetic. M src/compiler/machines/aarch64/machine.scm commit 6150030e8b8ecd81f56aa6b8f06af663caf71fd5 Author: Taylor R Campbell Date: Tue Jan 15 03:17:35 2019 +0000 Make RTL:CONSTANT-COST always return positive. Otherwise CSE might substitute constants for registers where at best it's not helpful and at worst we don't have rules for it. M src/compiler/machines/aarch64/machine.scm commit 8f1fd2ae054cdcfc710727ad6ad9c27b977fe503 Author: Taylor R Campbell Date: Tue Jan 15 03:15:35 2019 +0000 Fix up some instruction decriptions. - Migrate some things with citations and updates to instr1.scm. - No need for `(evaluation ,terms) in fixed-width instructions. - Fix some missing or duplicated bits. - Add some more instructions. M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/instr2.scm commit e876fa07be0ae68dc862490bbeb43bdc33a430d8 Author: Taylor R Campbell Date: Tue Jan 15 03:14:40 2019 +0000 Umptuple-check that instruction widths sum to multiples of 32 bits. M src/compiler/machines/aarch64/insmac.scm commit ebd08e84318d5a64fb255922c9d90526b173852c Author: Taylor R Campbell Date: Tue Jan 15 03:12:46 2019 +0000 Put something in these stub files so they compile as code. Otherwise the portable fasdumper barfs trying to fasdump a pathname. M src/compiler/machines/aarch64/instrf.scm M src/compiler/machines/aarch64/rulflo.scm commit 2334fd28a30375b54cc957d57890d7d3886bb576 Author: Taylor R Campbell Date: Tue Jan 15 03:12:25 2019 +0000 Update config.guess and config.sub so they recognize aarch64. M src/compiler/config.guess M src/microcode/config.guess M src/microcode/config.sub commit db0d211354c96a3d683176171c3cad42e7117eaf Author: Taylor R Campbell Date: Tue Jan 15 03:11:36 2019 +0000 Fix configure goo for aarch64 with byte order specified. M src/microcode/aclocal.m4 M src/microcode/configure.ac commit 7872180a6ef5f531584f49d808ce8da79081ad4f Author: Taylor R Campbell Date: Tue Jan 15 03:09:58 2019 +0000 Block offset units are instructions, not bytes, so we get two more bits. M src/compiler/machines/aarch64/assmd.scm commit 6380804c5dc41199b4c74eeaf468c0525ef41ba5 Author: Taylor R Campbell Date: Mon Jan 14 07:43:42 2019 +0000 Various work to get this going. Enough to compile and assemble advice.scm, the first file in the runtime. Still a ways from doing anything. M src/compiler/machines/aarch64/TODO M src/compiler/machines/aarch64/insmac.scm M src/compiler/machines/aarch64/instr1.scm M src/compiler/machines/aarch64/instr2.scm M src/compiler/machines/aarch64/insutl.scm M src/compiler/machines/aarch64/lapgen.scm M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/aarch64/rules1.scm M src/compiler/machines/aarch64/rules2.scm M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rules4.scm M src/compiler/machines/aarch64/rulfix.scm M src/compiler/machines/aarch64/rulrew.scm commit a12762e74b26d556e57b9d2c1a12424d0b67036f Author: Taylor R Campbell Date: Mon Jan 14 07:44:17 2019 +0000 Teach assembler about MODULO. XXX Should maybe do EUCLIDEAN-REMAINDER or the full gamut of division operators, but this is all I need for now. M src/compiler/back/bitutl.scm commit deffa305690e6581f788016b579dfbed87a0f0e6 Author: Taylor R Campbell Date: Mon Jan 14 07:44:05 2019 +0000 Report bad expressions more clearly. M src/compiler/back/bitutl.scm commit 79cdea461a6a0d12f050f77f712e98f0fc738ede Author: Taylor R Campbell Date: Sun Jan 13 22:52:06 2019 +0000 Fill in some more files, add some build goo, fix some bugs. Invent a way to do assembler macros so we can do legible branch tensioning rules and reuse ADRP/ADD patterns. M src/compiler/choose-machine.sh M src/compiler/configure M src/compiler/machines/aarch64/TODO A src/compiler/machines/aarch64/assmd.scm C100 src/compiler/machines/aarch64/order-be.scm src/compiler/machines/aarch64/big-endian.scm A src/compiler/machines/aarch64/coerce.scm M src/compiler/machines/aarch64/compiler.pkg M src/compiler/machines/aarch64/compiler.sf M src/compiler/machines/aarch64/decls.scm A src/compiler/machines/aarch64/endian.scm A src/compiler/machines/aarch64/insmac.scm R052 src/compiler/machines/aarch64/instr.scm src/compiler/machines/aarch64/instr1.scm A src/compiler/machines/aarch64/instr2.scm C090 src/compiler/machines/aarch64/order-be.scm src/compiler/machines/aarch64/instrf.scm A src/compiler/machines/aarch64/insutl.scm M src/compiler/machines/aarch64/lapgen.scm R100 src/compiler/machines/aarch64/order-le.scm src/compiler/machines/aarch64/little-endian.scm M src/compiler/machines/aarch64/machine.scm M src/compiler/machines/aarch64/rules1.scm M src/compiler/machines/aarch64/rules2.scm M src/compiler/machines/aarch64/rules3.scm M src/compiler/machines/aarch64/rulfix.scm C091 src/compiler/machines/aarch64/order-be.scm src/compiler/machines/aarch64/rulflo.scm M src/microcode/aclocal.m4 A src/microcode/cmpauxmd/aarch64.m4 R082 src/compiler/machines/aarch64/order-be.scm src/microcode/cmpintmd/aarch64-config.h M src/microcode/cmpintmd/aarch64.c M src/microcode/confshared.h commit d64cc6aa017fcb7445727373541027d3849e23b0 Author: Taylor R Campbell Date: Sun Jan 13 06:08:23 2019 +0000 Draft aarch64 back end. Nowhere near completion yet, long TODO list, not compile-tested, &c. Not sure if I'll find any more copious spare time to work on this for a while. A src/compiler/machines/aarch64/.dir-locals.el A src/compiler/machines/aarch64/TODO A src/compiler/machines/aarch64/compiler.cbf A src/compiler/machines/aarch64/compiler.pkg A src/compiler/machines/aarch64/compiler.sf A src/compiler/machines/aarch64/decls.scm A src/compiler/machines/aarch64/instr.scm A src/compiler/machines/aarch64/lapgen.scm A src/compiler/machines/aarch64/lapopt.scm A src/compiler/machines/aarch64/machine.scm A src/compiler/machines/aarch64/make.scm A src/compiler/machines/aarch64/order-be.scm A src/compiler/machines/aarch64/order-le.scm A src/compiler/machines/aarch64/rgspcm.scm A src/compiler/machines/aarch64/rules1.scm A src/compiler/machines/aarch64/rules2.scm A src/compiler/machines/aarch64/rules3.scm A src/compiler/machines/aarch64/rules4.scm A src/compiler/machines/aarch64/rulfix.scm A src/compiler/machines/aarch64/rulrew.scm A src/microcode/cmpintmd/aarch64.c A src/microcode/cmpintmd/aarch64.h commit ae24e8c900f80d381291e4dc0c1920b7c94d3d84 Author: Taylor R Campbell Date: Tue Aug 20 03:40:24 2019 +0000 Fix multiplication and division by purely imaginary numbers. That is, complex numbers whose real part is exact zero. A src/relnotes/bug-exactimul M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 666f9f7d4c7cda604637fbba97fb806dd662ca2a Author: Taylor R Campbell Date: Tue Aug 20 03:13:51 2019 +0000 Test multiplication and division by +i and -i. We do not currently follow Kahan's recommenations that when the real part is exactly zero, the arithmetic be done by negation rather than multiplication. M tests/runtime/test-arith.scm commit bc3fdd35061f263b53a43ce5959ff7bcd60c225d Author: Taylor R Campbell Date: Tue Aug 20 03:03:25 2019 +0000 Fix edge cases in ANGLE. A src/relnotes/bug-anglezero M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 9a24378eb98d01c3a76285029dd07fc3de4417f8 Author: Taylor R Campbell Date: Tue Aug 20 02:51:27 2019 +0000 Expand edge cases for ANGLE. Based on Kahan's `Much Ado about Nothing's Sign Bit' paper. We screw up some zero edge cases. M tests/runtime/test-arith.scm commit 8c8fc393e40fb78c96dbf075e85a9b828a1deb78 Author: Chris Hanson Date: Mon Aug 19 15:33:00 2019 -0700 Fix references incorrectly marked with EVR(). M src/microcode/cmpauxmd/x86-64.m4 commit 64d23ddda83b0f612f233bfb1ecb68bcf6d1704a Author: Taylor R Campbell Date: Sat Aug 17 13:54:34 2019 +0000 `x ... ...' is busted in syntax-rules. M tests/runtime/test-syntax.scm commit 7d6c599b965662a96ed769256fce3b0f18246e96 Merge: 99b2ef2c8 f483d7d80 Author: Taylor R Campbell Date: Fri Aug 16 05:02:00 2019 +0000 Merge branch 'riastradh-20181220-closentry-v12' commit 99b2ef2c893762e914dd78bddae41297f15ac078 Author: Taylor R Campbell Date: Fri Aug 16 04:59:52 2019 +0000 Tweak logit1/2+ condition number plot for clarity. M doc/ref-manual/fig/cn-logithalf.eps.in commit 7677fd9a3ef3b1a76372eaa24a6ae449e2a6538c Author: Taylor R Campbell Date: Fri Aug 16 03:54:49 2019 +0000 Factor out common PostScript code for plotting. Should make this a little more maintainable. M doc/make-common.in M doc/ref-manual/Makefile.in A doc/ref-manual/fig/.gitignore D doc/ref-manual/fig/cn-expm1.eps A doc/ref-manual/fig/cn-expm1.eps.in D doc/ref-manual/fig/cn-log1mexp.eps A doc/ref-manual/fig/cn-log1mexp.eps.in D doc/ref-manual/fig/cn-log1p.eps A doc/ref-manual/fig/cn-log1p.eps.in D doc/ref-manual/fig/cn-log1pexp.eps A doc/ref-manual/fig/cn-log1pexp.eps.in D doc/ref-manual/fig/cn-logistic.eps A doc/ref-manual/fig/cn-logistic.eps.in D doc/ref-manual/fig/cn-logistichalf.eps A doc/ref-manual/fig/cn-logistichalf.eps.in D doc/ref-manual/fig/cn-logit.eps A doc/ref-manual/fig/cn-logit.eps.in D doc/ref-manual/fig/cn-logitexp.eps A doc/ref-manual/fig/cn-logitexp.eps.in D doc/ref-manual/fig/cn-logithalf.eps A doc/ref-manual/fig/cn-logithalf.eps.in D doc/ref-manual/fig/cn-loglogistic.eps A doc/ref-manual/fig/cn-loglogistic.eps.in A doc/ref-manual/fig/common/ad.ps A doc/ref-manual/fig/common/debug.ps A doc/ref-manual/fig/common/linsplin.ps A doc/ref-manual/fig/common/math.ps A doc/ref-manual/fig/common/newton.ps A doc/ref-manual/fig/common/plot.ps A doc/ref-manual/fig/common/splinterp.ps D doc/ref-manual/fig/expm1.eps A doc/ref-manual/fig/expm1.eps.in D doc/ref-manual/fig/log1mexp.eps A doc/ref-manual/fig/log1mexp.eps.in D doc/ref-manual/fig/log1p.eps A doc/ref-manual/fig/log1p.eps.in D doc/ref-manual/fig/log1pexp.eps A doc/ref-manual/fig/log1pexp.eps.in D doc/ref-manual/fig/logistic.eps A doc/ref-manual/fig/logistic.eps.in D doc/ref-manual/fig/logistichalf.eps A doc/ref-manual/fig/logistichalf.eps.in D doc/ref-manual/fig/logit.eps A doc/ref-manual/fig/logit.eps.in D doc/ref-manual/fig/logitexp.eps A doc/ref-manual/fig/logitexp.eps.in D doc/ref-manual/fig/logithalf.eps A doc/ref-manual/fig/logithalf.eps.in D doc/ref-manual/fig/loglogistic.eps A doc/ref-manual/fig/loglogistic.eps.in commit 6c8b7f8dd39f7b4a5cbba9232269217e37b14f62 Author: Taylor R Campbell Date: Fri Aug 16 02:54:44 2019 +0000 Uniform code and style for plots. Tweak line widths a little bit to roughly match cmmi10 (Computer Modern Math Italic 10pt) rule widths for axes, and a little thicker for the plots themselves, for the printed manual. M doc/ref-manual/fig/cn-expm1.eps M doc/ref-manual/fig/cn-log1mexp.eps M doc/ref-manual/fig/cn-log1p.eps M doc/ref-manual/fig/cn-log1pexp.eps M doc/ref-manual/fig/cn-logistic.eps M doc/ref-manual/fig/cn-logistichalf.eps M doc/ref-manual/fig/cn-logit.eps M doc/ref-manual/fig/cn-logitexp.eps M doc/ref-manual/fig/cn-logithalf.eps M doc/ref-manual/fig/cn-loglogistic.eps M doc/ref-manual/fig/expm1.eps M doc/ref-manual/fig/log1mexp.eps M doc/ref-manual/fig/log1p.eps M doc/ref-manual/fig/log1pexp.eps M doc/ref-manual/fig/logistic.eps M doc/ref-manual/fig/logistichalf.eps M doc/ref-manual/fig/logit.eps M doc/ref-manual/fig/logitexp.eps M doc/ref-manual/fig/logithalf.eps M doc/ref-manual/fig/loglogistic.eps commit f49eb01498548ece4ba4844a9d0727c45dd6d4e3 Author: Taylor R Campbell Date: Fri Aug 16 02:51:41 2019 +0000 Produce 300dpi, not 72dpi, PNGs for HTML output. M doc/make-common.in commit ed8e625c9655944ee6d995fd428f503c1d1f7658 Author: Arthur A. Gleckler Date: Thu Aug 15 13:17:00 2019 -0700 Use TLS/SSL for links to . M doc/ref-manual/scheme.texinfo M doc/ref-manual/special-forms.texi commit f483d7d80ec428ef73723aa83375f88a0d6852fc Author: Taylor R Campbell Date: Thu Aug 15 14:24:35 2019 +0000 Add release note. A src/relnotes/amd64 commit bfa39bb99565351f6c3d4923c3c1544083232c2b Author: Taylor R Campbell Date: Thu Aug 15 05:19:18 2019 +0000 Bump COMPILER_INTERFACE_VERSION. Make attempts to use old .com files fail a little more obviously. M src/microcode/cmpint.h commit b32607d127d5a06ec889b7c396cca937daad9899 Author: Taylor R Campbell Date: Thu Aug 15 04:57:56 2019 +0000 Set default target to all for cross-builds too. No need to make it default to cross-host. If you want to separate the cross-host/cross-target stages, you'll know to do cross-host anyway. M src/configure.ac commit 2f61ba46503c098a04fda4d6ac9306bbf50468be Author: Taylor R Campbell Date: Thu Aug 15 04:45:27 2019 +0000 Avoid spurious fallthrough (fortunately harmless here). M src/microcode/debug.c commit aadd41737ce42b0fc05697736d883f10c6f801a8 Author: Taylor R Campbell Date: Wed Aug 14 01:31:56 2019 +0000 Test fma exceptions too. M tests/microcode/test-flonum-except.scm commit 0a95c33d1160a6a284cec310ecf00ae04a29137c Author: Taylor R Campbell Date: Tue Aug 13 23:25:14 2019 +0000 Add fma, fused-multiply/add. Not yet open-coded anywhere. Will be a huge pain on x86. No aarch64 flonum open-coding at all yet. (Maybe flo:fast-fma? should return false if it's not open-coded...) M doc/ref-manual/numbers.texi M src/microcode/configure.ac M src/microcode/flonum.c A src/microcode/fma.c C060 src/microcode/makegen/files-core.scm src/microcode/fma.h M src/microcode/makegen/files-core.scm A src/relnotes/fma M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit 6f458ab1eb3c96f5fead81cf844e8074a2921b33 Author: Taylor R Campbell Date: Sun Jan 6 03:59:31 2019 +0000 Use a different reflect code number for compiled invocations. Teach the continuation parser about it. Turns out this doesn't actually coincide with the format the v8 microcode used for APPLY-COMPILED, which also has a frame size, presumably so arity dispatch could be done in the callee. (Not that the v8 stuff matters these days; maybe we should just flush those parts of conpar.scm.) M src/compiler/machines/x86-64/rules3.scm M src/microcode/cmpint.c M src/runtime/conpar.scm commit a222965506ae3415774b4171683b05d8a0882578 Author: Taylor R Campbell Date: Sat Jan 5 15:53:23 2019 +0000 Open-code WITH-STACK-MARKER too. Saves a trip through reflect-to-interface, which would break the return address branch target prediction stack. M src/compiler/machines/x86-64/rules3.scm commit 6c49d0ea1367479e7b81612453b1306fde0a52c3 Author: Taylor R Campbell Date: Sat Jan 5 06:31:35 2019 +0000 Share closure interrupt labels. The interrupt-handling subroutine just uses the tagged entry on the stack, so no need for a separate call for each closure. If nothing else this should save some code size. Also, in open-coding of with-interrupt-mask, reuse pop-return with interrupt checks. M src/compiler/machines/x86-64/rules3.scm commit f53af07f681dd908ef7464aa0890395c3617dc2e Author: Taylor R Campbell Date: Sat Jan 5 03:36:51 2019 +0000 Tidy up compiler utility return addresses. Use compiled returns for the ones that are likely to return to Scheme like lookups and assignments, and compiled entries for the ones that are likely to return to microcode like interrupts. Architectures on which compiled entries and compiled returns have the same format will see no difference: compiled code passes in an untagged return address either way. On amd64, where compiled entries and compiled returns are different: - For hooks that act like leaf subroutines and never return to microcode, use plain CALL/RET in pairs. - For hooks that are subroutines likely to return to Scheme immediately but might return to microcode in screw cases, use (CALL ,hook) ; Invoke hook with untagged ret addr... (JMP (@PCR ,continuation)) ; ...which jumps to formatted entry. (WORD ...) (BLOCK-OFFSET ,continuation) (QUAD U 0) (LABEL ,continuation) ... ; continuation instructions For the non-screw cases this keeps CALL/RET paired. - For hooks that always defer to microcode, namely to handle interrupts, use (LEA Q (R ,rbx) (@PCR ,continuation)) (JMP ,hook) Here it doesn't really whether the CALL/RET is paired because we're going to wreck the return address branch prediction stack no matter what, but it is convenient to have the entry address rather than the return address in the compiled utility. M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/rules3.scm M src/compiler/machines/x86-64/rules4.scm M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpint.c commit 31163e25df96787629821c16ce3548b7bd6f0047 Author: Taylor R Campbell Date: Fri Jan 4 04:58:51 2019 +0000 Use ret for returns from interface and from generic arithmetic hooks. Let's take advantage of the return address stack branch target predictor rather than unceremoniously trash it, shall we? M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpint.c M src/microcode/cmpintmd/x86-64.h commit f2384feb368d44e9b80a789239e8d3b1ad4df689 Author: Taylor R Campbell Date: Thu Jan 3 19:10:45 2019 +0000 Open-code with-interrupt-mask, with-interrupts-reduced. Not open-coded at the RTL level, but at the LAP level. This way we avoid going through a return trampoline, which wrecks the return address stack branch target predictor as long as we transition between Scheme and C to handle trampolines. Most of the work, of munging MEMTOP and STACK_GUARD, is relegated to an assembly hook subroutine so the code doesn't expand too much. The format of the stack still uses reflect-to-interface so that this should require no changes to the continuation parser to get the interrupt masks right, but with an intermediate empty-frame continuation that actually calls the assembly hook and then pops reflect-to-interface off. M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/rules1.scm M src/compiler/machines/x86-64/rules3.scm M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpint.c M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h commit 500ae9a5b856ddc8ea3ae03fa1d32b6efaa10de3 Author: Taylor R Campbell Date: Thu Jan 3 03:19:54 2019 +0000 Allow return_to_compiled_code to return to compiled entries. The earlier compiled entry/return split left various utility calls pushing compiled entries, rather than compiled return addresses, for continuations on the stack -- notably interrupt routines, the linker utility, and interpreter calls. I arranged for these to all to use RETURN_TO_SCHEME_ENTRY (or JUMP_TO_CC_ENTRY), but missed one spot: the continuations constructed by STACK-FRAME->CONTINUATION, which use return_to_compiled_code, which in turn expected a compiled return rather than a compiled entry and choked. The interrupt routines, linker utility, and interpreter calls should all be adapted to take returns rather than entries (which is another ABI-breaking flag day), but this will do for now. M src/microcode/cmpint.c commit fd7b4fe4c83e5e4be265cdcc1d1042f57c09ffad Author: Taylor R Campbell Date: Wed Jan 2 23:44:09 2019 +0000 Save interpreter result too before anything in continuation. On x86, the interpreter call result register is eax/rax, register 0, which is also the first register we hand out for register allocation. The continuation for an interpreter call result uses register 0, but if the caller uses a dynamic link, the continuation first pops its frame via the dynamic link...using a temporary register that is guaranteed to be register 0 since it's the first one the register allocator hands out. The code sequence looks something like this: ;; (interpreter-call:cache-reference label-10 (register #x24) #f) (mov q (r 2) (r 1)) (call (@ro 6 #xd0)) ;; (continuation-entry label-10) (word u #xfffc) (block-offset label-10) label-10: ;; (assign (register #x25) (post-increment (register 4) 1)) (pop q (r 0)) ;; (assign (register #x26) (object->address (register #x25))) (and q (r 0) (r 5)) ;; (assign (offset (register 6) (machine-constant 4)) (register #x26)) (mov q (@ro 6 #x20) (r 0)) ;; (assign (register #x23) (register 0)) (jmp (@pcr label-13)) On entry to the continuation, register 0 holds the value we want, chosen as a machine alias for pseudo-register #x23 in the procedure body, but the first thing the continuation does is pop the dynamic link into register 0, ruining the party. This is rather tricky to trigger because it turns out in _non-error_ cases, compiled code never asks the interpreter to evaluate a cache reference that will return a value. But you can trigger this by referencing an unassigned variable and invoking a restart, which does cause the cache reference to return a value: ;; Unassigned, so compiled code will ask interpreter for help. (define null) ;; Recursive procedure for which the compiler uses a dynamic link. (define (map f l) (let loop ((l l)) (if (pair? l) (cons (f (car l)) (loop (cdr l))) null))) ;; Invoke the restart that will return from the cache reference with ;; a value. (bind-condition-handler (list condition-type:unassigned-variable) (lambda (condition) condition (use-value '())) (lambda () (map + '(1 2 3)))) ;Value: (1 2 3 . #[false 15 #xea9c18]) Here #[false 15 #xea9c18] is the (detagged) dynamic link, a pointer into the stack, not the result we wanted at all. M src/compiler/rtlgen/opncod.scm M src/compiler/rtlgen/rgproc.scm M src/compiler/rtlgen/rgrval.scm M src/compiler/rtlgen/rgstmt.scm M src/compiler/rtlgen/rtlgen.scm M tests/compiler/test-vartrap.scm commit 987d9624b221bac31f6413ff3a6fe17b5a90a2fb Author: Taylor R Campbell Date: Mon Dec 31 21:08:22 2018 +0000 Make entries point to _after_ the PC offset. This saves a jump in closure headers, and makes non-closure entries have a nice PC offset of 0 rather than an awkward PC offset of 8. However, this causes all indirect calls to have an additional offset of -8 in the addressing mode -- not clear yet how much this hurts. WARNING: This changes the amd64 compiled code interface so that new compiled code requires a new microcode and vice versa. Further, you must set compiler:cross-compiling? to #t to compile the system, because compiled code block offsets are now in a different place relative to compiled entries, so the native fasdumper of an old microcode can't handle compiled entries produced by a new compiler. M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/rules1.scm M src/compiler/machines/x86-64/rules3.scm M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h commit 8d274971d679e40e298356daad01cff96b59384a Author: Taylor R Campbell Date: Wed Jan 2 06:10:52 2019 +0000 Load the fallback into rax so caller needs no conditional branch. WARNING: This changes the amd64 compiled code interface so that new compiled code requires a new microcode. (However, a new microcode should handle old compiled code without trouble, since old compiled code treats rax as garbage at this point, and LEA does not affect flags.) M src/compiler/machines/x86-64/rules3.scm M src/microcode/cmpauxmd/x86-64.m4 commit be310b85bbcfc7fbc58b311f799255493d48437e Author: Taylor R Campbell Date: Mon Dec 31 20:32:37 2018 +0000 Use BTS to affix single-bit type tags. M src/compiler/machines/x86-64/rules1.scm commit 2d961c10171d94ca82a6bdf7c61aad9fbadc9da1 Author: Taylor R Campbell Date: Sat Dec 29 21:57:47 2018 +0000 Relax register constraints for tagging rule. No need to keep the source alive here -- use move-to-target and allow any temporary register instead. M src/compiler/machines/x86-64/rules1.scm commit 44c8aaccd14c44f371d1d09e3c0f4c980b245ce1 Author: Taylor R Campbell Date: Sat Dec 29 16:40:02 2018 +0000 Simplify hook calls. No need for CALL or the stack to be involved: just load PC-relative address into RBX directly. Should shave off a few bytes of code. WARNING: This changes the amd64 compiled code interface so that new compiled code requires a new microcode and vice versa. M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/rules3.scm M src/compiler/machines/x86-64/rules4.scm M src/compiler/machines/x86-64/rulfix.scm M src/microcode/cmpauxmd/x86-64.m4 commit 5036bb89f29a985b0341777afdf17497c3b46f0f Author: Taylor R Campbell Date: Sun Dec 30 21:28:19 2018 +0000 Convert x86-64 to use rax as value register. WARNING: This changes the amd64 compiled code interface so that new compiled code requires a new microcode and vice versa. M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/machin.scm M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h commit 1bcf72d6b57c87e750c14554cd1642a2a5488020 Author: Taylor R Campbell Date: Sun Dec 30 21:01:00 2018 +0000 Allow careful use of available machine registers in RTL. This will enable us to put fixed machine registers such as the value register carefully into the RTL even if they are ordinarily available as pseudo-register aliases for machine register allocation. - CGEN-RINST calls TARGET-MACHINE-REGISTER! if the target of an RTL instruction is a machine register that is ordinarily available for register allocation. - REGISTER-ALIAS declines to return any aliases reserved by TARGET-MACHINE-REGISTER!, until... - DELETE-DEAD-REGISTERS! makes the target machine registers available again for REGISTER-ALIAS so that they can be chosen as targets. (However, they still won't be chosen as temporaries.) - MOVE-TO-ALIAS-REGISTER! -- which may be used only after all other source registers have been chosen -- also allows the machine target to be used as a source alias in order to avoid unnecessary register motion. - Don't propagate RTL references to available machine registers in common subexpression elimination or in code compression. Since the machine register might be allocated as an alias for another register, it can't be moved around. The RTL generator ensures these references appear only at the beginning or end of a block where the machine register cannot be an alias for any live pseudo-register. M src/compiler/back/lapgn1.scm M src/compiler/back/lapgn2.scm M src/compiler/back/regmap.scm M src/compiler/machines/i386/rulflo.scm M src/compiler/rtlopt/rcompr.scm M src/compiler/rtlopt/rcse2.scm commit 29b733f1ec1cdafae05e9b99bb11a7caa7b7ac01 Author: Taylor R Campbell Date: Sun Dec 30 21:01:58 2018 +0000 Ensure register:value appears first or last in block. Either it is the first register referenced, or the last register assigned. This will enable us to use a machine register that is normally available for register allocation, without having to worry that it may be an alias for a live pseudo-register. - In continuations that receive a value through register:value, create a temporary register and make the first instruction be an assignment of register:value to the temporary register, before we the pop-extra. The RTL optimizer avoids propagating this alias so the assignment will stay in place, but later on, the LAP generator will take advantage of the alias to avoid generating additional unnecessary code. - In returns that store a value in register:value, create a temporary register and assign it where we used to assign to register:value, and then store the temporary in register:value as the very last instruction before pop-return after any frame-popping which might involve temporaries. M src/compiler/rtlgen/opncod.scm M src/compiler/rtlgen/rgretn.scm M src/compiler/rtlgen/rtlgen.scm commit 836e0a4bb317d7244c99b4dba135bd69511f22ef Author: Taylor R Campbell Date: Sun Dec 30 21:26:16 2018 +0000 Optimize execute caches: avoid indirect jumps if possible. No change to the compiled code interface: this just generates faster code in execute caches if it can. M src/microcode/cmpintmd/x86-64.c commit 09b4d9204b0934205e576b9a615bb8037ea447c4 Author: Taylor R Campbell Date: Sat Dec 29 04:12:28 2018 +0000 Generate per-invocation jmp instructions. I hypothesize that this will help the CPU's branch target predictor be more precise than having a single jmp instruction inside an assembly hook that actually jumps to an unknown procedure. Empirically, this gives about 5x speed improvement for a microbenchmark involving unknown procedure calls: (define x (make-vector 1)) (define (test-01 x) (define (g) (vector-set! x 0 0)) (g) ((identity-procedure g))) (define (test-10 x) (define (g) (vector-set! x 0 0)) ((identity-procedure g)) (g)) (define (repeat n f x) (show-time (lambda () (do ((i 0 (fix:+ i 1))) ((fix:>= i n)) (f x))))) ; Before: (repeat 10000000 test-01 x) ;process time: 1420 (1370 RUN + 50 GC); real time: 1427 ; After: (repeat 10000000 test-01 x) ;process time: 290 (220 RUN + 70 GC); real time: 312 Caveat: This is on top of a bunch of other experiments. XXX Redo this in isolation. WARNING: This adds hooks to the amd64 compiled code interface, so new compiled code requires a new microcode. (However, a new microcode should handle old compiled code just fine.) M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/rules3.scm M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h commit 17e0374d393ce446fd1ec5aac38da1ff31d2ac7e Author: Taylor R Campbell Date: Sat Dec 29 01:11:00 2018 +0000 Use CALL/RET for pushing and returning to continuations on amd64. Calls now look like: ;; (assign (register #x123) (cons-pointer tag (entry:continuation cont))) (CALL (@PCR pushed)) (JMP (@PCR cont)) pushed: (OR Q (@R ,rsp) (&U ,tag)) ... (JMP (@PCR uuo-link)) Returns now look like: ;; (pop-return) (AND Q (@R ,rsp) (R ,regnum:datum-mask)) (RET) These should happen in pairs, so that we can take advantage of the CPU's return address branch target prediction stack rather than abusing the indirect jump branch target predictor. WARNING: This changes the amd64 compiled code interface, so new compiled code requires a new microcode. (A new microcode might be able to handle existing compiled code just fine.) M src/compiler/machines/x86-64/rules1.scm M src/compiler/machines/x86-64/rules3.scm M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h commit 876b77d1f9c4e71256cf9dba8f2b70423a2052c5 Author: Taylor R Campbell Date: Fri Dec 28 20:51:02 2018 +0000 Split compiled entries and compiled return addresses. Reallocate tag 4 for return addresses. This way, a compiled entry can be a pointer to a PC offsets so that we can construct closures without dynamically generating code and wrecking the instruction cache, while a compiled return addresses can be a pointer to a PC, since we never dynamically create indirections for returns. For now, the runtime can handle both tags for return addresses. XXX Only done and tested on x86-64 for now. Other architectures need to be tested. Might be worthwhile to do this on i386 too, if anyone still cares about i386. WARNING: This changes the compiled code interface on all architectures, so you'll have to build a new compiler running on an old microcode and use that to compile a new system afresh. M src/compiler/base/asstop.scm M src/compiler/base/utils.scm M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/rules1.scm M src/compiler/machines/x86-64/rules3.scm M src/compiler/rtlbase/rtlcon.scm M src/microcode/cmpauxmd/i386.m4 M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpint.c M src/microcode/cmpint.h M src/microcode/cmpintmd/c.c M src/microcode/cmpintmd/c.h M src/microcode/cmpintmd/i386.c M src/microcode/cmpintmd/i386.h M src/microcode/cmpintmd/svm1.c M src/microcode/cmpintmd/svm1.h M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h M src/microcode/comutl.c M src/microcode/debug.c M src/microcode/gc.h M src/microcode/gccode.h M src/microcode/gcloop.c M src/microcode/hooks.c M src/microcode/svm1-interp.c M src/microcode/typename.txt M src/microcode/types.h M src/microcode/utils.c M src/runtime/global.scm M src/runtime/microcode-data.scm M src/runtime/predicate-tagging.scm M src/runtime/printer.scm commit 67adeda088f018ba07ad79e0b875a12d516c4623 Author: Taylor R Campbell Date: Thu Dec 27 03:58:38 2018 +0000 Use indirection for entry points on amd64. A compiled entry is now a tagged address A pointing to a 64-bit word W such that A + W points to instruction to execute. This adds a memory indirection overhead to unknown procedure calls, but it has the effect that consing a closure only involves writing data memory, not instruction memory that must be reloaded into the CPU's instruction cache. WARNING: This changes the amd64 compiled code interface, so you'll have to build a new compiler running on an old microcode and use that to compile a new system afresh. M src/compiler/machines/x86-64/insutl.scm M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/rules3.scm M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h M src/microcode/gcloop.c commit a6a461c06f036195c98bcf0f4f31bef7fe18859a Author: Taylor R Campbell Date: Thu Dec 20 04:58:07 2018 +0000 Avoid CALL without RET for closure entries, hooks, and trampolines. This will wreck the CPU's return address branch target predictor. This is an intermediate change en route to using paired CALL/RET for continuation pushes and pop-returns in order to take advantage of the CPU's branch target predictor. WARNING: This changes the format of compiled closures, and as such, new compiled code requires a new microcode and vice versa. M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/rules3.scm M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h commit a91ec28ab2a9097938d79699a37fa51f62234733 Author: Taylor R Campbell Date: Thu Dec 27 03:58:50 2018 +0000 Eliminate return/entry compiled invocation pun. There is a small cost to this. My hope is that it will be offset by: 1. distinguishing compiled entries from compiled return addresses, in order to enable... 2. using indirection for compiled entries so closures don't need dynamically generated code, and finally... 3. using direct instruction addresses for compiled return addresses so we can exploit the return stack branch predictor, which all requires this change in order to function correctly. No change to compiled code interface intended. M src/microcode/cmpint.c M src/runtime/conpar.scm commit 51456d87d356559d3ed7f6e2395a7ae6de159e42 Author: Taylor R Campbell Date: Tue Aug 13 14:26:13 2019 +0000 Use ln -n to avoid following symlinks to directories. Evidently -h is the BSD option for `don't follow symlinks', following the convention of chmod and other utilities, while -n is the GNU option; fortunately at least NetBSD ln has had -n too for GNU compatibility for decades so I'm satisfied with -n. (Neither one is POSIX.) M src/Makefile.tools.in commit f70f68ac8fe5c1add78cf1b10910e72febbef6a9 Author: Taylor R Campbell Date: Sat Aug 10 15:18:49 2019 +0000 Allow hyphenation of log-probability, log-logistic, ill-conditioned. Can't find a good way to make TeX hyphenate a word that already has a hyphen in it, so this'll have to do. M doc/ref-manual/numbers.texi M doc/ref-manual/scheme.texinfo commit 34b5f7d3099adbc3e294b64fedad6e09ea5a7364 Author: Taylor R Campbell Date: Sat Aug 10 15:18:41 2019 +0000 Clarify error amplification. M doc/ref-manual/numbers.texi commit 9a5304e5cfff06244e9bfaba9f75b20150aca7d9 Author: Taylor R Campbell Date: Sat Aug 10 15:18:20 2019 +0000 Fix punctuation in display. M doc/ref-manual/numbers.texi commit b87d3979769bf2dee65ed9d38a5e9ea966c337ec Author: Taylor R Campbell Date: Sat Aug 10 15:17:40 2019 +0000 Avoid Unicode in texinfo. Modern LaTeX can handle it but texinfo can't. M doc/ref-manual/io.texi M doc/ref-manual/strings.texi commit d37c1cb86d573b53c4aff7f0f01c2bcccdee6651 Author: Chris Hanson Date: Sat Aug 10 14:31:04 2019 -0700 Add missing definition of exact as noticed by GJS. Also update the text of inexact and exact to match R7RS. M doc/ref-manual/numbers.texi commit ddd6a6ab5644af5716e8b2e4f44d18fd01d68a4a Author: Chris Hanson Date: Sat Aug 10 14:04:08 2019 -0700 Fix thinko in previous change. M src/runtime/printer.scm commit f821026072c161106999d3f05a3504b0acf53519 Author: Chris Hanson Date: Fri Aug 9 22:42:22 2019 -0700 Change write to use datum labels only when cycles are present. This is required by R7RS but was not understood earlier. M src/runtime/printer.scm M tests/runtime/test-printer.scm commit 1f73148835e883fa03a53fa046afda5b7ef9c0ca Author: Chris Hanson Date: Sun Aug 4 22:05:54 2019 -0700 Implement bundle delegation using a more general combinator mechanism. M src/runtime/bundle.scm M src/runtime/runtime.pkg M tests/runtime/test-bundle.scm commit 4c020433b16cea6facb1b530ada635c99c50efa5 Author: Taylor R Campbell Date: Sat Aug 10 04:43:58 2019 +0000 Need to load sf before host-adapter.scm these days, it seems. M src/Makefile.tools.in commit 8cea3e84d13a8028b4cff8535e2ec9502aafd4ad Author: Taylor R Campbell Date: Sat Aug 10 04:22:21 2019 +0000 Avoid bash. bash is not reliably available, and on the systems where it is available, it is often not installed at /bin/bash. M src/blowfish/autogen.sh M src/edwin/autogen.sh M src/gdbm/autogen.sh M src/imail/autogen.sh M src/mcrypt/autogen.sh M src/pgsql/autogen.sh M src/x11-screen/autogen.sh M src/x11/autogen.sh commit 5bf5dcbdf2d11dd7fb48c9dab3235687ce5e00ea Author: Taylor R Campbell Date: Fri Aug 9 16:56:01 2019 +0000 Fix reading hashed object notation #[foo 123]. M tests/runtime/test-readwrite.scm commit f41ab69f41c0c0ecb80669af5a37f7ae94e4ed4f Author: Taylor R Campbell Date: Fri Aug 9 16:53:43 2019 +0000 Test hashed object notation. Currently busted for #[foo 123]. M tests/runtime/test-readwrite.scm commit b188a1fcf574e99f9a5e3d55c3be7c1e7ab04d69 Author: Matt Birkholz Date: Fri Aug 9 11:29:48 2019 -0700 x11-screen: Fix cut/paste after upcasing X atom names. M src/x11-screen/x11-screen.scm commit 0ae636a80872105cb77e8a57e6afdcab8fc384ac Author: Matt Birkholz Date: Wed Aug 7 12:21:35 2019 -0700 Do not install non-existent runtime options hashtb and krypt. M src/runtime/Makefile-fragment commit 6c74a356dc1d3d9984aa5a6704f26da752e62d42 Author: Matt Birkholz Date: Tue Aug 6 17:56:39 2019 -0700 x11-screen: downcase symbols, most names; fix copyright notices M src/x11-screen/NEWS M src/x11-screen/README M src/x11-screen/compile.sh M src/x11-screen/configure.ac M src/x11-screen/ed-ffi.scm M src/x11-screen/optiondb.scm M src/x11-screen/x11-command.scm M src/x11-screen/x11-key.scm M src/x11-screen/x11-screen-check.sh M src/x11-screen/x11-screen-test.scm M src/x11-screen/x11-screen.pkg M src/x11-screen/x11-screen.scm commit b9016dd569ba15eab38d64c7ec95ae17af593aaf Author: Matt Birkholz Date: Tue Aug 6 18:01:48 2019 -0700 x11: downcase symbols, most names; fix copyright notices M src/x11/compile.sh M src/x11/configure.ac M src/x11/optiondb.scm M src/x11/x11-base.scm M src/x11/x11-check.sh M src/x11/x11-color.scm M src/x11/x11-device.scm M src/x11/x11-graphics.scm M src/x11/x11-shim.h M src/x11/x11-terminal.scm M src/x11/x11-test.scm M src/x11/x11.cdecl M src/x11/x11.h M src/x11/x11.pkg M src/x11/x11base.c M src/x11/x11color.c M src/x11/x11graph.c M src/x11/x11term.c commit 46173d7535d507e5056e3cda44d50358e87c4e95 Author: Matt Birkholz Date: Tue Aug 6 17:05:48 2019 -0700 pgsql: downcase symbols, most names; fix copyright notices M src/pgsql/compile.scm M src/pgsql/compile.sh M src/pgsql/configure.ac M src/pgsql/make.scm M src/pgsql/optiondb.scm M src/pgsql/pgsql-check.scm M src/pgsql/pgsql-check.sh M src/pgsql/pgsql.scm commit 15169c7e52b48eb2c559c3084e983ac0a67553b0 Author: Matt Birkholz Date: Tue Aug 6 16:57:47 2019 -0700 mcrypt: downcase a symbol, most names; fix copyright notices M src/mcrypt/README M src/mcrypt/compile.scm M src/mcrypt/compile.sh M src/mcrypt/configure.ac M src/mcrypt/make.scm M src/mcrypt/mcrypt-check.scm M src/mcrypt/mcrypt.scm M src/mcrypt/optiondb.scm commit 7bc42c73c62ccbe8e7431a815caa3c80c35c6d51 Author: Matt Birkholz Date: Tue Aug 6 17:51:55 2019 -0700 gdbm: downcase symbols, most names; fix copyright notices M src/gdbm/compile.sh M src/gdbm/configure.ac M src/gdbm/optiondb.scm commit ac6b5626d3d4de23c8f7d30384ead1b7ce11ad2f Author: Matt Birkholz Date: Tue Aug 6 15:44:33 2019 -0700 blowfish: downcase symbols, most names; fix copyright notices M src/blowfish/blowfish-check.scm M src/blowfish/blowfish-check.sh M src/blowfish/blowfish-test.scm M src/blowfish/blowfish.scm M src/blowfish/compile.scm M src/blowfish/compile.sh M src/blowfish/configure.ac M src/blowfish/make.scm M src/blowfish/optiondb.scm commit 03118f51e034355836f4f4bfabcc6b14e886ec84 Author: Matt Birkholz Date: Tue Aug 6 15:33:34 2019 -0700 ffi: downcase symbols, most names M src/ffi/cdecls.scm M src/ffi/ctypes.scm M src/ffi/generator.scm M src/ffi/syntax.scm commit c130e738198d18120aaa86067c536729f2500bc3 Author: Matt Birkholz Date: Tue Aug 6 14:38:47 2019 -0700 Add pgsql-shim.h as a dependency of pgsql-shim.la. M src/pgsql/Makefile.am commit a6f9cde0833662f874149fb138eeb06be4ee818e Author: Matt Birkholz Date: Tue Aug 6 14:36:51 2019 -0700 Punt CREF's 9.2-compatible deprecated exports syntax. Drop support for the awkward, undocumented and hopefully unused EXPORT-DEPRECATED syntax too. M src/cref/redpkg.scm M src/runtime/runtime.pkg commit 6a5bf74386f8c2509747a62e09e4602ea90fe941 Author: Matt Birkholz Date: Wed Aug 7 11:44:23 2019 -0700 Fix definition of MIT_SCHEME_PKD; use _OS_SUFFIX from src/configure. M src/blowfish/configure.ac M src/edwin/configure.ac M src/gdbm/configure.ac M src/imail/configure.ac M src/mcrypt/configure.ac M src/pgsql/configure.ac M src/x11-screen/configure.ac M src/x11/configure.ac commit fe14ace2fa2bfea5d4c9f7ce613434db1c73cda1 Author: Matt Birkholz Date: Sun Aug 4 16:03:35 2019 -0700 Edwin/Makefile.am: Include sources.scm. Punt unnecessary overrides. M src/edwin/Makefile.am commit b19dc2c96f4ff5bbe4ce8c8a4616d8dbe08b2c11 Author: Matt Birkholz Date: Sun Aug 4 16:22:10 2019 -0700 Plugin builds: Improved tags-fix.sh. Handle .cdecl files specially. M src/blowfish/Makefile.am M src/blowfish/tags-fix.sh M src/gdbm/Makefile.am M src/gdbm/tags-fix.sh M src/mcrypt/Makefile.am M src/mcrypt/tags-fix.sh M src/pgsql/Makefile.am M src/pgsql/tags-fix.sh M src/x11/Makefile.am M src/x11/tags-fix.sh commit 4b8f1cd4298b59930e93ba13b03ebb61e9813b76 Author: Matt Birkholz Date: Sun Aug 4 15:45:58 2019 -0700 Plugin builds: Add adapter.c to _shim_la_SOURCES, not _LIBADD. M src/blowfish/Makefile.am M src/gdbm/Makefile.am M src/mcrypt/Makefile.am M src/x11/Makefile.am commit 6c34ca59759efa3bcdbd44d2c3ae78afba083c8e Author: Matt Birkholz Date: Sun Aug 4 13:52:47 2019 -0700 Plugin builds: Use MIT_SCHEME_PKD, not MIT_SCHEME_OS_SUFFIX. M src/blowfish/configure.ac M src/edwin/Makefile.am M src/edwin/configure.ac M src/gdbm/configure.ac M src/imail/Makefile.am M src/imail/configure.ac M src/mcrypt/configure.ac M src/pgsql/configure.ac M src/x11-screen/configure.ac M src/x11/configure.ac commit 9670404320bb132064dc3c576acb812d9434ce08 Author: Matt Birkholz Date: Sun Aug 4 15:25:14 2019 -0700 Plugin builds: Do not include generated -const.c in dist. M src/blowfish/Makefile.am M src/gdbm/Makefile.am M src/mcrypt/Makefile.am M src/pgsql/Makefile.am M src/x11/Makefile.am commit 2992a443f5055e09d3cd5edc03bfa5d0c77d189d Author: Matt Birkholz Date: Sun Aug 4 16:56:01 2019 -0700 Plugin builds: Restore dependence of stamp-scheme on -const.bin. The stamp-scheme target builds -types.bin, not -const.bin. The -const.bin comes from plugin-const.scm which comes from ./plugin-const which comes from -const.c which is a product of stamp-shim. M src/blowfish/Makefile.am M src/gdbm/Makefile.am M src/mcrypt/Makefile.am M src/pgsql/Makefile.am M src/x11/Makefile.am commit 02168a8aee9190dde36dd703aabee020b82b60c4 Author: Matt Birkholz Date: Sun Aug 4 09:59:14 2019 -0700 Silence autogen.shs when plugins are built separately. M src/Setup.sh M src/blowfish/autogen.sh M src/edwin/autogen.sh M src/gdbm/autogen.sh M src/imail/autogen.sh M src/mcrypt/autogen.sh M src/pgsql/autogen.sh M src/x11-screen/autogen.sh M src/x11/autogen.sh M tests/ffi/autogen.sh commit a45adc97bb17180fef0f5f8830cc26bf7ab9a2a0 Author: Matt Birkholz Date: Sun Aug 4 16:06:13 2019 -0700 mcrypt/Makefile.am: typo M src/mcrypt/Makefile.am commit 57f4f307e799e4face83c4d5ef33ca37b54c77ea Author: Matt Birkholz Date: Sun Jul 14 13:40:41 2019 -0700 Add subprocess-binary-i/o-port. M src/runtime/process.scm M src/runtime/runtime.pkg commit 7f8e68761cdc31045294aa44d58c1e1c1b47b5d7 Author: Matt Birkholz Date: Thu Jul 25 08:31:43 2019 -0500 Plugin Makefile.am improvements. These were backported from recent improvements to x11/Makefile.am. + Use EXEEXT where appropriate. + Add MOSTLYCLEANFILES and mostlyclean-local. + Use TAGS_FILES and punt the ETAGS_ARGS misuse. + Add -adapter.lo to _shim_la_OBJECTS, not _shim_la_LIBADD. + Eliminate trailing whitespace. + Correct the copyright notices for x11 and x11-screen. + Punt stamp-scheme's dependence on -const.bin (redundant to the dependence on stamp-shim). M src/blowfish/Makefile.am M src/edwin/Makefile.am M src/gdbm/Makefile.am M src/imail/Makefile.am M src/mcrypt/Makefile.am M src/pgsql/Makefile.am M src/x11-screen/Makefile.am M src/x11/Makefile.am commit 02eb872c48cf21add8221a2e74c14f60c07ea6a9 Author: Matt Birkholz Date: Thu Jul 25 08:27:59 2019 -0500 Silence autogen.shs, which blabber error messages (to Emacs's eye). M src/Setup.sh commit 6a3f6baab20aede5458f92ba5877b0565f316439 Author: Matt Birkholz Date: Sun Jul 14 13:22:47 2019 -0700 gdbm: Downcase constants to match case in package descriptions. M src/gdbm/gdbm-check.scm M src/gdbm/gdbm-check.sh M src/gdbm/gdbm.scm commit 2d734f452792f9609eaaa7cb289118bf2577a843 Author: Chris Hanson Date: Sat Jul 20 04:33:57 2019 -0400 Change symbolstring. M src/runtime/symbol.scm commit 09372511edffc87ff37c37a2224a3f403f0066e9 Author: Chris Hanson Date: Sat Jul 20 04:33:47 2019 -0400 Implement bytevector Date: Fri Jul 19 22:08:00 2019 -0400 Don't unread #f as if it were a character. M src/runtime/generic-io.scm commit 08e4e43e2f1f6a31a3f22ea19f51bb347e211f20 Author: Chris Hanson Date: Thu Jul 18 23:26:56 2019 -0400 Edwin: force subprocess I/O ports to use iso-8859-1 coding. There may still be a problem with synchronous subprocesses, since we don't have a way to get at those ports. If the process writes UTF-8, then the I/O copier will try to write unicode chars to a buffer, and I'm not sure what will happen in that case. It might just ignore the upper bits. M src/edwin/process.scm commit 8ab22a695b3801e59c5067fb065e7dfad4e59c96 Author: Chris Hanson Date: Wed Jul 17 18:54:49 2019 -0400 Treat keyword-only syntax environments differently from runtime environments. The former are those created by let-syntax and the like; the latter are models of runtime environments as created by lambda. This fixes a bug when let-syntax contains a bunch of definitions, which should be defined in the parent environment of the let-syntax, because it's meaningless to define them in the let-syntax environment itself. This was previously worked around by heuristic means, but this change makes the definitions appear in the correct syntactic environment corresponding to the runtime environment. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M tests/runtime/test-syntax-rename.scm commit 1afe2dabb341a1247754dbce14cb70cf81f38d54 Author: Chris Hanson Date: Wed Jul 17 15:55:48 2019 -0400 Implement a delegation protocol for bundles. M src/runtime/bundle.scm M src/runtime/runtime.pkg M tests/runtime/test-bundle.scm commit f0b35772f18b6649fbae4548c78fe71f60fc59e7 Author: Chris Hanson Date: Tue Jul 9 19:53:32 2019 -0400 Fix stupid typo in reader. M src/runtime/reader.scm commit ee4105a8e99db8e9304052343ab0fb69ecafcedf Author: Chris Hanson Date: Mon Jul 8 23:28:20 2019 -0400 Fix screw-up in previous host-adapter change. M src/runtime/host-adapter.scm commit 0676b2bc2ca60d7270b8c35bac9d226a1da5c6e8 Author: Chris Hanson Date: Mon Jul 8 23:10:10 2019 -0400 Eliminate unused variable from typo. M src/runtime/floenv.scm commit d41c8338f7eaaadcdd96b9cf20364bd76a3d7ed9 Author: Chris Hanson Date: Mon Jul 8 22:51:41 2019 -0400 Fix a bunch of problems caused by the call-with-values/values change. First, SF was open-coding these, so that the compiled code wasn't using the new convention. This caused problems at the boundary between interpreted code and compiled code, and of course the compiled code was now incorrect. This is fixed but requires stuff in host-adapter to make it work. Second, eliminating the open-coding exposed a couple of places that would no longer initialize correctly during the cold load because they were initialized prior to the loading of the multiple-values procedures. This is fixed by rewriting those to not use multiple values and have been marked with comments. Finally, because the host-adapter file is now changing SF, SF must be loaded prior to loading the host adapter. There was one case in the make file that needed to be tweaked to make this guarantee. M src/Makefile.in M src/runtime/arith.scm M src/runtime/boot.scm M src/runtime/host-adapter.scm M src/sf/usiexp.scm commit 9b94290f82a99dfdb63ae94defcc8a92f2c0514d Author: Chris Hanson Date: Mon Jul 8 22:48:43 2019 -0400 Don't choose the flo:+inf.0/flo:-inf.0 implementations at cold load. This is wrong because in our public distributions, the cold load is done on Ubuntu, but the code is supposed to run on any appropriate unix system. The fix is to make the selection when the band is restored, guaranteeing that it's running on the target system. M src/runtime/floenv.scm commit 7da75bdcdb935a4fb72a05482b4b54cebd750d84 Author: Chris Hanson Date: Mon Jul 8 15:35:03 2019 -0400 Add procedure-arity-intersection. M src/runtime/procedure.scm M src/runtime/runtime.pkg commit 4383801e6e05d2b5b3a3dcf274e410e2f42ce8b8 Author: Chris Hanson Date: Mon Jul 8 15:34:09 2019 -0400 Change multiple-value return to be slighly closer to correct. It's never going to be correct, but this at least permits mixing single values and multiple values a bit. M src/runtime/global.scm commit a2b3314e628b5af7cbbad712a17143eabdbfa7c9 Author: Chris Hanson Date: Mon Jul 8 15:33:23 2019 -0400 Don't use +inf.0 because it throws an exception on macos. This will need to be fixed but right now it prevents compilation. M src/runtime/arith.scm commit e45856cff387760b88ec63428ed17ec742f8e5c9 Author: Taylor R Campbell Date: Mon Jul 8 00:57:25 2019 +0000 Plot the new math functions and their condition numbers. Plots are done purely in PostScript, so no additional tools required on top of the existing PostScript/PDF stack we essentially already depended on. Plots are cubic spline interpolations computed by a little automatic differentiation library in PostScript. Fix some mistakes in the prose characterizations of the condition numbers that I had written. M doc/make-common.in M doc/ref-manual/Makefile.in A doc/ref-manual/fig/cn-expm1.eps A doc/ref-manual/fig/cn-log1mexp.eps A doc/ref-manual/fig/cn-log1p.eps A doc/ref-manual/fig/cn-log1pexp.eps A doc/ref-manual/fig/cn-logistic.eps A doc/ref-manual/fig/cn-logistichalf.eps A doc/ref-manual/fig/cn-logit.eps A doc/ref-manual/fig/cn-logitexp.eps A doc/ref-manual/fig/cn-logithalf.eps A doc/ref-manual/fig/cn-loglogistic.eps A doc/ref-manual/fig/expm1.eps A doc/ref-manual/fig/log1mexp.eps A doc/ref-manual/fig/log1p.eps A doc/ref-manual/fig/log1pexp.eps A doc/ref-manual/fig/logistic.eps A doc/ref-manual/fig/logistichalf.eps A doc/ref-manual/fig/logit.eps A doc/ref-manual/fig/logitexp.eps A doc/ref-manual/fig/logithalf.eps A doc/ref-manual/fig/loglogistic.eps M doc/ref-manual/numbers.texi M doc/ref-manual/scheme.texinfo commit a82359862ee7c72dfb90a2f0d9d5a72908256938 Author: Taylor R Campbell Date: Mon Jul 1 00:22:21 2019 +0000 Fix typo. M doc/ref-manual/numbers.texi commit 2009e53024351b05087eed7f2b094d38a6e57398 Author: Taylor R Campbell Date: Mon Jul 1 00:16:04 2019 +0000 Clarify the non-significance of the total ordering. M doc/ref-manual/numbers.texi commit 34982345fea8dbfe32b76ed8d52a3c42ea6ccc6d Author: Taylor R Campbell Date: Mon Jul 1 00:13:38 2019 +0000 Tweak some text strength. M doc/ref-manual/numbers.texi commit 5227517eddeab4c8452bf13fd3f7234da01dad4a Author: Taylor R Campbell Date: Mon Jul 1 00:11:44 2019 +0000 Don't call NaN a number. M doc/ref-manual/numbers.texi commit 267540757ce583ae9d5a57e1dabef77aa2b3f9b5 Author: Taylor R Campbell Date: Mon Jul 1 00:00:31 2019 +0000 Fix pasto. M doc/ref-manual/numbers.texi commit 0f38ed6b08715845aabdf9bcf138849bc7e1b87f Author: Taylor R Campbell Date: Sun Jun 30 23:44:16 2019 +0000 Flesh out an example and fix a typo. M doc/ref-manual/numbers.texi commit 1ba89195c451e9eacea9a1d9f6104806dbe17887 Author: Taylor R Campbell Date: Sun Jun 30 23:28:06 2019 +0000 Add flo:signed-lgamma. M doc/ref-manual/numbers.texi M src/microcode/flonum.c M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit aa29a0e1346892a5b6d21f2038e73ea58c59c74f Author: Taylor R Campbell Date: Sun Jun 30 23:08:24 2019 +0000 Note a few more flonum operations. M doc/ref-manual/numbers.texi commit eac27dc721f7cb2695bb97a8f4c0c171bd52d2ce Author: Taylor R Campbell Date: Sun Jun 30 22:48:30 2019 +0000 Update random number generation section of manual. M doc/ref-manual/numbers.texi M doc/ref-manual/scheme.texinfo commit a5f504f8ab1b8db5017efc485827a7117f21fd6f Author: Taylor R Campbell Date: Sun Jun 30 22:48:08 2019 +0000 Use a trailing 0 for text clarity. M doc/ref-manual/numbers.texi commit baafcc6b590da6f0c5a33d03d6a055ec8d4f9dd0 Author: Taylor R Campbell Date: Sun Jun 30 21:59:43 2019 +0000 Document floating-point environment, exceptions, rounding modes. M doc/ref-manual/numbers.texi M doc/ref-manual/scheme.texinfo commit 043b4804d99942b3af1afa7b25d6d69458629dab Author: Taylor R Campbell Date: Sun Jun 30 20:52:56 2019 +0000 Update documentation for floating-point operations. M doc/ref-manual/numbers.texi commit 885260d2e2dc506342ff8ca8570ac79f2b7a9be0 Author: Taylor R Campbell Date: Sun Jun 30 19:50:12 2019 +0000 Fix flo:ulp on NaN. M src/runtime/primitive-arithmetic.scm M tests/runtime/test-flonum.scm commit a33da0a2c3813cd29cf2710ad509e8225b1b7033 Author: Taylor R Campbell Date: Sun Jun 30 19:49:19 2019 +0000 flo:ulp is busted on NaN. M tests/runtime/test-flonum.scm commit ca82978311908c30227e1c5c2436bde49445a18a Author: Taylor R Campbell Date: Sun Jun 30 19:06:04 2019 +0000 Document copysign. M doc/ref-manual/numbers.texi commit d7265ac719a6fcd8666b84582a144f6600ec5e95 Author: Taylor R Campbell Date: Sun Jun 30 18:58:54 2019 +0000 Couple more logsumexp tests. M tests/runtime/test-arith.scm commit 8cf7c5f8f0bbcdf3f1b6bcf635a6ae13f7461e60 Author: Taylor R Campbell Date: Sun Jun 30 04:39:33 2019 +0000 Document some loggy numerical functions. M doc/ref-manual/numbers.texi commit 863444eb0e412d0f8314fbfb887b0e633f4ea717 Author: Taylor R Campbell Date: Sun Jun 30 04:30:24 2019 +0000 Repair mistakes in proofs of some error bounds. While here: - Spell out some magic constants. - Handle and test some edge cases in log1pexp and log1mexp. - Paginate. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 25d1b0d9d3fb4cb6171e0a935e4fe8aca08c9087 Author: Taylor R Campbell Date: Thu May 30 05:29:56 2019 +0000 Expect some failures to signal errors on fp exception traps on arm64. M tests/runtime/test-arith.scm commit 6eafe49a8378365648a3c06ab8ecf4e749885534 Author: Chris Hanson Date: Sat Jun 29 14:21:52 2019 -0700 Fix calls to read-bytevector! that weren't aware of EOF values. M src/edwin/sendmail.scm M src/imail/imail-util.scm M src/runtime/http-io.scm commit 2918e6ebcc05ff48a868e0d47530f11b0006756e Author: Chris Hanson Date: Sun Jun 9 12:52:07 2019 -0700 Add "adapters" to list of source files. M src/edwin/sources.scm commit 19632b390bd3268b761a0cec8562c0c885aff2e6 Author: Chris Hanson Date: Sat Jun 8 21:07:54 2019 -0700 Suggest use of macOS command line developer tools rather than Xcode. M doc/user-manual/user.texinfo commit c2c06d4bd2a194b34ea9b4b67b031f4a82bc1017 Author: Chris Hanson Date: Sat Jun 8 19:20:02 2019 -0700 Update make-upload-files to new version. M dist/make-upload-files commit 8ffa6ff3453f144504b39f6fc7ed995a2833ef9a Author: Chris Hanson Date: Sat Jun 8 14:23:48 2019 -0700 Fix incorrect edit. M src/imail/imail-imap.scm commit 21d158a5ec8de5839c7d73ca7eb95a0860f7d16a Author: Chris Hanson Date: Fri Jun 7 22:02:39 2019 -0700 Teach reader to find and respect "coding" attribute. This allows a file to override the default utf-8 coding. M src/runtime/reader.scm commit 0b3efb0966e20b99e719108cc5cacaf5b1f0b425 Author: Chris Hanson Date: Thu Jun 6 23:10:07 2019 -0700 Make sure that ports use ISO 8859-1 coding. A src/edwin/adapters.scm M src/edwin/decls.scm M src/edwin/ed-ffi.scm M src/edwin/edwin.ldr M src/edwin/edwin.pkg commit af74ab812b5280fdd0aa5a13537c7168bdfeb051 Author: Chris Hanson Date: Thu Jun 6 22:25:29 2019 -0700 Modify CREF to show references to inherited bindings. This will help track down which parts of the string abstraction need to be replaced. M src/cref/forpkg.scm M src/cref/object.scm commit d8bd5518a2839d21a565fd3d494973260272ccdb Author: Taylor R Campbell Date: Wed May 29 22:17:25 2019 +0000 lisppaste is dead. M src/edwin/decls.scm M src/edwin/ed-ffi.scm M src/edwin/edwin.pkg D src/edwin/lisppaste.scm M src/edwin/loadef.scm M src/edwin/sources.scm commit 5ae9aa0dbfd5160ca639af31ccda32366a99173d Author: Taylor R Campbell Date: Wed May 29 21:14:09 2019 +0000 Fix bug that caused redrawing whole display on paren flash. M src/edwin/simple.scm commit e4efa02c98e06c00a3541f56a1e5dce94c45e925 Author: Taylor R Campbell Date: Wed May 29 20:47:46 2019 +0000 Hold strong reference to message header while writing summary line. This way the GC won't be inclined to eat it from under us when we're just going to parse it again in a moment for the date or subject. M src/imail/imail-summary.scm commit d958ab7ac94413d954a2f15a23c7a317ac0bf075 Author: Taylor R Campbell Date: Wed May 29 20:47:35 2019 +0000 Tighten encode-cache-namestring. M src/imail/imail-imap.scm commit 19232fbaabd6a24a30eb53d6dacb5199b3fc7d2d Author: Taylor R Campbell Date: Wed May 29 20:43:55 2019 +0000 Use channel I/O directly for file->string and string->file. Here a string is an octet sequence, always in US-ASCII or UTF-8, so we don't need the rigmarole of text I/O. M src/imail/imail-imap.scm commit 40b38b004302f7f23024f0ea220e8bad3fa00688 Author: Taylor R Campbell Date: Wed May 29 16:14:43 2019 +0000 Make number of topmost frames with expressions shown configurable. M src/runtime/runtime.pkg M src/runtime/stack-sample.scm commit eefd86a6e67babba7d4c4eaa0fc80bd91b992f52 Author: Taylor R Campbell Date: Wed May 29 16:13:50 2019 +0000 Use the Edwin-private %string-append. No need to pay the cost of wide stuff with string-append*. M src/edwin/string.scm commit 6748a3cf190f5232d25483f15a833e8a61e706be Author: Taylor R Campbell Date: Wed May 29 16:10:52 2019 +0000 Let SIGALRM do its thing even if we're on the right millisecond. If we request a timer interrupt now in logic that closes a lot of files, which runs through %deregister-io-descriptor, it looks like _all_ the time is spent in closing files even if it's merely the case that at least one file is closed every millisecond. If we instead let SIGALRM do its thing, unless the interrupt is _overdue_, then the profiler can discriminate at sub-millisecond resolution where the time is spent which is what I really want. M src/runtime/thread.scm commit 9d191b029615e10539fbb1504419ee259258db5a Author: Taylor R Campbell Date: Wed May 29 14:33:29 2019 +0000 Line break between #; and multiline expression. Otherwise Emacs gets confused. M src/berkeley-db/berkeley-db.scm M src/gdbm/gdbm-check.scm M src/runtime/ffi.scm M src/runtime/thread-low.scm M src/runtime/thread-queue.scm M src/runtime/thread.scm commit 214cee1229fd10f3a4303cb4613af03a3915d5fe Author: Taylor R Campbell Date: Wed May 29 04:57:53 2019 +0000 Use number->string directly; skip dispatch through write-to-string. M src/imail/imail-imap.scm commit 9a3417ac7a5f294fbbda397086d890029d45343a Author: Taylor R Campbell Date: Wed May 29 04:24:40 2019 +0000 Block interrupts, _then_ lock. Otherwise an interrupt might try to acquire the lock while we already hold it, leading to deadlock. M src/runtime/gcfinal.scm commit c9608c1efcd247ed84b2a2afafa523a7b599648c Author: Taylor R Campbell Date: Wed May 29 04:12:04 2019 +0000 Rework profiler to be more useful. Just make a histogram of stacks and print that. M src/runtime/stack-sample.scm commit aec466572291046f0dde041eb29a8330ffc7ab8f Author: Taylor R Campbell Date: Wed May 29 04:11:52 2019 +0000 Fix check for arity of hash: must be binary, not unary. M src/runtime/hash-table.scm commit b0b11d54bc0d0cf639ca7205fc8e3396e4fd6807 Author: Taylor R Campbell Date: Wed May 29 04:10:57 2019 +0000 Process pending thread events when unblocking them. Partly fixes bug where profiler never got a chance to run when the program was doing most of its work in short routines that block and unblock thread events, like opening and closing files. Only partly, because it seems something else unblocks thread events without processing them -- until we do another block/unblock cycle as in channel-close. Verified that very little time is actually spent in channel-close; haven't yet tracked down who the culprit is. M src/runtime/thread.scm commit 8f4e491fd35266b0c052866a1476c57d4a292a68 Author: Taylor R Campbell Date: Wed May 29 00:53:14 2019 +0000 Integrate some subroutines that turn up hot in profiles. M src/runtime/string.scm commit cb78efb5a2f6bde892ff91330ec588840d27fd85 Merge: c4109d928 d7cf9e8a8 Author: Taylor R Campbell Date: Tue May 28 13:46:11 2019 +0000 Merge branch 'riastradh-20190527-unicodereplacechar' commit d7cf9e8a8b14fe56e746dd7ddec03b3e67d6d4a9 Author: Taylor R Campbell Date: Mon May 27 16:21:08 2019 +0000 Implement character replacement on ill-formed octet sequences. - (utf8->string bv start end #t) now replaces by U+FFFD. Existing behaviour of (utf8->string bv [start end]) is unchanged so that utf8->string will fail noisily rather than quietly fail to be invertible by string->utf8 on certain inputs. - Generic I/O input now replaces ill-formed octet sequences by U+FFFD. TODO: Add (port/set-coding-error port ) for = replace or = error, perhaps. TODO: This does not exactly implement the replacement algorithm recommended as a best practice by Unicode 9, §3.9, pp. 127-129. That algorithm is inconveneint because our decoder is factored into (a) claiming a length based on the first code unit, and then (b) consuming exactly that many bytes; the algorithm requires us to refactor it so that part (b) can say `never mind' and consume fewer bytes than (a) requeste. M src/runtime/bytevector.scm M src/runtime/char.scm M src/runtime/generic-io.scm M src/runtime/runtime.pkg M tests/runtime/test-char.scm commit c4109d9287476d1f432fc411a040d24ce92a8675 Author: Taylor R Campbell Date: Mon May 27 17:54:34 2019 +0000 Set port coding to ISO-8859-1 for IMAP. This is a sleazy workaround: sometimes the input is really encoded as UTF-8, but passing it through Scheme `strings' as ISO-8859-1 works out to approximately the not-wrong thing. Really we should be operating on octets, not on characters-as-if-they-were-octets. M src/imail/imail-imap.scm M src/imail/imap-response.scm commit 7a371df58258c30895cefb960a1c2c1d1a233987 Author: Matt Birkholz Date: Fri May 17 09:33:16 2019 -0700 Fix enumerate-graphics-types per documentation. M src/runtime/graphics.scm commit a629b61e5ea21f6a23c0ec4d68ccbca64f993845 Author: Chris Hanson Date: Tue May 7 23:50:48 2019 -0700 Treat strings returned from primitives as UTF-8 coded. In particular, make sure that filenames are treated this way, because this is normal for modern unix systems. This change mostly affects filenames, but also environment variables and command-line strings. This is necessary because strings passed to primitives are converted to UTF-8 bytevectors. Otherwise, a non-ASCII filename returned by a primitive won't be converted back to the same bytes when passed to another primitive. M src/runtime/command-line.scm M src/runtime/os-primitives.scm M src/runtime/primitive-io.scm M src/runtime/runtime.pkg M src/runtime/savres.scm M src/runtime/sfile.scm M src/runtime/string.scm M src/runtime/unxprm.scm M src/runtime/wrkdir.scm commit 884c387f431df4e5db825426477a6931bdb3adcb Author: Chris Hanson Date: Tue May 7 22:58:06 2019 -0700 On macOS, support building without Xcode installed. However, command line tools must be installed. M src/microcode/configure.ac commit dec2a72ab02f53bb7fb936649807c049863c8ad0 Author: Matt Birkholz Date: Mon Apr 29 14:43:08 2019 -0700 x11-test: Expect the correct device name. Use x-graphics-draw-arc. M src/x11/x11-test.scm commit e404a3254638369a7ccb6331390c472f7d3d5421 Author: Matt Birkholz Date: Mon Apr 29 13:34:18 2019 -0700 x-graphics-draw-arc: Add missing parameters. M src/x11/x11-graphics.scm commit 6865fa1714987f4dfbfd57dd40e9b1c490dcef9b Author: Taylor R Campbell Date: Sat Apr 20 19:30:40 2019 +0000 Make this run on ucode without nonnegative-fixnum-length/mask. M src/runtime/microcode-tables.scm commit 4c0bd8339bc5f3c59f55c62c6f35440bff2cb3bf Author: Taylor R Campbell Date: Sat Apr 20 19:23:16 2019 +0000 Specify arity in newer primitives. M src/sf/gconst.scm commit c2c7ad72520631dec523ce3a2092afcd4cabf264 Author: Arthur A. Gleckler Date: Tue Mar 19 17:01:19 2019 -0700 Fix spelling error. This came from the text of SRFI 9, which I've also corrected. M doc/ref-manual/special-forms.texi commit 2d21f7aca1a8a4cbae81940e17ffb93d0c249b43 Author: Chris Hanson Date: Sun Mar 17 22:56:09 2019 -0700 Eliminate unused handler for printing URIs. M src/runtime/printer.scm commit 0a7ea142030afd2e9fa0b6e41cd59de13f42b31d Author: Chris Hanson Date: Sat Mar 16 01:10:52 2019 -0700 Add test to make sure that string slices print correctly. M tests/runtime/test-string.scm commit 8def1899b194e66211cdcd05f020385571e56152 Author: Chris Hanson Date: Fri Mar 15 22:27:01 2019 -0700 Fix bug in printing of string slices. M src/runtime/printer.scm M src/runtime/runtime.pkg commit 75ff625bd63227023ae1e1f58ec3a05e20c90427 Author: Chris Hanson Date: Fri Mar 15 22:15:58 2019 -0700 Remove cleverness for SIGTERM and SIGHUP. SIGTERM shouldn't be caught; instead just leave the default behavior. SIGHUP is sent by Emacs when the *scheme* buffer is killed; it must kill the process or we're left with a detached process. M src/microcode/uxsig.c commit 414b602168939c53317c364f6eb3d30fde5a7cca Author: Taylor R Campbell Date: Sat Feb 23 03:21:00 2019 +0000 Fix recursion in n-ary append. M src/runtime/list.scm M tests/runtime/test-list.scm commit 79025a7087ab690946339ea58ef8cb1f19e5de57 Author: Taylor R Campbell Date: Sat Feb 23 03:16:30 2019 +0000 Test append on dotted lists. I broked it. M tests/runtime/test-list.scm commit a138277a2f23691f9eea2538994315d4ea79624d Author: Taylor R Campbell Date: Mon Feb 11 05:07:22 2019 +0000 Add release note about cross-compilation. A src/relnotes/cross commit 9b299f03ca1454c72d574f56ad3c433321e2796d Author: Taylor R Campbell Date: Mon Feb 11 05:00:51 2019 +0000 Add release notes about big-endian and powerpc. A src/relnotes/bug-bigendian A src/relnotes/bug-ppcfloenv commit 993a92d585337050eb5c0efbcb3e8bd82690674c Author: Taylor R Campbell Date: Mon Feb 11 05:00:36 2019 +0000 Use arity-dispatched procedures for APPEND and APPEND!. APPEND turns up hot in the compiler, because LAP = quasiquote. Let's skip some round-trips through the microcode, shall we? M src/runtime/list.scm commit c8acbfab96f162c933c043f9063b63417494a172 Author: Taylor R Campbell Date: Mon Feb 11 00:56:37 2019 +0000 Simplify and factor out carefully checking for stack overflows. M tests/runtime/test-list.scm M tests/runtime/test-pp.scm M tests/runtime/test-promise.scm M tests/unit-testing.scm commit 74022ecc03dcdd1631867ac1c5e84c7943a8c8fc Author: Taylor R Campbell Date: Mon Feb 11 00:44:21 2019 +0000 Confirm delv does not blow out the stack. M tests/runtime/test-list.scm commit 201ab3340e26ebb402665df744f070ab434a9d5b Author: Taylor R Campbell Date: Mon Feb 11 00:36:36 2019 +0000 Add some tests of blowing out the stack with SRFI 1. M tests/check.scm A tests/runtime/test-list.scm commit ec99f9c4a509a4f61c2311ae2197d6e410bc18cb Author: Taylor R Campbell Date: Mon Feb 11 00:16:06 2019 +0000 Tidy up deletion routines in list.scm. - Share code. - Use constant stack space. M src/runtime/list.scm commit e2c134e1237c117b11993c1c81bd6d46728602c4 Merge: deec31a7e 4a1d2dcb5 Author: Taylor R Campbell Date: Mon Feb 11 00:45:58 2019 +0000 Merge branch 'riastradh-20190210-letrecdefn' - Improve performance of LETREC* and unary LETREC. - Convert various multi-way LETRECs to internal definitions. The compiler knows about internal definitions. Teaching to recognize patterns of LET and SET! produced for LETREC semantics is a lot of trouble, and internal definitions are usually much more legible anyway. This is a lot of little commits in case I made a mistake so you can bisect to find the mistake. commit 4a1d2dcb544c444cb98ce65ff7b67a46e1d78ded Author: Taylor R Campbell Date: Sun Feb 10 22:40:10 2019 +0000 Convert multi-LETREC to internal definitions in edwin/undo.scm. M src/edwin/undo.scm commit be7288132e8afd2e72f56bf2eb8dd7c4b1373b99 Author: Taylor R Campbell Date: Sun Feb 10 22:40:05 2019 +0000 Convert multi-LETREC to internal definitions in edwin/txtprp.scm. M src/edwin/txtprp.scm commit 33451c6d93f2d5437b88ef8d5a78c1759dd5fc25 Author: Taylor R Campbell Date: Sun Feb 10 22:39:59 2019 +0000 Convert multi-LETREC to internal definitions in edwin/tterm.scm. M src/edwin/tterm.scm commit e7bb3cba4b5e1aa85913c5bb199dc8396ea14f60 Author: Taylor R Campbell Date: Sun Feb 10 22:39:54 2019 +0000 Convert multi-LETREC to internal definitions in edwin/tparse.scm. M src/edwin/tparse.scm commit b51010e654862b74290bfb7403e80cd3925a7a2b Author: Taylor R Campbell Date: Sun Feb 10 22:39:49 2019 +0000 Convert multi-LETREC to internal definitions in edwin/string.scm. M src/edwin/string.scm commit 330916480d6a64566c89d5568869cd1f8cd0f3cd Author: Taylor R Campbell Date: Sun Feb 10 22:39:41 2019 +0000 Convert multi-LETREC to internal definitions in edwin/occur.scm. M src/edwin/occur.scm commit 10f62e3e7cbab2d3d0eb47380adeed8243e4ab0f Author: Taylor R Campbell Date: Sun Feb 10 22:39:07 2019 +0000 Convert multi-LETREC to internal definitions in sos/class.scm. M src/sos/class.scm commit b56664d6b2a3388b95881fa2daa5d725012fb10d Author: Taylor R Campbell Date: Sun Feb 10 22:38:53 2019 +0000 Convert multi-LETREC to internal definitions in uri.scm. M src/runtime/url.scm commit 33d3e0390b074f6b49cd55ea1888faf3c9ebec68 Author: Taylor R Campbell Date: Sun Feb 10 22:38:50 2019 +0000 Convert multi-LETREC to internal definitions in thread.scm. M src/runtime/thread.scm commit 55a9acfb667a74e057b6664fb97e85c9a3baf067 Author: Taylor R Campbell Date: Sun Feb 10 22:38:44 2019 +0000 Convert multi-LETREC to internal definitions in stream.scm. M src/runtime/stream.scm commit 79076786251f403ce001b91c2cd00f96e4031c3d Author: Taylor R Campbell Date: Sun Feb 10 22:38:24 2019 +0000 Convert multi-LETREC to internal definitions in srfi-1.scm. M src/runtime/srfi-1.scm commit 16df0c9f84846d86929c619ab75c516ddd0605b0 Author: Taylor R Campbell Date: Sun Feb 10 22:38:10 2019 +0000 Convert multi-LETREC to internal definitions in rfc2822-headers.scm. M src/runtime/rfc2822-headers.scm commit 34aca8148961259af5742f8e3f58a1b530093a4f Author: Taylor R Campbell Date: Sun Feb 10 22:37:54 2019 +0000 Convert multi-LETREC to internal definitions in ordvec.scm. M src/runtime/ordvec.scm commit 65ee3b111cc9cb2c0fce888a99b17ac726136747 Author: Taylor R Campbell Date: Sun Feb 10 22:37:37 2019 +0000 Convert multi-LETREC to internal definitions in list.scm. M src/runtime/list.scm commit 05dbe169b6228cec868e567a3b0a82eb9e4c77e0 Author: Taylor R Campbell Date: Sun Feb 10 22:37:18 2019 +0000 Convert multi-LETREC to internal definitions in lambda-list.scm. M src/runtime/lambda-list.scm commit b86773b0d850808d7379b3af2e8c6dce01665f1b Author: Taylor R Campbell Date: Sun Feb 10 22:35:38 2019 +0000 Convert multi-LETREC to internal definitions in dispatch-cache.scm. M src/runtime/dispatch-cache.scm commit a79f202573194dc7e3bb4bf3d72253362e3e7053 Author: Taylor R Campbell Date: Sun Feb 10 22:35:19 2019 +0000 Convert multi-LETREC to internal definitions in arith.scm. M src/runtime/arith.scm commit 5bf626e1a9548dd64f3f9383c1b6c1e34fb63159 Author: Taylor R Campbell Date: Sun Feb 10 22:25:12 2019 +0000 Convert multi-LETREC to internal definitions. The compressor turns up hot in profiles. This doesn't make a big difference but it saves some closure consing and reduces some indentation levels. M src/runtime/cpress.scm commit 29cfa123f542d37ec111ddd3d2d91b7b992f202b Author: Taylor R Campbell Date: Sun Feb 10 22:20:32 2019 +0000 Add some LETREC and LETREC* tests. M tests/check.scm A tests/runtime/test-letrec.scm commit 8e57468344961c4b7481b98d62d85de76f7aac7d Author: Taylor R Campbell Date: Sun Feb 10 22:09:48 2019 +0000 Use internal definitions for LETREC* and unary LETREC. The compiler will recognize these better than LET and SET!; teaching it to recognize LET and SET! is more trouble than I want to deal with at the moment. Internal definitions at the scode level have LETREC* semantics anyway, and with only a single binding, LETREC and LETREC* coincide. M src/runtime/mit-macros.scm commit deec31a7e14232a0fc9d30d9e9846c0d9ca5e6b0 Author: Chris Hanson Date: Sun Feb 10 14:04:07 2019 -0800 Eliminate potentially-problematic use of delay for char-set-predicate. M src/runtime/char-set.scm commit c0f440fe8abb982ff7377b6d97ecea9250bfcd4a Author: Taylor R Campbell Date: Sun Feb 10 04:34:34 2019 +0000 Use arity-dispatched procedures for MAP, FOR-EACH, &c. Requires shuffling initialization order in make.scm a little bit so that we can call MAKE-ARITY-DISPATCHED-PROCEDURE in list.scm. Saves a trip through the microcode to compute the lexpr for each call to MAP and FOR-EACH, which turned up hot in profiles. M src/runtime/list.scm M src/runtime/make.scm commit af44f134ff14d787a1b6aeeef14b9a25e5b3ef8d Author: Taylor R Campbell Date: Sun Feb 10 04:32:05 2019 +0000 Integrate NULL-LIST?. This is used all over common SRFI 1 list operations, so what should have been a pair of conditional branches turned into unknown procedure calls, sometimes through a trampoline to fill in default arguments, which turned up in profiling the compiler. M src/runtime/list.scm M src/runtime/srfi-1.scm commit 47ffa626f37d8b1eb165fdadbcb3b835f7d8f4e7 Author: Taylor R Campbell Date: Sun Feb 10 04:26:40 2019 +0000 Add GENERAL-CAR-CDR to usual integrations. The compiler explicitly calls this for every RTL accessor, so that would explain why this primitive was turning up hot. Should speed up the compiler a little to avoid diving into microcoded primitives for every attempt to get a piece out of an RTL expression during the RTL passes! M src/sf/gconst.scm commit 933a0f9dd635544ff93d5d976a922b92c809fb30 Author: Chris Hanson Date: Sat Feb 9 16:20:33 2019 -0800 Put char-set microcode table back in data structure. Edwin needs this. M src/edwin/edwin.pkg M src/edwin/string.scm M src/runtime/char-set.scm M src/runtime/runtime.pkg commit 79518c17ffb6d1297dee70e6b03dc30c0cf2f9fb Author: Taylor R Campbell Date: Sat Feb 9 16:14:15 2019 +0000 Cache char set table. This is a provisional kludge to make string searches by character set in Edwin less obscenely expensive than they are at the moment, which is killing IMAIL. Formerly we just cached these in the char-set object itself. M src/edwin/string.scm commit 238e03512fb58579bdf78b902ed4c4e83232164a Author: Taylor R Campbell Date: Sat Feb 9 16:14:57 2019 +0000 Integrate record accessors and modifiers where convenient. Limited to record types with: - a defined predicate name we can pass to GUARANTEE, and - no parent type so we can statically determine the field offsets. Obviously it would be better if the compiler could do the flow analysis to figure out where it can statically partially evaluate RECORD-ACCESSOR and RECORD-MODIFIER, but, y'know, exercise for the reader. M src/runtime/mit-macros.scm commit 8e0f00a824e4d2ba103e5e7464946b63cf05f067 Author: Taylor R Campbell Date: Wed Jan 9 04:04:51 2019 +0000 Defer unmasking timer interrupt until after daemon is marked running. Otherwise we might re-enter on timer interrupt. M src/runtime/interrupt.scm commit 991a80069f3f0471a46487109e30e2ffaa3c8fc6 Author: Taylor R Campbell Date: Wed Jan 9 04:04:12 2019 +0000 Avoid consing closures if we're low on space. M src/runtime/gcnote.scm commit c8e355ff3c0666d79a4c4863fd0a2c72ca34669a Author: Taylor R Campbell Date: Sun Jan 6 04:14:15 2019 +0000 Can't see why I chose to discard recent samples a decade ago. M src/runtime/stack-sample.scm commit de3dd56418b9e124aa9a51e4bd6bbcc6ba30aee7 Author: Taylor R Campbell Date: Sun Jan 6 04:14:01 2019 +0000 Dust off stack sampler. Use of compiled-code-address? will be needed by the riastrah-20181220-closentry{...} branch. M src/runtime/stack-sample.scm commit 5b128a5b6b1548de7d9328f1f570658045190e00 Author: Taylor R Campbell Date: Fri Jan 4 05:50:47 2019 +0000 Test restarting trapped references. This is busted on x86 because of a compiler bug involving register reuse, to be fixed on the riastradh-20181220-closentry{...} branch. M tests/check.scm A tests/compiler/test-vartrap.scm commit bfd26754e6b8b6acc452e8425f44bd415947ec01 Author: Taylor R Campbell Date: Sat Feb 9 16:54:43 2019 +0000 Fix the rest of the indentation in this file. No functional change. M tests/runtime/test-syntax.scm commit 0c11d6e9c6c82944815ee4ffdadc355b3af2c1fd Author: Taylor R Campbell Date: Sat Feb 9 16:53:52 2019 +0000 Fix bug in test introduced by eliding open-block for SYNTAX. While here, fix indentation. M tests/runtime/test-syntax.scm commit e2b35aac1e8bddf05b49d7828f05d40ab647f96e Author: Chris Hanson Date: Sat Jan 26 15:21:51 2019 -0800 Eliminate simple-top-level-environment. This hasn't worked as intended since the reader was rewritten. M src/runtime/global.scm M src/runtime/option.scm M src/runtime/runtime.pkg commit cd38101be3c58a4b4361e5715375fc87a9eff4dd Author: Chris Hanson Date: Sat Jan 26 15:21:33 2019 -0800 Change param:reader-fold-case? to be settable. M src/runtime/reader.scm commit 8bdee68690a0a8e70b4f9c6183cf80f668f0cad4 Author: Matt Birkholz Date: Thu Jan 24 12:42:24 2019 -0700 x11: Fix declaration of x_graphics_set_clip_rectangle. M src/x11/x11-shim.h commit e847e7db3cd5cff37b1d19ef9c50338fa09fae82 Author: Matt Birkholz Date: Wed Jan 23 14:42:19 2019 -0700 x11 version 1.3 M src/x11/NEWS M src/x11/configure.ac commit 69096876b4974242b86582f180d4eb6be0a4656f Author: Matt Birkholz Date: Wed Jan 23 14:57:20 2019 -0700 x11: Punt import-x11. M src/x11/README M src/x11/compile.scm M src/x11/configure.ac M src/x11/x11.pkg D src/x11/x11.scm commit 51fecb2c8c30855b71b73572b1203dfc1cb6d625 Author: Matt Birkholz Date: Wed Jan 23 14:08:18 2019 -0700 runtime.pkg: Trim old, unnecessary package exports. The (runtime x-graphics) package doesn't use have-select? nor (lately) make-image-type. (The (x11 device) package imports make-image-type.) M src/runtime/runtime.pkg commit b0ea100a310b3b09134a162aca42e16c1c71bda6 Author: Matt Birkholz Date: Wed Jan 23 13:46:35 2019 -0700 x11: Link to deprecated (runtime x-graphics) bindings when loaded. M src/runtime/x11graph.scm M src/x11/make.scm commit 63d7afa5222d1b0bd6cb79e20ec0738287ceb9f0 Author: Matt Birkholz Date: Wed Jan 23 13:44:17 2019 -0700 x11: Rename device type to "x". M src/x11/x11-device.scm commit 71d9d70415cc836d245175a22bf9b937ae26ab15 Author: Chris Hanson Date: Sun Jan 20 20:22:28 2019 -0800 Don't return open block at top level when syntaxing a single form. M src/runtime/syntax.scm commit cc175b7ef75231a0220d7f384e4fc1c1dd80df67 Author: Matt Birkholz Date: Sun Jan 20 11:38:04 2019 -0800 x11: Fix x-graphics-vdc-extent and x-graphics-set-clip-rectangle. x-graphics-vdc-extent should have had one argument and returned a vector, and x-graphics-set-clip-rectangle needed to accept floats. M src/x11/x11-graphics.scm M src/x11/x11.cdecl M src/x11/x11graph.c commit f9bbec592ce3e44666f14b47d2543a034e8b829a Author: Chris Hanson Date: Sat Jan 12 13:03:39 2019 -0800 Change tests to use sub-tests as originally intended. I messed it up the first time and Taylor had to patch around my mess. M tests/runtime/test-char-set.scm commit 73c5c94ba163dd66fd02eb9165d5667d69d53e28 Author: Chris Hanson Date: Sat Jan 12 13:03:05 2019 -0800 Eliminate unnecessary consing in char-set-empty?. M src/runtime/char-set.scm commit bfbca91cc077527cffa8ec35e09ed84835780e25 Author: Chris Hanson Date: Fri Jan 11 23:41:17 2019 -0800 Find all relevant shared objects. Handle NMV headers in vectors. M src/runtime/printer.scm M tests/runtime/test-printer.scm commit 01c232d4bf913a4027a82a38c8b6ed7e1650072f Author: Taylor R Campbell Date: Sat Jan 12 01:37:43 2019 +0000 Fix pasto for LIARC build of SOS. M src/Makefile.in commit 77ad0d966a65c17c5d96569a9b987fa225423daf Author: Taylor R Campbell Date: Sat Jan 12 01:26:08 2019 +0000 gitignore LIARC build products. M src/.gitignore M src/compiler/.gitignore A src/cref/.gitignore M src/ffi/.gitignore M src/microcode/.gitignore A src/runtime/.gitignore A src/sf/.gitignore A src/sos/.gitignore A src/ssp/.gitignore A src/star-parser/.gitignore A src/tools/.gitignore A src/win32/.gitignore A src/xml/.gitignore commit c73878b659c7f0bb9f273daa1930dedbd3093b43 Author: Taylor R Campbell Date: Sat Jan 12 00:05:34 2019 +0000 Don't leave the intermediate run-build shell process hanging around. M src/run-build commit 446a365cbd4a00c468eaec986d2d9338389ffd59 Author: Taylor R Campbell Date: Fri Jan 11 09:42:12 2019 +0000 Run the ChaCha self-tests too. M src/microcode/prchacha.c commit 8a2de0b97ac0a915333727d62db17bd04a2966a8 Author: Taylor R Campbell Date: Fri Jan 11 09:37:48 2019 +0000 Refuse to let the MD5 primitives run unless self-test passes. M src/microcode/prmd5.c commit 986f2d3b128477933a5b7b647d0060fbe0873d99 Author: Taylor R Campbell Date: Fri Jan 11 09:36:56 2019 +0000 Fix buffer overflow in self-test. Derp. This self-test was not used; there's a separate test in test-md5.scm which is fine. (The result in this self-test is also correct -- it just never got tested anywhere.) M src/microcode/md5.c commit a950557a2f197f283d5f3b54c00612b443934082 Author: Taylor R Campbell Date: Fri Jan 11 09:36:00 2019 +0000 Fix byte ordering: encode state words in little-endian; don't memcpy! How did I miss this earlier!? M src/microcode/md5.c commit f23b7cd49a1852c4490df05b0ee1dc6481a089b3 Author: Taylor R Campbell Date: Fri Jan 11 08:35:19 2019 +0000 Exploit oddness to get bit-for-bit identical results on +/-. Fixes test failure on NetBSD/powerpc: ;|logit-logistic-1/2/(.2310585786300049 1.)| failed 1 sub-tests out of 1 in 0. seconds: assertion 1: value was -.23105857863000487 but expected an object = to -.2310585786300049 M src/runtime/arith.scm commit 1496f4c1d507dab5521309520de5c77ba3b5d82d Author: Taylor R Campbell Date: Fri Jan 11 06:35:27 2019 +0000 Use a much simpler endian-independent execute cache mechanism. Requires no changes to the SVM1 byte code, so existing unlinked .com files will continue to work (except for those created in the past couple hours with my big-endian bodge that entailed no changes to the little-endian hack), although built bands will confuse the microcode because what cmpint stores in execute caches in memory changed. - Before linking, an execution cache is simply the two words, as before on little-endian systems: (fixnum) (symbol) - After linking, the frame size remains untouched and the name is replaced by the untagged address of the target: (fixnum) (untagged) - INVOCATION:UUO-LINK now generates an (indirect-jump (pc-relative )) instruction, which already does the right thing: dereferences PC + offset to find a instruction address, and then jumps to that address. M src/compiler/machines/svm/assembler-runtime.scm M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/svm/rules.scm M src/microcode/cmpintmd/svm1.c M src/microcode/cmpintmd/svm1.h commit 779f5cb5931909f2101bf86dee45faec192ba5be Author: Taylor R Campbell Date: Fri Jan 11 05:16:55 2019 +0000 Fix lambda-body -> scode-lambda-body straggler. M src/compiler/machines/svm/disassembler.scm commit e44423bd982a31c6b7db77eaa7f96bbfbc503935 Author: Taylor R Campbell Date: Fri Jan 11 04:53:02 2019 +0000 Design big-endian uuo link execute caches. The little-endian hack to overwrite the tag with instructions doesn't work on big-endian because it's the datum, not the tag, that's at the end of the word in the frame size. There's no room for the instructions before anything here, so add another word and move the frame size to the end. Kinda wasteful -- for that matter, it's not clear why we need to have any instructions here at all, when we could just have INVOCATION:UUO-LINK compile to an IJUMP instruction itself. M src/compiler/machines/svm/rules.scm M src/microcode/cmpintmd/svm1.c M src/microcode/cmpintmd/svm1.h commit 4c3be6d558615fb760901e0d3f9fb745c50ffa54 Author: Taylor R Campbell Date: Fri Jan 11 04:52:15 2019 +0000 Teach SVM back end how to assemble big-endian instruction streams. Gotta do 'em backwards because the words are backwards in a bit string on big-endian systems. M src/compiler/machines/svm/assembler-runtime.scm commit aec0bca4fe83418809ac56f04c6dfb24bd542ae5 Author: Taylor R Campbell Date: Fri Jan 11 04:51:25 2019 +0000 Fix ordering of _words_ in fasumped bit strings on big-endian. Apparently the byte order within a word affects the word order within a bit string. M src/compiler/base/fasdump.scm commit 07fe9c2cb0e7c4c90a62ba90884e0e17e923ee0c Author: Taylor R Campbell Date: Fri Jan 11 04:50:02 2019 +0000 Tweaks to make Edwin cross-compilable. M src/edwin/decls.scm M src/edwin/edwin.sf M src/edwin/utils.scm commit 1c269815021cdea7e041f35fdf09d5ae108cc19b Author: Taylor R Campbell Date: Fri Jan 11 04:47:54 2019 +0000 Nothing architecturally limits powerpc to high memory. Individual operating systems may, but none that I've encountered. We may revisit this if we change SVM1 to always work in high memory. M src/microcode/confshared.h commit b97efe1ab7a43276f975f63a626751617651b94a Author: Taylor R Campbell Date: Fri Jan 11 04:45:19 2019 +0000 Use HOST_CC, default CC, to compile findprim. This needs to run on the host system, not on the target system. This way we can cross-compile the microcode if you have a C cross-compiler handy, which makes iterating development a lot faster when the target's native C compiler is painfully slow. M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in commit 1e3289480eaad2c0748e06353b750c6f541d30ed Author: Taylor R Campbell Date: Thu Jan 10 04:04:22 2019 +0000 Make powerpc floating-point exceptions fit in fixnums on 32-bit. M src/microcode/floenv.c commit c7e193d7960b2618c1e63d31204ebb3f4476eda3 Author: Taylor R Campbell Date: Thu Jan 10 04:03:32 2019 +0000 Load with load-option so this gets LIARC bundles correctly. M src/imail/compile.scm commit 5aace3a884dce6570f6a8a6a99b80893245b472c Author: Taylor R Campbell Date: Thu Jan 10 04:03:21 2019 +0000 Mkdir lib/lib with -p in configure so it is idempotent. M src/configure.ac commit 23713958b57766536a37f22507999fb582f6f136 Author: Taylor R Campbell Date: Thu Jan 10 04:01:57 2019 +0000 Disable constant-folding machine-dependent primitives in LIARC. These are not valid across word size changes, but LIARC does not expose compiler:cross-compiling?. M src/compiler/base/utils.scm commit cb59455a4b2a0fd000b9fe1953e48b33287e62c7 Author: Taylor R Campbell Date: Thu Jan 10 03:57:42 2019 +0000 One more round of rework for LIARC. Keep the host actions and target actions separated by a stamp file as with other cross-compilation. Name the targets: - cross-host does the actions on the host (some day, all of them), and creates stamp_cross-host - cross-target does the actions on the target, which all depend on the host actions only through stamp_cross-host - all does cross-host and then cross-target. With any luck, this should preserve the behaviour of non-cross builds. Still missing: Makefile.tools doesn't work _from_ a system with LIARC yet to cross-compile, because we have no way to build a fresh runtime or create bundles outside the standard build. => We should not depend on a full fresh runtime, only on the macros. => We should have a way to link bundles. (For that matter, we should have a notion of shared libraries that can be loaded independently and with shared read-only physical memory, rather than as a bodgy sequence of bands copying the data around.) M src/Makefile.in commit 7b2ca80af79437d6f6d7c7ee0e72e6cec8d06291 Author: Chris Hanson Date: Tue Jan 8 23:45:31 2019 -0800 Fix bug: characters with bucky bits not printing right. M src/runtime/printer.scm commit 62ad94d108aed8a1eb19f8f5dd7d4d0979e64e58 Author: Taylor R Campbell Date: Wed Jan 9 03:49:39 2019 +0000 Avoid WRITE in URI->STRING. We use this early on in loading an image -- before we have initialized all the LIARC objects (indeed, in the course of initializing LIARC objects), which may themselves have predicates in the print method dispatcher. M src/runtime/url.scm commit 1756da579fde805b1e95ccb1a51d7c647bbf5b3c Author: Taylor R Campbell Date: Wed Jan 9 03:49:23 2019 +0000 Restore printing strings in #[uri ...]. M src/runtime/url.scm commit 40e7f286e02ab8fc39d7f14dbf526eff6f55ab4a Author: Taylor R Campbell Date: Wed Jan 9 03:48:54 2019 +0000 Simplify pathnames for conversion to standard URIs to avoid dottiness. M src/runtime/load.scm commit eeca6310736dd4b1c40b5df5220f7eb566d59ba6 Author: Taylor R Campbell Date: Wed Jan 9 03:48:30 2019 +0000 Use intermediate stamp for compinit.[ch] to avoid parallel clobber. M src/microcode/makegen/liarc-base-rules commit e29b894bd74323d0d355c8607078326b5e79c11f Author: Taylor R Campbell Date: Wed Jan 9 03:48:12 2019 +0000 Update liarc to modern debugging info/wrapper formats. M src/compiler/machines/C/ctop.scm commit 953b2612b2f732ce09f8a7555096bdf69f8fb368 Author: Taylor R Campbell Date: Wed Jan 9 03:47:53 2019 +0000 Fix up makefile targets for liarc. M src/Makefile.in commit 0bbb88bff7c9e0aca150303c4e1219ec5c138fe3 Author: Taylor R Campbell Date: Wed Jan 9 03:46:26 2019 +0000 NUL-terminate bytevectors too. This shouldn't be necessary but we use these for primitive names with routines that expect them to be NUL-terminated, so this is more convenient until we either length-delimit the primitive names or explicitly NUL-terminate them or whatever. M src/microcode/bytevector.c commit 4f6c2bf1e7ac38d8e4b62d95ca05aa428e2187bf Author: Taylor R Campbell Date: Wed Jan 9 03:46:15 2019 +0000 Atomic write-to-temporary/rename-to-permanent so liarc is ^Cable. M src/compiler/machines/C/ctop.scm commit 61a96e20872ed5cf327927514b5b446795db4b94 Author: Taylor R Campbell Date: Wed Jan 9 03:45:35 2019 +0000 Use load-option so we get the LIARC bundle. M src/x11/compile.scm commit 28e7ca721c9fbdc6829f0c0709c492e4a28b8628 Author: Taylor R Campbell Date: Tue Jan 8 07:17:08 2019 +0000 Disable cross-compilation finishing stage for liarc. M src/Makefile.in commit f1f879ed76626f408c43722914b2016731ca6675 Author: Taylor R Campbell Date: Tue Jan 8 06:48:47 2019 +0000 Don't build microcode in cross-host; build in cross-target. M src/Makefile.in commit 3bbd8432169461af9af0e6f3e8e307637d28d9ae Author: Taylor R Campbell Date: Tue Jan 8 06:06:46 2019 +0000 Suppress uninitialized variable warnings. GCC is easily confused by the code we generate. M src/compiler/machines/C/cutl.scm M src/microcode/liarc.h commit 6a57a66dc4c821949f9a0d1edd7c8d4282861b91 Author: Taylor R Campbell Date: Tue Jan 8 06:28:02 2019 +0000 Compile and link liarc objects as shared with no fatal warnings. M src/microcode/configure.ac M src/microcode/liarc-cc.in M src/microcode/liarc-ld.in commit f83f917b20a8af4b3a29f8c44e21428ab1863a02 Author: Taylor R Campbell Date: Tue Jan 8 05:54:54 2019 +0000 Need to wait for runtime to compile before building liarc ucode. M src/Makefile.in commit 4ca7d6277e6907ea5c2a9c67884a415bd08a7162 Author: Taylor R Campbell Date: Tue Jan 8 05:38:38 2019 +0000 Teach stackify about bytevectors. XXX Really it should use bytevectors as the basic type now, and we should teach it about strings, but this is more expedient since it was written when string == bytevector and mostly this works out. M src/compiler/machines/C/stackify.scm M src/compiler/machines/C/stackops.scm M src/microcode/liarc.h M src/microcode/stackops.h M src/microcode/unstackify.c commit bc661f7dbf2ed5ff6e46de73c27ecc10b560fd20 Author: Taylor R Campbell Date: Tue Jan 8 05:19:14 2019 +0000 Teach the makefile how to make the .pkd files for liarc rules. M src/Makefile.in commit 3f22da23f6ecb6976fc5d6380ddf44e800c8608c Author: Taylor R Campbell Date: Tue Jan 8 05:31:57 2019 +0000 Avoid compiler:cross-compiling? in liarc. M src/Makefile.in commit cc446b64745867d527d5025c9906e725c8df05a9 Author: Taylor R Campbell Date: Wed Jan 9 03:51:59 2019 +0000 Fix typo: SOS_BUILD_TARGETS, not SOS_TARGETS. Actually build SOS! M src/Makefile.in commit fdb53626fe074b3eb65ece02905808046e3bc37c Author: Taylor R Campbell Date: Tue Jan 8 16:40:11 2019 +0000 Convert to SCHEME_OBJECT * first before subtracting membase. This system (with or without the change) requires all addresses that are tagged to be word-aligned, which expands the address space by a factor of four on 32-bit systems, but means we can't tag pointers to unaligned instruction addresses. This means that i386 compiled code won't be able to take advantage of membase, but it can't anyway without changes to the compiler, which doesn't know about membase as is. However, this _also_ means that multiclosures in SVM won't work because only the first entry (and every four or eight entries) is guaranteed to be word-aligned. We could address this by aligning the entries, and maybe remove the ENTER-CLOSURE instruction overhead by using indirection for entries like riastradh-20181220-closentry-v3 does for amd64. (Don't want to change CC_ENTRY_NEW_ADDRESS or anything because there's an outstanding branch that changes them already for other reasons.) M src/microcode/object.h commit 0e6c9f3b0f4b91a2cfd5c03f365339eed9ebdf01 Author: Taylor R Campbell Date: Tue Jan 8 07:37:32 2019 +0000 Fix dependency ordering. M src/Makefile.in commit dc4d163f13dd3ca1c6aca86ffee5533b7b9747ae Author: Taylor R Campbell Date: Tue Jan 8 07:17:19 2019 +0000 Isolate directories for clean-compiler rule. M src/Makefile.tools.in commit 0e4fec144fdacc1d40ca7cf16c11674a3e785b09 Author: Taylor R Campbell Date: Tue Jan 8 06:34:00 2019 +0000 Don't hang in non-parallel makes waiting for input. M src/Makefile.in commit 8ddbeb973e8cbf274425bbe78ff4e2ab545edd9e Author: Taylor R Campbell Date: Tue Jan 8 05:23:23 2019 +0000 Fix stray backslash that was harmless without LIARC. M src/Makefile.in commit 58d7749715e295fe897a66ee90b2e492b909b66c Author: Taylor R Campbell Date: Tue Jan 8 02:34:10 2019 +0000 Rework makefile to use intermediate variables, not rules. This gives the opportunity for the variables to be files, not phony rules, to limit rebuilds. Disadvantage: must be written in dependency order because make expands variables in dependencies as it reads them, not lazily. But this reduces the size of the makefile quite a bit. Use stamp_tools to trigger (incremental) rebuild of toolchain. M src/Makefile.in commit 4bf62b27dc7810abcaccef08015cc49e31a79413 Author: Chris Hanson Date: Tue Jan 8 00:46:39 2019 -0800 Rewrite printing of #[...] forms, for simplicity now and later for sharing. In order to properly implement datum labels for things inside of bracketed forms, we need to be able to walk the items that are being printed there. Previously this would have been very difficult since the insides of these forms were printed by custom printers. Now they are exposed as individual objects that can be walked. Further work is necessary to include these objects when walking the tree. M src/runtime/printer.scm commit de035853ad010a6c6e660a4cc3cc6b38dd2c606b Author: Taylor R Campbell Date: Sun Jan 6 04:17:06 2019 +0000 Integrate PROMISE?. Small but measurable speed improvement, getting to diminishing returns after a nearly 7x speed increase on promise-heavy stream code. M src/runtime/boot.scm commit b29d28db149e986af19fc2ab726886e6c4f40472 Author: Taylor R Campbell Date: Sun Jan 6 04:01:32 2019 +0000 Try EQ? first before the passed-in equality procedure in MEMV &c. - EQ? must imply the passed-in equality procedure anyway. - EQ? is open-coded and quick. - MEMV turns up hot in profiles of the compiler. - Small but measurable performance improvement compiling the tests. M src/runtime/list.scm commit a89050d49d5d0c260a9e86e1a65ca725f488f2c3 Author: Taylor R Campbell Date: Sat Jan 5 19:29:24 2019 +0000 Integrate GUARANTEE. For this to be effective, SF makes the assumption that predicates do not modify their own definitions, like (define (foo? x) (set! foo? (lambda (x) x #f)) #t) (guarantee foo? 42) Such is the depravity of arbitrary side effects not represented in a type system...! M src/runtime/boot.scm M src/sf/usiexp.scm commit bea440cfd115940798c7a6ce1d27e21b9bdaae04 Author: Taylor R Campbell Date: Mon Jan 7 06:42:18 2019 +0000 Fix format words generated by svm1 compiler for internal procedures. Continuation parser relies on the next-continuation-offset for internal procedures in interrupt frames. M src/compiler/machines/svm/lapgen.scm commit fdeca838b4e35e5ebc6daa48ba8fe3601e2f028a Author: Taylor R Campbell Date: Mon Jan 7 05:27:38 2019 +0000 Configure outcome should not depend on whether lib/all.com exists! This meant you got a different (and broken) build if you simply reran configure, which is awfully confusing. Now we use the native release marker to change the default behaviour of configure reliably. What idiot did this, git blame? ...oh. M src/configure.ac commit 4ef42e6367b231375777b8584fbf816aa729495f Author: Taylor R Campbell Date: Mon Jan 7 05:07:56 2019 +0000 Regenerate configure if out of date, not just if nonexistent. M src/Setup.sh commit f18a0d936faf50051cec5dbf05e4e136dbfa1a5b Author: Taylor R Campbell Date: Mon Jan 7 03:53:09 2019 +0000 gitignore cross objects and Makefile.tools. M .gitignore M src/.gitignore commit e9da5db0434a2eefb1b7b605c9aa0b46ea1a8aff Author: Taylor R Campbell Date: Mon Jan 7 02:57:43 2019 +0000 Clean .nib, .ext, and .dkp too. M src/etc/Clean.sh commit 84b8d2f9202400e281db03270d998b38ea649329 Author: Taylor R Campbell Date: Mon Jan 7 00:27:04 2019 +0000 Rework makefile for cross-compilation with a toolchain again. We use Makefile.tools only if --enable-cross-compiling is true. Everything it builds goes under tools/, or should if there are no bugs -- even intermediate .bin, .com, &c., files. New usage model does not require any external trees: % ./configure --enable-cross-compiling --enable-native-code=i386 % make cross-host % make all However, the host must be a recent master with new CREF and SF features for separate source and object roots, so we can't rely on this to work until we cut a new release with those features. (It shouldn't be necessary to run _anything_ on the target system, but we're a ways away from that: we need the cross-compiler to be able to cope with macros across subsystem dependencies, and we need a `static' linker, not just a fasloader-and-disk-save.) M src/Makefile.in A src/Makefile.tools.in M src/configure.ac commit 26a7f50a04e911ec05fd3e0a441e6aa97225e520 Author: Taylor R Campbell Date: Mon Jan 7 00:25:26 2019 +0000 Generate the trivial constructor in the objdir, not srcdir. Define cref/source-root and cref/object-root in host-adapter.scm so we can still load compiler.sf into old Schemes, which will never have this distinction. M src/compiler/machines/C/compiler.sf M src/compiler/machines/i386/compiler.sf M src/compiler/machines/svm/compiler.sf M src/compiler/machines/x86-64/compiler.sf M src/runtime/host-adapter.scm commit 54c7276771c16f19ae9b077402a32333271ef06b Author: Taylor R Campbell Date: Sun Jan 6 17:01:34 2019 +0000 Teach cref and sf about separate source and object directories. M src/cref/cref.pkg M src/cref/object.scm M src/cref/redpkg.scm M src/cref/toplev.scm M src/sf/butils.scm M src/sf/sf.pkg M src/sf/toplev.scm commit 04c2b74a7776082802858a6d358d419a70df9925 Author: Taylor R Campbell Date: Sun Jan 6 23:17:58 2019 +0000 Expose fasl-format:x86-64 as another name for the amd64 format. Relevant because MIT_SCHEME_NATIVE_CODE gets set to x86-64, and gets plopped into `fasl-format:@MIT_SCHEME_NATIVE_CODE' in the makefile. M src/compiler/base/fasdump.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/x86-64/compiler.pkg commit cb10f0d893589a69e59f93298f0a098eba2cb67f Author: Chris Hanson Date: Sun Jan 6 23:50:47 2019 -0800 Change identify-world to show a very brief summary. * Remove versions from all of the subsystems, except the release. * Remove microcode and runtime subsystems entirely. M src/runtime/savres.scm M src/runtime/version.scm commit b200b1d3d738455a2364c980c91581385ceef5e3 Author: Chris Hanson Date: Sun Jan 6 23:32:15 2019 -0800 Generalize list-like printing, and support list-breadth limit properly. M src/runtime/printer.scm M tests/runtime/test-printer.scm commit f066d1521e59c25520193f1267af4a1b59d2b78b Author: Chris Hanson Date: Sun Jan 6 16:32:57 2019 -0800 Clean up wording around bitless characters. M doc/ref-manual/characters.texi M doc/ref-manual/strings.texi commit 57e3fed73f97caaf0ea51233a259d673320003b6 Author: Chris Hanson Date: Sun Jan 6 16:32:41 2019 -0800 Remove unused and unexported guarantee-FOO procedures. M src/runtime/char-set.scm M src/runtime/char.scm commit 27c7ad98adcb0a0e0f726746dd6f9233debc3e34 Author: Chris Hanson Date: Sun Jan 6 16:19:59 2019 -0800 Change most places that use bitless-char? to just throw away the bucket bits. M src/runtime/char-set.scm M src/runtime/char.scm commit fdb42e9f162dc75e55327c085540560a01f81e02 Author: Chris Hanson Date: Sat Jan 5 22:58:28 2019 -0800 Do the annual copyright update. M dist/Makefile M dist/copyright.c M dist/copyright.scm M dist/make-doc-files M dist/make-liarc-files M dist/make-macosx-app M dist/make-native-files M dist/make-scmutils M dist/make-src-files M dist/shared.sh M doc/Makefile.in M doc/configure.ac M doc/ffi/ffi.texinfo M doc/make-common.in M doc/ref-manual/Makefile.in M doc/ref-manual/scheme.texinfo M doc/sos/Makefile.in M doc/sos/sos.texinfo M doc/user-manual/Makefile.in M doc/user-manual/user.texinfo M etc/dirdif.scm M etc/dumpdat.scm M etc/mkauto.bat M etc/mkopt.bat M etc/nrwcopyr.el M etc/run-three-stages M src/6001/6001.cbf M src/6001/6001.pkg M src/6001/6001.sf M src/6001/arith.scm M src/6001/edextra.scm M src/6001/floppy.scm M src/6001/make.scm M src/6001/nodefs.scm M src/6001/pic-imag.scm M src/6001/pic-ops.scm M src/6001/pic-read.scm M src/6001/pic-reco.scm M src/6001/picture.scm M src/Clean.sh M src/Makefile.in M src/Setup.sh M src/Stage.sh M src/Tags.sh M src/berkeley-db/berkeley-db.scm M src/berkeley-db/prdb4.c M src/berkeley-db/prdb4.scm M src/blowfish/Makefile.am M src/blowfish/NEWS M src/blowfish/blowfish-adapter.c M src/blowfish/blowfish-check.scm M src/blowfish/blowfish-shim.h M src/blowfish/blowfish-test.scm M src/blowfish/blowfish.cdecl M src/blowfish/blowfish.pkg M src/blowfish/blowfish.scm M src/blowfish/compile.sh M src/blowfish/configure.ac M src/blowfish/mit-scheme-blowfish.texi M src/compiler/Clean.sh M src/compiler/Setup.sh M src/compiler/Stage.sh M src/compiler/Tags.sh M src/compiler/back/asmmac.scm M src/compiler/back/asutl.scm M src/compiler/back/bittop.scm M src/compiler/back/bitutl.scm M src/compiler/back/checks.scm M src/compiler/back/insseq.scm M src/compiler/back/lapgn1.scm M src/compiler/back/lapgn2.scm M src/compiler/back/lapgn3.scm M src/compiler/back/linear.scm M src/compiler/back/mermap.scm M src/compiler/back/regmap.scm M src/compiler/back/syerly.scm M src/compiler/back/symtab.scm M src/compiler/back/syntax.scm M src/compiler/base/asstop.scm M src/compiler/base/blocks.scm M src/compiler/base/cfg1.scm M src/compiler/base/cfg2.scm M src/compiler/base/cfg3.scm M src/compiler/base/constr.scm M src/compiler/base/contin.scm M src/compiler/base/crsend.scm M src/compiler/base/crstop.scm M src/compiler/base/ctypes.scm M src/compiler/base/debug.scm M src/compiler/base/enumer.scm M src/compiler/base/infnew.scm M src/compiler/base/lvalue.scm M src/compiler/base/macros.scm M src/compiler/base/make.scm M src/compiler/base/mvalue.scm M src/compiler/base/object.scm M src/compiler/base/pmerly.scm M src/compiler/base/pmlook.scm M src/compiler/base/pmpars.scm M src/compiler/base/proced.scm M src/compiler/base/refctx.scm M src/compiler/base/rvalue.scm M src/compiler/base/scode.scm M src/compiler/base/sets.scm M src/compiler/base/subprb.scm M src/compiler/base/switch.scm M src/compiler/base/toplev.scm M src/compiler/base/utils.scm M src/compiler/choose-machine.sh M src/compiler/configure M src/compiler/documentation/cmpaux.txt M src/compiler/documentation/cmpint.txt M src/compiler/documentation/porting.guide M src/compiler/etc/asm.scm M src/compiler/etc/comcmp.scm M src/compiler/etc/comfiles.scm M src/compiler/etc/disload.scm M src/compiler/etc/stackp.scm M src/compiler/etc/xcbfdir.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/declar.scm M src/compiler/fggen/fggen.scm M src/compiler/fgopt/blktyp.scm M src/compiler/fgopt/closan.scm M src/compiler/fgopt/conect.scm M src/compiler/fgopt/contan.scm M src/compiler/fgopt/delint.scm M src/compiler/fgopt/desenv.scm M src/compiler/fgopt/envopt.scm M src/compiler/fgopt/folcon.scm M src/compiler/fgopt/offset.scm M src/compiler/fgopt/operan.scm M src/compiler/fgopt/order.scm M src/compiler/fgopt/outer.scm M src/compiler/fgopt/param.scm M src/compiler/fgopt/reord.scm M src/compiler/fgopt/reteqv.scm M src/compiler/fgopt/reuse.scm M src/compiler/fgopt/sideff.scm M src/compiler/fgopt/simapp.scm M src/compiler/fgopt/simple.scm M src/compiler/fgopt/subfre.scm M src/compiler/fgopt/varind.scm M src/compiler/machines/C/compiler.cbf M src/compiler/machines/C/compiler.pkg M src/compiler/machines/C/compiler.sf M src/compiler/machines/C/cout.scm M src/compiler/machines/C/ctop.scm M src/compiler/machines/C/cutl.scm M src/compiler/machines/C/decls.scm M src/compiler/machines/C/lapgen.scm M src/compiler/machines/C/machin.scm M src/compiler/machines/C/make.scm M src/compiler/machines/C/rgspcm.scm M src/compiler/machines/C/rules1.scm M src/compiler/machines/C/rules2.scm M src/compiler/machines/C/rules3.scm M src/compiler/machines/C/rules4.scm M src/compiler/machines/C/rulfix.scm M src/compiler/machines/C/rulflo.scm M src/compiler/machines/C/rulrew.scm M src/compiler/machines/C/stackify.scm M src/compiler/machines/C/stackops.scm M src/compiler/machines/C/traditional.scm M src/compiler/machines/i386/assmd.scm M src/compiler/machines/i386/coerce.scm M src/compiler/machines/i386/compiler.cbf M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/compiler.sf M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/i386/dassm2.scm M src/compiler/machines/i386/dassm3.scm M src/compiler/machines/i386/decls.scm M src/compiler/machines/i386/insmac.scm M src/compiler/machines/i386/instr1.scm M src/compiler/machines/i386/instr2.scm M src/compiler/machines/i386/instrf.scm M src/compiler/machines/i386/insutl.scm M src/compiler/machines/i386/lapgen.scm M src/compiler/machines/i386/lapopt.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/i386/make.scm M src/compiler/machines/i386/pc-make.scm M src/compiler/machines/i386/rgspcm.scm M src/compiler/machines/i386/rules1.scm M src/compiler/machines/i386/rules2.scm M src/compiler/machines/i386/rules3.scm M src/compiler/machines/i386/rules4.scm M src/compiler/machines/i386/rulfix.scm M src/compiler/machines/i386/rulflo.scm M src/compiler/machines/i386/rulrew.scm M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/assembler-rules.scm M src/compiler/machines/svm/assembler-runtime.scm M src/compiler/machines/svm/big-endian.scm M src/compiler/machines/svm/compile-assembler.scm M src/compiler/machines/svm/compiler.cbf M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/compiler.sf M src/compiler/machines/svm/decls.scm M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/svm/lapgen.scm M src/compiler/machines/svm/lapopt.scm M src/compiler/machines/svm/little-endian.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/svm/make.scm M src/compiler/machines/svm/rgspcm.scm M src/compiler/machines/svm/rules.scm M src/compiler/machines/svm/wordsize-32.scm M src/compiler/machines/svm/wordsize-64.scm M src/compiler/machines/x86-64/assmd.scm M src/compiler/machines/x86-64/coerce.scm M src/compiler/machines/x86-64/compiler.cbf M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/compiler.sf M src/compiler/machines/x86-64/dassm1.scm M src/compiler/machines/x86-64/dassm2.scm M src/compiler/machines/x86-64/dassm3.scm M src/compiler/machines/x86-64/decls.scm M src/compiler/machines/x86-64/insmac.scm M src/compiler/machines/x86-64/instr1.scm M src/compiler/machines/x86-64/instr2.scm M src/compiler/machines/x86-64/instrf.scm M src/compiler/machines/x86-64/insutl.scm M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/lapopt.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/make.scm M src/compiler/machines/x86-64/pc-make.scm M src/compiler/machines/x86-64/rgspcm.scm M src/compiler/machines/x86-64/rules1.scm M src/compiler/machines/x86-64/rules2.scm M src/compiler/machines/x86-64/rules3.scm M src/compiler/machines/x86-64/rules4.scm M src/compiler/machines/x86-64/rulfix.scm M src/compiler/machines/x86-64/rulflo.scm M src/compiler/machines/x86-64/rulrew.scm M src/compiler/rtlbase/regset.scm M src/compiler/rtlbase/rgraph.scm M src/compiler/rtlbase/rtlcfg.scm M src/compiler/rtlbase/rtlcon.scm M src/compiler/rtlbase/rtlexp.scm M src/compiler/rtlbase/rtline.scm M src/compiler/rtlbase/rtlobj.scm M src/compiler/rtlbase/rtlreg.scm M src/compiler/rtlbase/rtlty1.scm M src/compiler/rtlbase/rtlty2.scm M src/compiler/rtlbase/valclass.scm M src/compiler/rtlgen/fndblk.scm M src/compiler/rtlgen/fndvar.scm M src/compiler/rtlgen/opncod.scm M src/compiler/rtlgen/rgcomb.scm M src/compiler/rtlgen/rgproc.scm M src/compiler/rtlgen/rgretn.scm M src/compiler/rtlgen/rgrval.scm M src/compiler/rtlgen/rgstmt.scm M src/compiler/rtlgen/rtlgen.scm M src/compiler/rtlopt/ralloc.scm M src/compiler/rtlopt/rcompr.scm M src/compiler/rtlopt/rcse1.scm M src/compiler/rtlopt/rcse2.scm M src/compiler/rtlopt/rcseep.scm M src/compiler/rtlopt/rcseht.scm M src/compiler/rtlopt/rcserq.scm M src/compiler/rtlopt/rcsesr.scm M src/compiler/rtlopt/rdebug.scm M src/compiler/rtlopt/rdflow.scm M src/compiler/rtlopt/rerite.scm M src/compiler/rtlopt/rinvex.scm M src/compiler/rtlopt/rlife.scm M src/compiler/rtlopt/rtlcsm.scm M src/configure.ac M src/cref/anfile.scm M src/cref/conpkg.scm M src/cref/cref.cbf M src/cref/cref.pkg M src/cref/cref.sf M src/cref/forpkg.scm M src/cref/make.scm M src/cref/mset.scm M src/cref/object.scm M src/cref/redpkg.scm M src/cref/toplev.scm M src/cref/triv.pkg M src/edwin/Clean.sh M src/edwin/Makefile.am M src/edwin/NEWS M src/edwin/abbrev.scm M src/edwin/ansi.scm M src/edwin/argred.scm M src/edwin/artdebug.scm M src/edwin/autold.scm M src/edwin/autosv.scm M src/edwin/basic.scm M src/edwin/bios.scm M src/edwin/bufcom.scm M src/edwin/buffer.scm M src/edwin/buffrm.scm M src/edwin/bufinp.scm M src/edwin/bufmnu.scm M src/edwin/bufout.scm M src/edwin/bufset.scm M src/edwin/bufwfs.scm M src/edwin/bufwin.scm M src/edwin/bufwiu.scm M src/edwin/bufwmc.scm M src/edwin/c-mode.scm M src/edwin/calias.scm M src/edwin/cinden.scm M src/edwin/class.scm M src/edwin/clscon.scm M src/edwin/clsmac.scm M src/edwin/comatch.scm M src/edwin/comhst.scm M src/edwin/comint.scm M src/edwin/comman.scm M src/edwin/compile.scm M src/edwin/compile.sh M src/edwin/comred.scm M src/edwin/comtab.scm M src/edwin/comwin.scm M src/edwin/configure.ac M src/edwin/curren.scm M src/edwin/dabbrev.scm M src/edwin/debian-changelog.scm M src/edwin/debug.scm M src/edwin/debuge.scm M src/edwin/decls.scm M src/edwin/dired.scm M src/edwin/dirunx.scm M src/edwin/dirw32.scm M src/edwin/display.scm M src/edwin/docstr.scm M src/edwin/dos.scm M src/edwin/doscom.scm M src/edwin/dosfile.scm M src/edwin/dosproc.scm M src/edwin/dosshell.scm M src/edwin/ed-ffi.scm M src/edwin/editor.scm M src/edwin/edtfrm.scm M src/edwin/edtstr.scm M src/edwin/edwin.cbf M src/edwin/edwin.ldr M src/edwin/edwin.pkg M src/edwin/edwin.sf M src/edwin/evlcom.scm M src/edwin/eystep.scm M src/edwin/filcom.scm M src/edwin/fileio.scm M src/edwin/fill.scm M src/edwin/grpops.scm M src/edwin/hlpcom.scm M src/edwin/htmlmode.scm M src/edwin/image.scm M src/edwin/info.scm M src/edwin/input.scm M src/edwin/intmod.scm M src/edwin/iserch.scm M src/edwin/javamode.scm M src/edwin/key-w32.scm M src/edwin/keymap.scm M src/edwin/keyparse.scm M src/edwin/kilcom.scm M src/edwin/kmacro.scm M src/edwin/lincom.scm M src/edwin/linden.scm M src/edwin/loadef.scm M src/edwin/lspcom.scm M src/edwin/macros.scm M src/edwin/make.scm M src/edwin/malias.scm M src/edwin/manual.scm M src/edwin/midas.scm M src/edwin/modefs.scm M src/edwin/modes.scm M src/edwin/modlin.scm M src/edwin/modwin.scm M src/edwin/motcom.scm M src/edwin/motion.scm M src/edwin/mousecom.scm M src/edwin/nntp.scm M src/edwin/notify.scm M src/edwin/nvector.scm M src/edwin/occur.scm M src/edwin/outline.scm M src/edwin/pasmod.scm M src/edwin/paths.scm M src/edwin/print.scm M src/edwin/process.scm M src/edwin/prompt.scm M src/edwin/pwedit.scm M src/edwin/pwparse.scm M src/edwin/rcsparse.scm M src/edwin/reccom.scm M src/edwin/regcom.scm M src/edwin/regexp.scm M src/edwin/regops.scm M src/edwin/replaz.scm M src/edwin/rfc822.scm M src/edwin/ring.scm M src/edwin/rmail.scm M src/edwin/rmailsrt.scm M src/edwin/rmailsum.scm M src/edwin/schmod.scm M src/edwin/scrcom.scm M src/edwin/screen.scm M src/edwin/search.scm M src/edwin/sendmail.scm M src/edwin/sercom.scm M src/edwin/shell.scm M src/edwin/simple.scm M src/edwin/snr.scm M src/edwin/sort.scm M src/edwin/sources.scm M src/edwin/sources.sh M src/edwin/string.scm M src/edwin/strpad.scm M src/edwin/strtab.scm M src/edwin/struct.scm M src/edwin/syntax.scm M src/edwin/tagutl.scm M src/edwin/techinfo.scm M src/edwin/telnet.scm M src/edwin/termcap.scm M src/edwin/texcom.scm M src/edwin/things.scm M src/edwin/tparse.scm M src/edwin/tterm.scm M src/edwin/tximod.scm M src/edwin/txtprp.scm M src/edwin/undo.scm M src/edwin/unix.scm M src/edwin/utils.scm M src/edwin/utlwin.scm M src/edwin/vc-bzr.scm M src/edwin/vc-cvs.scm M src/edwin/vc-git.scm M src/edwin/vc-rcs.scm M src/edwin/vc-svn.scm M src/edwin/vc.scm M src/edwin/verilog.scm M src/edwin/vhdl.scm M src/edwin/webster.scm M src/edwin/win32.scm M src/edwin/win32com.scm M src/edwin/wincom.scm M src/edwin/window.scm M src/edwin/winout.scm M src/edwin/world-monitor.scm M src/edwin/xform.scm M src/edwin/xterm.scm M src/etc/Clean.sh M src/etc/Setup.sh M src/etc/Stage.sh M src/etc/Tags.sh M src/etc/build-bands.sh M src/etc/build-boot-compiler.sh M src/etc/c-bundle.sh M src/etc/c-compile.sh M src/etc/c-prepare.sh M src/etc/compile-boot-compiler.sh M src/etc/compile.scm M src/etc/compile.sh M src/etc/create-makefiles.sh M src/etc/crossbin.scm M src/etc/functions.sh M src/etc/install-bin-symlinks.sh M src/etc/iso8859-converter.scm M src/etc/macosx/make-app.sh M src/etc/make-liarc-dist.sh M src/etc/make-liarc.sh M src/etc/make-native.sh M src/etc/maybe-update-file.sh M src/etc/native-prepare.sh M src/etc/optiondb.scm M src/etc/std-makefile-prefix M src/etc/ucd-converter.scm M src/etc/ucd-raw-props/names.scm M src/etc/ucd-raw-props/prop-AHex.scm M src/etc/ucd-raw-props/prop-Alpha.scm M src/etc/ucd-raw-props/prop-Bidi_C.scm M src/etc/ucd-raw-props/prop-Bidi_M.scm M src/etc/ucd-raw-props/prop-CE.scm M src/etc/ucd-raw-props/prop-CI.scm M src/etc/ucd-raw-props/prop-CWCF.scm M src/etc/ucd-raw-props/prop-CWCM.scm M src/etc/ucd-raw-props/prop-CWKCF.scm M src/etc/ucd-raw-props/prop-CWL.scm M src/etc/ucd-raw-props/prop-CWT.scm M src/etc/ucd-raw-props/prop-CWU.scm M src/etc/ucd-raw-props/prop-Cased.scm M src/etc/ucd-raw-props/prop-Comp_Ex.scm M src/etc/ucd-raw-props/prop-DI.scm M src/etc/ucd-raw-props/prop-Dash.scm M src/etc/ucd-raw-props/prop-Dep.scm M src/etc/ucd-raw-props/prop-Dia.scm M src/etc/ucd-raw-props/prop-Ext.scm M src/etc/ucd-raw-props/prop-FC_NFKC.scm M src/etc/ucd-raw-props/prop-GCB.scm M src/etc/ucd-raw-props/prop-Gr_Base.scm M src/etc/ucd-raw-props/prop-Gr_Ext.scm M src/etc/ucd-raw-props/prop-Gr_Link.scm M src/etc/ucd-raw-props/prop-Hex.scm M src/etc/ucd-raw-props/prop-Hyphen.scm M src/etc/ucd-raw-props/prop-IDC.scm M src/etc/ucd-raw-props/prop-IDS.scm M src/etc/ucd-raw-props/prop-IDSB.scm M src/etc/ucd-raw-props/prop-IDST.scm M src/etc/ucd-raw-props/prop-Ideo.scm M src/etc/ucd-raw-props/prop-InMC.scm M src/etc/ucd-raw-props/prop-InPC.scm M src/etc/ucd-raw-props/prop-InSC.scm M src/etc/ucd-raw-props/prop-JSN.scm M src/etc/ucd-raw-props/prop-Join_C.scm M src/etc/ucd-raw-props/prop-LOE.scm M src/etc/ucd-raw-props/prop-Lower.scm M src/etc/ucd-raw-props/prop-Math.scm M src/etc/ucd-raw-props/prop-NChar.scm M src/etc/ucd-raw-props/prop-NFC_QC.scm M src/etc/ucd-raw-props/prop-NFD_QC.scm M src/etc/ucd-raw-props/prop-NFKC_CF.scm M src/etc/ucd-raw-props/prop-NFKC_QC.scm M src/etc/ucd-raw-props/prop-NFKD_QC.scm M src/etc/ucd-raw-props/prop-OAlpha.scm M src/etc/ucd-raw-props/prop-ODI.scm M src/etc/ucd-raw-props/prop-OGr_Ext.scm M src/etc/ucd-raw-props/prop-OIDC.scm M src/etc/ucd-raw-props/prop-OIDS.scm M src/etc/ucd-raw-props/prop-OLower.scm M src/etc/ucd-raw-props/prop-OMath.scm M src/etc/ucd-raw-props/prop-OUpper.scm M src/etc/ucd-raw-props/prop-PCM.scm M src/etc/ucd-raw-props/prop-Pat_Syn.scm M src/etc/ucd-raw-props/prop-Pat_WS.scm M src/etc/ucd-raw-props/prop-QMark.scm M src/etc/ucd-raw-props/prop-Radical.scm M src/etc/ucd-raw-props/prop-SB.scm M src/etc/ucd-raw-props/prop-SD.scm M src/etc/ucd-raw-props/prop-STerm.scm M src/etc/ucd-raw-props/prop-Term.scm M src/etc/ucd-raw-props/prop-UIdeo.scm M src/etc/ucd-raw-props/prop-Upper.scm M src/etc/ucd-raw-props/prop-VS.scm M src/etc/ucd-raw-props/prop-WB.scm M src/etc/ucd-raw-props/prop-WSpace.scm M src/etc/ucd-raw-props/prop-XIDC.scm M src/etc/ucd-raw-props/prop-XIDS.scm M src/etc/ucd-raw-props/prop-XO_NFC.scm M src/etc/ucd-raw-props/prop-XO_NFD.scm M src/etc/ucd-raw-props/prop-XO_NFKC.scm M src/etc/ucd-raw-props/prop-XO_NFKD.scm M src/etc/ucd-raw-props/prop-age.scm M src/etc/ucd-raw-props/prop-bc.scm M src/etc/ucd-raw-props/prop-blk.scm M src/etc/ucd-raw-props/prop-bmg.scm M src/etc/ucd-raw-props/prop-bpb.scm M src/etc/ucd-raw-props/prop-bpt.scm M src/etc/ucd-raw-props/prop-canonical-cm.scm M src/etc/ucd-raw-props/prop-canonical-dm.scm M src/etc/ucd-raw-props/prop-ccc.scm M src/etc/ucd-raw-props/prop-cf.scm M src/etc/ucd-raw-props/prop-dm.scm M src/etc/ucd-raw-props/prop-dt.scm M src/etc/ucd-raw-props/prop-ea.scm M src/etc/ucd-raw-props/prop-gc.scm M src/etc/ucd-raw-props/prop-hst.scm M src/etc/ucd-raw-props/prop-isc.scm M src/etc/ucd-raw-props/prop-jg.scm M src/etc/ucd-raw-props/prop-jt.scm M src/etc/ucd-raw-props/prop-lb.scm M src/etc/ucd-raw-props/prop-lc.scm M src/etc/ucd-raw-props/prop-na.scm M src/etc/ucd-raw-props/prop-na1.scm M src/etc/ucd-raw-props/prop-nt.scm M src/etc/ucd-raw-props/prop-nv.scm M src/etc/ucd-raw-props/prop-sc.scm M src/etc/ucd-raw-props/prop-scf.scm M src/etc/ucd-raw-props/prop-scx.scm M src/etc/ucd-raw-props/prop-slc.scm M src/etc/ucd-raw-props/prop-stc.scm M src/etc/ucd-raw-props/prop-suc.scm M src/etc/ucd-raw-props/prop-tc.scm M src/etc/ucd-raw-props/prop-uc.scm M src/etc/utilities.scm M src/ffi/build.scm M src/ffi/cdecls.scm M src/ffi/ctypes.scm M src/ffi/generator.scm M src/ffi/syntax.scm M src/gdbm/Makefile.am M src/gdbm/NEWS M src/gdbm/compile.sh M src/gdbm/configure.ac M src/gdbm/gdbm-adapter.c M src/gdbm/gdbm-check.scm M src/gdbm/gdbm-shim.h M src/gdbm/gdbm.cdecl M src/gdbm/gdbm.pkg M src/gdbm/gdbm.scm M src/gdbm/mit-scheme-gdbm.texi M src/imail/Makefile.am M src/imail/NEWS M src/imail/compile.scm M src/imail/compile.sh M src/imail/configure.ac M src/imail/ed-ffi.scm M src/imail/imail-browser.scm M src/imail/imail-core.scm M src/imail/imail-file.scm M src/imail/imail-imap.scm M src/imail/imail-mime.scm M src/imail/imail-rmail.scm M src/imail/imail-summary.scm M src/imail/imail-top.scm M src/imail/imail-umail.scm M src/imail/imail-util.scm M src/imail/imail.pkg M src/imail/imap-response.scm M src/imail/imap-syntax.scm M src/imail/make.scm M src/imail/mit-scheme-imail.texi M src/imail/print.sh M src/mcrypt/Makefile.am M src/mcrypt/NEWS M src/mcrypt/compile.sh M src/mcrypt/configure.ac M src/mcrypt/mcrypt-adapter.c M src/mcrypt/mcrypt-check.scm M src/mcrypt/mcrypt-shim.h M src/mcrypt/mcrypt.cdecl M src/mcrypt/mcrypt.pkg M src/mcrypt/mcrypt.scm M src/microcode/Clean.sh M src/microcode/Setup.sh M src/microcode/artutl.c M src/microcode/avltree.c M src/microcode/avltree.h M src/microcode/bignmint.h M src/microcode/bignum.c M src/microcode/bignum.h M src/microcode/bigprm.c M src/microcode/bits.h M src/microcode/bitstr.c M src/microcode/bitstr.h M src/microcode/bkpt.c M src/microcode/bkpt.h M src/microcode/boot.c M src/microcode/bytevector.c M src/microcode/char.c M src/microcode/cmpauxmd/asmcvt.c M src/microcode/cmpauxmd/c.c M src/microcode/cmpauxmd/i386.m4 M src/microcode/cmpauxmd/m4-dos M src/microcode/cmpauxmd/makefile M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpgc.h M src/microcode/cmpint.c M src/microcode/cmpint.h M src/microcode/cmpintmd/c-config.h M src/microcode/cmpintmd/c.c M src/microcode/cmpintmd/c.h M src/microcode/cmpintmd/i386-config.h M src/microcode/cmpintmd/i386.c M src/microcode/cmpintmd/i386.h M src/microcode/cmpintmd/none-config.h M src/microcode/cmpintmd/none.c M src/microcode/cmpintmd/none.h M src/microcode/cmpintmd/svm1-config.h M src/microcode/cmpintmd/svm1.c M src/microcode/cmpintmd/svm1.h M src/microcode/cmpintmd/x86-64-config.h M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h M src/microcode/cmpintmd/x86-fenv.c M src/microcode/cmpintmd/x86-fenv.h M src/microcode/comlin.c M src/microcode/comlin.h M src/microcode/comutl.c M src/microcode/configure.ac M src/microcode/confshared.h M src/microcode/const.h M src/microcode/copyrigh.c M src/microcode/critsec.h M src/microcode/ctassert.h M src/microcode/daemon.c M src/microcode/debug.c M src/microcode/dfloat.c M src/microcode/dstack.h M src/microcode/edwin.h M src/microcode/error.c M src/microcode/errors.h M src/microcode/extern.c M src/microcode/extern.h M src/microcode/extract-liarc-decls.c M src/microcode/fasdump.c M src/microcode/fasl.c M src/microcode/fasl.h M src/microcode/fasload.c M src/microcode/findprim.c M src/microcode/fixnum.c M src/microcode/fixnum.h M src/microcode/fixobj.h M src/microcode/floenv.c M src/microcode/floenv.h M src/microcode/flonum.c M src/microcode/gc.h M src/microcode/gccode.h M src/microcode/gcloop.c M src/microcode/gen-nonce.c M src/microcode/generic.c M src/microcode/history.h M src/microcode/hooks.c M src/microcode/hunk.c M src/microcode/intern.c M src/microcode/interp.c M src/microcode/interp.h M src/microcode/intext.c M src/microcode/intext.h M src/microcode/intprm.c M src/microcode/intrpt.h M src/microcode/liarc-cc.in M src/microcode/liarc-ld.in M src/microcode/liarc.h M src/microcode/list.c M src/microcode/lookprm.c M src/microcode/lookup.c M src/microcode/lookup.h M src/microcode/macosx-starter.c M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/bundles-liarc.scm M src/microcode/makegen/dirs-liarc.scm M src/microcode/makegen/files-core.scm M src/microcode/makegen/files-optional.scm M src/microcode/makegen/files-os-prim.scm M src/microcode/makegen/files-other.scm M src/microcode/makegen/files-unix.scm M src/microcode/makegen/liarc-base-rules M src/microcode/makegen/m4.sh M src/microcode/makegen/makegen.scm M src/microcode/makegen/makeinit.sh M src/microcode/makegen/pkds-liarc.scm M src/microcode/memmag.c M src/microcode/memmag.h M src/microcode/missing.c M src/microcode/mul.c M src/microcode/nt.h M src/microcode/ntapi.h M src/microcode/ntasutl.asm M src/microcode/ntenv.c M src/microcode/ntfile.c M src/microcode/ntfs.c M src/microcode/ntfs.h M src/microcode/ntgui.c M src/microcode/ntgui.h M src/microcode/ntio.c M src/microcode/ntio.h M src/microcode/ntproc.c M src/microcode/ntproc.h M src/microcode/ntscmlib.h M src/microcode/ntscreen.c M src/microcode/ntscreen.h M src/microcode/ntsig.c M src/microcode/ntsock.c M src/microcode/ntsys.c M src/microcode/ntsys.h M src/microcode/ntterm.h M src/microcode/nttop.c M src/microcode/nttop.h M src/microcode/nttrap.c M src/microcode/nttrap.h M src/microcode/nttterm.c M src/microcode/nttty.c M src/microcode/ntutl/config.bat M src/microcode/ntutl/config.h M src/microcode/ntutl/makefile M src/microcode/ntutl/makefile.wcc M src/microcode/ntutl/scheme16.c M src/microcode/ntutl/scheme16.mak M src/microcode/ntutl/scheme31.c M src/microcode/ntutl/scheme32.c M src/microcode/ntutl/scm-p-nt.lst M src/microcode/ntutl/setenv.bat M src/microcode/ntutl/wconfig.bat M src/microcode/object.h M src/microcode/obstack.c M src/microcode/obstack.h M src/microcode/option.c M src/microcode/option.h M src/microcode/os.h M src/microcode/osctty.h M src/microcode/osentropy.h M src/microcode/osenv.h M src/microcode/osfile.h M src/microcode/osfs.h M src/microcode/osio.h M src/microcode/osproc.h M src/microcode/ospty.h M src/microcode/osscheme.c M src/microcode/osscheme.h M src/microcode/ossig.h M src/microcode/osterm.h M src/microcode/ostop.h M src/microcode/ostty.c M src/microcode/ostty.h M src/microcode/outf.c M src/microcode/outf.h M src/microcode/prchacha.c M src/microcode/prename.h M src/microcode/prentropy.c M src/microcode/prim.c M src/microcode/prim.h M src/microcode/prims.h M src/microcode/primutl.c M src/microcode/prkeccak.c M src/microcode/prmd5.c M src/microcode/prntenv.c M src/microcode/prntfs.c M src/microcode/prntio.c M src/microcode/prosenv.c M src/microcode/prosfile.c M src/microcode/prosfs.c M src/microcode/prosio.c M src/microcode/prosproc.c M src/microcode/prospty.c M src/microcode/prosterm.c M src/microcode/prostty.c M src/microcode/pruxdld.c M src/microcode/pruxenv.c M src/microcode/pruxffi.c M src/microcode/pruxffi.h M src/microcode/pruxfs.c M src/microcode/pruxio.c M src/microcode/pruxsock.c M src/microcode/ptrvec.c M src/microcode/purify.c M src/microcode/purutl.c M src/microcode/regex.c M src/microcode/regex.h M src/microcode/returns.h M src/microcode/rgxprim.c M src/microcode/sample.c M src/microcode/scheme.h M src/microcode/scode.h M src/microcode/sdata.h M src/microcode/stack.h M src/microcode/stackops.h M src/microcode/step.c M src/microcode/storage.c M src/microcode/string.c M src/microcode/svm1-interp.c M src/microcode/syntax.c M src/microcode/syntax.h M src/microcode/syscall.h M src/microcode/sysprim.c M src/microcode/term.c M src/microcode/termcap.c M src/microcode/terminfo.c M src/microcode/tparam.c M src/microcode/transact.c M src/microcode/trap.h M src/microcode/tterm.c M src/microcode/types.h M src/microcode/unstackify.c M src/microcode/usrdef.h M src/microcode/utabmd.c M src/microcode/utils.c M src/microcode/ux.c M src/microcode/ux.h M src/microcode/uxctty.c M src/microcode/uxentropy.c M src/microcode/uxenv.c M src/microcode/uxfile.c M src/microcode/uxfs.c M src/microcode/uxio.c M src/microcode/uxio.h M src/microcode/uxproc.c M src/microcode/uxproc.h M src/microcode/uxsig.c M src/microcode/uxsig.h M src/microcode/uxsock.c M src/microcode/uxsock.h M src/microcode/uxterm.c M src/microcode/uxterm.h M src/microcode/uxtop.c M src/microcode/uxtop.h M src/microcode/uxtrap.c M src/microcode/uxtrap.h M src/microcode/uxtty.c M src/microcode/uxutil.c M src/microcode/uxutil.h M src/microcode/vector.c M src/microcode/wind.c M src/microcode/xdebug.c M src/pgsql/Makefile.am M src/pgsql/NEWS M src/pgsql/compile.sh M src/pgsql/configure.ac M src/pgsql/pgsql-check.scm M src/pgsql/pgsql-shim.h M src/pgsql/pgsql.cdecl M src/pgsql/pgsql.pkg M src/pgsql/pgsql.scm M src/runtime/advice.scm M src/runtime/apply.scm M src/runtime/apropos.scm M src/runtime/arith.scm M src/runtime/binary-port.scm M src/runtime/bitstr.scm M src/runtime/blowfish.scm M src/runtime/boole.scm M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/bytevector.scm M src/runtime/char-set.scm M src/runtime/char.scm M src/runtime/chrsyn.scm M src/runtime/codwlk.scm M src/runtime/command-line.scm M src/runtime/compound-predicate.scm M src/runtime/condvar.scm M src/runtime/conpar.scm M src/runtime/console-io.scm M src/runtime/contin.scm M src/runtime/cpoint.scm M src/runtime/cpress.scm M src/runtime/crypto.scm M src/runtime/datime.scm M src/runtime/dbgcmd.scm M src/runtime/dbgutl.scm M src/runtime/debug.scm M src/runtime/defstr.scm M src/runtime/dispatch-cache.scm M src/runtime/dispatch-tag.scm M src/runtime/dos-pathname.scm M src/runtime/dragon4.scm M src/runtime/dynamic.scm M src/runtime/ed-ffi.scm M src/runtime/emacs.scm M src/runtime/environment.scm M src/runtime/equals.scm M src/runtime/error.scm M src/runtime/events.scm M src/runtime/ffi.scm M src/runtime/file-attributes.scm M src/runtime/file-io.scm M src/runtime/floenv.scm M src/runtime/format.scm M src/runtime/framex.scm M src/runtime/gc.scm M src/runtime/gcdemn.scm M src/runtime/gcfinal.scm M src/runtime/gcnote.scm M src/runtime/gcstat.scm M src/runtime/gdatab.scm M src/runtime/gdbm.scm M src/runtime/generic-io.scm M src/runtime/global.scm M src/runtime/graphics.scm M src/runtime/hash-table.scm M src/runtime/hash.scm M src/runtime/histry.scm M src/runtime/host-adapter.scm M src/runtime/html-form-codec.scm M src/runtime/http-client.scm M src/runtime/http-io.scm M src/runtime/http-syntax.scm M src/runtime/infstr.scm M src/runtime/infutl.scm M src/runtime/input-port.scm M src/runtime/integer-bits.scm M src/runtime/interrupt.scm M src/runtime/keyword.scm M src/runtime/lambda-list.scm M src/runtime/lambda.scm M src/runtime/lambdx.scm M src/runtime/legacy-string.scm M src/runtime/library-database.scm M src/runtime/library-imports.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-scode.scm M src/runtime/library-standard.scm M src/runtime/list.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/memoizer.scm M src/runtime/microcode-data.scm M src/runtime/microcode-errors.scm M src/runtime/microcode-tables.scm M src/runtime/mime-codec.scm M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/msort.scm M src/runtime/ntdir.scm M src/runtime/ntprm.scm M src/runtime/numint.scm M src/runtime/numpar.scm M src/runtime/option.scm M src/runtime/optiondb.scm M src/runtime/ordvec.scm M src/runtime/os-primitives.scm M src/runtime/output-port.scm M src/runtime/packag.scm M src/runtime/parametric-predicate.scm M src/runtime/parser-buffer.scm M src/runtime/pathname.scm M src/runtime/pgsql.scm M src/runtime/poplat.scm M src/runtime/pp.scm M src/runtime/predicate-dispatch.scm M src/runtime/predicate-tagging.scm M src/runtime/predicate.scm M src/runtime/prgcop.scm M src/runtime/primitive-arithmetic.scm M src/runtime/primitive-io.scm M src/runtime/printer.scm M src/runtime/procedure.scm M src/runtime/process.scm M src/runtime/prop1d.scm M src/runtime/prop2d.scm M src/runtime/qsort.scm M src/runtime/queue.scm M src/runtime/random.scm M src/runtime/rbtree.scm M src/runtime/reader.scm M src/runtime/record.scm M src/runtime/reference-trap.scm M src/runtime/regexp.scm M src/runtime/regsexp.scm M src/runtime/rep.scm M src/runtime/rexp.scm M src/runtime/rfc2822-headers.scm M src/runtime/rgxcmp.scm M src/runtime/runtime.cbf M src/runtime/runtime.pkg M src/runtime/runtime.sf M src/runtime/savres.scm M src/runtime/scan.scm M src/runtime/scode.scm M src/runtime/sdata.scm M src/runtime/sfile.scm M src/runtime/sha3.scm M src/runtime/socket.scm M src/runtime/srfi-1.scm M src/runtime/stream.scm M src/runtime/string-io.scm M src/runtime/string.scm M src/runtime/structure-parser.scm M src/runtime/swank.scm M src/runtime/symbol.scm M src/runtime/syncproc.scm M src/runtime/syntax-check.scm M src/runtime/syntax-constructor.scm M src/runtime/syntax-declaration.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-low.scm M src/runtime/syntax-output.scm M src/runtime/syntax-parser.scm M src/runtime/syntax-rename.scm M src/runtime/syntax-rules.scm M src/runtime/syntax.scm M src/runtime/sysclk.scm M src/runtime/sysmac.scm M src/runtime/system.scm M src/runtime/textual-port.scm M src/runtime/thread-barrier.scm M src/runtime/thread-low.scm M src/runtime/thread-queue.scm M src/runtime/thread.scm M src/runtime/transcript.scm M src/runtime/ucd-glue.scm M src/runtime/ucd-table-alpha.scm M src/runtime/ucd-table-canonical-cm-second.scm M src/runtime/ucd-table-canonical-cm.scm M src/runtime/ucd-table-canonical-dm.scm M src/runtime/ucd-table-cased.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-comp_ex.scm M src/runtime/ucd-table-cwcf.scm M src/runtime/ucd-table-cwl.scm M src/runtime/ucd-table-cwu.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gc=cc.scm M src/runtime/ucd-table-gc=cf.scm M src/runtime/ucd-table-gc=cn.scm M src/runtime/ucd-table-gc=co.scm M src/runtime/ucd-table-gc=cs.scm M src/runtime/ucd-table-gc=ll.scm M src/runtime/ucd-table-gc=lm.scm M src/runtime/ucd-table-gc=lo.scm M src/runtime/ucd-table-gc=lt.scm M src/runtime/ucd-table-gc=lu.scm M src/runtime/ucd-table-gc=mc.scm M src/runtime/ucd-table-gc=me.scm M src/runtime/ucd-table-gc=mn.scm M src/runtime/ucd-table-gc=nd.scm M src/runtime/ucd-table-gc=nl.scm M src/runtime/ucd-table-gc=no.scm M src/runtime/ucd-table-gc=pc.scm M src/runtime/ucd-table-gc=pd.scm M src/runtime/ucd-table-gc=pe.scm M src/runtime/ucd-table-gc=pf.scm M src/runtime/ucd-table-gc=pi.scm M src/runtime/ucd-table-gc=po.scm M src/runtime/ucd-table-gc=ps.scm M src/runtime/ucd-table-gc=sc.scm M src/runtime/ucd-table-gc=sk.scm M src/runtime/ucd-table-gc=sm.scm M src/runtime/ucd-table-gc=so.scm M src/runtime/ucd-table-gc=zl.scm M src/runtime/ucd-table-gc=zp.scm M src/runtime/ucd-table-gc=zs.scm M src/runtime/ucd-table-gcb.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-lower.scm M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ucd-table-nfd_qc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nt=de.scm M src/runtime/ucd-table-nt=di.scm M src/runtime/ucd-table-nt=nu.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-upper.scm M src/runtime/ucd-table-wb.scm M src/runtime/ucd-table-wspace.scm M src/runtime/unix-pathname.scm M src/runtime/unsyn.scm M src/runtime/unxdir.scm M src/runtime/unxprm.scm M src/runtime/url.scm M src/runtime/usrint.scm M src/runtime/vector.scm M src/runtime/version.scm M src/runtime/where.scm M src/runtime/win32-registry.scm M src/runtime/wind.scm M src/runtime/world-report.scm M src/runtime/wrkdir.scm M src/runtime/wttree.scm M src/runtime/x11graph.scm M src/runtime/xeval.scm M src/runtime/ystep.scm M src/sf/analyze.scm M src/sf/butils.scm M src/sf/cgen.scm M src/sf/chtype.scm M src/sf/copy.scm M src/sf/emodel.scm M src/sf/gconst.scm M src/sf/make.scm M src/sf/object.scm M src/sf/pardec.scm M src/sf/pthmap.scm M src/sf/reduct.scm M src/sf/sf.cbf M src/sf/sf.pkg M src/sf/sf.sf M src/sf/subst.scm M src/sf/tables.scm M src/sf/toplev.scm M src/sf/usicon.scm M src/sf/usiexp.scm M src/sf/xform.scm M src/sos/class.scm M src/sos/compile.scm M src/sos/ed-ffi.scm M src/sos/geneqht.scm M src/sos/generic.scm M src/sos/genmult.scm M src/sos/instance.scm M src/sos/load.scm M src/sos/macros.scm M src/sos/method.scm M src/sos/microbench.scm M src/sos/printer.scm M src/sos/recslot.scm M src/sos/slot.scm M src/sos/sos.pkg M src/sos/tvector.scm M src/ssp/compile.scm M src/ssp/expenv.scm M src/ssp/load.scm M src/ssp/mod-lisp.scm M src/ssp/ssp.pkg M src/ssp/xhtml-expander.scm M src/ssp/xmlrpc.scm M src/star-parser/compile.scm M src/star-parser/ed-ffi.scm M src/star-parser/load.scm M src/star-parser/matcher.scm M src/star-parser/parser.pkg M src/star-parser/parser.scm M src/star-parser/shared.scm M src/win32/clipbrd.scm M src/win32/dib.scm M src/win32/dibutils/dibutils.c M src/win32/dibutils/dibutils.def M src/win32/dibutils/dibutils.h M src/win32/dibutils/makefile.msc M src/win32/dibutils/makefile.wcc M src/win32/ffimacro.scm M src/win32/graphics.scm M src/win32/make.scm M src/win32/module.scm M src/win32/protect.scm M src/win32/wf_user.scm M src/win32/win32.cbf M src/win32/win32.pkg M src/win32/win32.sf M src/win32/win_ffi.scm M src/win32/wingdi.scm M src/win32/winnt.scm M src/win32/winuser.scm M src/win32/wt_user.scm M src/x11-screen/Makefile.am M src/x11-screen/NEWS M src/x11-screen/compile.scm M src/x11-screen/compile.sh M src/x11-screen/configure.ac M src/x11-screen/ed-ffi.scm M src/x11-screen/x11-command.scm M src/x11-screen/x11-key.scm M src/x11-screen/x11-screen-test.scm M src/x11-screen/x11-screen.pkg M src/x11-screen/x11-screen.scm M src/x11/Makefile.am M src/x11/NEWS M src/x11/compile.scm M src/x11/compile.sh M src/x11/configure.ac M src/x11/x11-base.scm M src/x11/x11-color.scm M src/x11/x11-device.scm M src/x11/x11-graphics.scm M src/x11/x11-shim.h M src/x11/x11-terminal.scm M src/x11/x11-test.scm M src/x11/x11.cdecl M src/x11/x11.h M src/x11/x11.pkg M src/x11/x11.scm M src/x11/x11base.c M src/x11/x11color.c M src/x11/x11graph.c M src/x11/x11term.c M src/xdoc/compile.scm M src/xdoc/db.scm M src/xdoc/load.scm M src/xdoc/validate-xdoc.scm M src/xdoc/xdoc.pkg M src/xdoc/xdoc.scm M src/xml/compile.scm M src/xml/ed-ffi.scm M src/xml/load.scm M src/xml/parser-macro.scm M src/xml/rdf-nt.scm M src/xml/rdf-struct.scm M src/xml/turtle.scm M src/xml/xhtml-entities.scm M src/xml/xhtml.scm M src/xml/xml-chars.scm M src/xml/xml-names.scm M src/xml/xml-output.scm M src/xml/xml-parser.scm M src/xml/xml-rpc.scm M src/xml/xml-struct.scm M src/xml/xml.pkg M src/xml/xpath.scm M tests/check.scm M tests/compiler/test-fasdump.scm M tests/compiler/test-fgopt-conect.scm M tests/compiler/test-toplev.scm M tests/compiler/test-varname.scm M tests/compiler/test-y.scm M tests/ffi/Makefile.am M tests/ffi/configure.ac M tests/ffi/ffi-test.c M tests/ffi/test-ffi.scm M tests/load.scm M tests/microcode/test-chacha.scm M tests/microcode/test-flonum-casts.scm M tests/microcode/test-flonum-except.scm M tests/microcode/test-keccak.scm M tests/microcode/test-lookup.scm M tests/runtime/test-access.scm M tests/runtime/test-arith.scm M tests/runtime/test-binary-port.scm M tests/runtime/test-bit-string.scm M tests/runtime/test-boyer-moore.scm M tests/runtime/test-bundle.scm M tests/runtime/test-bytevector.scm M tests/runtime/test-char-set.scm M tests/runtime/test-char.scm M tests/runtime/test-compound-predicate.scm M tests/runtime/test-dragon4.scm M tests/runtime/test-dynamic-env.scm M tests/runtime/test-entity.scm M tests/runtime/test-ephemeron.scm M tests/runtime/test-file-attributes.scm M tests/runtime/test-floenv.scm M tests/runtime/test-flonum.scm M tests/runtime/test-hash-table.scm M tests/runtime/test-ieee754.scm M tests/runtime/test-integer-bits.scm M tests/runtime/test-library-data/support-code.scm M tests/runtime/test-library-imports.scm M tests/runtime/test-library-loader.scm M tests/runtime/test-library-parser.scm M tests/runtime/test-library-standard.scm M tests/runtime/test-md5.scm M tests/runtime/test-mime-codec.scm M tests/runtime/test-numpar.scm M tests/runtime/test-optional.scm M tests/runtime/test-parametric-predicate.scm M tests/runtime/test-pp.scm M tests/runtime/test-predicate-dispatch.scm M tests/runtime/test-predicate.scm M tests/runtime/test-printer.scm M tests/runtime/test-process.scm M tests/runtime/test-promise.scm M tests/runtime/test-random.scm M tests/runtime/test-readwrite.scm M tests/runtime/test-regsexp.scm M tests/runtime/test-rgxcmp.scm M tests/runtime/test-sha3.scm M tests/runtime/test-srfi-1.scm M tests/runtime/test-stream.scm M tests/runtime/test-string-copy.scm M tests/runtime/test-string-normalization.scm M tests/runtime/test-string-search-data M tests/runtime/test-string-search.scm M tests/runtime/test-string.scm M tests/runtime/test-syncproc.scm M tests/runtime/test-syntax-rename.scm M tests/runtime/test-syntax.scm M tests/runtime/test-thread-queue.scm M tests/runtime/test-url.scm M tests/runtime/test-wttree.scm M tests/sos/test-genmult.scm M tests/star-parser/test-parser.scm M tests/unit-testing.scm M tests/xml/test-parser.scm M tests/xml/test-turtle.scm commit c7d132107e2f236e808a7500f0dd78fb8b8fbc31 Author: Chris Hanson Date: Sat Jan 5 22:56:22 2019 -0800 In update-copyright, replace use of old regexp with regsexp. Also adjust the various filename patterns to reflect the current directory structure. M dist/update-copyright.scm commit 40894e6bd1590bf6410ecb2fa71f848f2dbbbb7e Author: Chris Hanson Date: Sat Jan 5 22:41:18 2019 -0800 Clean the compiler subdir too. M tests/Clean.sh commit 30f505a6005de525ad2f4bb76578679f955a6271 Author: Chris Hanson Date: Sat Jan 5 18:28:40 2019 -0800 Allow alist->bundle to accept #F as predicate. Also beef up bundle tests a bit. M src/runtime/bundle.scm M tests/runtime/test-bundle.scm commit 6c31880508354532887e0f37be53928e1efdd2ed Author: Chris Hanson Date: Sat Jan 5 18:12:26 2019 -0800 Fix problem with using bundle? as a bundle predicate. M src/runtime/bundle.scm commit a9e84c522a0da6c6ce8a5bcb623c1a112ceec877 Author: Chris Hanson Date: Sat Jan 5 17:52:10 2019 -0800 New printer parameter param:print-hash-number-in-objects?. M src/runtime/boot.scm M src/runtime/printer.scm M src/runtime/runtime.pkg commit 785c71c2ba0166fce517c415e6e5ae2ff044e5d0 Author: Chris Hanson Date: Sat Jan 5 17:47:40 2019 -0800 Use dispatch-tag-print-name. M src/runtime/record.scm commit 7ade9b5fd416eed708d6c6223c08b79bda30436f Author: Chris Hanson Date: Sat Jan 5 17:46:52 2019 -0800 Export dispatch-tag-print-name for convenience. M src/runtime/dispatch-tag.scm M src/runtime/runtime.pkg commit 61feac5f33c57dfe31b5b956a0d397ae928fabec Author: Chris Hanson Date: Sat Jan 5 17:46:17 2019 -0800 Eliminate obsolete comment from user manual. M doc/user-manual/user.texinfo commit 8c72afd67c4c57293703c6ed4d9f7eb653ecba7f Author: Chris Hanson Date: Fri Jan 4 00:19:44 2019 -0500 Save file used to test gc table correctness. A src/etc/check-gc-tables.scm commit 9d01faa36c5c6148104c155d388ca14ef8adb619 Author: Taylor R Campbell Date: Thu Jan 3 16:35:11 2019 +0000 Detect trivial infinite recursion in promises. Obviously this can be fooled, like (force (let loop () (delay-force (loop)))) or any non-halting Turing machine, but this is an easy case to detect with negligible cost. M src/runtime/boot.scm M tests/runtime/test-promise.scm commit 23704145f986dcbb9e5e271d50a5f81986244433 Author: Taylor R Campbell Date: Thu Jan 3 16:33:31 2019 +0000 Test detectable screw case of delay-force infinite recursion. M tests/runtime/test-promise.scm commit 1f1e822357542d04a8e7fe8cad4710decaa6cdb9 Author: Taylor R Campbell Date: Thu Jan 3 16:23:05 2019 +0000 Integrate %promise-parts. Shaves another 20% off time for test-promise.scm. M src/runtime/boot.scm commit 4e246161076d4a2e3f9ff5f9e72dcca30a8013e5 Author: Taylor R Campbell Date: Thu Jan 3 07:17:32 2019 +0000 Use another indirection for representation of promises. The pairs never change, so merely loading the pair object from the cell indirection gives us an atomic snapshot of it. This way, there is no need for without-interrupts in promise-forced?. This makes each promise cost one more word (previously: one word to represent plus three words of heap space; now one word to represent plus four words of heap space), but reducing without-interrupts is a big win -- this halves the time of test-promise.scm on my machine. Of course, on a parallel system, the without-interrupts in %force is still not enough (and we'll need the cell-contentses to be load-acquire operations, not just loads). M src/runtime/boot.scm commit 1a3496b8c7f7fcd61cc34c13a5f8f3e3f8ed5f86 Author: Taylor R Campbell Date: Thu Jan 3 05:36:58 2019 +0000 Fix nested promises. M src/runtime/boot.scm M tests/runtime/test-promise.scm commit 33d3c739148ba198ac45e04a58124f0fbd0ef9e8 Author: Taylor R Campbell Date: Thu Jan 3 05:36:07 2019 +0000 Add promise tests. Nested promises are busted. M tests/check.scm A tests/runtime/test-promise.scm commit a00b45cf5dc8664c156c6d9ce74cdf20ed275dee Author: Taylor R Campbell Date: Thu Jan 3 05:11:20 2019 +0000 Open-code cell operations. M src/compiler/rtlgen/opncod.scm commit 48f4ecfdcd3967c8d91bf1b51df484aed6d4f519 Author: Taylor R Campbell Date: Thu Jan 3 16:10:04 2019 +0000 Restore sf predicates, not scode predicates. Various parts of sf were silently disabled in the overly aggressive change commit 816b9122751c9b60b85f9ce3db0df8a516f763cb Author: Chris Hanson Date: Wed Jan 24 00:07:59 2018 -0800 Greatly simplify SCode abstraction and change names to contain "scode". Also remove all FOO-components and FOO-subexpressions procedures. More work remains: the lambda abstraction is an unholy mess and needs to be cleaned up. The scan-defines stuff also merits some consideration. which kinda reflects on the sensibility of using disjoint type predicates across domains like this as one does in Scheme. M src/sf/object.scm M src/sf/subst.scm M src/sf/usiexp.scm M src/sf/xform.scm commit 56c055ec812b9133008f09d7e7cc54ce1e09f551 Merge: 048d4f9be 935c97dff Author: Taylor R Campbell Date: Fri Jan 4 06:59:33 2019 +0000 Merge branch 'cross-fasdump-v2' - Introduces a portable fasdumper that the compiler can use for cross-compiling. - Adapt the build system to use it. This form is not final: we should really be using GNU configure's build/host/target form. - Fix up the i386 back end, particularly floating-point stuff. - Split svm1 into four architectures: svm1-32be, svm1-32le, svm1-64be, svm1-64le. This way you can, e.g., use your x86 laptop to cross-build an svm1-32le system to run on an arm32 machine. - Various minor other fixes for cross-compilation. commit 048d4f9bee26fe0e9b23e44483de726642151994 Author: Taylor R Campbell Date: Fri Jan 4 05:09:26 2019 +0000 Use integrated %dispatch-tag-ref in record type predicates. These show up hot in profiles, so this makes a difference. M src/runtime/record.scm M src/runtime/runtime.pkg commit d1b04fe07a1072d457ba75ea760ad25c3610fa3f Author: Taylor R Campbell Date: Fri Jan 4 05:08:58 2019 +0000 Integrate string.scm operations in symbol.scm. Integrating, e.g., cp1-ref makes a huge difference. M src/runtime/symbol.scm commit f36ecd9184c30ebd51f7fc27d9690984dac6bd24 Author: Chris Hanson Date: Fri Jan 4 00:16:54 2019 -0500 Tweak equality-predicate-property to accept a default-value argument. M src/runtime/hash-table.scm commit 561cd35e0fe2ea76d26ee1e377c0e34acb4c5c09 Author: Chris Hanson Date: Thu Jan 3 23:44:26 2019 -0500 Don't use general predicate relations for record predicates. M src/runtime/record.scm commit d5bbd73abd90728d7b4c272e3b0d82d7ed9e3542 Merge: dbf9b7606 435d5ab13 Author: Chris Hanson Date: Wed Jan 2 01:30:44 2019 -0500 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit dbf9b7606dd665f3ee31e383bef02a4e981bf1ef Author: Chris Hanson Date: Wed Jan 2 01:30:06 2019 -0500 Fix problem with crashing in Emacs interface. M src/runtime/emacs.scm commit 435d5ab132a765d5ca1328bd04ade007292e9011 Author: Taylor R Campbell Date: Wed Jan 2 05:50:59 2019 +0000 Use runtime's string ports. Also read file in one swell foop, rather than character by character in a slow painful chain of indirections thousands of times slower. We'll use legacy strings here because this code was all written under the assumption that `string' meant byte vector, and legacy strings still have that semantics. Eventually this should all be adapted to use bytevectors instead for storage, and interpret things as strings only as necessary for text processing beyond mail data formats. M src/imail/imail-file.scm M src/imail/imail-util.scm commit 6b7e17dcf25dc182f0e49f52db230881a077acae Author: Taylor R Campbell Date: Wed Jan 2 05:50:16 2019 +0000 Implement position for string input ports. M src/runtime/string-io.scm commit 1fe5acb85ad4ae45f5a1e46d0027270276e468f9 Author: Taylor R Campbell Date: Wed Jan 2 05:50:06 2019 +0000 Export binary-port-length too. M src/runtime/runtime.pkg commit 0e23cb052ffe27155bafeef27822bdeadfe3a245 Author: Taylor R Campbell Date: Sat Dec 8 14:19:46 2018 +0000 Fix binary-port-position for output ports. Not sure if it'll DTRT for combined i/o ports; need more tests! M src/runtime/binary-port.scm M tests/runtime/test-binary-port.scm commit 7d5e2c600704dbda20c04ce07365d561cba77b0c Author: Taylor R Campbell Date: Sat Dec 8 14:10:14 2018 +0000 Export binary-port-position and set-binary-port-position!. Currently busted for output ports. M src/runtime/runtime.pkg M tests/runtime/test-binary-port.scm commit 54463e767a2c6c365878d227d7bf07bf1888a4ba Author: Taylor R Campbell Date: Wed Jan 2 02:16:36 2019 +0000 Integrate string operations for order of magnitude speedup. M src/edwin/string.scm commit 943b1bbce0b835cc55fb2cfa3f3947d5e4bf5658 Author: Taylor R Campbell Date: Wed Jan 2 02:16:28 2019 +0000 ucd-slc-value &c. return chars, not fixnums. M src/runtime/char.scm commit 1ed07ba10c48f2754a97e15502c717bf5d9e7a59 Author: Taylor R Campbell Date: Sun Dec 30 23:33:21 2018 +0000 Use 32-bit xor rather than 64-bit xor for zeroing. M src/compiler/machines/x86-64/lapgen.scm commit ad8aa1ac71c7532ffea403fdf941741246e6f593 Author: Taylor R Campbell Date: Sat Dec 29 21:56:47 2018 +0000 Split deeply nested expressions into named and typed temporaries. No functional change intended, just makes stepping through with a debugger easier. M src/microcode/gcloop.c commit 935c97dff2add81e76bae3a7180f910a19d7e873 Author: Taylor R Campbell Date: Mon Dec 31 21:41:51 2018 +0000 Fix misparenthesization. M src/compiler/base/utils.scm commit d58ec621c5f7609f6d27ae843b2e5bfe0c03bec3 Author: Taylor R Campbell Date: Sat Dec 15 03:21:44 2018 +0000 Confirm that a couple screw cases in closure analysis work. Once upon a time the Y combinator and U combinator would crash the compiler. It's been fixed now but let's at least immortalize the code I had lying around that crashed it so it doesn't happen again. M tests/check.scm A tests/compiler/test-y.scm commit 80014f4b6460aec09becdf0cad79a680ba61e1c7 Author: Taylor R Campbell Date: Tue Dec 11 16:40:51 2018 +0000 Add some more release notes. A src/relnotes/bug-readexactinfnan A src/relnotes/bug-sharedwrite A src/relnotes/bug-sqrt A src/relnotes/nan-syntax A src/relnotes/subnormal-operand commit 2d45c763af4d6ea118c92dd25f8b0250e3467ad5 Author: Chris Hanson Date: Thu Dec 27 16:22:32 2018 -0500 Fix whitespace change ignored by magit. M tests/runtime/test-string-normalization.scm commit 9beecff14fa851b447807e632810d7daa9ca42b1 Author: Chris Hanson Date: Wed Dec 26 20:01:24 2018 -0500 Move .dir-locals.el from src/ to top level dir. R100 src/.dir-locals.el .dir-locals.el commit fe033c5a38da022a5b0793d5f17a444215b7648c Author: Chris Hanson Date: Wed Dec 26 20:00:55 2018 -0500 Split test data out of "test-string-normalization". A tests/runtime/test-string-normalization-data M tests/runtime/test-string-normalization.scm commit a7cabf16c6c579586b3b490556857dfdcda89ae5 Author: Taylor R Campbell Date: Sun Dec 16 01:11:58 2018 +0000 Convert char to unsigned char before using islower/toupper. Failure to do so is undefined behaviour for any negative char values. M src/microcode/findprim.c commit 66f6a88667f1102ab11ecf4ece5cca1e1962265e Author: Taylor R Campbell Date: Sun Dec 16 00:45:06 2018 +0000 Use push with memory reference on i386 too. M src/compiler/machines/i386/rules1.scm commit faa456b8d56da1982fa32a3f37274e56d399fa80 Author: Taylor R Campbell Date: Sun Dec 16 00:33:14 2018 +0000 Move comment to cover all the primitives disabled for this reason. M src/compiler/machines/i386/machin.scm commit 12e01fb05b229c5f3d6232cf483174a62acbb5fd Author: Taylor R Campbell Date: Sat Dec 15 23:22:40 2018 +0000 Open-code unordered comparison primitives on i386. M src/compiler/machines/i386/machin.scm M src/compiler/machines/i386/rulflo.scm commit 0d8add61e540b6794aae811c3de5ad7e975648df Author: Taylor R Campbell Date: Sat Dec 15 22:45:25 2018 +0000 Mark some more primitives as machine-dependent and thus non-foldable. M src/compiler/base/utils.scm commit 89bda900291968b4f6de5570d5dae31e9edee865 Author: Taylor R Campbell Date: Sat Dec 15 21:44:39 2018 +0000 Exclude exceptions not in FE_ALL_EXCEPT. Some buggy libms omit some FE_* from FE_ALL_EXCEPT, apparently, oops. When they cease to be relevant to me we can remove this. M src/microcode/floenv.c commit 7cfd06b8faa89ea8d3df5f43032cfeb1b9e4b72a Author: Taylor R Campbell Date: Sat Dec 15 21:03:16 2018 +0000 Make primitives raise exceptions on signalling NaN too. M src/microcode/flonum.c commit d7ed792b9ca6b5a7d71a13bb95f22f26a5789c8f Author: Taylor R Campbell Date: Sat Dec 15 20:38:48 2018 +0000 Fix mistaken expansion of flo:<> as flonum-is-less-or-greater?. Global flo:<> is the ordered version, which raises exception on qNaN; primitive flonum-is-less-or-greater? is the unordered version, which returns false on qNaN. M src/sf/gconst.scm commit aa5d1efca83528869a6ce48ca085cf37cee39a53 Author: Taylor R Campbell Date: Sat Dec 15 03:48:26 2018 +0000 Test ordered and unordered comparisons with sNaN raise exceptions. M tests/runtime/test-flonum.scm commit 27f2b5d57a31f04883c631412c9180b9a2584828 Author: Taylor R Campbell Date: Fri Dec 14 17:20:49 2018 +0000 Normalize significand in flo:random-unit-open even on 32-bit. M src/runtime/random.scm commit a15c4d7a089e2480cc8e6c31d469a2c995d2578a Author: Taylor R Campbell Date: Fri Dec 14 17:05:50 2018 +0000 Fix sign error and mask size in fix:bitcount16. M src/runtime/random.scm commit a828e08e88c3e6553e6d2988ce44b0cd3d675093 Author: Taylor R Campbell Date: Fri Dec 14 16:48:00 2018 +0000 Avoid undefined behaviour with large right shifts. M src/microcode/artutl.c M tests/runtime/test-integer-bits.scm commit 909220845424aab46b6f73d9de5cf861821f89aa Author: Taylor R Campbell Date: Fri Dec 14 16:44:12 2018 +0000 Shift-right is busted on large shifts. M tests/runtime/test-integer-bits.scm commit cb341bd1d790eb1f8c49fc683e3a3b8428bd01ea Author: Taylor R Campbell Date: Fri Dec 14 16:24:58 2018 +0000 Disable FLONUM-EXP open-coding on i386. The instruction sequence we had was not very good, e.g. (exp -708) was off by far more than 1ulp. It can be done that way, but we need to use 64-bit precision for it, and setting the i387 precision here is getting a bit far afield from open-coding. M src/compiler/machines/i386/machin.scm M src/compiler/machines/i386/rulflo.scm commit f15d1d945fcd7406888ea62791b8adec1f637ae4 Author: Taylor R Campbell Date: Fri Dec 14 16:12:09 2018 +0000 Relax expm1 tests; i387 in 53-bit precision won't guarantee 0.5ulp. M tests/runtime/test-arith.scm commit 4ce52d67a1173aabdcc69c694579da2dc2a25d2d Author: Taylor R Campbell Date: Fri Dec 14 15:58:27 2018 +0000 Guard against loading any NaN into double here. The i387 floating-point unit raises an exception if you even load sNaN into the floating-point stack. M src/microcode/flonum.c commit ed33c12c038c1389b3be47e87c169f8e13875876 Author: Taylor R Campbell Date: Fri Dec 14 15:43:07 2018 +0000 Clear exceptions before enabling traps. M tests/runtime/test-arith.scm M tests/runtime/test-flonum.scm commit 65ac645cd052bd307f9e2001a5b7084cfa1a01dd Author: Taylor R Campbell Date: Fri Dec 14 15:18:04 2018 +0000 Use integer bit tests in FLONUM-IS-NEGATIVE?. Otherwise this raises an exception for sNaN on i387. M src/microcode/flonum.c commit b963b3d4a347f89b2e47732b51b1e2b580a413c5 Author: Taylor R Campbell Date: Fri Dec 14 15:17:47 2018 +0000 Provide hokey alternatives if no SSE or i387. M src/microcode/cmpauxmd/i386.m4 commit 90ab7446a0dab70b79dbc8d791960bc59095a2af Author: Taylor R Campbell Date: Fri Dec 14 15:11:44 2018 +0000 Re-enable the SSE instructions in i386. We don't generate SSE code in the compiler but we need to maintain the mxcsr in the floating-point environment. M src/microcode/cmpauxmd/i386.m4 commit b88c6dce54d4b9426a19b5111abb4db87fb3db40 Author: Taylor R Campbell Date: Fri Dec 14 13:42:18 2018 +0000 Disable open-coding of flonum-copysign/abs/negate on i386 for now. Requires too much work to get these to handle signalling NaN correctly at the moment. M src/compiler/machines/i386/machin.scm commit d7ea2f5e9459d868b201954bbcb8457533dfe1d3 Author: Taylor R Campbell Date: Thu Dec 13 00:13:09 2018 +0000 Rewrite flonum-copysign/abs/negate primitives using integer masks. Otherwise these spuriously raise exceptions on i387 because merely loading a signalling NaN onto the fp stack does so. M src/microcode/flonum.c commit 0c68bbe838ff5eb973ed5d04f63ffdc59ba5d59e Author: Taylor R Campbell Date: Wed Dec 12 22:33:34 2018 +0000 Make flonum comparison primitives raise exceptions in ucode. M src/microcode/flonum.c commit 21866f3e1d11234d96d1291f73af9e016668abd2 Author: Chris Hanson Date: Sat Dec 15 13:48:47 2018 -0800 Set indent-tabs-mode to t in this directory. This has been true historically. I'd like to eventually eliminate the use of tabs in our code base. M src/.dir-locals.el commit 53843ccd34320deb563d69af5cf08cff006fafbb Author: Taylor R Campbell Date: Wed Dec 12 22:33:57 2018 +0000 Use FCOM, not FUCOM, for ordered comparisons. M src/compiler/machines/i386/rulflo.scm M tests/microcode/test-flonum-except.scm commit ac34be1766acbd2e6e0485f9a6648c80ef863dee Author: Taylor R Campbell Date: Wed Dec 12 23:46:48 2018 +0000 Rewrite NaN primitives in terms of integer data. On i387, merely loading and storing a double is enough to turn a signalling NaN into a quiet NaN, so load and store uint64_t instead. M src/microcode/flonum.c commit 6f990adc8c416ca651749f66833b9eff745c159f Author: Taylor R Campbell Date: Wed Dec 12 22:07:09 2018 +0000 Call the primitives directly. These are no longer integrated, so we can't make a compound procedure call if they are interpreted -- the interpreter will stomp all over Free while we're in the middle of allocating the string, leading to mayhem. But it is safe to call the primitive, even though it is no longer open-coded. M src/edwin/utils.scm commit 90465a5ce1a8595d5f000f0f3602951a64d3b6d7 Author: Taylor R Campbell Date: Wed Dec 12 20:18:39 2018 +0000 Skip constant-folding MD primitives when cross-compiling. M src/compiler/base/utils.scm commit e6a7729d2ff6fb7577e4bf153462976ba5eae777 Author: Taylor R Campbell Date: Wed Dec 12 19:33:05 2018 +0000 Distinguish bytes-per-object from target-bytes-per-object. This is a kludge for now until we have a syntactic tower where we can use distinct environments at each level of syntax expansion. M src/Makefile.in M src/configure.ac M src/runtime/boot.scm M src/runtime/bytevector.scm M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M src/runtime/sysmac.scm commit dc1aa0574448fb4c361c41a5861b4905725b2862 Author: Taylor R Campbell Date: Wed Dec 12 16:25:59 2018 +0000 Missed some .bin spots. M src/compiler/machines/i386/compiler.sf M src/compiler/machines/x86-64/compiler.sf commit 8a57fb6edbbe98799f96d5febf931777bbd12389 Author: Taylor R Campbell Date: Wed Dec 12 16:19:16 2018 +0000 Fix floating-point alignment stuff. - Allow fasdump-storage of #f for alignment. - Use only one mechanism for alignment, not two competing ones that step on each other's toes. M src/compiler/base/fasdump.scm commit 6c2c21e03e68e7b5a2152a32da36fdb7f551eb92 Author: Taylor R Campbell Date: Tue Dec 11 23:50:41 2018 +0000 More line breaks for clarity. M src/Makefile.in commit e27cfbceb9b5a1c78c3bf0c74de58b217ae83c76 Author: Taylor R Campbell Date: Tue Dec 11 23:50:07 2018 +0000 Fix environment this test runs in. M tests/compiler/test-toplev.scm commit a7c55d9999cb485e1650eb4527d0ecca17541d3e Author: Taylor R Campbell Date: Tue Dec 11 22:35:20 2018 +0000 Restore separation of syntax-* and compile-* targets. This gives better parallelism; no need to wait for the runtime .com files when we just need the .pkd from the .bin files for cref. M src/Makefile.in commit dc36ee5b855f5ec10cf9cd41a39eeaf250cfface Author: Taylor R Campbell Date: Tue Dec 11 22:28:17 2018 +0000 Make these tests run on svm1. M tests/compiler/test-fasdump.scm commit cab531dfbc5f6e278c20808fa4b4c257d34fb972 Author: Taylor R Campbell Date: Tue Dec 11 22:01:18 2018 +0000 Fix fixnum range. M src/compiler/base/fasdump.scm M tests/compiler/test-fasdump.scm commit 629b4b0a213a18291b5d59730cf8bc10811697ba Author: Taylor R Campbell Date: Tue Dec 11 21:58:52 2018 +0000 Exercise some more fasdump cases. Fix missing definition. Small bignums are busted. M tests/compiler/test-fasdump.scm commit 75fb2df3b9bbc5b1fde613bdbfe5eaccdb42917e Author: Taylor R Campbell Date: Tue Dec 11 15:59:30 2018 +0000 Teach `make cross-host' to convert .nib -> .bin &c. This is more expedient for now than finding all the places in SF/CREF that fasdump anything to fasdump both the .nib and the .bin file. M src/Makefile.in M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/x86-64/compiler.pkg M src/configure.ac A src/etc/crossbin.scm commit 26d8884ea0a985e9bb822fdd1ceac0886706e7c0 Author: Taylor R Campbell Date: Tue Dec 11 15:54:48 2018 +0000 New make target install-toolchain just installs the toolchain. Useful for working on the cross-compiler when we don't need Edwin &c. M src/Makefile.in commit 60ee5f6e1eba32cc0aafb01614649038f703ef5a Author: Taylor R Campbell Date: Tue Dec 11 15:57:32 2018 +0000 Make `make all-toolchain' also build sos, ssp, and xml. These are needed in the cross-compiler during cross-host. M src/Makefile.in commit a6602e423af17882168578b833c3b7e9839a0514 Author: Taylor R Campbell Date: Tue Dec 11 15:55:42 2018 +0000 Do all-compiler/sf/cref only in cross-host, not in cross-target. In the cross-compiled system when doing cross-target, which depends on runtime.com and all.com, the dependencies of runtime.com and all.com were already made by cross-host. M src/Makefile.in M src/configure.ac commit dc21a9094a5107ca7e2c8645cb5ebef8da70dd19 Author: Taylor R Campbell Date: Tue Dec 11 15:52:07 2018 +0000 Teach cross-SF/CREF to dump/load in .nib, .txe, .dkp. These correspond to .bin, .ext, .pkd. LOAD-OPTION still loads from .bin, .ext, .pkd (and .com) for libraries that are installed and are not macro definitions of subsystems being cross-compiled. This backwards suffix business is getting a little out of hand. Possible partial alternatives: - .xbin/.xext/.xpkd - invent a static linker in the toolchain that can run on the cross host rather than using make.scm and disk-save in the cross target - devise a portable fasload that sf/cref can use in the cross host - use a machine-independent file format for .bin/.ext/.pkd M src/Makefile.in M src/compiler/base/toplev.scm M src/compiler/machines/C/compiler.sf M src/compiler/machines/C/decls.scm M src/compiler/machines/i386/decls.scm M src/compiler/machines/svm/compiler.sf M src/compiler/machines/svm/decls.scm M src/compiler/machines/x86-64/decls.scm M src/cref/redpkg.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/option.scm M src/runtime/packag.scm M src/runtime/runtime.pkg M src/sf/butils.scm M src/sf/sf.pkg M src/sf/toplev.scm M src/win32/win32.sf commit bced7a201459654db4193c5539fac9b54e323d08 Author: Taylor R Campbell Date: Tue Dec 11 15:48:03 2018 +0000 Move fasl version check earlier. This breaks INHIBIT_FASL_VERSION_CHECK -- but that was already broken so that Scheme would abort (!) before even getting to the check, because of the conditional in fasl_object_address which is called by decode_fasl_header. If someone wants to revive INHIBIT_FASL_VERSION_CHECK, be my guest, though it might be easier to do whatever you're trying to do with the portable fasdumper instead. M src/microcode/fasl.c commit a520063ade2630dfef5255fe2d586e568975468f Author: Taylor R Campbell Date: Tue Dec 11 15:44:19 2018 +0000 Split svm1 into four architectures: svm1 x {32,64} x {be,le}. --with-cross-target must specify exactly which one to use for now. --enable-native-code=svm1 or svm1-le or svm1-64 will fill in the remaining parameters (word size, byte order) from the host system characteristics. M src/compiler/base/fasdump.scm M src/compiler/choose-machine.sh M src/compiler/configure M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/.gitignore C080 src/microcode/cmpintmd/svm1-config.h src/compiler/machines/svm/big-endian.scm M src/compiler/machines/svm/compile-assembler.scm M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/compiler.sf M src/compiler/machines/svm/decls.scm C080 src/microcode/cmpintmd/svm1-config.h src/compiler/machines/svm/little-endian.scm M src/compiler/machines/svm/machine.scm C080 src/microcode/cmpintmd/svm1-config.h src/compiler/machines/svm/wordsize-32.scm C080 src/microcode/cmpintmd/svm1-config.h src/compiler/machines/svm/wordsize-64.scm M src/compiler/machines/x86-64/compiler.pkg M src/configure.ac M src/microcode/aclocal.m4 M src/microcode/cmpintmd/svm1-config.h M src/microcode/configure.ac M src/microcode/confshared.h M src/microcode/svm1-interp.c commit e372f0838a2b656926dd302a2e708ecfb2c08160 Author: Taylor R Campbell Date: Tue Dec 11 15:35:34 2018 +0000 Make `make cross-target' work in three stages. 1. moc->com in runtime, so the next stages can use a compiled runtime 2. moc->com in the whole tree 3. fni->inf in the whole tree XXX Maybe the latter stages can be combined; for now this change just splits the first two apart. Even better, maybe we can nix this step altogether and teach the cross-fasdumper to do this part itself. Wouldn't be hard to teach the cross-fasdumper to do the relocation that currently requires sketchy with-absolutely-no-interrupts crap. For compile-scode, could maybe just fasdump to a bytevector in memory and invent a primitive to fasload from that. M src/Makefile.in commit a7b62778411df682e228b7989f93a0afebe9117e Author: Taylor R Campbell Date: Tue Dec 11 15:32:34 2018 +0000 Tweak fasdumper to null-terminate bytevectors too. find_primitive relies on symbol names (which were formerly `strings', i.e. `vector-8b' or TC_CHARACTER_STRING, and are now `bytevectors') to be null-terminated. Rather than try to figure out which ones are primitive names and which ones are not, we'll just null-terminate all of them. We can undo this if we change find_primitive. (We need to change the compile-time tool findprim.c anyway because its strcmp_ci misuses islower/toupper.) M src/compiler/base/fasdump.scm commit 78cd82b9bad61bc2d755c51d7c6e90657f61fef5 Merge: c772661e6 f7ea8eece Author: Taylor R Campbell Date: Tue Dec 11 15:17:33 2018 +0000 Merge remote-tracking branch 'origin/master' into cross-fasdump-v2 commit f7ea8eece47a4ad6d2de885b6859806ab2751d1d Author: Chris Hanson Date: Mon Dec 10 23:31:15 2018 -0800 Generate char sets for each UCD general category and numeric type. And use these to avoid expensive computations in ucd-glue. M src/etc/ucd-converter.scm M src/runtime/char-set.scm M src/runtime/runtime.pkg M src/runtime/ucd-glue.scm A src/runtime/ucd-table-gc=cc.scm A src/runtime/ucd-table-gc=cf.scm A src/runtime/ucd-table-gc=cn.scm A src/runtime/ucd-table-gc=co.scm A src/runtime/ucd-table-gc=cs.scm A src/runtime/ucd-table-gc=ll.scm A src/runtime/ucd-table-gc=lm.scm A src/runtime/ucd-table-gc=lo.scm A src/runtime/ucd-table-gc=lt.scm A src/runtime/ucd-table-gc=lu.scm A src/runtime/ucd-table-gc=mc.scm A src/runtime/ucd-table-gc=me.scm A src/runtime/ucd-table-gc=mn.scm A src/runtime/ucd-table-gc=nd.scm A src/runtime/ucd-table-gc=nl.scm A src/runtime/ucd-table-gc=no.scm A src/runtime/ucd-table-gc=pc.scm A src/runtime/ucd-table-gc=pd.scm A src/runtime/ucd-table-gc=pe.scm A src/runtime/ucd-table-gc=pf.scm A src/runtime/ucd-table-gc=pi.scm A src/runtime/ucd-table-gc=po.scm A src/runtime/ucd-table-gc=ps.scm A src/runtime/ucd-table-gc=sc.scm A src/runtime/ucd-table-gc=sk.scm A src/runtime/ucd-table-gc=sm.scm A src/runtime/ucd-table-gc=so.scm A src/runtime/ucd-table-gc=zl.scm A src/runtime/ucd-table-gc=zp.scm A src/runtime/ucd-table-gc=zs.scm A src/runtime/ucd-table-nt=de.scm A src/runtime/ucd-table-nt=di.scm A src/runtime/ucd-table-nt=nu.scm M tests/runtime/test-char-set.scm commit 4d09d143171c8230972bb5633add0161e5757fd6 Author: Chris Hanson Date: Mon Dec 10 23:30:37 2018 -0800 Fix bug in inverting empty character set. M src/runtime/char-set.scm M tests/runtime/test-char-set.scm commit e3e8ca0cb0ea3f7261fdc85e0bcec3b87e0fa973 Author: Chris Hanson Date: Sun Dec 9 23:00:55 2018 -0800 Fix bug in string-copy!. M src/runtime/string.scm M tests/runtime/test-string.scm M tests/unit-testing.scm commit c99fd55fe742c34ec3075e38fbac2cedad180e2a Author: Chris Hanson Date: Sun Dec 9 23:00:18 2018 -0800 Add tests for string-copy!, which has a bug. M tests/runtime/test-string.scm commit 346fc33b45ee46bd8632c0a2c7a9bf745a631af6 Author: Chris Hanson Date: Sun Dec 9 22:58:55 2018 -0800 Add support for 'expect-failure? property on assertions. This allows an individual assertion to be marked as broken. When the problem is fixed, the property can be removed. M tests/unit-testing.scm commit 3f2a774cdb3e3c15a13dd38b1c774716dbc53bf3 Author: Chris Hanson Date: Sun Dec 9 20:39:37 2018 -0800 Eliminate use of TC_LEGACY_STRING for symbol names. M src/microcode/intern.c commit a2a6ca907ddff7a6ae55aa6172a2f12ade4c8717 Author: Chris Hanson Date: Sat Dec 8 21:02:07 2018 -0800 Change all string operations that accept chars to work for any char. They dump the bucky bits as needed to make this work. M doc/ref-manual/strings.texi M src/runtime/string.scm commit 001be491b18c9707b4214ee5ba13c916666b486c Author: Chris Hanson Date: Sat Dec 8 18:26:45 2018 -0800 Implement char->bitless-char. M doc/ref-manual/characters.texi M src/runtime/char.scm M src/runtime/runtime.pkg commit c772661e67c47c859e651c273bfdd9953b89a03d Merge: c3af6c2ff 898aa7fc1 Author: Taylor R Campbell Date: Sun Dec 9 00:28:53 2018 +0000 Merge remote-tracking branch 'origin/master' into cross-fasdump-v2 commit c3af6c2ff4d5221e1688ffb0bc52552387ba3994 Author: Taylor R Campbell Date: Sun Dec 9 00:12:56 2018 +0000 Use binary-port-position directly, not via kludgey indirection. M src/compiler/base/fasdump.scm commit f1ed9a7a5553766490d8b184656b28836869ef6a Author: Taylor R Campbell Date: Sun Dec 9 00:06:10 2018 +0000 Rename fasdump-format -> fasl-format. Only the fasdump side is implemented portably, but no reason the concept need be different. Fix up compiler package exports while here. M src/compiler/base/asstop.scm M src/compiler/base/fasdump.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/C/machin.scm M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/machin.scm M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/machin.scm M tests/compiler/test-fasdump.scm commit e185bebf006ae4ed6e3c025c64c9c09cb8382455 Author: Taylor R Campbell Date: Sat Dec 8 23:57:59 2018 +0000 Automatically determine host fasl format. M tests/compiler/test-fasdump.scm commit 5e932fdb8395d5ed63350bee68cca88b97f11432 Author: Taylor R Campbell Date: Sat Dec 8 23:54:30 2018 +0000 Fasdump weak false. (Maybe this should just not be constant-folded?) M src/compiler/base/fasdump.scm commit 44a071d30b69e1a341499b31b85d26dae234f0ab Author: Taylor R Campbell Date: Sat Dec 8 23:54:15 2018 +0000 Define more arm variants: {le,be} x {32,64}. M src/compiler/base/fasdump.scm commit 898aa7fc1157b40ef4ce7cac498b581ff52e8228 Author: Matt Birkholz Date: Sat Dec 8 12:57:24 2018 -0700 x11/Makefile.am: Fix packaging, TAGS. (Re)define c_sources so they appear in TAGS. Include compile.scm in EXTRA_DIST. Punt empty un/install hooks and unnecessary overrides. M src/x11/Makefile.am commit ba0e6bb8388cb8048d11f14d174f8526b0c4cfbc Author: Matt Birkholz Date: Sat Dec 8 13:07:32 2018 -0700 runtime/rfc2822-headers: Watch out for eof-object. And leave parse-error calls in tail position, so as not to frustrate a debugger expecting to return the correct answer. M src/runtime/rfc2822-headers.scm commit f14dc67892c81b50db254a0ffcf2f5905a15ebb4 Author: Matt Birkholz Date: Sat Dec 8 12:21:06 2018 -0700 ffi/build: Mixing strings and pathnames is problematic. In this case rewrite-compressed-file expected a string. It probably should expect a pathname, but it is just going to get weird with it. M src/ffi/build.scm commit b7a9061671f4630e42fe5bbbb4abe08d41f7e896 Author: Taylor R Campbell Date: Sat Dec 8 16:37:04 2018 +0000 Handle reference traps and interpreter return addresses. M src/compiler/base/fasdump.scm M tests/compiler/test-fasdump.scm commit 87c61cbe5a3cbf4c659df032354efe9afacf5f33 Author: Taylor R Campbell Date: Sat Dec 8 15:16:58 2018 +0000 Dust off portable fasdumper. Write some trivial tests. Missing a few still. M src/compiler/base/fasdump.scm M tests/check.scm A tests/compiler/test-fasdump.scm commit c2215c27351d7ca5a4db0d2d847f9884d72d2fa5 Author: Taylor R Campbell Date: Sat Dec 8 14:19:46 2018 +0000 Fix binary-port-position for output ports. Not sure if it'll DTRT for combined i/o ports; need more tests! M src/runtime/binary-port.scm M tests/runtime/test-binary-port.scm commit 0da5ef84c1c95dc21fd62721cd5a0a31301fd3ab Author: Taylor R Campbell Date: Sat Dec 8 14:10:14 2018 +0000 Export binary-port-position and set-binary-port-position!. Currently busted for output ports. M src/runtime/runtime.pkg M tests/runtime/test-binary-port.scm commit 1934853c5a8c1e26ab004b560189cbaa983c829f Author: Taylor R Campbell Date: Sat Dec 8 14:09:33 2018 +0000 Supply the new primitives with arities so release-10 can build this. M src/compiler/base/utils.scm commit 298a8f30698c109890d050019f2ff9cbbf693ce9 Author: Chris Hanson Date: Sat Dec 8 00:23:06 2018 -0800 Update test-syntax-rename to work with syntax changes. M tests/runtime/test-syntax-rename.scm commit b4ecd3086120af9f6fb1243608933bf818f897d5 Author: Chris Hanson Date: Sat Dec 8 00:19:31 2018 -0800 Add param:trace-syntax? to help debugging syntax expansion. M src/runtime/runtime.pkg M src/runtime/syntax-rename.scm M src/runtime/syntax.scm commit 48af346cff134f998b32c0199742eea1e68bc8a3 Author: Chris Hanson Date: Fri Dec 7 22:24:59 2018 -0800 Add print method to quoted-identifier. M src/runtime/syntax-output.scm commit d76115696929746741337d273b0b5fb6c43c1094 Author: Chris Hanson Date: Thu Dec 6 07:04:35 2018 -0800 Fix: allow compiler to be compiled with current release. M src/compiler/base/utils.scm commit 4536742732c040caefa71b1dc5210a596c408c84 Author: Chris Hanson Date: Wed Dec 5 23:48:31 2018 -0800 Tweak all the syntax tests now that they are fixed. M tests/runtime/test-syntax.scm commit fc334615474d4346b0b897974798172c9b37ccb9 Author: Chris Hanson Date: Wed Dec 5 23:47:01 2018 -0800 Add assertion that does pattern matching; useful for syntax testing. M tests/unit-testing.scm commit f6a39a093c1a6467314ce1a46d9fc07fdb3c65b4 Author: Chris Hanson Date: Wed Dec 5 23:46:45 2018 -0800 Eliminate now-unnecessary exports. M src/runtime/runtime.pkg commit 14cc03240e10bab927440297f7097e3acd5186e4 Author: Chris Hanson Date: Wed Dec 5 23:46:03 2018 -0800 Rewrite environment implementation to clear up ambiguities. See the extensive note at the beginning for details. M src/runtime/syntax-environment.scm commit 0b9756f69a7eb13808ce70ddb834853b503950dd Author: Chris Hanson Date: Wed Dec 5 23:43:41 2018 -0800 Implement spar-funcall to call a procedure and ignore its value. M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 6ef98c87d155cb53b37b7e04ad9b271926cc12e9 Author: Chris Hanson Date: Wed Dec 5 23:43:05 2018 -0800 Eliminate unnecessary use of strip-syntactic-closures. M src/sos/instance.scm commit e793bda9b43dc0fdcc583543a716700cea230792 Author: Chris Hanson Date: Wed Dec 5 23:42:49 2018 -0800 Fix some minor bugs in syntax renaming. M src/runtime/syntax-rename.scm commit 369d09cdfab4ea50d4e5189b80db561a9eb53e00 Author: Chris Hanson Date: Wed Dec 5 23:41:37 2018 -0800 In er-macro-transformer, guarantee that two renames of a symbol are eq?. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-low.scm M src/runtime/syntax.scm M tests/unit-testing.scm commit ed1a18bae121eec1b26a5fcfbf0c54af5294b4ac Author: Chris Hanson Date: Wed Dec 5 23:40:36 2018 -0800 Syntax renaming now handles declarations correctly. M src/runtime/runtime.pkg M src/runtime/syntax-declaration.scm M src/runtime/syntax-rename.scm commit 5487b6353fd7a9eba1c7bcf694ab5e5bbcf1177e Author: Chris Hanson Date: Mon Dec 3 20:47:55 2018 -0800 Eliminate inaccurate comment. M src/runtime/syntax-rules.scm commit a04378caa642239cabb3204dfd759899a7c84426 Author: Chris Hanson Date: Thu Nov 29 22:45:50 2018 -0800 syntax-rules: eliminate use of rename for creating new identifiers. This confusion is one of several that has resulted from long-term muddy thinking on my part, and is a contributor to the bug that was filed. Also, clean up the code a bit in preparation for further changes required by R7RS. M src/runtime/syntax-rules.scm commit 8ee92cef0aabbf561696fb6e2506f7e962b33102 Author: Taylor R Campbell Date: Tue Nov 13 06:33:48 2018 +0000 Manually merge cross-fasdump branch. Draft portable fasdumper for cross-compilation. Likely doesn't work right now. M src/compiler/base/asstop.scm A src/compiler/base/fasdump.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/C/machin.scm M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/machin.scm M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/machin.scm commit a00b5ad66ce479cdce84d617f14fcd3d5a8f746c Author: Taylor R Campbell Date: Sat Dec 8 06:12:18 2018 +0000 Add cross-compilation test. M tests/compiler/test-toplev.scm commit bce10f6f21a953c9256973052de8b17fd4e1fb8a Author: Taylor R Campbell Date: Sat Dec 8 05:48:43 2018 +0000 Add trivial compiler test with floating-point literals. M tests/check.scm A tests/compiler/test-toplev.scm commit 6c5382f7a9db4479f0fa7fb584eb8c6f77a36aa7 Author: Taylor R Campbell Date: Fri Dec 7 17:11:07 2018 +0000 Use the parser state, not the value produced, to determine success. M src/runtime/numpar.scm commit 170766d7f7ceb6004c764b1b31f6a91cb13da596 Author: Taylor R Campbell Date: Fri Dec 7 17:10:38 2018 +0000 More polar screw cases. M tests/runtime/test-numpar.scm commit ac99d29b7d951ed9bb00e296ad322aa59588ce87 Author: Taylor R Campbell Date: Fri Dec 7 17:03:02 2018 +0000 Pass the _type_ of complex component through the parser. Restores polar notation. M src/runtime/numpar.scm M tests/runtime/test-numpar.scm commit 0bed12f3e8fec70cb3a1217f5cd7e3f9ed8e10d7 Author: Taylor R Campbell Date: Fri Dec 7 16:57:01 2018 +0000 Oops, this broke polar notation. M tests/runtime/test-numpar.scm commit affb48cb2204ddf6d42acbdb0372c1fdc29a9118 Author: Taylor R Campbell Date: Fri Dec 7 16:51:48 2018 +0000 Reject multiple zero real components by parse states. Rejecting on a zero real part of parsing an imaginary suffix was cute but leads to wacky quirks in accepted notation. M src/runtime/numpar.scm M tests/runtime/test-numpar.scm commit 5b9530f1c79ec3dd6d336cebce6b85c60f1ddd3f Author: Taylor R Campbell Date: Fri Dec 7 16:42:30 2018 +0000 Add some more screw cases. M tests/runtime/test-numpar.scm commit c0af2184f649b958fc481b00daf806393793cfa1 Author: Taylor R Campbell Date: Fri Dec 7 16:00:07 2018 +0000 Reject inf and NaN with #e notation. There is no exact infinity or exact NaN. M src/runtime/numpar.scm M tests/runtime/test-numpar.scm M tests/runtime/test-readwrite.scm commit 30dead5c07df93b21cff732fc907392bb0c631be Author: Taylor R Campbell Date: Fri Dec 7 15:51:28 2018 +0000 Provide notation for NaN payload and signalling NaN. Reader has various edge cases we fail to make errors still. M src/runtime/dragon4.scm M src/runtime/numpar.scm M tests/runtime/test-numpar.scm M tests/runtime/test-readwrite.scm commit 4bf030c877bbdc64fb36e3ff3f759405b6a1baef Author: Taylor R Campbell Date: Fri Dec 7 15:45:43 2018 +0000 string->number returns false on error. M tests/runtime/test-numpar.scm commit 95e5737a53f6480f569924774d8107b7f0757441 Author: Taylor R Campbell Date: Fri Dec 7 04:48:47 2018 +0000 Make this unreachable case an error. M src/runtime/dragon4.scm commit 8aded4f76b4426c6145bd24c2298d7b3d6381123 Author: Taylor R Campbell Date: Fri Dec 7 04:48:34 2018 +0000 Fix printing NaN sign. M src/runtime/dragon4.scm M tests/runtime/test-readwrite.scm commit 58fd501961dec0083288be1f6c3e0f8de5e7ab3a Author: Taylor R Campbell Date: Fri Dec 7 04:45:33 2018 +0000 More tests for signed NaN notation. Only the positive quiet NaN with payload 0 is read/write invariant so far. M tests/runtime/test-readwrite.scm commit 6235faaba1859145e9ed71eeade5ced61b614e80 Author: Taylor R Campbell Date: Fri Dec 7 04:42:29 2018 +0000 Fix sign of NaN in reader. M src/runtime/numpar.scm M tests/runtime/test-numpar.scm commit 98a58cfa095f3a04cc05b2abdf6d3130af07d0b7 Author: Taylor R Campbell Date: Fri Dec 7 04:38:20 2018 +0000 Expand test-numpar.scm a little with some bugs. M tests/runtime/test-numpar.scm commit a626bf3ceb8504fffea39ac29fdba27f2be9ca25 Author: Taylor R Campbell Date: Fri Dec 7 04:16:41 2018 +0000 Make flo:nan.0 reliably return a `positive' quiet NaN with payload 0. M src/runtime/floenv.scm commit 6d0e0ea40cabe06eb91dafad4aa1476fddfee3c7 Author: Taylor R Campbell Date: Fri Dec 7 04:12:03 2018 +0000 Fix bug in flo:make-nan error reporting. error_bad_range_arg takes argument number, not argument value. M src/microcode/flonum.c M tests/runtime/test-flonum.scm commit f117caffc472a524a423dbba398fe453317b8865 Author: Taylor R Campbell Date: Fri Dec 7 04:11:01 2018 +0000 flo:make-nan error reporting is busted. M tests/runtime/test-flonum.scm commit 72ee7460b2a43f617cb8def9d99123c3ebf7da31 Author: Taylor R Campbell Date: Fri Dec 7 03:55:05 2018 +0000 Confirm #i works with inf and nan. M tests/runtime/test-readwrite.scm commit 4489e78605418183f0d74d2cb81ce54e172eda0d Author: Taylor R Campbell Date: Fri Dec 7 03:54:00 2018 +0000 There is no exact infinity or NaN, so #e should reject them. But we produce them anyway. M tests/runtime/test-readwrite.scm commit f206f4fa33916b4acef6e355c9e3cb92f849b9eb Author: Taylor R Campbell Date: Wed Dec 5 05:56:55 2018 +0000 x86 push can take a memory reference operand. Conveniently, it evaluates rsp before modifying it too. Shaves about 1% off the runtime. M src/compiler/machines/x86-64/rules1.scm commit 21db1f437a60c2a903a4102f16bd8f544b88eae9 Author: Taylor R Campbell Date: Wed Dec 5 05:58:07 2018 +0000 Print newline in debugging-printer primitive. M src/microcode/debug.c commit 5a3dba38a1ecf3a332f57f3255f64498a28adb5e Author: Taylor R Campbell Date: Tue Dec 4 06:15:17 2018 +0000 Disable allocator open coders. These don't actually do anything useful. What they do is open-code a type check -- and then branch to the same primitive call whether the type check passed or failed. So they serve only to expand the code. This appears to have been an aborted experiment in the HP PA-RISC back end from 1993. M src/compiler/rtlgen/opncod.scm commit 3464b8d226f6ea8f84681cbaea4442876969b026 Author: Taylor R Campbell Date: Mon Dec 3 09:19:01 2018 +0000 Add missing type checks to some bit string operations. M src/microcode/bitstr.c M tests/runtime/test-bit-string.scm commit 1c08277b9996988da1724bd765c61d004a8bb946 Author: Taylor R Campbell Date: Mon Dec 3 09:18:13 2018 +0000 Bit string primitives are missing type checks. M tests/check.scm A tests/runtime/test-bit-string.scm commit c1c65b0b455d94e9932d2a01fd588d58e12841b5 Author: Taylor R Campbell Date: Sun Dec 2 03:32:42 2018 +0000 Teach pp to respect custom print methods for tagged vectors. M src/runtime/pp.scm M src/runtime/runtime.pkg M tests/runtime/test-pp.scm commit 5691dfef97cbe86fd49b0ac51c40b7d33b1682bc Author: Taylor R Campbell Date: Sun Dec 2 03:29:16 2018 +0000 pp doesn't respect custom print methods for tagged vectors. M tests/runtime/test-pp.scm commit b3e6401cdba421f7fdfce774a853263371e21090 Author: Taylor R Campbell Date: Sun Dec 2 02:45:35 2018 +0000 Rework vector tag printer methods so they work again. XXX Needs tests, but these are a pain to construct... M src/compiler/base/object.scm commit e3f2dd63c2988f5f87d28faea28249ad659304e6 Author: Taylor R Campbell Date: Sun Dec 2 02:08:58 2018 +0000 pp _is_ busted after all but it takes a hairier example. M tests/runtime/test-pp.scm commit b8e6def25744601e7a873db555c0a517c7cc377c Author: Taylor R Campbell Date: Sun Dec 2 02:00:17 2018 +0000 pp is not busted; I just didn't know about pp-avoid-circularity. TIL. M tests/runtime/test-pp.scm commit 335259fbe0790f643ab2dbf2f1b6b0c26a0f7fde Author: Taylor R Campbell Date: Sun Dec 2 01:56:52 2018 +0000 Make pp's job easier in this test. (Still busted.) M tests/runtime/test-pp.scm commit b8b25c8829bafbdc09dd91a3d5bf6db048d87d39 Author: Taylor R Campbell Date: Sun Dec 2 01:55:45 2018 +0000 Fix find-shared-objects. pp is still busted. M src/runtime/printer.scm M tests/runtime/test-printer.scm commit 58813c667b132a9933ddd50df8abba0016cee75d Author: Taylor R Campbell Date: Sun Dec 2 01:53:02 2018 +0000 find-shared-objects is busted for multiple references. M tests/check.scm A tests/runtime/test-printer.scm commit 0112367891b420e7951f2a224f4338c8f1ba1611 Author: Taylor R Campbell Date: Sun Dec 2 01:35:04 2018 +0000 pp is busted on circular data structures. M tests/check.scm A tests/runtime/test-pp.scm commit 8a3464589b7a9737b3eea1f5e6726e536f633b57 Author: Taylor R Campbell Date: Sun Dec 2 01:34:41 2018 +0000 Allow the full form of FLUID-LET with ACCESS. M src/runtime/mit-macros.scm M tests/runtime/test-access.scm commit fbaa2938fcee0c323daddcad37bbd62458156fbe Author: Taylor R Campbell Date: Sun Dec 2 01:33:44 2018 +0000 FLUID-LET of ACCESS broke. (Yes, I know it's legacy, but I need it for another test at the moment.) M tests/check.scm A tests/runtime/test-access.scm commit a6d0a21af2f963ee804ebb60a63a82d7db7a6e31 Author: Taylor R Campbell Date: Sun Dec 2 01:00:20 2018 +0000 Tickled a bug in connectivity analysis with arity error. M tests/check.scm A tests/compiler/test-fgopt-conect.scm commit 637c6ef51f79cf6c07673c05a13344b6cefcb820 Author: Taylor R Campbell Date: Sun Dec 2 00:14:53 2018 +0000 Compiler chokes on a variable named |#[continuation]|. M tests/check.scm A tests/compiler/test-varname.scm commit d088bd334bb1c6a1db762fdcacd9bc7f3a600fdd Author: Taylor R Campbell Date: Sat Dec 1 23:04:19 2018 +0000 Open-code some flonum predicates on amd64. - flonum-is-equal? - flonum-is-finite? - flonum-is-infinite? - flonum-is-nan? - flonum-is-normal? - flonum-is-zero? M src/compiler/machines/C/machin.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/rulflo.scm M src/compiler/rtlgen/opncod.scm commit 478fa0200e2d4d4a6bc87fe052ec32d57df41a9e Author: Taylor R Campbell Date: Sat Dec 1 22:50:22 2018 +0000 Teach sf about flo:safe-zero? and flo:safe=. M src/sf/gconst.scm commit 6ef3c99d4476cc1df1b284f49b57fbd1af8afe90 Author: Taylor R Campbell Date: Sat Dec 1 22:50:07 2018 +0000 Speed this up a little at the expense of coverage. M tests/runtime/test-ieee754.scm commit d863301d7a0183c0abb5b2afb26f46fec38ba4f2 Author: Taylor R Campbell Date: Sat Dec 1 22:49:17 2018 +0000 Add some more spot checks. Zero is not exact here, for sign. M tests/runtime/test-ieee754.scm commit 6b33ceccfb292392ed89d6792d566ce915752def Author: Taylor R Campbell Date: Sat Dec 1 22:44:17 2018 +0000 Test some more edge cases and exception flags. M tests/runtime/test-flonum.scm commit dc223395fd0eba296e1d014f0817bc0a9e10238e Author: Taylor R Campbell Date: Sat Dec 1 22:41:56 2018 +0000 Teach Scheme about the floating-point subnormal-operand exception. M src/microcode/floenv.c M src/runtime/floenv.scm M src/runtime/runtime.pkg M tests/runtime/test-floenv.scm commit fa6641f1a6bb055a401f2b8934a9f974c03bde22 Author: Taylor R Campbell Date: Sat Dec 1 22:39:12 2018 +0000 Make flo:clear-exceptions! register interest in fp env. Not sure why I made it conditional before. Makes sense for flo:raise-exceptions! for functions whose callers might or might not want them, but usually you do flo:clear-exceptions! only if you are actually going to use them afterward. M src/runtime/floenv.scm M tests/runtime/test-floenv.scm commit 20349ddf0b34057b6f0a1ef90848b568b974c391 Author: Taylor R Campbell Date: Sat Dec 1 22:34:55 2018 +0000 Earlier change to flo:clear-exceptions! is busted. In particular, the pattern (flo:preserving-environment (lambda () (flo:clear-exceptions! (flo:supported-exceptions)) ...)) ought to give you an environment where the exceptions are cleared, but it doesn't. M tests/runtime/test-floenv.scm commit 9d2f0526a942f42d0f1ddfd2bb68360e36d7c227 Author: Taylor R Campbell Date: Sat Dec 1 15:32:48 2018 +0000 Teach the compiler about more boolean and function primitives. M src/compiler/base/utils.scm commit e302757edc043f86c477ece7ba3d200c5cd6523b Author: Taylor R Campbell Date: Sat Dec 1 15:16:49 2018 +0000 Recursively integrate after substitution. The declarations in this context may have changed. This way, you can get a lot of straight-line floating-point arithmetic like so: (define (flo:sinh-taylor19 x) (declare (no-type-checks)) (let* ((x^2 (flo:* x x)) (t8 (flo:/ 1. 121645100408832000.)) (t7 (flo:+ (flo:/ 1. 355687428096000.) (flo:* x^2 t8))) (t6 (flo:+ (flo:/ 1. 1307674368000.) (flo:* x^2 t7))) (t5 (flo:+ (flo:/ 1. 6227020800.) (flo:* x^2 t6))) (t4 (flo:+ (flo:/ 1. 39916800.) (flo:* x^2 t5))) (t3 (flo:+ (flo:/ 1. 362880.) (flo:* x^2 t4))) (t2 (flo:+ (flo:/ 1. 5040.) (flo:* x^2 t3))) (t1 (flo:+ (flo:/ 1. 120.) (flo:* x^2 t2))) (t0 (flo:+ (flo:/ 1. 6.) (flo:* x^2 t1)))) (declare (integrate t0 t1 t2 t3 t4 t5 t6 t7 t8 x^2)) (flo:* x (flo:+ 1. (flo:* x^2 t0))))) Previously, the number of variables in this sequence that would be integrated depended on the number of surrounding integrated calls in the body of the let (!). M src/sf/subst.scm commit e5e04c4447c05d9bba1cfb65b70b632bbb6cc01b Author: Taylor R Campbell Date: Sat Dec 1 14:53:19 2018 +0000 Restore parallel compilation of compiler. M src/Makefile.in commit 6579b9637373fb8f849fb6c2916e4f8f52284590 Author: Taylor R Campbell Date: Sat Dec 1 14:34:07 2018 +0000 Fix thinko. M src/compiler/base/ctypes.scm commit 96eabe440c9870d1eb476cecd042e9abeac88898 Author: Taylor R Campbell Date: Sat Dec 1 02:09:21 2018 +0000 Use real:abs, real:copysign. These aren't guaranteed to be flonums here. Mixed-exactness complex numbers are pretty silly. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 25e46b8d3f3b008475ba266e0345b2305b8988be Author: Taylor R Campbell Date: Sat Dec 1 02:07:03 2018 +0000 Sqrt is busted on sone mixed-infinite/exact cases. M tests/runtime/test-arith.scm commit b5695ab51d10a1da4bf714a0d20816e8f871857a Author: Taylor R Campbell Date: Sat Dec 1 02:05:40 2018 +0000 Make ieee754-binary-hex-string follow IEEE 754-2008. M src/runtime/ieee754.scm M tests/runtime/test-ieee754.scm commit 809b80325ac5631b8434e25b355190aa1e01a52f Author: Taylor R Campbell Date: Fri Nov 30 18:31:20 2018 +0000 New procedure (flo:logb x) gives the integer exponent of x. M src/relnotes/flonum M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-flonum.scm commit 7f120815a76607b4bacdf7340ec6b38aac29e33b Author: Taylor R Campbell Date: Fri Nov 30 18:06:44 2018 +0000 Implement and fix fenceposts in inf and NaN encoding. M src/runtime/ieee754.scm M tests/runtime/test-ieee754.scm commit 0bf3706c45b53d59d71438ab51b19ea64ec22cbe Author: Taylor R Campbell Date: Fri Nov 30 17:42:26 2018 +0000 Use ieee754-binary-parameters to reduce magic constants. M tests/runtime/test-ieee754.scm commit ca195e451a74636ca802d4620216784c4e86fff2 Author: Taylor R Campbell Date: Fri Nov 30 17:42:04 2018 +0000 Fix broken hexadecimal floating-point printing. M src/runtime/ieee754.scm M tests/runtime/test-ieee754.scm commit 54194631dbf11e6dac2e6e6ca38b09c583e56f75 Author: Taylor R Campbell Date: Fri Nov 30 16:24:12 2018 +0000 What was I thinking. This is all wrong if the top bit is not 1. M tests/runtime/test-ieee754.scm commit 9db0f408a19401062c68c9b123aa150425f33e26 Author: Taylor R Campbell Date: Fri Nov 30 08:50:19 2018 +0000 Note copysign procedure. M src/relnotes/arith commit a10c3fb0aa111947d24c41361abbc76065fe9b5d Author: Taylor R Campbell Date: Fri Nov 30 08:47:59 2018 +0000 Remove bogus note about flo:compare and flo:safe-compare. Never actually committed these; decided a four-way comparison wasn't worth it without a motivating application. Won't work for anything that expects a three-way -1/0/+1 compare. M src/relnotes/flonum commit 10950793f22ff2a681b8f15a9e7ce40087fb4947 Author: Taylor R Campbell Date: Fri Nov 30 00:43:36 2018 +0000 Open-code flo:copysign on amd64. M src/compiler/machines/C/machin.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/rulflo.scm M src/compiler/rtlgen/opncod.scm M src/sf/gconst.scm commit c88f8186afd9f08435c48ac7e155d6890323b711 Author: Taylor R Campbell Date: Fri Nov 30 08:22:27 2018 +0000 Add a copysign test case that bit me in a state I can't reproduce. M tests/runtime/test-arith.scm commit 463e347fa399f3e3635dc17350727fe228727c28 Author: Taylor R Campbell Date: Fri Nov 30 07:59:04 2018 +0000 Don't futz with floenv if not in use. Makes flo:raise-exceptions! kosher to use anywhere without incurring cost in threads that don't care. M src/runtime/floenv.scm commit 249030b8e9bf8b08fe0cd784ece176055c893fe4 Author: Taylor R Campbell Date: Fri Nov 30 07:46:42 2018 +0000 Clear exceptions so residual crud doesn't trap. M tests/microcode/test-flonum-except.scm commit 289ffe2e18d8bb3235a5ab86b6262f232515c81a Author: Taylor R Campbell Date: Fri Nov 30 07:26:07 2018 +0000 Tidy up some negative tests. No functional change intended. M src/runtime/arith.scm commit 7ccf82a90fae8360038948f3ec9174b005c707c1 Author: Taylor R Campbell Date: Fri Nov 30 07:19:49 2018 +0000 Rename flo:safe-negative? -> flo:sign-negative?. It was confusing that (flo:safe< x 0.) was not the same as (flo:safe-negative? x) -- they disagree on -0 and NaN values with negative sign bits. M src/relnotes/flonum M src/runtime/arith.scm M src/runtime/dragon4.scm M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M src/sf/gconst.scm M tests/runtime/test-arith.scm M tests/runtime/test-flonum.scm commit 2dbeb954b3785d81ec61e95663050fb993817414 Author: Taylor R Campbell Date: Fri Nov 30 07:11:27 2018 +0000 Fix some things that I was mistakenly testing with an old compiler. sqrt should not trap on qNaN, which requires some care with comparisons. Further, since sqrt(-0) is supposed to be -0, we can't just use flo:safe-negative? (which returns true for -0.); we must instead use (flo:safe< x 0.) (which returns false for -0.). M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 4110934060a92803966e70b39c2ee6e25bb25d08 Author: Taylor R Campbell Date: Fri Nov 30 06:48:05 2018 +0000 Define and expose flo:precision. This is the same as flo:significand-digits-base-2, but its name doesn't imply base 2 -- it refers to whatever the floating-point radix is. Not that we're likely to do decimal floating-point ever, but maybe you might want to write code that could be used in another environment that does. M src/relnotes/flonum M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit b3173f7de6a52672ef8703cb61ba86627c3cd1a5 Author: Taylor R Campbell Date: Fri Nov 30 06:45:46 2018 +0000 Simplify and test some more exception cases. M tests/runtime/test-arith.scm commit 1b414c24f079f37b3bb2763a87c72df7051c46e4 Author: Taylor R Campbell Date: Fri Nov 30 06:37:51 2018 +0000 Test NaN preservation of sqrt. M tests/runtime/test-arith.scm commit 02e75e858bec67dd6b5ab0f1a5dd17b83c463c33 Author: Taylor R Campbell Date: Fri Nov 30 06:29:58 2018 +0000 Handle more sqrt edge cases. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 0b4cd1790f3717b04a587876b89d567b30ff3e79 Author: Taylor R Campbell Date: Fri Nov 30 05:51:26 2018 +0000 Enable traps here to confirm they don't happen. M tests/runtime/test-arith.scm commit df33581ec46f850f755098452f504ebf9323ab25 Author: Taylor R Campbell Date: Fri Nov 30 05:49:03 2018 +0000 Raise the appropriate exceptions in exact->exact. - inexact-result if result is changed by rounding - overflow if result is infinite. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 95f5e5401329a27539267059918a5b673ced78fb Author: Taylor R Campbell Date: Fri Nov 30 05:45:06 2018 +0000 Test exceptions in exact->inexact. M tests/runtime/test-arith.scm commit b7eed211d7e831147bc1c6990b9d25b30a7429ce Author: Taylor R Campbell Date: Fri Nov 30 05:11:35 2018 +0000 Teach exact->inexact to return infinity rather than crash. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 2ea2f687dacd8269ae068081cf2d115db05ac83a Author: Taylor R Campbell Date: Fri Nov 30 04:43:02 2018 +0000 Test exact->inexact near integer edge cases. M tests/runtime/test-arith.scm commit 74545737af472ae650d890d855f8f5c400d4b998 Author: Taylor R Campbell Date: Fri Nov 30 04:39:18 2018 +0000 Use exact-integer-sqrt in sqrt for exact integers and rationals. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit daef5d98df8c1243f65e3e27619fb8a79131ec05 Author: Taylor R Campbell Date: Fri Nov 30 04:30:29 2018 +0000 Deduplicate test cases. M tests/runtime/test-arith.scm commit 2a084600e9670127c6b31b32ad71c2789d7c71dd Author: Taylor R Campbell Date: Fri Nov 30 04:29:55 2018 +0000 Fix sqrt along negative real axis with inexact zero imaginary part. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 9b8a2d7582c8f41a99e114920b0ae9e4fe86688b Author: Taylor R Campbell Date: Fri Nov 30 04:24:20 2018 +0000 Sqrt shouldn't discard an inexact zero imaginary component. M tests/runtime/test-arith.scm commit 00fbf10ab0d730bfaf610cf6f8057b9876d72b86 Author: Taylor R Campbell Date: Fri Nov 30 04:13:51 2018 +0000 Test sqrt along the negative real line with/without inexact imaginary part. M tests/runtime/test-arith.scm commit af8eb53892703deaa4a191e274436d7f2834e92f Author: Taylor R Campbell Date: Fri Nov 30 03:21:44 2018 +0000 Test (sqrt -0.) = -0., per IEEE 754-2008. M tests/runtime/test-arith.scm commit e9187e18e45051af8c7841a07e0dab0b5bebcddc Author: Taylor R Campbell Date: Fri Nov 30 03:11:48 2018 +0000 More sqrt edge cases, some working and some busted. M tests/runtime/test-arith.scm commit b248750f3f9448e6b2eb9a1e0ed1166b606dd925 Author: Taylor R Campbell Date: Fri Nov 30 03:04:11 2018 +0000 Couple more sqrt edge cases. M tests/runtime/test-arith.scm commit 159cf0892afdc1b8be16437cb222f7b5b1ad0368 Author: Taylor R Campbell Date: Fri Nov 30 03:01:32 2018 +0000 For +/-2i x, compute sqrt by sqrt(x) +/- i sqrt(x). Strike off some expected failures. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 57a7c679c59ce249135e6e9215c6c45f4c0c6a21 Author: Taylor R Campbell Date: Fri Nov 30 02:27:07 2018 +0000 Fix branch cuts of some test cases -- no more xfail! M tests/runtime/test-arith.scm commit 6e35f36dbe50be632570d9691769a47b2ce66078 Author: Taylor R Campbell Date: Fri Nov 30 01:56:12 2018 +0000 Annotate where these tests rely on type and range checks. M tests/runtime/test-bytevector.scm commit a26bd487a761220ebe739f06aaaf758104f61f2c Author: Taylor R Campbell Date: Fri Nov 30 01:54:51 2018 +0000 Define (copysign m s) = magnitude of m, sign of s. M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm M tests/runtime/test-flonum.scm commit 03f7f1075332124b608ad6d832643ab92a9a921f Author: Taylor R Campbell Date: Fri Nov 30 01:26:31 2018 +0000 Add some more edge cases for sqrt. M tests/runtime/test-arith.scm commit d376f78ffdb19e8130b2522bf24188581adf4ad9 Author: Taylor R Campbell Date: Fri Nov 30 01:03:30 2018 +0000 Test exceptions in sqrt too. M tests/runtime/test-arith.scm commit 9ce02e6ac7fc4011e8db7fd1309e5032049d235e Author: Taylor R Campbell Date: Fri Nov 30 00:53:48 2018 +0000 Test flo:negate. M tests/runtime/test-flonum.scm commit 29abf3a73b16034dcc4341c6dcb2b30aea05f4fe Author: Taylor R Campbell Date: Fri Nov 30 00:53:05 2018 +0000 Add some more sqrt edge cases. M tests/runtime/test-arith.scm commit 308d1f05297ecbeab2102cc01487751834e07897 Author: Taylor R Campbell Date: Fri Nov 30 00:47:15 2018 +0000 Fix mistranscription of opcode for UNPCKLF. M src/compiler/machines/x86-64/instrf.scm commit be71a7708a02504df8495003abad8a02fe1b70b6 Author: Taylor R Campbell Date: Thu Nov 29 05:30:04 2018 +0000 Add some more copysign tests. M tests/runtime/test-flonum.scm commit d33f594b36db180618392b50338cd06716d41c1d Author: Taylor R Campbell Date: Thu Nov 29 03:05:53 2018 +0000 Floating-point total ordering. - (flo:total< x y) is true if x < y in the total ordering on floating-point values defined in IEEE 754-2008 Sec. 5.10, i.e. this is the totalOrder function of IEEE 754-2008 Sec. 5.7.2. - (flo:total-order x y) is -1 if x < y, 0 if x = y, +1 if x > y in the total ordering -- the three-way comparison version of total<. - (flo:total-mag< x y) = (flo:total< (flo:abs x) (flo:abs y)) - (flo:total-order-mag x y) = (flo:total-order (flo:abs x) (flo:abs y)) While here, tweak release notes on flonum stuff. M src/relnotes/flonum M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-flonum.scm commit 58898b5570924c3bef3477eeee4760f43d552c44 Author: Taylor R Campbell Date: Thu Nov 29 02:57:09 2018 +0000 sqrt is busted on infinities. M tests/runtime/test-arith.scm commit bcc943f04606b34922cba8fbaae09ecbc8a6f0ad Author: Taylor R Campbell Date: Thu Nov 29 02:54:45 2018 +0000 Move a bunch of flonum tests to test-flonum.scm. Let's keep test-arith.scm for higher-level numerical computations. M tests/runtime/test-arith.scm M tests/runtime/test-flonum.scm commit 7cbdf9dd772e50519ce29fba42ba08e270056538 Author: Taylor R Campbell Date: Thu Nov 29 02:43:50 2018 +0000 Make the signature of define-enumerated-test match everyone else. Not sure why I used vectors here in the first place. M tests/runtime/test-arith.scm commit 2f220095316752d8bf2bbd588efd45eb9ea0f1ac Author: Taylor R Campbell Date: Thu Nov 29 02:12:01 2018 +0000 Note string and symbol escape printing bug. A src/relnotes/bug-symbolescape commit 57f2d25e19e1fee51508732beb46992e319e594c Author: Taylor R Campbell Date: Thu Nov 29 02:11:51 2018 +0000 Note local optional parameter bug. A src/relnotes/bug-localoptparam commit 540ecfc8c21bb52fab0b759d504803f5dd1b9d88 Author: Taylor R Campbell Date: Thu Nov 29 02:11:40 2018 +0000 Note magnitude overflow bug. A src/relnotes/bug-magoverflow commit 742222bee6c31e41a3dc8a508c79b29cd6827ee3 Author: Taylor R Campbell Date: Thu Nov 29 02:11:21 2018 +0000 Note flo:min/max IEEE 754-2008 conformance. A src/relnotes/bug-minmax commit 1e0f529c78e1bf4ab8953b5d9b339b1fa3974399 Author: Taylor R Campbell Date: Thu Nov 29 02:10:41 2018 +0000 Test more edge cases of rounding operations. Include the rounding->exact operations too. M tests/runtime/test-floenv.scm commit 0884cbcecf90540748e900eddb221d5448b4dc7b Author: Taylor R Campbell Date: Thu Nov 29 02:09:57 2018 +0000 Update some release notes on floating-point stuff. M src/relnotes/bug-compare-nan M src/relnotes/flonum commit 0fcc5f55142d7de7d4af8a1027264e31576673a7 Author: Taylor R Campbell Date: Thu Nov 29 02:05:51 2018 +0000 Use fabs(3) for C implementation of FLONUM-ABS. A conditional based on < doesn't handle NaN correctly. M src/microcode/flonum.c A src/relnotes/bug-floabs M tests/runtime/test-flonum.scm commit e5decff5ed30bb7af1297a42569a481676044d86 Author: Taylor R Campbell Date: Thu Nov 29 02:02:22 2018 +0000 Our C implementation of flo:abs is busted. M tests/runtime/test-flonum.scm commit 662714b33376cac98ede926e6960ff3095908f52 Author: Taylor R Campbell Date: Thu Nov 29 01:59:16 2018 +0000 Pass multiple arguments here. No functional change. M tests/runtime/test-ieee754.scm commit d48b47109db26932582042d057d694c7393955fe Author: Taylor R Campbell Date: Wed Nov 28 19:24:36 2018 +0000 New NaN-related and min/max flonum procedures and fixes. - (flo:qnan) returns a quiet NaN: arithmetic on it quietly returns another qNaN (usually the same one, unless there are multiple to choose from) without raising any exception. - (flo:snan) returns a signalling NaN: arithmetic on it returns another sNaN (usually the same) and raises an exception, which will trap if you ask. - (flo:qnan? f) = (and (flo:nan? f) (flo:nan-quiet? f)) - (flo:snan? f) = (and (flo:nan? f) (not (flo:nan-quiet? f))) - (flo:min x y) and (flo:max x y) now raise an exception only if at least one input is a signalling NaN, and traps only if you ask. These now implement minNum and maxNum of IEEE 754-2008. - (flo:min-mag x y) and (flo:max-mag x y) return whichever of the inputs has the smaller magnitude, as in minNumMag and maxNumMag in IEEE 754-2008. M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/microcode/test-flonum-except.scm M tests/runtime/test-flonum.scm commit da7702961c41023905a8195a6750d9fc1eab2668 Author: Taylor R Campbell Date: Wed Nov 28 17:55:03 2018 +0000 New primitives for creating and examining NaNs. - (flo:make-nan negative? quiet? payload) - (flo:nan-quiet? nan) - (flo:nan-payload nan) M src/microcode/flonum.c M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-flonum.scm commit 265df757c9c8f917893f78e2a1dbf87617dd9f36 Author: Taylor R Campbell Date: Wed Nov 28 17:53:31 2018 +0000 New CTASSERT macro for compile-time assertions. A src/microcode/ctassert.h commit 64ba7b87ce20a88092326e43f51421639df55b31 Author: Taylor R Campbell Date: Wed Nov 28 17:07:36 2018 +0000 Implement flo:safe-zero? and flo:safe=. M src/microcode/flonum.c M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-flonum.scm commit bad6d23687a67b7c31b3b4cb75701929a09396db Author: Taylor R Campbell Date: Wed Nov 28 16:55:06 2018 +0000 Merge these cases again now that the xfails are fixed. M tests/runtime/test-flonum.scm commit ff9e85873c429fbc798ac558ab91ecd2422bd99b Author: Chris Hanson Date: Mon Nov 26 23:18:35 2018 -0800 Implement binary-hash-by-X; some hair to guarantee fixnum result. Not nearly as fast as the underlying unary hash, but for now that's OK. If need be we can make it faster. M src/microcode/utabmd.c M src/runtime/hash-table.scm M src/runtime/microcode-tables.scm M src/runtime/runtime.pkg commit 08f4e833f2bceb08b4334f3b1d828454e4918677 Author: Chris Hanson Date: Sun Nov 25 23:16:50 2018 -0800 Simplify spar-push-body. M src/runtime/mit-syntax.scm commit a6f5fd5afc427b77e25ebe4c3e713dcfd4d499cb Author: Chris Hanson Date: Sun Nov 25 17:09:37 2018 -0800 Eliminate unnecessary copy of map-in-order. M src/runtime/syntax.scm commit 07495c5b194322237b7eef3e5d81b8dc1fe07df0 Author: Taylor R Campbell Date: Wed Nov 28 09:48:40 2018 +0000 Teach LIAR/x86-64 to open-code flo:safe-negative?. M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/rulflo.scm commit d004ff8441d705cbbb53acc48533316fb3babc49 Author: Taylor R Campbell Date: Wed Nov 28 09:19:49 2018 +0000 Correctly commute flo:safe>= to flo:safe<=, not to safe:>=. Until LIAR's RTL code compression was taught to search through object->float, this code path appears to have been impossible to exercise. M src/compiler/machines/x86-64/rulflo.scm M tests/runtime/test-flonum.scm commit 52126d30c39437aa5200f23b28d928317cf74c10 Author: Taylor R Campbell Date: Wed Nov 28 09:15:45 2018 +0000 Teach RTL compression to search through object->float too. This way it can fold (object->float (constant #x1p+0)) in both (assign (register #x22) (object->float (constant #x1p+0)) (assign (register #x23) (offset (register 4) (machine-constant 0))) (assign (register #x24) (object->float (register #x23))) (jumpc (flonum-pred-2-args flonum-is-greater? (register #x22) (register #x24)) label-3) and (assign (register #x21) (offset (register 4) (machine-constant 0))) (assign (register #x22) (object->float (register #x21))) (assign (register #x24) (object->float (constant #x1p+0))) (jumpc (flonum-pred-2-args flonum-is-greater? (register #x22) (register #x24)) label-3) where previously it could handle only the second one because the reference appeared in the immediately subsequent instruction. This exposes a latent bug in the x86-64 code generator, to be fixed in a subsequent commit. M src/compiler/rtlopt/rcompr.scm M tests/runtime/test-flonum.scm commit 082fd3dd3642cd71191c9804d6c454d0f0f67ca8 Author: Taylor R Campbell Date: Wed Nov 28 08:53:20 2018 +0000 fixup! aa477cf3a28ded82f8cbcda5e8ee317cf9490d2f M tests/runtime/test-flonum.scm commit 65ec17ef58af29228056fc2bd83523c4f83640a4 Author: Taylor R Campbell Date: Wed Nov 28 08:51:28 2018 +0000 Delete a rewriting rule that could not possibly have ever matched. It would have required (object->float (object->float ...)) to appear in the input, which makes no sense. M src/compiler/machines/x86-64/rulrew.scm commit aa477cf3a28ded82f8cbcda5e8ee317cf9490d2f Author: Taylor R Campbell Date: Wed Nov 28 08:48:09 2018 +0000 Test literal operands to flonum comparators. This is a failed attempt to trigger a compiler bug that I noticed by code inspection. M tests/runtime/test-flonum.scm commit 8cc5a29149008f438634d0ac7c2355e4fe539e7c Author: Taylor R Campbell Date: Wed Nov 28 08:47:41 2018 +0000 Make thie test actually check something by calling both. M tests/runtime/test-flonum.scm commit da93315e8529154f67f6c3a9667585dd18fe5d21 Author: Taylor R Campbell Date: Wed Nov 28 05:33:23 2018 +0000 Re-enable invalid-operation traps here and fix the one broken test. Should maybe add a flo:safe-zero?, or decide that flo:zero? is the quiet version and (flo:= x 0.) is the signalling one. M tests/runtime/test-flonum.scm commit 3f5305960bd668695769603b9d4574c6dc528feb Author: Taylor R Campbell Date: Wed Nov 28 05:23:10 2018 +0000 Factor out unary->binary predicate conversion. M src/compiler/machines/i386/rulflo.scm commit 2da1b601755105a6b16661e4d2eea681e9b63a0d Author: Taylor R Campbell Date: Wed Nov 28 05:18:21 2018 +0000 Add flo:<>, as (or flo:< flo:>) for now. M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-flonum.scm commit 4cc6122ba588f3a392d7510016101c202c3c7de2 Author: Taylor R Campbell Date: Wed Nov 28 05:17:34 2018 +0000 Test flo:unordered? both ways too. M tests/runtime/test-flonum.scm commit c8696e68606b6918a904689cac367bcb68d861c0 Author: Taylor R Campbell Date: Wed Nov 28 05:15:41 2018 +0000 Test compilation of flonum comparisons both ways. M tests/runtime/test-flonum.scm commit dea5bce2e4c248abfab06d6b5da7490194242342 Author: Taylor R Campbell Date: Wed Nov 28 05:03:39 2018 +0000 Run the flonum tests both compiled and interpreted. M tests/check.scm commit bf88eebb10ab5886a677b31d6224d90b11a13e4b Author: Taylor R Campbell Date: Wed Nov 28 04:47:50 2018 +0000 These tests now pass on x86-64. Need to teach i386, svm, and C about this now. M tests/microcode/test-flonum-except.scm commit 368508d660b01fbfbfe732b9b56cfed12b68e7fc Author: Taylor R Campbell Date: Wed Nov 28 04:45:03 2018 +0000 Test compiling in-line calls to the flonum comparators too. M tests/runtime/test-flonum.scm commit 1770067912d02f08768190a581aff820614a243f Author: Taylor R Campbell Date: Wed Nov 28 04:43:18 2018 +0000 Teach LIAR/x86-64 about ordered vs unordered comparisons. - Fix miscompilation of ordered comparisons: now the standard comparison operators raise exceptions, which trap if you ask. - Open-code the unordered comparisons flo:safe< &c. M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/rulflo.scm M tests/microcode/test-flonum-except.scm commit 9e752d778aa97854b7ac03671593400da2d3eb3b Author: Taylor R Campbell Date: Wed Nov 28 03:57:18 2018 +0000 Factor out unary->binary predicate conversion. M src/compiler/machines/x86-64/rulflo.scm commit f6d21b2fa378830653b34d6ce73dd54759e4e309 Author: Taylor R Campbell Date: Wed Nov 28 03:48:20 2018 +0000 Explain what commute-flonum-predicate is doing. M src/compiler/machines/x86-64/rulflo.scm commit b7d2651050ef755a50d02fba0eac15d40fa0b253 Author: Taylor R Campbell Date: Wed Nov 28 03:45:16 2018 +0000 Teach rtlgen to open-code flo:safe-negative? too. Disabled on all machines for now. M src/compiler/machines/C/machin.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/rtlgen/opncod.scm commit f01c5bb0b89b2ec6cdb777d90471396abaa4b554 Author: Taylor R Campbell Date: Wed Nov 28 03:41:15 2018 +0000 Teach rtlgen to open-code safe flonum comparison routines. Disable on all machines for now. M src/compiler/machines/C/machin.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/rtlgen/opncod.scm commit 49d896cf25a2cef62d58d04c043800dbe4967d80 Author: Taylor R Campbell Date: Wed Nov 28 03:39:49 2018 +0000 Teach sf about some flonum primitives worth open-coding. M src/sf/gconst.scm commit cc65b1e8919f7d951cba55d6b70741b6931dd176 Author: Taylor R Campbell Date: Wed Nov 28 03:01:22 2018 +0000 Fix miscompilation of default optional parameters. Holdover from days when optional parameters were filled with unassigned reference traps -- LIAR never got the memo. M src/compiler/fgopt/simapp.scm M tests/runtime/test-optional.scm commit 4096d4996e6fb6212c603c9a99bd712ebbb9409f Author: Taylor R Campbell Date: Wed Nov 28 02:58:46 2018 +0000 Test for miscompilation of optional arguments. M tests/check.scm A tests/runtime/test-optional.scm commit 53de1afdb13caa86d1cd1dce2a8e7fc0c650c8f3 Author: Taylor R Campbell Date: Wed Nov 28 02:19:02 2018 +0000 Add some tests for primitive floating-point operations. M tests/check.scm A tests/runtime/test-flonum.scm commit 58e70844df0171d5723592d11c0d2591340dafb8 Author: Taylor R Campbell Date: Wed Nov 28 02:10:00 2018 +0000 Test for exceptions from ordered comparisons. These are currently broken at least on x86 because the compiler generates the wrong instructions. When we switch the compiler to generating the right ones we may need to adjust the runtime to use flo:safeX in certain places. M tests/microcode/test-flonum-except.scm commit 099108f7e11cd9becf572ae2f8b66c2059d1b8e1 Author: Taylor R Campbell Date: Tue Nov 27 02:25:20 2018 +0000 Define expect-error as an alias for assert-error. The difference is in intent: expect-error means something is broken, and the test signals an error because of a bug; assert-error means the correct behaviour is to signal an error. Pass expect-error or expect-failure as procedures, not as symbols representing them, throughout the test suite. Now we can find documented bugs by grepping for expect-error and expect-failure. M tests/microcode/test-flonum-except.scm M tests/runtime/test-arith.scm M tests/runtime/test-numpar.scm M tests/runtime/test-readwrite.scm M tests/runtime/test-syntax.scm M tests/unit-testing.scm commit 297cf27846f944fd03dc1c0199d0192aa43084ba Author: Taylor R Campbell Date: Tue Nov 27 02:24:54 2018 +0000 Implement random-bytevector!. M src/runtime/random.scm M src/runtime/runtime.pkg M tests/runtime/test-random.scm commit 3da777fe54999d471ec6b2f266107d1b4f83442c Author: Taylor R Campbell Date: Mon Nov 26 03:06:31 2018 +0000 Note flo:classify and flo:subnormal?. M src/relnotes/flonum commit 94015cb63196464f4993d195ba4da68c46f331ac Author: Taylor R Campbell Date: Mon Nov 26 03:05:22 2018 +0000 Define flo:classify and flo:subnormal?. M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit b9b5e14c3b30bed75fb3ba730d6f2f077d3a2c7c Author: Taylor R Campbell Date: Mon Nov 26 03:01:53 2018 +0000 Test escapes in symbol notation too. M tests/runtime/test-readwrite.scm commit 28a8834292e1f3e708fffec11f5190d419b14850 Author: Taylor R Campbell Date: Mon Nov 26 03:01:09 2018 +0000 Escape only the character that needs it. M src/runtime/printer.scm M tests/runtime/test-readwrite.scm commit a486cc978f93c0e9b5e9521d851355be0ac5b1be Author: Taylor R Campbell Date: Mon Nov 26 02:52:31 2018 +0000 Read/write invariance is broken for strings with `|'. M tests/runtime/test-readwrite.scm commit c5b5bbc4fba7c9f5f12802bd4a2ce0d480826e94 Author: Taylor R Campbell Date: Mon Nov 26 01:55:03 2018 +0000 Add another screw case. From my attempt to work around the other one using er-macro-transformer... M tests/runtime/test-syntax.scm commit badb67b76e4cb37525e8a77cad2661de499680fb Author: Taylor R Campbell Date: Mon Nov 26 01:53:44 2018 +0000 Fix typos. Missed this when committing. M tests/runtime/test-syntax.scm commit c3ad7d85b1fadf3670f2a7bee1898cfc0880a751 Author: Taylor R Campbell Date: Mon Nov 26 01:21:28 2018 +0000 Add test for bug#55090. M tests/runtime/test-syntax.scm commit f9b5e9670456b9aac7642af7641fb5b32ff59ca2 Author: Taylor R Campbell Date: Mon Nov 26 01:05:03 2018 +0000 Add some test cases for (broken) macro expansion. M tests/check.scm A tests/runtime/test-syntax.scm commit aafa6ac04e1b39110227242465d9dc1b8ef2e85b Author: Chris Hanson Date: Fri Nov 23 21:56:17 2018 -0800 Initial draft of program to grovel over files looking for libraries. This eliminates the need for the library names to be tied to the filesystem structure. The loader still needs to be enhanced to automatically load the registered libraries. For now this is essentially a no-op. M src/runtime/library-database.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-scode.scm M src/runtime/runtime.pkg commit b682db1256a2741e0610f0a77bb62c0ab584cd84 Author: Taylor R Campbell Date: Sat Nov 24 03:53:29 2018 +0000 Default os/interprogram-paste needs to return #f or string. M src/edwin/kilcom.scm commit 7e06e099fa2156288539b77a866dcdc1fd197b65 Author: Chris Hanson Date: Thu Nov 22 16:46:54 2018 -0800 Revise unix installation notes to be more specific. M doc/user-manual/user.texinfo commit 1c709de8d05245df24c24e24e6b7648639e3f3f0 Author: Chris Hanson Date: Thu Nov 22 16:48:20 2018 -0800 Explicitly prevent native releases from assuming a scheme exists. M src/configure.ac commit e84c8b718ecf73ad00d0fbd47605007360df8510 Author: Chris Hanson Date: Thu Nov 22 00:23:53 2018 -0800 Arrange for runtime packages to be importable as libraries. M src/runtime/library-standard.scm M src/runtime/make.scm M src/runtime/packag.scm M src/runtime/runtime.pkg commit 316559569ed04ddb4aaac162c01732003bc806d1 Author: Chris Hanson Date: Mon Nov 19 19:57:38 2018 -0800 Pass IS_NATIVE_RELEASE to microcode during configuration. M src/configure.ac M src/microcode/configure.ac commit 255323685623b177ec9ce3639111a2b34eee89ec Author: Chris Hanson Date: Mon Nov 19 19:50:37 2018 -0800 Fix create-makefiles.sh to use arch consistently. M src/etc/create-makefiles.sh commit 38de92600b98ac421ccfbf6cea8cb4e9161200e2 Author: Chris Hanson Date: Mon Nov 19 16:33:44 2018 -0800 Change configure.ac to gobble up arch from ".native-release-marker". M src/configure.ac commit 49454f82ffecad969764f71841155762a5e7a269 Author: Taylor R Campbell Date: Tue Nov 20 09:18:03 2018 +0000 Use flo:hypot to compute inexact magnitudes with edge caess. Maybe not the best way but it'll do for now. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit c5a1a4a85aa2b8e70ceb83c55b84b1b6efff43a4 Author: Taylor R Campbell Date: Tue Nov 20 09:15:53 2018 +0000 Test angles of partly infinite complex numbers. M tests/runtime/test-arith.scm commit 2bb89971ed16c767615fb2efee48e8df1de824aa Author: Taylor R Campbell Date: Tue Nov 20 09:15:20 2018 +0000 Teach relerr to return 0 if eqv or 1 if not for zero or inf. This way we confirm infinite results and the sign of zero. Fix up some test cases that this broke. M tests/runtime/test-arith.scm commit c3e19280e15b90de9e31a17049a27c57c73d357b Author: Taylor R Campbell Date: Tue Nov 20 08:48:55 2018 +0000 magnitude is busted when both components are infinite. M tests/runtime/test-arith.scm commit 12847ba67a0c74846f0d224f4ad8a762129c7c83 Author: Taylor R Campbell Date: Tue Nov 20 07:01:43 2018 +0000 Fix harmless typo. Accidentally using base 2 set this bound far lower than it needed to be, but this branch isn't necessary anyway; it just skips a call to exp that would have given the same result. M src/runtime/arith.scm commit 83bf9b9fa283b9fe68e5df0feb0f03381f9333af Author: Taylor R Campbell Date: Tue Nov 20 06:55:35 2018 +0000 Redo some of the floating-point parameters. Test them. My initial attempt at these went wrong in various ways, oops. M src/relnotes/flonum M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/microcode/test-flonum-except.scm M tests/runtime/test-arith.scm commit 63e1a70dde013e57bf54a7165bbd3fa4a6fc0e2a Author: Taylor R Campbell Date: Tue Nov 20 06:34:54 2018 +0000 Fix nonsense error analysis in logit1/2+. The Sterbenz lemma does not apply here after all, not sure why I thought it did. M src/runtime/arith.scm commit 5e272e0ac21298dba1225c8d6837ed15671d7872 Author: Taylor R Campbell Date: Tue Nov 20 06:34:38 2018 +0000 Fix overflow in logistic-1/2. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 9fe590bf5597827195dd00790e6aaaee1e525ccb Author: Taylor R Campbell Date: Tue Nov 20 06:33:18 2018 +0000 Test some screw cases for logistic-1/2. M tests/runtime/test-arith.scm commit f61b7f1f2fd31270936548e51fa64739ebdf4e5b Author: Taylor R Campbell Date: Mon Nov 19 01:40:30 2018 +0000 Check all four quadrants of complex asin, acos, atan. M tests/runtime/test-arith.scm commit 210f3c37d3af418bd9fddf6f2d85335a6ceaa9b8 Author: Taylor R Campbell Date: Sun Nov 18 23:06:46 2018 +0000 Avoid overflow in sqrt(1 - z^2) with sqrt(1 - z)*sqrt(1 + z) in asin. Strike off a couple xfails. Others remain because the branch cuts are busted. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 365ccacef1a18307cfcdfe2f1963e56d4b5dc3fe Author: Taylor R Campbell Date: Mon Nov 19 01:07:29 2018 +0000 Tweak acos tests to clarify and reduce rounding errors. M tests/runtime/test-arith.scm commit 7871258015ad2317485c05bcf5c1bacfe33aa15d Author: Taylor R Campbell Date: Sun Nov 18 22:31:36 2018 +0000 Define some more complex trig tests, several currently broken. M tests/runtime/test-arith.scm commit 06f78a83d2781cd4a34eb69877efbb3191cc9e9c Author: Chris Hanson Date: Sun Nov 18 21:01:47 2018 -0800 Implement handling of traps under macOS. M src/microcode/uxsig.c M src/microcode/uxtrap.h commit 33dfbc3172b21e363763a2bd09d7ac15f90bac4e Author: Chris Hanson Date: Sun Nov 18 18:45:00 2018 -0800 Change .native-release-marker to contain arch. M dist/make-native-files commit 39fd31f1f7afd6a0d50455aeedb23798e77070eb Author: Chris Hanson Date: Sun Nov 18 18:44:24 2018 -0800 Move string-for-primitive to (runtime). M src/edwin/edwin.pkg M src/runtime/runtime.pkg commit 4fa686dd802104ebc66e9d7f8abd29c0adc9f296 Author: Taylor R Campbell Date: Sun Nov 18 06:32:51 2018 +0000 Fix definition of relerr. The expected magnitude should be, well, the magnitude of the expected value, not the one we actually computed! Fortunately it doesn't change the outcome of any of the tests here. M tests/runtime/test-arith.scm commit 6213517bf808bf807e561ad52f6949b82a18ffea Author: Taylor R Campbell Date: Sun Nov 18 06:20:50 2018 +0000 Use complex:1+ and complex:-1+. No functional change but this makes it less likely that someone might tweak the argument order, which tend sto matter for preserving things like signed zeros. M src/runtime/arith.scm commit 033aa0d3024a6bcf1fac4428cb78cf107c58e677 Author: Taylor R Campbell Date: Sun Nov 18 06:18:25 2018 +0000 Note corrected atan branch cut. M src/relnotes/bug-compsignedzero commit 4689582a98fe2967813dadeff238aa14eef2cd74 Author: Taylor R Campbell Date: Sun Nov 18 06:05:10 2018 +0000 Some more atan tests for real values. M tests/runtime/test-arith.scm commit 55872cd9d3f57c2a5df9518c34324b9adedb86b9 Author: Taylor R Campbell Date: Sun Nov 18 05:34:23 2018 +0000 Invent complex:log1m to get correct branch cut in atan on exact inputs. Not going to export it for now without further thought, though. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 77fcad5e3570a40abb2ba962e8768e7c4102cb3e Author: Taylor R Campbell Date: Sun Nov 18 05:17:32 2018 +0000 Add some atan tests. Currently (atan -2i) is broken because of an unfortunate consequence of exact Scheme arithmetic failing to propagate sign changes through zero like floating-point does. M tests/runtime/test-arith.scm commit a5d666719ffe9c7067c46c83e9a10e18bf9e7f84 Author: Taylor R Campbell Date: Sun Nov 18 04:11:50 2018 +0000 Add note about signed zero in complex notation. A src/relnotes/bug-compsignedzero commit 313b951ff0eed638bd3350c3790a8ec65a16c218 Author: Taylor R Campbell Date: Sun Nov 18 04:09:23 2018 +0000 Fix printing signed zero imaginary part. M src/runtime/arith.scm M tests/runtime/test-readwrite.scm commit f8b7144f483228a9ffe4cb1aa0b4bfe2a75a8d66 Author: Taylor R Campbell Date: Sun Nov 18 04:04:59 2018 +0000 More signed zero screw cases in complex numbers. M tests/runtime/test-readwrite.scm commit b1fc8ea5b44812950d763cf3706a95ff5a8f338a Author: Taylor R Campbell Date: Sun Nov 18 04:00:17 2018 +0000 Some more cases. M tests/runtime/test-numpar.scm commit 4f1444339cbf6308e036c0855508d8116b67e355 Author: Taylor R Campbell Date: Sun Nov 18 03:58:40 2018 +0000 Respect signed zero in complex real part. M src/runtime/numpar.scm M tests/runtime/test-numpar.scm commit 8decc1174e17beb02a229f3239c320be4cf8c571 Author: Taylor R Campbell Date: Sun Nov 18 03:56:31 2018 +0000 Test some complex cases. We lose on signed zero (again). M tests/runtime/test-numpar.scm commit 42c58ec0e8234d747cb4eadb3e695fc12fa12058 Author: Taylor R Campbell Date: Sun Nov 18 03:38:52 2018 +0000 Add note about <= and >= fix. A src/relnotes/bug-compare-nan commit f3a2daf645ff0415ead5a67b311b14d7e9ac78cb Author: Taylor R Campbell Date: Sun Nov 18 03:36:52 2018 +0000 Teach (log1p x) to return complex results for real x < -1. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit b6823cb0baa9756e279d9037fce97b34850b9a76 Author: Taylor R Campbell Date: Sun Nov 18 03:35:43 2018 +0000 Add some log1p edge cases, not all working. M tests/runtime/test-arith.scm commit 627162045e4fadd72e1d8ba4d61fe96897990cbb Author: Taylor R Campbell Date: Sun Nov 18 03:34:32 2018 +0000 Test all of the comparison procedures without SF's help. M tests/runtime/test-arith.scm commit a6d83eb2c7c0de2800c2d7f76e6a961ea83acd51 Author: Taylor R Campbell Date: Sun Nov 18 03:33:15 2018 +0000 Remove buggy `optimization' of (<= x y) into (not (> x y)). M src/sf/usiexp.scm M tests/runtime/test-arith.scm commit b2f2f769f87d6f7c3c76fd2fd5cf328779bd3aa9 Author: Taylor R Campbell Date: Sun Nov 18 03:29:10 2018 +0000 Test without the sf fakeout, xfail for now. M tests/runtime/test-arith.scm commit 120408e9d2b940140b6610f1970a20af40c69382 Author: Taylor R Campbell Date: Sun Nov 18 03:26:52 2018 +0000 (<= x y) is not (not (> x y)) in the presence of NaN. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 44b9a5cca1d20aff8c65e0845482abe11be57da7 Author: Taylor R Campbell Date: Sun Nov 18 03:25:17 2018 +0000 Fake out sf so we actually test the <= and >= procedures here. M tests/runtime/test-arith.scm commit 4ab78027dd8236d720324e2e1d7917a3309a0a3b Author: Taylor R Campbell Date: Sun Nov 18 03:10:04 2018 +0000 Test equality and ordering of various things with NaN. Alas, <= and >= are broken. M tests/runtime/test-arith.scm commit 4452eb9fe313ec41fa0807954a325b3f693b899f Author: Chris Hanson Date: Fri Nov 16 23:07:17 2018 -0800 Empty out host-adapter now that the release is out. M src/runtime/host-adapter.scm commit 832c7e1b1b4535ad5b59d49bcf4ef487584f9929 Author: Taylor R Campbell Date: Sun Nov 18 02:10:28 2018 +0000 Tweak note to note how to get human-readable names. M src/relnotes/flotrap commit 7d53590805e382f19379985785f550f54fb4e0a0 Author: Taylor R Campbell Date: Sun Nov 18 01:48:24 2018 +0000 Note more floating-point edge case bug fixes. A src/relnotes/bug-inftimes0 A src/relnotes/bug-polar commit 579283c804029f13bc510360a473b4b8a76b31b5 Author: Taylor R Campbell Date: Sun Nov 18 01:47:06 2018 +0000 Test (make-polar nan 0) is nan. M tests/runtime/test-arith.scm commit 980cda77a35cfa557cb400633dd7053661ecc133 Author: Taylor R Campbell Date: Sun Nov 18 01:44:49 2018 +0000 Make (make-polar magnitude 0) return magnitude. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 342a5d6559fc56ef78a7484736297868ecbefcfd Author: Taylor R Campbell Date: Sun Nov 18 01:42:55 2018 +0000 (make-polar mag 0) should always be mag even if infinite. M tests/runtime/test-arith.scm commit 435b38bd8bbf1d7764b06401a6d19b92a23b749f Author: Taylor R Campbell Date: Sun Nov 18 01:38:28 2018 +0000 Fix 0 * inf. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 367c0e2e38b08f50d2a4bc8e8ec2589c427ccf9a Author: Taylor R Campbell Date: Sun Nov 18 01:36:25 2018 +0000 Bug: 0 * inf should be NaN, but if the 0 is exact it gives 0. M tests/runtime/test-arith.scm commit 2f9136b0b546e6196a04e52d9fd9e6db20e57184 Author: Taylor R Campbell Date: Sun Nov 18 01:19:30 2018 +0000 Fix release note on floating-point exceptions. M src/relnotes/flotrap commit 18db280413b0072449b00b874a6f6d86f6e4cefe Author: Taylor R Campbell Date: Sat Nov 17 23:33:41 2018 +0000 Note bug with reading and printing nonfinite complex parts. A src/relnotes/bug-compinfnan commit adbef5e5f419cd4b19f6f91d866e013a8d81e060 Author: Taylor R Campbell Date: Sat Nov 17 23:31:56 2018 +0000 Parse and print nonfinite parts in rectangular complex numbers. M src/runtime/arith.scm M src/runtime/numpar.scm M tests/runtime/test-readwrite.scm commit 4901b1b48d3ed65482abc07422fc6a28127407ec Author: Taylor R Campbell Date: Sat Nov 17 23:21:57 2018 +0000 Add some more nonfinite complex screw cases. M tests/runtime/test-readwrite.scm commit 7cbf0d42c187ef96fc861a43ceff42f68ca53741 Author: Taylor R Campbell Date: Sat Nov 17 09:15:26 2018 +0000 Revert "Remove workaround for 9.2 compiler bug." This reverts commit 7828111b77fb53e34b365abc775148f49eabe1d2. Can't keep this change until a new release has a compiler without the bug. M src/runtime/floenv.scm commit e97fd75357d10ac9d0a8ec43a77673461999d14f Author: Taylor R Campbell Date: Sat Nov 17 09:14:14 2018 +0000 Add a directory of pending release notes. These are in separate files in no particular order so that we don't have merge conflicts when people merge branches with their own release notes. When a release goes out we can just clear the directory and start over. Some of these actually went out in 10.1 but didn't make it into the release notes (and a couple may have been slightly broken in 10.1 anyway). A src/relnotes/aarch64 A src/relnotes/arith A src/relnotes/bug-floexcept A src/relnotes/bug-integerp A src/relnotes/bug-nan-notation A src/relnotes/bug-negate A src/relnotes/bug-rounding A src/relnotes/bvzero A src/relnotes/flonum A src/relnotes/flotrap A src/relnotes/hexpoint A src/relnotes/ieee754 A src/relnotes/rng commit 7ec793264aa8a34f67050be8f5e407dd6e65e57c Author: Taylor R Campbell Date: Sat Nov 17 09:13:21 2018 +0000 Add some complex infinite screw cases, xfail. M tests/runtime/test-readwrite.scm commit 6089c59ba0d38fc881e6d829acecade4f28636cb Author: Chris Hanson Date: Fri Nov 16 22:45:20 2018 -0800 Eliminate more string-copy calls. M src/runtime/http-syntax.scm M src/runtime/system.scm commit 363b0b20ba2b10ceb70ac5b42269303158a5f6d9 Author: Chris Hanson Date: Fri Nov 16 20:44:44 2018 -0800 Eliminate now-unnecessary string-copy calls. M src/runtime/dragon4.scm commit e2355f760c61f13a4b81398d11844a4b308bf92d Author: Matt Birkholz Date: Thu Nov 15 19:14:56 2018 -0700 gcnote: When heap runs low, abort just the current/console thread. M src/runtime/gcnote.scm M src/runtime/runtime.pkg commit 65c74c1974c279d2620acf85a7685b52071352a4 Author: Matt Birkholz Date: Thu Nov 15 19:09:36 2018 -0700 runtime/gcdemn: Update daemon descriptions. M src/runtime/gcdemn.scm commit 682134f2ed1f8faa768f51f6eb45c0332c605391 Author: Matt Birkholz Date: Sun Nov 11 12:05:48 2018 -0700 runtime/http-io: request body can be #f M src/runtime/http-client.scm M src/runtime/http-io.scm commit eb8a439a7574c724e3be056c589cf24c68514fa2 Author: Matt Birkholz Date: Sun Nov 11 09:03:49 2018 -0700 mcrypt/configure.ac: typo M src/mcrypt/configure.ac commit 1fd0c0337976d3b4e36a10bc1e0903c1e23f3289 Author: Matt Birkholz Date: Sat Nov 10 12:56:47 2018 -0700 ffi/build: typo, free variable M src/ffi/build.scm commit 9d4aab5e7f49ec0bb8355ad72eb2e13a9668a644 Author: Taylor R Campbell Date: Fri Nov 16 17:01:39 2018 +0000 Revert "Revert "Remove workaround for 9.2 compiler bug."" This reverts commit 690adab07f3f98ccc53d38a75347f184e8811248. Let's try this again. M src/runtime/floenv.scm commit fef97700a33ba4eaab3341487f109bde488e08eb Author: Taylor R Campbell Date: Fri Nov 16 17:00:10 2018 +0000 Make flo:integer? answer true only for finite inputs. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit a48e29d55740dc2c4daa07fbfeea29b5d60adc80 Author: Taylor R Campbell Date: Fri Nov 16 16:57:59 2018 +0000 Add tests for integer?. It incorrectly reports infinities as integers, so xfail. M tests/runtime/test-arith.scm commit cdfae6252e6a0b71e46107eb8b238a4b8b46381b Author: Taylor R Campbell Date: Fri Nov 16 16:48:00 2018 +0000 Confirm that complex flonum components survive read/write in hex. M tests/runtime/test-readwrite.scm commit dbe9b14403999acd90fcf34e10dde8d29e9c9ad8 Author: Taylor R Campbell Date: Fri Nov 16 16:46:08 2018 +0000 Teach the printer to print inexacts and complexes in hexadecimal. M src/runtime/printer.scm M tests/runtime/test-readwrite.scm commit b8c5ed90c2c9354dc5914b30e34f4641823e5f5d Author: Taylor R Campbell Date: Fri Nov 16 16:39:50 2018 +0000 Add some more tests for read/write invariance with hex. Printer doesn't yet understand how to print flonums in hex, so xfail. M tests/runtime/test-readwrite.scm commit e27d2802fcf0302e30d028c62609f41336a20de5 Author: Taylor R Campbell Date: Fri Nov 16 16:38:36 2018 +0000 Don't add the #x marker in flo:->string / number->string. We'll add it in the printer downstream. M src/runtime/dragon4.scm M tests/runtime/test-dragon4.scm commit d90ef930fa397e6e9018b5d5579adeb7481c2d37 Author: Taylor R Campbell Date: Fri Nov 16 09:18:19 2018 +0000 Use a make macro with $(MAKE) to make in subdirs, with + modifier. - Avoids relying on `make' to execute the right make. - Works with `make -n'. M src/Makefile.in D src/etc/make-in-subdirs.sh commit daed58e27ca950ad738128bbb47c50c2c6104d2e Author: Taylor R Campbell Date: Fri Nov 16 09:09:40 2018 +0000 Fix case that wasn't adequately exercised. M src/runtime/numpar.scm M tests/runtime/test-numpar.scm commit 053bbbaddd67efc79ed320871e1dc911d542fab0 Author: Taylor R Campbell Date: Fri Nov 16 09:08:43 2018 +0000 Tickle error case that I missed. M tests/runtime/test-numpar.scm commit 690adab07f3f98ccc53d38a75347f184e8811248 Author: Taylor R Campbell Date: Fri Nov 16 08:35:42 2018 +0000 Revert "Remove workaround for 9.2 compiler bug." This reverts commit 7828111b77fb53e34b365abc775148f49eabe1d2. I haven't tracked this down because the stack trace is full of frames in the compiler for which we don't install debug data but the symptom is: ; Compiling file: "./floenv.bin" => "./floenv.com"... ;The object +inf.0, passed as the first argument to flonum-normalize, is not the correct type. First few frames suggest this is in flo:->rational called by something in RTL CSE. M src/runtime/floenv.scm commit 9c41fb3689b6c78d5514aaa2c9798f84b72ab59e Author: Taylor R Campbell Date: Fri Nov 16 08:02:22 2018 +0000 Teach (number->string x 16) to use radix 16, base 2 exponent notation. M src/runtime/dragon4.scm M src/runtime/ieee754.scm M tests/runtime/test-dragon4.scm commit 76c9b59b448f62ca71eeb8ec5b064ca61efb367a Author: Taylor R Campbell Date: Fri Nov 16 07:44:50 2018 +0000 Fix export list of (runtime ieee754). M src/runtime/runtime.pkg commit 3820df12abf8dee19e1272519d6f142a11f690dd Author: Taylor R Campbell Date: Fri Nov 16 07:41:53 2018 +0000 Fix definition of flo:largest-positive-normal. M src/runtime/arith.scm M tests/runtime/test-numpar.scm commit ec113ed67903b712832892c1309eac3532869013 Author: Taylor R Campbell Date: Fri Nov 16 07:41:19 2018 +0000 Test a couple edge cases for hexadecimal floating-point parsing. One is xfail right now because I defined flo:largest-positive-normal wrong -- oops! M tests/runtime/test-numpar.scm commit dfc5216036df838541efa02011797e091662c820 Author: Taylor R Campbell Date: Fri Nov 16 07:39:47 2018 +0000 Add support for parsing non-decimal radix points and binary exponents. M src/runtime/numpar.scm M tests/runtime/test-numpar.scm commit 671fb38429a3c3dd1ee246bd85e97fb35a315ce1 Author: Taylor R Campbell Date: Fri Nov 16 07:22:25 2018 +0000 Add some trivial string->number tests. M tests/check.scm A tests/runtime/test-numpar.scm commit 37faef9232d3c599731c9645b198217ff4d96f05 Author: Taylor R Campbell Date: Fri Nov 16 07:05:17 2018 +0000 Don't transform (- x) into (- 0 x). The transformation is wrong for floating-point signed zero. M src/sf/usiexp.scm M tests/runtime/test-arith.scm commit 39d21a6f7056ab3bf6f087c9a04cc6ecfff150fe Author: Taylor R Campbell Date: Fri Nov 16 07:08:07 2018 +0000 Add an explicit test for negating zero with (- x). Currently xfail for some cases because of incorrect optimization in sf. M tests/runtime/test-arith.scm commit b8a15adfa4bfcc446ee4fa5c51dbefb7f773b90c Author: Chris Hanson Date: Thu Nov 15 23:27:17 2018 -0800 Remove workaround for 9.2 compiler bug. M src/runtime/string.scm commit 7828111b77fb53e34b365abc775148f49eabe1d2 Author: Chris Hanson Date: Thu Nov 15 23:26:21 2018 -0800 Remove workaround for 9.2 compiler bug. M src/runtime/floenv.scm commit 7d45ef6356bfcaa74e7a13608f2b5d2ef3391eca Author: Chris Hanson Date: Thu Nov 15 23:24:00 2018 -0800 Eliminate support for old types in debugging info. M src/runtime/infstr.scm commit feda7074e3e2bb63ad00c553fb06d30444d8bb56 Author: Chris Hanson Date: Thu Nov 15 23:19:35 2018 -0800 Eliminate obsolete record-type-dispatch-tag. M src/runtime/record.scm M src/runtime/runtime.pkg commit 18858618ef49f6713676a26351a9c5e51964b2fa Author: Chris Hanson Date: Thu Nov 15 23:08:04 2018 -0800 Remove no-longer-needed comment. M src/runtime/record.scm commit 59429c2a87cd5b65841f599f63e55e781f8de7af Author: Chris Hanson Date: Thu Nov 15 23:06:35 2018 -0800 Implement new-make-define-structure-type without the obsolete argument. Temporarily preserve make-define-structure-type which ignores the arg. M src/edwin/clscon.scm M src/runtime/defstr.scm M src/runtime/random.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/thread.scm commit f9240424db225dafffa5fb6078d371ce1cd0bad8 Author: Chris Hanson Date: Thu Nov 15 23:03:45 2018 -0800 Change plugins to use the already-compiled toolchain. M src/Makefile.in M src/blowfish/Makefile.am M src/blowfish/compile.sh M src/blowfish/configure.ac M src/configure.ac M src/edwin/Makefile.am M src/edwin/compile.sh M src/edwin/configure.ac M src/gdbm/Makefile.am M src/gdbm/compile.sh M src/gdbm/configure.ac M src/imail/Makefile.am M src/imail/compile.sh M src/imail/configure.ac M src/mcrypt/Makefile.am M src/mcrypt/compile.sh M src/mcrypt/configure.ac M src/pgsql/Makefile.am M src/pgsql/compile.sh M src/pgsql/configure.ac M src/x11-screen/Makefile.am M src/x11-screen/compile.sh M src/x11-screen/configure.ac M src/x11/Makefile.am M src/x11/compile.sh M src/x11/configure.ac commit e7e4b96702ac5f5bdcc0481eaac1c1424e22bf9a Author: Chris Hanson Date: Thu Nov 15 21:36:02 2018 -0800 Eliminate structure-type/unparser-method and its dependents. M src/runtime/printer.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit 328d34167d9aabb3e008f6563188cf10df83c122 Author: Chris Hanson Date: Thu Nov 15 21:31:22 2018 -0800 Eliminate old version of make-record-type. M src/runtime/bundle.scm M src/runtime/library-standard.scm M src/runtime/mit-macros.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit a93bf340f584ee721423aed7e8e755e660710ccb Author: Chris Hanson Date: Wed Nov 14 21:19:09 2018 -0800 Add patch from internet to enable/disable FP traps on macOS. M src/microcode/floenv.h commit 71a54cfb608bbf099085fe7cb66e7213aa885443 Author: Chris Hanson Date: Tue Nov 13 23:06:20 2018 -0800 Big round of changes to UCD tables, no longer need runtime conversion. Previous tables had to be compiled using 9.2, and couldn't use bytevector, unicode string syntax, or R7RS char/string escapes. Now they do that which results in some small space savings and less work at cold load. Additionally I changed the representation of multiple-code-point values from strings to vectors. The old representation depended on the fact that vector->string didn't do normalization, so those strings can't be constructed at compile time (they'll be normalized) and anyway it's not good to depend on that feature of vector->string. M src/etc/ucd-converter.scm M src/runtime/bytevector.scm M src/runtime/printer.scm M src/runtime/runtime.pkg M src/runtime/string.scm M src/runtime/ucd-table-canonical-cm-second.scm M src/runtime/ucd-table-canonical-cm.scm M src/runtime/ucd-table-canonical-dm.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gcb.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-wb.scm commit 7737b277d29e7c54dac236c51f811753417c51bd Author: Chris Hanson Date: Tue Nov 13 20:47:46 2018 -0800 Change default port char-set to ASCII. M src/runtime/textual-port.scm commit b04709a55aff7e1e669d36fab10de3d1e4b5e395 Author: Chris Hanson Date: Tue Nov 13 20:47:17 2018 -0800 Add char-set operation to string output ports, using Unicode. M src/runtime/string-io.scm commit 583b09ef84d0d3d7792538b45f3f921b890ac77b Author: Taylor R Campbell Date: Tue Nov 13 07:26:27 2018 +0000 Speed up the ieee754.scm tests a tiny bit. M tests/runtime/test-ieee754.scm commit 14f0799d716b5c02783225266966fb48eb5bca4b Author: Taylor R Campbell Date: Tue Nov 13 07:26:05 2018 +0000 Simplify enumerated tests here. M tests/runtime/test-ieee754.scm commit a3e8d1c956d89ef4a01c6248962f959f4bbacb1a Author: Taylor R Campbell Date: Tue Nov 13 07:25:36 2018 +0000 Skip floating-point trap tests if the host doesn't support them. M tests/microcode/test-flonum-except.scm commit 882f6a52acf97feb0ec56c55e1e2f0751f0b8c93 Author: Taylor R Campbell Date: Tue Nov 13 06:25:27 2018 +0000 Ignore .fni and .moc files too. M .gitignore commit 26b57e5fe7eb0e09e4e2f336fa1d4ab05bde29c3 Author: Taylor R Campbell Date: Tue Nov 13 06:03:06 2018 +0000 Missed a spot: 64-bit architecture is effectively heap-in-low-memory. M src/microcode/confshared.h commit 843f33de6d8133b3e2c9e3783e16d0ce38085b06 Author: Taylor R Campbell Date: Tue Nov 13 05:56:28 2018 +0000 Teach the ucode to build on NetBSD/aarch64. M src/microcode/confshared.h M src/microcode/uxtrap.h commit 88462cdcf6fbc28641658ae30b0b3b2ece7f6306 Author: Taylor R Campbell Date: Tue Nov 13 05:55:56 2018 +0000 Cull configure checks for unused functions. M src/microcode/configure.ac M src/microcode/ntutl/config.h commit a84a9c5cd3974f4303a547b08323af1e78f0d164 Author: Chris Hanson Date: Sun Nov 11 23:03:27 2018 -0800 Export flo:random-unit-{closed,open} and deprecate flo:random-unit. M src/runtime/runtime.pkg commit d37fcb8eab5e819042b8b14ba68b2abf4b725e70 Author: Chris Hanson Date: Sun Nov 11 23:01:46 2018 -0800 Fix bug: couldn't compile random.scm on a 32-bit system. The problem is that it was trying to represent the constant #x55555555 as a fixnum, which won't work. I added more selective macro-expansion to enable only those parts of the code relevant for the different word sizes. M src/runtime/random.scm commit 5dd0b42b6ea96882ce31a0df9e6420bfc4eea6e9 Author: Chris Hanson Date: Sun Nov 11 22:59:33 2018 -0800 Fix bug: -Werror means FOO_length_in_bits won't compile on 32-bit gcc. Before it just issued a warning. I rewrote it so that it works. M src/microcode/bits.h commit ecf5acd425f03a6d9c9032914585f59ae6f07c29 Author: Taylor R Campbell Date: Sun Nov 11 02:44:06 2018 +0000 Disable -Winline. Not really generally useful unless you're tuning particular code; highly compiler-dependent. Currently breaks -Os. M src/microcode/configure.ac commit 467bef5f6ad157d28f49a21e7e1b0e94c15ba92c Author: Taylor R Campbell Date: Sat Nov 10 18:01:00 2018 +0000 Check for overflow in int, not size_t. M src/microcode/findprim.c commit d3e8b5986138ca193e28ec59c05d89458b0745e7 Author: Taylor R Campbell Date: Sat Nov 10 18:00:42 2018 +0000 Use -Wl,-export-dynamic to pass -export-dynamic to the linker. M src/microcode/configure.ac commit 647c122d98c025e9efdc92476e0ba00d3b0b6f75 Author: Taylor R Campbell Date: Sat Nov 10 18:00:00 2018 +0000 Disable -Wunreachable-code for now, too many false positives. M src/microcode/configure.ac commit d76d3e8d196a30348a7ef167ae421408f05425d4 Author: Taylor R Campbell Date: Thu Nov 8 18:56:40 2018 +0000 Use -frounding-math since we change the rounding mode. M src/microcode/configure.ac commit e21064ab718f7c7726b8dc314c0a3831d6bf2a93 Author: Chris Hanson Date: Fri Nov 9 23:03:30 2018 -0800 Fix problems when trying to compile under macOS. M src/microcode/configure.ac M src/microcode/uxtrap.c M src/microcode/uxtrap.h commit ded2d658a31b1f8d1b6930c801b486307c0380e5 Author: Chris Hanson Date: Thu Nov 8 22:37:04 2018 -0800 Bump version number so it's different from release. M src/runtime/version.scm commit bed3841f164a8f67b4175ec8da9e6306e0b11c1c Merge: 72fbb9470 9fd27bb28 Author: Chris Hanson Date: Thu Nov 8 22:46:09 2018 -0800 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit 72fbb947027dd4c399eeea7f98d659f39f9b1e2d Author: Chris Hanson Date: Thu Nov 8 22:44:51 2018 -0800 Allow --enable-debugging to have a third value. Anything other than "yes" or "no" will be interpreted as setting the C compiler to generate debugging symbols, but not turn on all of the debugging helpers in the microcode. M src/microcode/configure.ac commit 9fd27bb280d802541c0efdd1621536c9203e2104 Author: Taylor R Campbell Date: Thu Nov 8 18:30:27 2018 +0000 Show the expression too. M tests/runtime/test-floenv.scm commit e42590240f4f61659b8326006d4ad4b6c72ce9c3 Author: Taylor R Campbell Date: Thu Nov 8 17:59:19 2018 +0000 Use multiple tests rather than an iterated test to get all results. M tests/runtime/test-floenv.scm commit 3fafcb40e236d5a702335f4bac5f0aa2f9409f43 Author: Taylor R Campbell Date: Thu Nov 8 17:25:14 2018 +0000 Paranoia (and gcc warning suppression): Avoid arithmetic overflow. M src/microcode/findprim.c commit facd05570f9d26fd859580e40a3f2eb12987f5ba Author: Taylor R Campbell Date: Thu Nov 8 17:09:47 2018 +0000 Disable -Wstringop-truncation. We use strncpy in very limited ways, one of which is for struct sockaddr_un, for which strncpy truncation is correct. M src/microcode/configure.ac commit 8d07d8ced786b0094377d2cf1b8ba3eafe2e04ea Author: Taylor R Campbell Date: Thu Nov 8 16:19:03 2018 +0000 Explain why we don't do -Wmissing-prototypes yet. M src/microcode/configure.ac commit 78d17d14d34a14d3b6a7e98dd5aeeb06e6e8cd0e Author: Taylor R Campbell Date: Thu Nov 8 16:17:41 2018 +0000 Add -Wunreachable-code and -Wwrite-strings. M src/microcode/configure.ac commit 29ccb1f313d00dd3becb3f2c510388a7e95355d0 Author: Taylor R Campbell Date: Thu Nov 8 16:16:25 2018 +0000 Merge all the warning flags into the same list. M src/microcode/configure.ac commit 4cfe81189a1728be2b360a2e672f56bb44a5023e Author: Taylor R Campbell Date: Thu Nov 8 16:13:32 2018 +0000 Subscribe to particular warning flags, not to -Wextra. -Wextra now entails -Wcast-function-type, which is incompatible with various Unix APIs like sigaction. M src/microcode/configure.ac commit 65f5c7583637f03a08a1737d5851f06a472a6dd6 Author: Taylor R Campbell Date: Thu Nov 8 16:02:09 2018 +0000 Fix reader NaN notation: -nan.0/+nan.0, not just nan.0. M src/runtime/numpar.scm M src/runtime/reader.scm M tests/runtime/test-readwrite.scm commit 296a7cdf850a760da80f2d0e0405652d428feccb Author: Taylor R Campbell Date: Thu Nov 8 15:44:43 2018 +0000 Some trivial tests for read/write invariance. One xfail: The `nan.0' notation reads as NaN, not as a symbol, and `+nan.0' is not recognized. M tests/runtime/test-readwrite.scm commit fd613b17c0fa022f88e09c81f7d0d6b6b43128bd Author: Taylor R Campbell Date: Thu Nov 8 08:22:51 2018 +0000 More atan2 edge cases. M tests/runtime/test-arith.scm commit 9ffbdb0d1698e0e0437bf3b32ce4cc8eba546be9 Author: Taylor R Campbell Date: Thu Nov 8 08:13:33 2018 +0000 Fix edge cases of flonum divide and atan2. M src/microcode/flonum.c M tests/microcode/test-flonum-except.scm M tests/runtime/test-arith.scm commit f9ba5759a1b19ae829833a35406fd551bd3809b4 Author: Taylor R Campbell Date: Thu Nov 8 08:09:47 2018 +0000 Test edge cases of flonum-divide primitive and of atan. M tests/microcode/test-flonum-except.scm M tests/runtime/test-arith.scm commit 6f9b22ca9011a0bc9425a4087c83389a7fa4ccb8 Author: Taylor R Campbell Date: Thu Nov 8 07:49:02 2018 +0000 Let the system math library elicit IEEE 754 exceptions. Don't trap in our ucode primitive wrappers if the floating-point exception isn't trapped. M src/microcode/flonum.c M tests/microcode/test-flonum-except.scm commit 33ee5df4f6250357f06e5be49942e620612efe50 Author: Taylor R Campbell Date: Thu Nov 8 07:47:20 2018 +0000 Test the flonum-sqrt ucode primitive explicitly. The compiler open-codes it in flo:sqrt on amd64, which hardware gives the correct behaviour, but the ucode does not right now. M tests/microcode/test-flonum-except.scm commit 2a55da8a55730304aab7b5cbcc93c9894fe8eead Author: Taylor R Campbell Date: Thu Nov 8 07:42:50 2018 +0000 Follow IEEE 754 semantics: disable floating-point traps by default. M src/runtime/floenv.scm commit 82357de714aa03a17c5da49309d13215843b5961 Author: Taylor R Campbell Date: Thu Nov 8 07:40:13 2018 +0000 Add tests for floating-point exceptions. M tests/check.scm A tests/microcode/test-flonum-except.scm commit 5d353c67d831ba1a36c63c51eaafa8e1aa7d790a Author: Taylor R Campbell Date: Thu Nov 8 02:12:36 2018 +0000 Mind my i's and j\s. M src/runtime/random.scm M tests/runtime/test-random.scm commit f6582867b4b55737b6a2d3dc3be6e47fecb8cb28 Author: Taylor R Campbell Date: Thu Nov 8 02:11:54 2018 +0000 I broke random-bytevector for large inputs. M tests/runtime/test-random.scm commit f8d113b0fff07ab086862aa333124930592a269a Author: Taylor R Campbell Date: Wed Nov 7 17:28:37 2018 +0000 Rewrite random number generator. New one has 32-byte state s, produces output x by splitting 64-byte ChaCha20_s(0) into 32-byte halves s' and x and replacing the state by s'. I added two alternate implementations of flo:random-unit, one which samples real numbers uniformly from [0,1] and rounds them to floating-point numbers, and one which samples real numbers uniformly from (2^{-emin - p - 1}, 1 - ulp(1)/4) and rounds them to floating-point numbers. The latter is wrong for various reasons but it is closer to what we historically provided, so it is what we use for now. I removed the fallback in case get-entropy (/dev/urandom) fails, which means this won't work on Windows until someone teaches the microcode to call CryptGenRandom there, and won't work in a chroot unless someone teaches it to use getentropy(2) or getrandom(2) or whatever. If this causes any problems, feel free to back out this commit -- aside from refusing to fall back to getting `entropy' from the clock and having a different export format, this is intended to be a drop-in replacement for the old random.scm (hence the recent tests), so if I made a mistake just back it out, let me know what went wrong, and I'll add more tests before re-merging it. M src/runtime/random.scm commit 56fe246ffa7aaf1ba863e918bbc910e67887a584 Author: Taylor R Campbell Date: Wed Nov 7 17:20:23 2018 +0000 Test that make-random-source is deterministic. M tests/runtime/test-random.scm commit 5db171723169af99db7a967f38cc076e6543e012 Author: Taylor R Campbell Date: Wed Nov 7 17:15:13 2018 +0000 Randomize the dispatch tag cache; don't copy the system state. M src/runtime/dispatch-tag.scm commit 8c4c618b3090ce014fc80117149de8112f63bef0 Author: Taylor R Campbell Date: Wed Nov 7 17:09:55 2018 +0000 Use get-entropy primitive to initialize random states. M src/runtime/random.scm commit 2784ef78b9024a280168efb0697580373fe364e9 Author: Taylor R Campbell Date: Wed Nov 7 17:06:50 2018 +0000 Remember to close /dev/urandom when done. M src/microcode/uxentropy.c commit 28ab7305af256228eaf9c65a56e7539826045fb1 Author: Taylor R Campbell Date: Wed Nov 7 16:28:59 2018 +0000 Check for fenv.h and ieeefp.h functions only if the header is there. Makes it easier to disable these and test our own version by just setting ac_cv_header_fenv_h=no ac_cv_header_ieeefp_h=no. M src/microcode/configure.ac commit cd0ceac29999d6b121c5d6d7628648320348b4b4 Author: Taylor R Campbell Date: Wed Nov 7 16:27:44 2018 +0000 Add -Werror after all autoconf checks. If we do it before, the autoconf checks -- which are full of compiler warnings -- all fail. M src/microcode/configure.ac commit 140f2ab2af5379dd4b416008bd85f2d2c06ec14e Author: Taylor R Campbell Date: Wed Nov 7 16:27:15 2018 +0000 Need "osentropy.h" for OS_get_entropy. M src/microcode/prentropy.c commit 3bf25500cfc833748f1d193365c07899105d435f Author: Taylor R Campbell Date: Wed Nov 7 16:27:01 2018 +0000 Use "config.h" to get uint8_t. No more need of for size_t. M src/microcode/osentropy.h commit 418c23c14e4aeefee3d6d4ec7788ffde1d88c724 Author: Taylor R Campbell Date: Wed Nov 7 16:26:23 2018 +0000 Fix prototypes for x87_read/write_environment. M src/microcode/cmpintmd/x86-fenv.c commit 4fcb6ef15fbb7073c189dcc09711a76c544c81fc Author: Taylor R Campbell Date: Wed Nov 7 16:00:48 2018 +0000 Use a fresh random state for randomized tests. M tests/runtime/test-random.scm commit 555e9b539d3cb2e0dbcf6f6efb22bf3bcd94c1db Author: Taylor R Campbell Date: Wed Nov 7 07:53:44 2018 +0000 More floating-point parameters. M src/runtime/arith.scm M src/runtime/runtime.pkg commit 478d7736541b1e0dcc686d94f923d33041ba6b78 Author: Taylor R Campbell Date: Wed Nov 7 07:52:46 2018 +0000 New primitive (get-entropy bv) randomly fills a 32-byte vector. M src/microcode/makegen/files-core.scm M src/microcode/makegen/files-unix.scm C083 src/microcode/makegen/files-unix.scm src/microcode/osentropy.h C071 src/microcode/makegen/files-unix.scm src/microcode/prentropy.c C061 src/microcode/makegen/files-unix.scm src/microcode/uxentropy.c commit 640ebdec9220e072e27d839614c5f17f92d0ea4f Author: Taylor R Campbell Date: Wed Nov 7 07:40:12 2018 +0000 Turn off -Werror here; breaks configure. Should turn it back on somewhere else. M src/microcode/configure.ac commit 7745e04b400029d52fa7f4eff56fbf71530464fc Author: Taylor R Campbell Date: Wed Nov 7 05:35:36 2018 +0000 Missed a run-sub-test. M tests/runtime/test-floenv.scm commit a603570afea9bba562a47f25c41558e85cf02982 Author: Taylor R Campbell Date: Wed Nov 7 05:33:52 2018 +0000 New procedure (bytevector-zero-explicit! [ []]). Intended to zero the memory backing a bytevector even if the values will never be used again and an aggressively optimizing compiler can prove that. Doesn't actually work (GC can move stuff without zeroing it) but it may help to have it in order to tag where it _would_ be needed if we could make it work in the future. M src/runtime/bytevector.scm M src/runtime/runtime.pkg M tests/runtime/test-bytevector.scm commit 7626d2f36b7f6282ed1286926968f08fc4345650 Author: Taylor R Campbell Date: Wed Nov 7 05:24:41 2018 +0000 Fix indentation. M tests/runtime/test-bytevector.scm commit dd4a821cec445d90567c12bc3ceffd0e0f979777 Author: Taylor R Campbell Date: Wed Nov 7 05:10:18 2018 +0000 Make some of my stupid old randomized tests a little less slow. Would be better to rewrite these so they're not as stupid. M tests/runtime/test-integer-bits.scm commit 7bd86749f7545ca6a20a9298a54b6ef03454845d Author: Taylor R Campbell Date: Wed Nov 7 05:08:02 2018 +0000 Halfway fix some broken tests. - Use with-test-properties, not run-sub-test. - Disable run-sub-test in the test environment; it doesn't make sense for tests to call it. - Add a rudimentary expect-failure. (Feel free to spruce this up with a message detailing the nature of the expectation, a note in the final report, &c.) - Partly fix test-char-set.scm, which was silently nonfunctional because of run-sub-test. Leave an xfail for the part I don't know how to fix. (Chris -- if you could fix this, that would be great!) M tests/check.scm M tests/runtime/test-char-set.scm M tests/runtime/test-random.scm M tests/unit-testing.scm commit 79934c3dd42d9fb626200679834985646025aaff Author: Taylor R Campbell Date: Wed Nov 7 04:03:28 2018 +0000 Depend on x11-const directly, not via a stamp and submake. Going via the submake means parallel make can get confused and cause two processes to try to build the same thing at the same time and stomp on each other's toes. M src/x11/Makefile.am commit ab964b25bfeadb49bc9257a7b901d6235b227c4f Author: Taylor R Campbell Date: Wed Nov 7 03:08:47 2018 +0000 Make the C compiler warnings that we subscribe to fatal. M src/microcode/configure.ac commit bf35ea027bf100dcf7d1a47ca5939c534ccefb03 Author: Taylor R Campbell Date: Wed Nov 7 03:08:28 2018 +0000 Confirm the primitive respects the bounds too. M tests/microcode/test-chacha.scm commit 3b826d76cd7be4de026e8c5232c641f5c4244c13 Author: Taylor R Campbell Date: Wed Nov 7 02:52:37 2018 +0000 Simplify construction of chacha core test vector tests. M tests/microcode/test-chacha.scm commit 31d47836a731b5221de50cee2c49dcf065b3f66e Author: Taylor R Campbell Date: Wed Nov 7 02:52:17 2018 +0000 Test fenceposts in chacha core primitives. M tests/microcode/test-chacha.scm commit bce218b33964481e02438ebf4471f648a2347b59 Author: Taylor R Campbell Date: Wed Nov 7 02:39:25 2018 +0000 Unfix the fix for an off-by-zero. arg_ulong_index_integer(argno, n) takes n as _exclusive_ upper bound. In this case, n - 64 is a valid starting index. So the exclusive upper bound is n - 64 + 1 = n - 63. M src/microcode/prchacha.c commit 30d140e2f3206332ec0879d908737da3ab8aa0b6 Author: Taylor R Campbell Date: Wed Nov 7 02:39:20 2018 +0000 Fix more formatting. M src/microcode/prchacha.c commit ce0c2b48389c2cbd90a05e509572c5902a8ffbc1 Author: Chris Hanson Date: Mon Nov 5 21:53:04 2018 -0800 Eliminate unused variable warnings. M src/runtime/ieee754.scm commit eb348e924fc8215745eac07b7e99dfdab297fbe9 Author: Chris Hanson Date: Mon Nov 5 21:51:23 2018 -0800 Fix a bug in prchacha: compiler warned of unused variable. Also there was an off-by-one thinko, and incorrect PRIMITIVE_HEADER arguments. While I was at it I tweaked the formatting a little. M src/microcode/prchacha.c commit 682178dbb3ad5dbd4e789fb7d6d6321d3ad154d8 Author: Taylor R Campbell Date: Mon Nov 5 04:41:14 2018 +0000 Fix sign of (flo:ulp -infinity). Simplify. flo:ulp is supposed to return a positive magnitude, in particular the absolute distance from x to the next larger floating-point number in magnitude. M src/runtime/primitive-arithmetic.scm M tests/runtime/test-arith.scm commit 6e89a22bebd9842ff4c3b95eac87b445b1d05677 Author: Taylor R Campbell Date: Mon Nov 5 04:40:00 2018 +0000 Tidy up ieee754.scm, add some tests, and export some of it. M src/runtime/ieee754.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-ieee754.scm commit 2f4d0373c12e2e6707f35c25cf37b8f23fdf4485 Author: Chris Hanson Date: Sat Nov 3 21:55:19 2018 -0700 Allow sequences to contain zero elements. M src/compiler/fggen/fggen.scm M src/runtime/lambda.scm M src/runtime/library-scode.scm M src/runtime/scan.scm M src/runtime/scode.scm M src/runtime/unsyn.scm M src/runtime/ystep.scm M src/sf/object.scm M src/sf/xform.scm commit 8f7cad4b547912483e9114881088edc53cfe4a6c Author: Chris Hanson Date: Thu Nov 1 22:07:12 2018 -0700 Don't use upper-case symbols in loader. The system might be in a non-case-fold mode. M src/x11-screen/make.scm commit 18f91ae67d53cc0b77c68a958f55b571e030c1dc Author: Chris Hanson Date: Thu Nov 1 20:31:37 2018 -0700 Don't print internals of promises. M src/runtime/pp.scm commit 5d08aa4ff7ac43f054b5a4043fcd697fb67a4119 Author: Chris Hanson Date: Thu Nov 1 20:29:37 2018 -0700 Fix printing of promises. M src/runtime/boot.scm M src/runtime/printer.scm commit 6f22801e760cd5bc40bc3a7be57d1be4f3fc6200 Merge: 861d47756 a384578df Author: Chris Hanson Date: Wed Oct 31 22:42:43 2018 -0700 Merge branch 'release-10' commit a384578df417cb7b2f2096ece145de9d3ba04f04 Author: Chris Hanson Date: Wed Oct 31 22:41:45 2018 -0700 Make macos dmg file read only. M dist/make-macosx-app commit abebc2ee21b8139acd1dc4a889225c535e707446 Author: Chris Hanson Date: Wed Oct 31 18:55:47 2018 -0700 Fix problem with building and installing x11 plugin from native dist. M dist/make-native-files M dist/shared.sh M doc/configure.ac M doc/mit-scheme.1 M doc/ref-manual/scheme.texinfo M doc/user-manual/user.texinfo M src/Makefile.in M src/blowfish/mit-scheme-blowfish.texi M src/configure.ac M src/gdbm/mit-scheme-gdbm.texi M src/runtime/version.scm M src/x11/Makefile.am commit 861d47756fc5555408ef13855e0201e14092b56a Author: Taylor R Campbell Date: Wed Oct 31 16:44:43 2018 +0000 Comment what log-logistic and logit-exp are for. M src/runtime/arith.scm commit 6ecc2f369458d98f541aa3fa1cf02b9433f63021 Author: Taylor R Campbell Date: Wed Oct 31 16:37:32 2018 +0000 Define (flo:ulp x) to be distance to next float in direction of x. Thus, (flo:ulp 1.) = (flo:ulp -1.) = flo:ulp-of-one. Bottoms out at infinity: (flo:ulp x) = x if x is infinite. This definition applies to zero, too, giving the smallest subnormal. M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit 3a6e782d457485eebca58bd821d1523d0485f45d Author: Taylor R Campbell Date: Wed Oct 31 16:35:54 2018 +0000 Add Mode: C line on request from mejja. (Not keen to otherwise reformat this code from an upstream, though.) M src/microcode/chacha.i commit d89cf9cda61d12809aff297197b33995e7e3562f Author: Taylor R Campbell Date: Tue Oct 30 16:16:38 2018 +0000 Clarify some comments. M src/runtime/arith.scm commit 89dfad56651a95e22d6572a48ac747fddc0cae67 Author: Taylor R Campbell Date: Tue Oct 30 16:04:13 2018 +0000 Reorganize logsumexp for clarity. No functional change. M src/runtime/arith.scm commit 8f61ad84fc7d2c5e3145ce197617fc2a4a48f5d7 Author: Taylor R Campbell Date: Tue Oct 30 15:59:04 2018 +0000 Mask underflow exception in logsumexp because it doesn't matter. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit ab79270e1da3a7e0eddc0e5cac9888e27aad6118 Author: Taylor R Campbell Date: Tue Oct 30 15:41:22 2018 +0000 Add (logsumexp (list 1 2 3)) = (log (+ (exp 1) (exp 2) (exp 3))). M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit 959de5c90b6c254f0b40c612981900a7b19a4316 Author: Chris Hanson Date: Mon Oct 29 21:30:33 2018 -0700 Don't assume that it's possible to run MIT_SCHEME_EXE during configuration. This won't work with a native distribution, since there may not be a working scheme on the host. Instead use other ways to do the necessary work. M src/blowfish/configure.ac M src/configure.ac M src/edwin/Makefile.am M src/edwin/autogen.sh M src/edwin/configure.ac A src/edwin/sources.scm M src/edwin/sources.sh M src/gdbm/configure.ac M src/imail/configure.ac M src/mcrypt/configure.ac M src/pgsql/configure.ac M src/x11-screen/configure.ac M src/x11/configure.ac commit 4e327bae53f3a05ea79443250863302f03d613b4 Author: Chris Hanson Date: Mon Oct 29 18:43:02 2018 -0700 Bump revision to 10.1.1 to fix stupid bug. M doc/configure.ac M doc/mit-scheme.1 M doc/ref-manual/scheme.texinfo M doc/user-manual/user.texinfo M src/blowfish/mit-scheme-blowfish.texi M src/configure.ac M src/gdbm/mit-scheme-gdbm.texi M src/runtime/version.scm commit 80fc1e2c4a8954d0d6a93da2544399a95b5d53d1 Author: Chris Hanson Date: Sun Oct 28 16:08:29 2018 -0700 Reduce default heap size for 32-bit systems. During build was getting sporadic "unable to mmap heap" errors. M src/microcode/option.c commit d7809b15372a4700b9b1d44c8143fa7c0dd5b3a0 Author: Chris Hanson Date: Sun Oct 28 15:10:02 2018 -0700 Fix typo in previous change. M src/runtime/arith.scm commit 27ef2fabaf72e6febe1bc9113c9a4aa7a4b719b6 Author: Taylor R Campbell Date: Sun Oct 28 19:56:35 2018 +0000 Eliminate flo:epsilon. The name is confusing. It means two different things: the distance from 1 to the next positive floating-point number, and the maximum relative error of rounding to the nearest floating-point number. Provide the separate names flo:ulp-of-one and flo:error-bound for these so that you're not even tempted to be confused by the name `epsilon'. (But continue to say `eps' in the proofs in the comments where it's obvious that we're talking about relative error bounds and a short name for that is essential for legibility.) M src/runtime/arith.scm M src/runtime/runtime.pkg commit fa257b411b3469fdc38c4af3e3eee2b15540b2f6 Author: Taylor R Campbell Date: Sun Oct 28 04:13:26 2018 +0000 Tidy up error analysis of logit and logistic. Add (logit1/2+ p) = (logit (+ 1/2 p)) and (logistic-1/2 x) = (- (logistic x) 1/2), for reasons like log1p and expm1. Add some trivial tests of the edge cases they cover where logit and logistic are ill-conditioned. M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit 6b0e6af0d6770eec0ab61da41cc44da5414322ec Merge: f02ebc432 4620b35cd Author: Chris Hanson Date: Sat Oct 27 20:43:38 2018 -0700 Merge branch 'release-10' commit f02ebc432d9eeb8f668ab7a38ae429a891b89997 Author: Chris Hanson Date: Thu Oct 25 19:02:51 2018 -0700 No need to separately configure plugins. M dist/make-src-files commit 4cbe8331b034bac1c36216d9f80c52db94d3cce8 Author: Chris Hanson Date: Thu Oct 25 19:02:36 2018 -0700 Change "module" to "plugin". M src/Setup.sh commit 4620b35cd4bdd140551bd3c302b9c54c03d341af Author: Chris Hanson Date: Sat Oct 27 20:41:15 2018 -0700 Eliminate compiler warning. M src/ffi/build.scm commit 2952ef53eb154cdac3ed27daf664abfc106899f0 Author: Chris Hanson Date: Sat Oct 27 16:49:09 2018 -0700 Use create-dmg script to automate building of macOS image. M dist/make-macosx-app M dist/shared.sh commit c11409f9c6082c6cc14da07342c3fbdebd18e7b4 Author: Chris Hanson Date: Sat Oct 27 15:40:58 2018 -0700 Fix a couple of compiler warnings from 32-bit system. M src/microcode/confshared.h M src/microcode/lookup.c commit ce8bea533ecf690122fe5d7ad6bcda851fcfb565 Merge: 3bcae6c75 4e5125a44 Author: Chris Hanson Date: Fri Oct 26 22:20:16 2018 -0700 Merge branch 'release-10' of git.sv.gnu.org:/srv/git/mit-scheme into release-10 commit 3bcae6c7531a4d6ce27a0d6341e79edb44768a54 Author: Chris Hanson Date: Fri Oct 26 22:19:58 2018 -0700 Fix thinko. M src/xml/xml-struct.scm commit 6e5638eb754d71ea45c44c5903985ae42f1a1fdd Author: Chris Hanson Date: Fri Oct 26 22:19:42 2018 -0700 Eliminate unavailable (and unused) load option. M src/ssp/load.scm commit c6ab8c6f4ab07957b4ebb8a0202fe56fd0589c8a Author: Taylor R Campbell Date: Sat Oct 27 02:45:23 2018 +0000 Forgot to define this. Ummm, I guess cref accidentally made it work? M src/runtime/arith.scm commit 959de4dd211f728ecab352deab51e344c3c3f311 Author: Taylor R Campbell Date: Sat Oct 27 02:37:06 2018 +0000 Expose flo:radix = 2 too, just for good measure, and for assertions. M src/runtime/runtime.pkg commit b1e6736c1f33a6735b3e4de93a9b98734f52d59b Author: Taylor R Campbell Date: Sat Oct 27 02:21:06 2018 +0000 Export primitive flonum-denormalize as flo:ldexp and flo:scalbn. These are the familiar -- and when FLT_RADIX = 2, equivalent -- names for the operation in libm. `Denormalize' is not right: neither does it turn a normal number into a subnormal, nor does it put anything into a canonical interval like [1/2, 1) or [1, 2). I personally favour `shift' -- it is, in Z, the same as the bitwise shift operation. But unless anyone else wants to join me against this windmill I'll just stay with the familiar if ugly libm names. M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg commit 9703b3c001b8d008bd80e4b3b5678ed8f8ebe9ce Author: Taylor R Campbell Date: Sat Oct 27 02:11:27 2018 +0000 Disable errno checking in libm functions. If there's a floating-point exception, we have a mechanism for dealing with it -- and continuing without a trap if the user so desires. Leave in the restriction on flo:log1p and flo:expm1 because those are implementation limitations in the i386 compiler; the full functions are implemented in the runtime. M src/microcode/flonum.c commit 528f857892781a7352980f81e303d95348417b62 Author: Taylor R Campbell Date: Sat Oct 27 02:11:14 2018 +0000 log1pexp(x) is never exactly x even if that's the best approximation. M src/runtime/arith.scm commit 5342f7d27388e2fc5ee08a7ec139d9855b53552d Author: Taylor R Campbell Date: Sat Oct 27 02:05:18 2018 +0000 Tabify. M src/runtime/arith.scm commit 91cd80f1fffb7e10e4c1a94d89f4b4c67943b336 Author: Taylor R Campbell Date: Sat Oct 27 02:04:17 2018 +0000 Use named constants rather than magic numbers. M src/runtime/arith.scm commit 3dc80642c54b5c8f3893ede0e3fa430d2f97bae3 Author: Taylor R Campbell Date: Sat Oct 27 01:39:58 2018 +0000 Define and export some more floating-point parameters. M src/runtime/arith.scm M src/runtime/runtime.pkg commit 4e5125a443a57019b39f64e27e9236fd8b1c0814 Author: Chris Hanson Date: Fri Oct 26 17:52:46 2018 -0700 Fix typo. M src/configure.ac commit 1326bcb9ac9b6fca0a4802034cbb90624923b160 Author: Chris Hanson Date: Fri Oct 26 17:38:36 2018 -0700 Update make-doc-files to work with plugins. M dist/make-doc-files M dist/shared.sh commit 3b8b06a10a0b03cc5c918633bc96746ef0f555b3 Author: Taylor R Campbell Date: Sat Oct 27 00:37:54 2018 +0000 test-driver is autocrud too. M src/blowfish/.gitignore M src/gdbm/.gitignore M src/mcrypt/.gitignore M src/pgsql/.gitignore M src/x11-screen/.gitignore M src/x11/.gitignore commit f16103802fca95bc9316e7dcf66044424374e2ff Author: Chris Hanson Date: Fri Oct 26 17:38:05 2018 -0700 Change way that plugins are registered so that lib and doc are separate. This is needed when building just the documentation, as for the release. M src/blowfish/Makefile.am M src/ffi/build.scm M src/gdbm/Makefile.am M src/imail/Makefile.am commit ecf3e6cb79574d90c0c4a89fd398e513bed9e943 Author: Taylor R Campbell Date: Sat Oct 27 00:23:12 2018 +0000 Simple-minded criterion to compute x^-y by 1/x^y was too simple. For any |x| > 1, we can't do this without comparing the size of log(x) and y well enough to discern what might yield subnormal, so might as well just compute the general case then. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit f8eb94affe1c4a1cb83315b4e134701a5ffa077e Author: Taylor R Campbell Date: Sat Oct 27 00:03:42 2018 +0000 Omit unnecessary case for logistic. Add a test for this case. The relative error is small in naive evaluation of 1/(1 + e^{-x}) even if x is very negative. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 3271adb7849d2bbe8fb4b113b4358ccd8ef9bd55 Author: Chris Hanson Date: Fri Oct 26 16:47:16 2018 -0700 Fix potential shell portability issues. M doc/configure.ac commit 5e74bce403bc8fe8f8afa24f5ba90ff147de699a Author: Taylor R Campbell Date: Fri Oct 26 23:41:39 2018 +0000 Extend expt to generate subnormals with exact integer exponents. M src/runtime/arith.scm M tests/runtime/test-arith.scm commit 73be98c4ab64941418a7773929ffa0ca6b9b34b2 Author: Taylor R Campbell Date: Fri Oct 26 23:32:37 2018 +0000 Expose the minimum and maximum finite normal floating-point exponents. M src/microcode/utabmd.c M src/runtime/microcode-tables.scm M src/runtime/runtime.pkg commit c5cd32d541e7f9d05861eeebce5a1330737dbe13 Author: Taylor R Campbell Date: Fri Oct 26 16:53:13 2018 +0000 Add some .gitignore files so I can use git status. A src/.gitignore A src/blowfish/.gitignore A src/compiler/.gitignore A src/edwin/.gitignore A src/gdbm/.gitignore A src/imail/.gitignore A src/mcrypt/.gitignore A src/microcode/.gitignore A src/pgsql/.gitignore A src/x11-screen/.gitignore A src/x11/.gitignore A tests/ffi/.gitignore commit cf30bbd6c86578ec9b219baa5752a70f4a786be0 Author: Taylor R Campbell Date: Fri Oct 26 16:20:09 2018 +0000 New primitives for ChaCha stream cipher core. Should maybe provide a version that produces many blocks of output, and perhaps xor's them into an existing message, but this will do for my needs now. Plan to use this for a PRNG. A src/microcode/chacha.h A src/microcode/chacha.i A src/microcode/chacha12.c A src/microcode/chacha20.c A src/microcode/chacha8.c M src/microcode/makegen/files-core.scm A src/microcode/prchacha.c M tests/check.scm A tests/microcode/test-chacha.scm commit ea6d68294c662ad41f512c47848c413a6d29561d Author: Taylor R Campbell Date: Fri Oct 26 16:17:41 2018 +0000 Fix unparser->print method fallout. M src/compiler/base/object.scm commit 9d0f0efb642975c549d718d37e878efd73cdc90c Author: Taylor R Campbell Date: Fri Oct 26 16:17:10 2018 +0000 Avoid using uninitialized stack garbage. M src/microcode/lookup.c commit b07626c9c53f7ea6a33205987e944606df7b9c8c Author: Taylor R Campbell Date: Fri Oct 26 16:15:28 2018 +0000 clock() returns (clock_t)-1 on error, not necessarily negative. If clock_t is unsigned, n < 0 is always false. Compare for equality with (clock_t)-1. M src/microcode/prosenv.c commit bcb1744960d228f1f9e01b9da46fb5672f2c4b5a Author: Chris Hanson Date: Thu Oct 25 20:15:52 2018 -0700 Add plugin docs to doc files. M dist/make-doc-files commit b6a7256a0fff1c880ea8ce5ab9639d2a8f732a52 Author: Chris Hanson Date: Thu Oct 25 20:15:40 2018 -0700 More version numbers. M src/blowfish/mit-scheme-blowfish.texi M src/gdbm/mit-scheme-gdbm.texi commit 4f43a7ffcc71a4ec762388ce458ad0b340ad7766 Author: Chris Hanson Date: Thu Oct 25 20:15:26 2018 -0700 Remove no-longer-needed args to configure. M dist/make-native-files commit 7468fbcfbe6345d1722e3881335f0374338653ef Author: Chris Hanson Date: Thu Oct 25 19:20:04 2018 -0700 More version numbers. M doc/configure.ac M doc/mit-scheme.1 commit 92cb824a9b0da46b95462889bfbecb956bcf6609 Author: Chris Hanson Date: Thu Oct 25 19:06:25 2018 -0700 Update some version numbers. M doc/ref-manual/scheme.texinfo M doc/user-manual/user.texinfo M src/configure.ac M src/runtime/version.scm commit bc59bc60d2e3f054631aa98eef181b3ff1c2874a Author: Chris Hanson Date: Thu Oct 25 19:02:51 2018 -0700 No need to separately configure plugins. M dist/make-src-files commit 805083aaf133b50fcc936de444c9046bb12e48bb Author: Chris Hanson Date: Thu Oct 25 19:02:36 2018 -0700 Change "module" to "plugin". M src/Setup.sh commit 57217bc10ec35d5c785353b754afb05b57308600 Author: Chris Hanson Date: Thu Oct 25 14:21:08 2018 -0700 Bug reported by Arthur: case-fold-string was dropping tail of string. M src/runtime/rexp.scm commit d5c6c943f3629152aaf341216d45a44167acfcba Author: Chris Hanson Date: Thu Oct 25 13:59:31 2018 -0700 Add --no-init-file to those places that might be calls to 9.2. This isn't needed any more since --no-init-file is implied by --batch-mode, and can be removed after the next release. M src/Makefile.in M src/Setup.sh M src/configure.ac M src/etc/create-makefiles.sh M src/etc/make-native.sh M src/microcode/makegen/makeinit.sh commit 1918c3bfe6a39559231d94486240ebff7e1114d1 Author: Taylor R Campbell Date: Thu Oct 25 05:33:57 2018 +0000 Apply the same bound to the other region. M src/runtime/arith.scm commit 2e98f20f338ffce154a57abca545183680088446 Author: Taylor R Campbell Date: Thu Oct 25 05:25:37 2018 +0000 ...yes, I know how to count. M src/runtime/arith.scm commit c1892b20f7690c6736b4e6a821ee4f491424b6d3 Author: Taylor R Campbell Date: Thu Oct 25 05:22:00 2018 +0000 Catch more stray `.' loitering around. M src/runtime/arith.scm commit 09d810ca0d68746ad1bbd525a8f4e93ed747794f Author: Taylor R Campbell Date: Thu Oct 25 05:21:46 2018 +0000 Clarify justification for ditching the denominator. M src/runtime/arith.scm commit b3e1956b8a921c9d0bdc4cd6c2cd4a4d7dfb6eeb Author: Taylor R Campbell Date: Thu Oct 25 05:20:53 2018 +0000 log(a/b), not log(a)/log(b). M src/runtime/arith.scm commit a52311f99613ab2bfb0152fba081a92cefddf3b5 Author: Taylor R Campbell Date: Thu Oct 25 05:16:50 2018 +0000 Omit stray sentence terminator. M src/runtime/arith.scm commit fa834172fd50fbd272cbc1c715ba6e48203a0f35 Author: Taylor R Campbell Date: Thu Oct 25 05:09:48 2018 +0000 The bounds of Lemma 4 are <=, not <, as is this branch's condition. M src/runtime/arith.scm commit 6c6db4beaee4e7f733607e01463430081083b8c2 Author: Taylor R Campbell Date: Thu Oct 25 05:05:59 2018 +0000 Inadvertently substituted d0 for d2. Fix. No change in conclusion -- there was no convenient cancellation or anything as a consequence of this. M src/runtime/arith.scm commit 5ba71987eb302c7ae1052ee6005d1ef67191a3ce Author: Taylor R Campbell Date: Thu Oct 25 05:02:39 2018 +0000 I accidentally a predicate. M src/runtime/arith.scm commit dc2aa86d88cd967db97453096f4434b987d5267b Author: Taylor R Campbell Date: Thu Oct 25 04:57:30 2018 +0000 Fix stray line, clarify, and simplify. M src/runtime/arith.scm commit 2fb2a47fdfc74108437e444c4d61e8ca604536c7 Author: Chris Hanson Date: Wed Oct 24 21:26:11 2018 -0700 Allow overlap of imports provided that the imported values are eqv?. M src/runtime/library-imports.scm M src/runtime/library-loader.scm commit f11e9b8087f5c8552b8f2fef2de898e0f0e0ab0c Author: Chris Hanson Date: Wed Oct 24 19:14:01 2018 -0700 Implement scheme-report-environment and null-environment. M src/runtime/library-loader.scm M src/runtime/library-standard.scm M src/runtime/runtime.pkg commit ee9f2f9dd5964fa89709409cb336c9a1705e5436 Author: Chris Hanson Date: Wed Oct 24 18:53:11 2018 -0700 Add SRFI libraries. M src/runtime/library-standard.scm commit 3705a211e12d9210455eda8814fc82dc65352fee Merge: cfedfc2de 95aa59a2a Author: Taylor R Campbell Date: Thu Oct 25 02:46:45 2018 +0000 Merge branch 'riastradh-logisticerrbounds' commit cfedfc2de1469c0c484c77e23adb088523954074 Author: Taylor R Campbell Date: Thu Oct 25 02:45:40 2018 +0000 Compiling stuff depends on the cdecls' *-const.bin files. M src/x11/Makefile.am commit 95aa59a2ade6ba911b789fb813c163c938793c87 Author: Taylor R Campbell Date: Thu Oct 25 01:47:22 2018 +0000 Test some more edge cases. M tests/runtime/test-arith.scm commit 4a6d8011bc32df244da495b3966a365921976af4 Author: Taylor R Campbell Date: Thu Oct 25 01:44:12 2018 +0000 Test some edge cases for logit(near 1/2). M tests/runtime/test-arith.scm commit 98c5fc10ffc17ebdf078401058fb9e22270e32bd Author: Taylor R Campbell Date: Thu Oct 25 01:43:40 2018 +0000 Use (assert-<= (relerr ...) bound) for better error messages. M tests/runtime/test-arith.scm commit ed47f4d3b8dfe630104897543bb87faf0722a0e7 Author: Taylor R Campbell Date: Thu Oct 25 01:42:22 2018 +0000 Fix sense of test. Do this part only if 1 - p is guaranteed exact. M tests/runtime/test-arith.scm commit c8896f40374003ee2f5b0ee238ddd7bacb9da845 Author: Taylor R Campbell Date: Thu Oct 25 01:41:53 2018 +0000 Use and prove bounds for a better formula for logit-exp. M src/runtime/arith.scm commit 72edcab7ca25c1548e9f0d2f9043fcc6e0d40e40 Author: Taylor R Campbell Date: Thu Oct 25 01:40:10 2018 +0000 Clarify some of the proofs and logic. Style: Avoid log1p for anything but the floating-point approximation just to be extra-clear; write log(1 + ...) in the math otherwise. Reverse order of branches to make the condition (<= lo x hi) clearer. M src/runtime/arith.scm commit 2e3c52bbb0d061fd595d0f5528e2a4ff8e34f17c Author: Chris Hanson Date: Wed Oct 24 17:09:59 2018 -0700 Don't show compilation dependencies by default. M src/compiler/base/toplev.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/x86-64/compiler.pkg commit 2b9da75439e37ef7375c7d2b8ccccfefc081f12f Author: Taylor R Campbell Date: Thu Oct 25 00:05:37 2018 +0000 Use better formulas for logistic(negative) and logit(near 1/2). Prove some error bounds in comments. M src/runtime/arith.scm commit 866bd126f0dde37536301b3fc057a2ec3384f3bf Author: Chris Hanson Date: Wed Oct 24 14:03:55 2018 -0700 Fix up code to clean test subdirs. M tests/Clean.sh commit 30a98a91430da8f832324390ffc0fb70aea3f099 Author: Chris Hanson Date: Wed Oct 24 13:57:24 2018 -0700 Get FFI tests working when run from a build directory. M src/Makefile.in M src/run-build M tests/ffi/Makefile.am M tests/ffi/configure.ac M tests/ffi/test-ffi.sh commit b68c95cb557fafe2f5fad2d7e6440cf773748e05 Author: Chris Hanson Date: Tue Oct 23 21:40:42 2018 -0700 Fix capitalization of error messages. M src/runtime/error.scm commit 2fc61607ab7914f231880bf2aa166ca9728ab14e Author: Chris Hanson Date: Tue Oct 23 21:28:42 2018 -0700 Implement let-values and let*-values. M src/runtime/library-standard.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 0ad3e3626c8457563627f93b5daa01d950e68176 Author: Chris Hanson Date: Tue Oct 23 21:26:45 2018 -0700 Change scode libraries to carry both imports and imports-used. M src/runtime/library-scode.scm M src/runtime/runtime.pkg M src/sf/sf.pkg M src/sf/toplev.scm commit 2ab4c70a3323e8b98f3c844e74532d70bca4f48b Author: Chris Hanson Date: Tue Oct 23 20:18:48 2018 -0700 Change ->environment to work with library names too. M src/runtime/environment.scm M src/runtime/library-database.scm M src/runtime/packag.scm M src/runtime/rep.scm M src/runtime/runtime.pkg commit 48e1c3d3c0a5829e5dcb7b59ad8df12a718e18d7 Author: Chris Hanson Date: Tue Oct 23 17:57:32 2018 -0700 Rename current-load-library-db to current-library-db. M src/runtime/library-standard.scm M src/runtime/load.scm M src/runtime/runtime.pkg M src/sf/sf.pkg M src/sf/toplev.scm commit bbc8be621eb951f503967428112915348c8f649e Author: Chris Hanson Date: Tue Oct 23 17:47:20 2018 -0700 Add code to enable x11/x11-screen only if X is available. M src/configure.ac commit 045baa9c929f4f273325c73886fcedcf10f34c6c Merge: b2c532454 3fab110bc Author: Chris Hanson Date: Tue Oct 23 14:12:52 2018 -0700 Merge branch 'master' into makefile-refactor commit b2c53245471c82aa3d6f8d8d5365de9c44c8ccc7 Author: Chris Hanson Date: Tue Oct 23 14:09:47 2018 -0700 Change plugin support to work in uninstalled build directory. M src/runtime/ffi.scm commit c3beec9f73639da0da45c31b6a8e011111037749 Author: Chris Hanson Date: Tue Oct 23 14:08:56 2018 -0700 Change cref/generate-trivial-constructor to default os-types compatibly. M src/cref/toplev.scm M src/edwin/edwin.sf commit 7c35bdfa5241b6323c4d96305734c2ed96a2badf Author: Chris Hanson Date: Tue Oct 23 14:08:35 2018 -0700 Support running edwin plugins in build directory. M src/imail/Makefile.am M src/x11-screen/Makefile.am M src/x11/Makefile.am commit 500698e4cda9fb4c6cce3e2dd40022739f825bbc Author: Chris Hanson Date: Tue Oct 23 14:07:26 2018 -0700 Refactor plugins to simplify compilation. M src/Makefile.in M src/Setup.sh M src/blowfish/compile.scm M src/configure.ac M src/edwin/Makefile.am M src/etc/optiondb.scm M src/gdbm/compile.scm M src/imail/compile.scm M src/mcrypt/compile.scm M src/pgsql/compile.scm M src/x11-screen/compile.scm C076 src/x11-screen/compile.scm src/x11/compile.scm M src/x11/compile.sh commit 3fab110bc5d8e5d050889c1eb301440d27b186b6 Author: Matt Birkholz Date: Tue Oct 23 11:39:51 2018 -0700 find_binding_cell: no bindings in a null environment No need to fail an assert during test-library-loader neither. M src/microcode/lookup.c commit 4728ef19eea2c37e86238763d28698deac1b064c Author: Matt Birkholz Date: Mon Oct 22 23:49:21 2018 -0700 Fix http-get; use binary IO and new open-binary-tcp-stream-socket. M src/runtime/http-client.scm M src/runtime/http-io.scm M src/runtime/http-syntax.scm M src/runtime/rfc2822-headers.scm M src/runtime/runtime.pkg M src/runtime/socket.scm commit d1c3e99c9f7489c9ba6c7acc7e5bb2e084765cee Author: Chris Hanson Date: Mon Oct 22 19:44:40 2018 -0700 Eliminate use of 'all arg to cref/generate-constructors. M src/6001/6001.sf M src/compiler/machines/C/compiler.sf M src/compiler/machines/i386/compiler.sf M src/compiler/machines/svm/compiler.sf M src/compiler/machines/x86-64/compiler.sf M src/cref/cref.sf M src/ffi/compile.scm M src/runtime/infutl.scm M src/runtime/runtime.sf M src/sf/sf.sf M src/sos/compile.scm M src/ssp/compile.scm M src/star-parser/compile.scm M src/win32/win32.sf M src/xdoc/compile.scm M src/xml/compile.scm commit 3588dc58b9354d10b9c986b03540b35d1e4a18f5 Author: Chris Hanson Date: Mon Oct 22 19:43:51 2018 -0700 Eliminate obsolete option. M src/runtime/optiondb.scm commit f3fccac76a4e59711224ffb25b9f1d674b1649b5 Author: Taylor R Campbell Date: Mon Oct 22 16:35:50 2018 +0000 Tighten range where it's worthwhile to evaluate this. M src/runtime/arith.scm commit 701df207a7bda0b8f9c61647e1799272e4d680ed Author: Chris Hanson Date: Mon Oct 22 01:06:31 2018 -0700 More changes so that installation works sort-of right. M src/Makefile.in M src/blowfish/configure.ac M src/configure.ac M src/edwin/configure.ac M src/gdbm/configure.ac M src/imail/configure.ac M src/mcrypt/configure.ac M src/pgsql/configure.ac M src/x11-screen/Makefile.am M src/x11-screen/configure.ac M src/x11/configure.ac commit 76e6fa27db81ecbc5ce103bc1360167b1f4695ff Author: Chris Hanson Date: Mon Oct 22 00:04:11 2018 -0700 Get plugins working using the top-level makefile. Probably still some bugs; note workarounds for interaction between edwin and blowfish/gdbm. I'd like to fix those by making new plugins for the parts of edwin that use those; that way they're installed only if both edwin and the matching plugin is installed. M src/Makefile.in M src/blowfish/blowfish.pkg M src/blowfish/compile.scm M src/configure.ac M src/edwin/edwin.pkg M src/edwin/edwin.sf M src/edwin/make.scm M src/gdbm/compile.scm M src/gdbm/gdbm.pkg M src/imail/compile.scm M src/imail/compile.sh M src/imail/imail.pkg M src/mcrypt/compile.scm M src/mcrypt/mcrypt.pkg M src/pgsql/compile.scm M src/pgsql/pgsql.pkg C078 src/imail/compile.scm src/x11-screen/compile.scm M src/x11-screen/compile.sh M src/x11-screen/x11-screen.pkg M src/x11/compile.sh M src/x11/x11.pkg commit f6d2b5f018c461a61f4a664a4ac333a5ad7a06a4 Merge: f2028d18a 717815db9 Author: Chris Hanson Date: Sun Oct 21 17:21:49 2018 -0700 Merge branch 'makefile-refactor' of git.sv.gnu.org:/srv/git/mit-scheme into makefile-refactor commit f2028d18adb7629f34b32278fc0bb50b22814d06 Author: Chris Hanson Date: Sun Oct 21 17:20:07 2018 -0700 Initial draft of changes for optional modules. M src/Makefile.in M src/Setup.sh M src/configure.ac commit c0ef3fe6b2a1fc2e1428b614d692b6a77a9100c8 Author: Taylor R Campbell Date: Sun Oct 21 17:14:34 2018 +0000 Fix automake library goo. - Respect LDFLAGS in configure. - Let automake figure out the .lo files. - Specify -lX11 only if no pkg-config. M src/x11/Makefile.am M src/x11/configure.ac commit 24b9752dd0fd3cd252532dcbf403fef692b932ab Author: Taylor R Campbell Date: Sun Oct 21 16:30:48 2018 +0000 Omit spurious redefinition of SCM in x11.h. M src/x11/x11.h commit 575cd55c67b5453939d5753a7deb4017daabd60f Author: Taylor R Campbell Date: Sun Oct 21 07:21:32 2018 +0000 Simplify 5*eps and assume the number of digits we wrote down. M tests/runtime/test-arith.scm commit 8decee26f13f3ef09abef2662d2c92b87aeef04c Author: Taylor R Campbell Date: Sun Oct 21 07:15:32 2018 +0000 Add logistic/logit-family functions. Inverse pairs: (logistic x) = 1/(1 + e^{-x}) (logit p) = log p/(1 - p) (log-logistic x) = log 1/(1 + e^{-x}) (logit-exp t) = log e^t/(1 - e^t) M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit eb9cd33fe73c202a449d1154c816465a98cecea3 Author: Taylor R Campbell Date: Sun Oct 21 05:43:17 2018 +0000 Define log1p and expm1 with no range limitations. M src/runtime/arith.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm commit 717815db9c60ef68ac4551ca2864a8c356114abd Author: Chris Hanson Date: Sat Oct 20 19:13:44 2018 -0700 Fix sloppy change: unintentionally downcased a file name. M src/compiler/machines/C/compiler.sf commit df3a8bffbc0d789d464125319527f45bedc3c54e Author: Chris Hanson Date: Sat Oct 20 16:38:25 2018 -0700 Fix C compiler warning of assigning register to itself. M src/compiler/machines/C/lapgen.scm commit d2b8f3fa9a93e89f25340a3a7a4bc0a38a5a37aa Author: Chris Hanson Date: Sat Oct 20 15:07:16 2018 -0700 Add missing dependency. M src/Makefile.in commit 2ea5eed0687749ef27b9f12c33453381a3d92d4d Author: Chris Hanson Date: Sat Oct 20 00:52:23 2018 -0700 Fix typo in previous change. M src/compiler/machines/C/cutl.scm commit b7a76fb1bde30427de74dce6597abf3d9261982b Author: Chris Hanson Date: Fri Oct 19 20:23:59 2018 -0700 Don't use *-w32.* files for LIARC. M src/etc/utilities.scm M src/microcode/makegen/makegen.scm commit 39c035fc710a45134199926272dfc8805fb9e02a Author: Chris Hanson Date: Fri Oct 19 20:23:42 2018 -0700 Attempt to make LIARC lap files more readable. M src/compiler/base/toplev.scm M src/compiler/machines/C/cutl.scm commit f85208f15856923c4b805e745963b9385888e768 Author: Chris Hanson Date: Fri Oct 19 20:23:02 2018 -0700 Fix problem: MODULE_CFLAGS no longer exists. M src/microcode/liarc-cc.in commit 24bcebfb74c578bf65cf1a3c87c5c348c1cb0230 Author: Chris Hanson Date: Fri Oct 19 20:22:26 2018 -0700 For --with-scheme-build, no need to make pathname absolute. M src/configure.ac commit 61944d61b5b89d9280997628c37a0fa996f33cb9 Author: Chris Hanson Date: Fri Oct 19 20:21:29 2018 -0700 Implement MIT_SCHEME_COMPILER_TARGET for TL and microcode configuration. M src/configure.ac M src/microcode/aclocal.m4 M src/microcode/configure.ac commit 097f86c59f4d22ba9b92ea08ad9cfdb9687ca1b2 Author: Chris Hanson Date: Fri Oct 19 20:19:07 2018 -0700 Fix bug in LIARC that tried to compile unused code. M src/compiler/machines/C/decls.scm commit 0e9b1cfb05d32ba52d0a19c636b2bcc9932c6f82 Author: Chris Hanson Date: Fri Oct 19 20:18:08 2018 -0700 Fix bug in LIARC code generator. M src/compiler/machines/C/rules1.scm commit 0ea8d997be2a526616200d2ce3e5601564f5e8bf Author: Chris Hanson Date: Fri Oct 19 20:16:29 2018 -0700 Adapt LIARC to use new strings. M src/compiler/machines/C/cout.scm M src/compiler/machines/C/ctop.scm M src/compiler/machines/C/stackify.scm M src/compiler/machines/C/stackops.scm commit 0d321ee989a0789681e0f100cf4c5b7b52fa8216 Author: Chris Hanson Date: Thu Oct 18 16:05:17 2018 -0700 Add --with-scheme-build to simplify building from another build. M src/configure.ac commit 75143d4bd2d5322d2480b1315c5c4b42091ffb95 Author: Chris Hanson Date: Thu Oct 18 01:25:27 2018 -0700 Another major refactoring, to split up cross host/target. Primary testing so far is for SVM. To build SVM from 9.2 x86-64, do the following: 1. Generate a new build with an SVM compiler: ./configure --with-compiler-target=svm make 2. Create a second build configured with: ./configure --enable-native-code=svm --enable-cross-compiling make make cross-target M src/Makefile.in M src/configure.ac commit 3c1ec33b4f9176914dd6d7f7d8e7cbc6377af0f0 Author: Chris Hanson Date: Thu Oct 18 01:24:21 2018 -0700 Update MacOSX -> macOS. M src/microcode/configure.ac commit 12aa30f28f290d59b5c3cc814698e8012ceaad55 Author: Chris Hanson Date: Wed Oct 17 14:47:46 2018 -0700 Add "run-build" shell script to simplify working with uninstalled builds. A src/run-build commit 194e3f7e2265e5c065886f671a093d4ea43c190d Author: Chris Hanson Date: Wed Oct 17 14:47:24 2018 -0700 Bump version number coming into release. M src/runtime/version.scm commit 7d2397c9308249838f1ecbb77a7ba6465388a313 Author: Chris Hanson Date: Tue Oct 16 19:28:14 2018 -0700 Split handling of compiler target from host architecture. M src/configure.ac M src/microcode/aclocal.m4 commit bbd3e569d04727498a047a0421dbfca342b587d9 Merge: d73a9b9fb 25bd7e35e Author: Chris Hanson Date: Tue Oct 16 00:22:23 2018 -0400 Merge branch 'master' into makefile-refactor commit 25bd7e35e8f9c8908790b789cd4f7d612adbe433 Author: Chris Hanson Date: Mon Oct 15 21:14:55 2018 -0700 Load macros needed by machines/svm/machine. M src/compiler/machines/svm/compile-assembler.scm commit 02bf166297695b9f7ec1a0a3704bca8e96f6d53f Author: Chris Hanson Date: Mon Oct 15 21:14:06 2018 -0700 Forgot to make changes to other compiler.pkg files. One of these days this stuff will be shared. M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/compiler.pkg commit f02efe59958f4fa8065f2c7f58c4d498e7047962 Author: Chris Hanson Date: Mon Oct 15 21:07:20 2018 -0700 Eliminate warning about old-style function declaration. M src/microcode/svm1-interp.c commit d73a9b9fb0c0c2a0286bebe8245a2f99e147a442 Author: Chris Hanson Date: Sun Oct 14 23:18:15 2018 -0700 Load macros needed by machines/svm/machine. M src/compiler/machines/svm/compile-assembler.scm commit 9b64a92b205192e9ffae86e9c91328a5e1015b10 Author: Chris Hanson Date: Sun Oct 14 21:54:12 2018 -0700 Add back guarantee since it's needed for compiling svm. M src/runtime/host-adapter.scm commit 3edf9d94841d2b4e0ae224d5592c56cb92517a16 Author: Chris Hanson Date: Sun Oct 14 21:53:52 2018 -0700 Guarantee that SF is loaded by compiler.sf. M src/Makefile.in M src/compiler/machines/C/compiler.sf M src/compiler/machines/i386/compiler.sf M src/compiler/machines/svm/compiler.sf M src/compiler/machines/x86-64/compiler.sf commit ea7de1e4a4c7e10d1f96f2d24afc70bbe1cec6df Author: Chris Hanson Date: Sun Oct 14 20:50:20 2018 -0700 Eliminate a bunch of now-unnecessary stuff from host-adapter. M src/cref/cref.sf M src/runtime/host-adapter.scm commit 73a3bca87547b9bc51cab4af0ea80bbb3dbf4c25 Author: Chris Hanson Date: Sun Oct 14 19:48:43 2018 -0700 Refactor top-level Makefile to use a single pass. M src/Makefile.in D src/Makefile.tools.in M src/configure.ac M src/runtime/host-adapter.scm M src/runtime/runtime.sf commit 15cddda2ab341f1bb69f4af9afe344ea50fedd5d Author: Chris Hanson Date: Sun Oct 14 18:46:32 2018 -0700 Fix bug where the result of char-upcase is multibyte. This was previously hidden because the compiler isn't doing range checking on the third argument to bytevector-u8-set!. M src/runtime/rgxcmp.scm commit 2a837668fa48442b2a5d500895c65a77217a5517 Author: Chris Hanson Date: Sat Oct 13 21:38:16 2018 -0700 Remove redundant clause from test for unquoted symbols. M src/runtime/printer.scm commit 48633b12e927683d4b06adced96c30cc17847f9f Author: Chris Hanson Date: Sat Oct 13 20:03:39 2018 -0700 Don't print "program" for R7RS top-level. M src/runtime/printer.scm commit 99b600327c30a187253cdde9c6b5de4ee74e0e43 Author: Chris Hanson Date: Sat Oct 13 19:54:58 2018 -0700 Extensive work to get compiler to work with R7RS libraries. The bulk of the work is to refactor the debugging info so that it's generated and consumed properly; this required upgrading the version and introducing a new top-level info form. I also eliminated the now-ancient and unused BSM file support, which was making things more difficult than necessary. The compiler top level required only to detect an R7RS input file and to compile each part separately, plus collecting all of the debugging information from the parts. Some tweaks were used to make RTL/LAP files work right with multiple roots. Finally, the runtime system was modified so that compiled-code blocks and entries now show the R7RS library name if there is one, both when printed and in various other places. M src/compiler/base/asstop.scm M src/compiler/base/crsend.scm M src/compiler/base/toplev.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/C/ctop.scm M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/dassm1.scm M src/runtime/conpar.scm M src/runtime/infstr.scm M src/runtime/infutl.scm M src/runtime/library-scode.scm M src/runtime/printer.scm M src/runtime/runtime.pkg commit 1d8a9318f3d1c7a632ef5e0e0f8d998dbaf457f0 Author: Chris Hanson Date: Sat Oct 13 19:44:40 2018 -0700 Fix bug: reference caches weren't working right without global env. The problem arises when there's a compiled file that does something like this: (define foo ...) ... foo What happens is that the linker creates a cache for 'foo' before evaluating code; there's no binding for 'foo' yet but one is needed for the cache. In the case where the evaluation environment extends to the global environment, this is handled by making a placeholder in the global environment. However, if the topmost frame is not the global environment, it was creating a dummy cell that wasn't connected to any environment. Consequently, when the definition was evaluated, it created a new binding, but since there was no old binding in the environment chain, the dummy cache wasn't updated to the new binding's cell. I've fixed this by forcing the creation of an unbound cell in the outermost environment (i.e. the one with the null environment as its parent). This is essentially the same solution that's used when the global environment is present, with the outermost environment playing the role of global. M src/microcode/lookup.c commit 6fa641e09ec0dee405f8fa8151dc87bdcc3bcf98 Author: Chris Hanson Date: Fri Oct 12 15:49:43 2018 -0700 Refactor compiler top level to do info-file dump as late as possible. This is to support compiling R7RS libraries as if they were independent files, and gathering all their debug info together before writing it out. M src/compiler/base/asstop.scm M src/compiler/base/crstop.scm M src/compiler/base/toplev.scm M src/compiler/machines/C/ctop.scm commit 6f360560c3f66be3987bce5bdfa48fa0c6a0a179 Author: Matt Birkholz Date: Fri Oct 12 23:32:26 2018 -0700 Install plugin html/pdf documentation in project docdir. Override docdir. Enhance the update-html-index procedure to look for PROJECT-PLUGIN.html as well as PLUGIN.html. M src/berkeley-db/configure.ac M src/blowfish/Makefile.am M src/blowfish/configure.ac M src/edwin/configure.ac M src/ffi/build.scm M src/gdbm/Makefile.am M src/gdbm/configure.ac M src/imail/Makefile.am M src/imail/configure.ac commit 63e6cf400bf6ddeb46927d4bf06472bae9ac08b0 Author: Matt Birkholz Date: Tue Oct 9 23:56:34 2018 -0700 Make Edwin and Imail separately installable projects. Do not build them with the core. Build them after certain plugins are installed. M dist/shared.sh M doc/Makefile.in M doc/configure.ac M doc/ffi/ffi.texinfo D doc/imail/Makefile.in M doc/index.html M doc/info-dir M doc/mit-scheme.1 M doc/user-manual/user.texinfo M src/Makefile.in M src/Setup.sh M src/berkeley-db/configure.ac M src/configure.ac A src/edwin/AUTHORS A src/edwin/COPYING A src/edwin/ChangeLog D src/edwin/Makefile-fragment A src/edwin/Makefile.am A src/edwin/NEWS M src/edwin/README A src/edwin/TUTORIAL A src/edwin/autogen.sh A src/edwin/compile.sh A src/edwin/configure.ac M src/edwin/editor.scm M src/edwin/edwin.pkg M src/edwin/edwin.sf M src/edwin/filcom.scm M src/edwin/fileio.scm M src/edwin/make.scm M src/edwin/nntp.scm A src/edwin/sources.sh M src/etc/build-bands.sh M src/etc/compile.scm M src/etc/create-makefiles.sh M src/etc/optiondb.scm M src/etc/utilities.scm A src/imail/AUTHORS A src/imail/COPYING A src/imail/ChangeLog D src/imail/Makefile-fragment A src/imail/Makefile.am A src/imail/NEWS C071 src/edwin/README src/imail/README A src/imail/autogen.sh M src/imail/compile.scm A src/imail/compile.sh A src/imail/configure.ac M src/imail/imail.pkg D src/imail/install.sh D src/imail/load.scm A src/imail/make.scm R099 doc/imail/imail.texinfo src/imail/mit-scheme-imail.texi M src/runtime/command-line.scm M src/runtime/global.scm M src/runtime/runtime.pkg M tests/runtime/test-syncproc.scm commit 744f27247350d39adc2640f959afda4722a7abf1 Author: Matt Birkholz Date: Tue Oct 9 21:05:03 2018 -0700 runtime/optiondb: Document new arg for further-load-options. M src/runtime/optiondb.scm commit 9999cb0b2b929890f85a723ef60af68d9965bdcf Author: Chris Hanson Date: Tue Oct 9 19:53:29 2018 -0700 Fix bug in test-rgxcmp: was using iso-8859-1 coding, not utf-8. M tests/runtime/test-rgxcmp.scm commit e7c439bc9a961a188eaf6678a4a109ebf97af3e1 Author: Chris Hanson Date: Tue Oct 9 19:52:46 2018 -0700 Fix thinko in string reader: first octal digit is in range 0-3. M src/runtime/reader.scm commit 1a4777cb3997d65536f54038c4ecf7605b579a06 Author: Chris Hanson Date: Mon Oct 8 16:11:55 2018 -0700 Add stubs for R7RS library support so that SF works. M src/runtime/host-adapter.scm commit 0c10f852c01c9a48aece4e8f3ebfc49f111ee0fc Author: Chris Hanson Date: Sun Oct 7 22:56:24 2018 -0700 Split library scode to a package; raise abstraction level. M src/runtime/library-database.scm M src/runtime/library-imports.scm M src/runtime/library-loader.scm A src/runtime/library-scode.scm M src/runtime/runtime.pkg M src/sf/sf.pkg M src/sf/toplev.scm commit b08698f411add9055ccabb30a0b213420d8007c7 Author: Chris Hanson Date: Sun Oct 7 22:55:24 2018 -0700 Don't wrap a compiled-expression object in scode-quote. It only causes confusion when expecting a bare expression and instead see it as quoted. M src/runtime/unsyn.scm commit f67beb1e22ab7bf6370a7c57121959f763a1f893 Author: Chris Hanson Date: Sun Oct 7 18:07:19 2018 -0700 Get loader to work with R7RS files processed with SF. M src/runtime/library-loader.scm M src/runtime/library-standard.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax-low.scm M src/runtime/syntax.scm commit 7b731920cea8ea779887a198676e034914014245 Author: Chris Hanson Date: Sun Oct 7 18:07:09 2018 -0700 Fix typo. M tests/runtime/test-library-data/dependencies.scm commit 8ed2516418d8f4329158538c7e88c90d1d3b6da8 Author: Chris Hanson Date: Sun Oct 7 15:16:40 2018 -0700 Make better abstraction for scode-library files. M src/runtime/library-database.scm M src/runtime/library-loader.scm M src/runtime/library-standard.scm M src/runtime/runtime.pkg M src/runtime/scode.scm M src/sf/sf.pkg M src/sf/toplev.scm M src/sf/xform.scm commit 84ad638b32ff7c7a9717a5345737a34be22e3d9c Author: Chris Hanson Date: Sun Oct 7 15:15:48 2018 -0700 Change printer to prefix scode types with "scode-". M src/runtime/printer.scm commit 7874f42dc3b304475d695d6ff89238d4bbc0a674 Author: Chris Hanson Date: Sun Oct 7 13:27:04 2018 -0700 Get SF working on R7RS files. Loader needs to be modified to load them. M src/runtime/library-database.scm M src/runtime/library-loader.scm M src/runtime/library-standard.scm M src/runtime/runtime.pkg M src/sf/pardec.scm M src/sf/sf.pkg M src/sf/subst.scm M src/sf/toplev.scm M src/sf/xform.scm commit bf6b7b0bcbb27df59f81ce67f60b2a88303911c3 Author: Chris Hanson Date: Sat Oct 6 21:12:45 2018 -0700 Change automatic-properties to support multiple values. M src/runtime/library-database.scm commit 9f67bcd9f6c364c84fb81d250a2c09c5fc56d072 Author: Chris Hanson Date: Sat Oct 6 17:06:49 2018 -0700 Change the loader so that it can load R7RS source files. Now to make compiled files work. :) M src/runtime/library-database.scm M src/runtime/library-loader.scm M src/runtime/library-standard.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/runtime.pkg commit ee9b96914dfcf86b10af113cb11b9a4b764ecbcc Author: Chris Hanson Date: Sat Oct 6 16:28:42 2018 -0700 Another rewrite, this time to treat programs as anonymous libraries. This change simplifies handling programs since they can now use the machinery developed for libraries. So now r7rs-source is just a combination of some libraries and an optional program. Also added property 'imports-environment to get the environment prior to evaluation. M src/runtime/library-database.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/runtime.pkg M tests/check.scm M tests/runtime/test-library-data/support-code.scm A tests/runtime/test-library-loader.scm M tests/runtime/test-library-parser.scm commit 4576f0b46adeb6a97c1426781cd22c038b83adda Author: Chris Hanson Date: Fri Oct 5 22:31:21 2018 -0700 Major rewrite of library support. New design is organized around adding properties to a library as they are computed, coupled with "automatic" properties that can compute themselves from existing ones. Basic stuff all works, and I'm able to get the R7RS example running. M src/runtime/library-database.scm M src/runtime/library-imports.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-standard.scm M src/runtime/make.scm M src/runtime/runtime.pkg A tests/runtime/test-library-data/r7rs-example.scm M tests/runtime/test-library-data/support-code.scm M tests/runtime/test-library-imports.scm M tests/runtime/test-library-parser.scm M tests/runtime/test-library-standard.scm commit 11dcd292d4bc2139406293cf09eea1a3dfb2167b Author: Chris Hanson Date: Thu Oct 4 20:35:45 2018 -0700 Implement test-library-standard and fix bugs. M src/runtime/library-database.scm M src/runtime/library-standard.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-library-standard.scm commit 2094b8d28e1a0f0aa42e60355f8fb5b86161c58d Author: Chris Hanson Date: Thu Oct 4 20:17:33 2018 -0700 Reverse order of args to make-library-import and make last optional. M src/runtime/library-imports.scm M tests/runtime/test-library-imports.scm commit d2dd05db21fcc8ae23c48610cdbfd59d6492a039 Author: Chris Hanson Date: Wed Oct 3 23:00:04 2018 -0700 Fix over-long line. M tests/runtime/test-library-imports.scm commit 6ab4647ce98404852600c500d0c7977947625480 Author: Chris Hanson Date: Wed Oct 3 22:59:25 2018 -0700 Initial draft of test-library-imports, plus bug fixes. M src/runtime/library-database.scm M src/runtime/library-imports.scm M src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-standard.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-library-data/dependencies.scm C057 tests/runtime/test-library-parser.scm tests/runtime/test-library-data/support-code.scm A tests/runtime/test-library-imports.scm M tests/runtime/test-library-parser.scm commit 72037363015ebe9fb7c6f5409d73262910d311c2 Author: Chris Hanson Date: Wed Oct 3 16:53:20 2018 -0700 Implement test-library-parser and fix bugs in library-parser. M src/runtime/library-parser.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-library-data/foo-bar-1.scm A tests/runtime/test-library-data/foo-bar-2.scm A tests/runtime/test-library-data/foo-foo.scm A tests/runtime/test-library-parser.scm commit 54eecf0b08d1e32e89c9441e4d7e10fb58c3c5f5 Author: Chris Hanson Date: Mon Oct 1 23:15:02 2018 -0700 Simplify implementation slightly. M src/runtime/bundle.scm commit 811678039b7c385d586d14acdaa70cc574b5782e Author: Chris Hanson Date: Mon Oct 1 23:13:38 2018 -0700 Allow more general record predicates. Rather than insisting on a linear inheritance of record types, the record predicate now allows arbitrary sub-type relations. This can of course cause problems if misused, so use with care. M src/runtime/record.scm commit 201249b2b7c24b81c6f20921c8e5937f467272bf Author: Chris Hanson Date: Sun Sep 30 23:25:15 2018 -0700 Change default text I/O format to be UTF-8. M src/runtime/generic-io.scm commit c80e3b44e0906e878c5bf7275e49b3a654776590 Author: Chris Hanson Date: Sun Sep 30 23:24:50 2018 -0700 Change random to use a binary input file for initializing. M src/runtime/random.scm commit 3fe91adfa77ac419c8ead2c66a89a21363ce939a Author: Matt Birkholz Date: Thu Sep 20 00:50:18 2018 -0700 Use (further-load-options #t); recommend it in the plugin READMEs. M src/blowfish/README M src/blowfish/optiondb.scm M src/gdbm/README M src/gdbm/optiondb.scm M src/mcrypt/README M src/mcrypt/optiondb.scm M src/pgsql/README M src/pgsql/optiondb.scm M src/x11-screen/README M src/x11-screen/optiondb.scm M src/x11/README M src/x11/optiondb.scm M tests/ffi/optiondb.scm commit dc1509a71b0dcb373336d33d98b31d381ba3fb15 Author: Matt Birkholz Date: Thu Sep 20 00:37:22 2018 -0700 Add (further-load-options #t): continue with the next optiondb. This is intended for test optiondbs or optiondbs in user directories prepended to the system library-directory-path. M src/runtime/option.scm M src/runtime/runtime.pkg commit 9d557837bf3e8d44071f439ec2833141569a897a Author: Matt Birkholz Date: Thu Sep 20 00:33:18 2018 -0700 User manual: move plugin build hints to plugin READMEs. M doc/user-manual/user.texinfo M src/blowfish/README M src/gdbm/README M src/mcrypt/README M src/pgsql/README M src/x11-screen/README M src/x11/README commit 2f10c078ade9ebe8bc80be0a8c3f243ca9b4b2cd Author: Matt Birkholz Date: Sun Sep 16 15:12:04 2018 -0700 Fix Edwin to recognize the x11-screen option during testing. M src/edwin/xterm.scm M src/x11-screen/x11-screen-check.sh commit 982b67b69d0f862694ec7f6c505b1f5c5ca72c76 Author: Chris Hanson Date: Fri Sep 14 19:06:11 2018 -0400 Tweak README to indicate correct order for tests. M src/x11-screen/README commit 3e36d1cc51b410dbb6477e9853f91a9bb317593e Author: Chris Hanson Date: Fri Sep 14 19:04:57 2018 -0400 Fix indentation. M src/x11-screen/x11-screen.pkg commit 9637f47bd86b9a7a8a6be20d21d25fdc62c8c481 Author: Chris Hanson Date: Fri Sep 14 19:04:24 2018 -0400 Tweaks to get Edwin running on macos. M src/x11-screen/x11-screen.pkg commit 9c514ecfbb7fe32b8d2ab176b4cf07c79c2bc50f Author: Chris Hanson Date: Fri Sep 14 14:38:04 2018 -0400 Couple more tweaks to get macos running. M src/x11/Makefile.am commit 7c56396f311e7787574c8ae62f3a5c31f376b695 Author: Chris Hanson Date: Fri Sep 14 14:13:53 2018 -0400 Changes to get X11 module to compile on macos. M src/x11/Makefile.am M src/x11/configure.ac M src/x11/x11.h M src/x11/x11base.c M src/x11/x11graph.c M src/x11/x11term.c commit fa139471b3706df59bd3292fab4e497a9262e75e Author: Chris Hanson Date: Wed Sep 5 18:26:12 2018 -0700 Reset start times of threads when restoring image. M src/runtime/thread.scm commit 3e5209d32d0d8dcafa173ce23f124d08b5138539 Author: Chris Hanson Date: Wed Sep 5 18:09:56 2018 -0700 Fix problem with printing of SOS instances. M src/sos/instance.scm M src/sos/tvector.scm commit 3dc1d33db76ef788d029a0eefdf32aa173af4eec Author: Matt Birkholz Date: Sun Jul 29 18:10:33 2018 -0700 x11: Fix x-list-fonts procedure. M src/x11/NEWS M src/x11/configure.ac M src/x11/make.scm M src/x11/x11-base.scm commit 1f9de0636c599aa6200d6cff346934c1e784b434 Author: Matt Birkholz Date: Sun Jul 29 18:09:38 2018 -0700 blowfish: Remove boast from ancient description in manual. M src/blowfish/NEWS M src/blowfish/configure.ac M src/blowfish/make.scm M src/blowfish/mit-scheme-blowfish.texi commit c19d15ff589b9a61ad38614aef5ba12aa5cecd84 Author: Matt Birkholz Date: Thu Jul 19 08:18:11 2018 -0700 x11: version 1.1 M src/x11/NEWS M src/x11/configure.ac M src/x11/make.scm commit c71e69ea5cd2916ece3a15718c1c774df8b2de91 Author: Matt Birkholz Date: Mon Jul 16 16:05:24 2018 -0700 microcode/uxio.c (OS_channel_read): Return 0 for EIO from pty master M src/microcode/uxio.c commit c9ad6eab69ab8867eefcc7720e36d54534534459 Author: Matt Birkholz Date: Tue Jul 3 10:05:37 2018 -0500 ffi: Avoid 9.1's expansion of define-print-method. M src/runtime/ffi.scm commit 8b0267e0870c4db31b69ff8fb9af828e42afa84c Author: Matt Birkholz Date: Mon Jun 25 14:57:36 2018 -0700 blowfish/Makefile.am: compile.sh missing from EXTRA_DIST. M src/blowfish/Makefile.am commit 5b5bcd88934b43258c1cd4bba5748a5deb49fbf2 Author: Matt Birkholz Date: Mon Jun 25 14:56:40 2018 -0700 x11: Actually export import-x11. M src/x11/README M src/x11/x11.pkg commit 38a01aac203925429e4a26afee8dd33110349cc0 Author: Matt Birkholz Date: Fri Jun 22 03:19:33 2018 -0700 Fix x11-screen plugin for autoloading by Edwin's new x-display-type. M src/x11-screen/NEWS M src/x11-screen/compile.sh M src/x11-screen/configure.ac M src/x11-screen/make.scm M src/x11-screen/x11-screen.pkg M src/x11-screen/x11-screen.scm commit f60ff90716b7851b814584ab640dff41ee0442c9 Author: Matt Birkholz Date: Fri Jun 22 03:14:45 2018 -0700 Replace Edwin's X display type with the x11-screen plugin. M src/edwin/decls.scm M src/edwin/ed-ffi.scm M src/edwin/edwin.ldr M src/edwin/edwin.pkg D src/edwin/key-x11.scm M src/edwin/kilcom.scm D src/edwin/xcom.scm D src/edwin/xmodef.scm M src/edwin/xterm.scm commit 1f8d8b25c78dbf1b45d0643d7144b9bda7d55dd3 Author: Matt Birkholz Date: Fri Jun 22 03:06:29 2018 -0700 Punt remains of µmodule support. M src/microcode/configure.ac M src/microcode/liarc-ld.in M src/microcode/makegen/Makefile.in.in M src/microcode/ntutl/makefile M src/microcode/ntutl/makefile.wcc commit eabbb5521c6f90d870260c4f2952ad3e297f5e92 Author: Matt Birkholz Date: Fri Jun 22 04:10:28 2018 -0700 Punt x11 µmodule; autoload x11 plugin version 1.0. M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/files-optional.scm D src/microcode/prx11.c D src/microcode/x11.h D src/microcode/x11base.c D src/microcode/x11color.c D src/microcode/x11graph.c D src/microcode/x11term.c M src/runtime/make.scm M src/runtime/runtime.pkg M src/runtime/x11graph.scm M src/x11/NEWS M src/x11/README M src/x11/compile.sh M src/x11/configure.ac M src/x11/make.scm M src/x11/x11-device.scm M src/x11/x11.pkg A src/x11/x11.scm commit 3d604516d7f4d95a5819cb4eace0837c5ae47d29 Author: Matt Birkholz Date: Fri Jun 22 02:20:22 2018 -0700 Punt mcrypt µmodule; autoload mcrypt plugin version 1.0. M src/mcrypt/NEWS M src/mcrypt/README M src/mcrypt/configure.ac M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/files-optional.scm D src/microcode/prmcrypt.c M src/runtime/crypto.scm M src/runtime/make.scm M src/runtime/runtime.pkg commit c9653f0c2d0f45c14119f2c196e51488a88a534f Author: Matt Birkholz Date: Fri Jun 22 03:37:10 2018 -0700 Punt db4 µmodule; remove to incomplete berkeley-db plugin. A src/berkeley-db/README R100 src/runtime/berkeley-db.scm src/berkeley-db/berkeley-db.scm A src/berkeley-db/configure.ac R100 src/microcode/prdb4.c src/berkeley-db/prdb4.c R100 src/microcode/prdb4.scm src/berkeley-db/prdb4.scm M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in commit 5ba5696273aed5ad0122badc957b73a711a1757d Author: Matt Birkholz Date: Fri Jun 22 04:30:45 2018 -0700 Punt pgsql µmodule; autoload pgsql plugin version 1.0. M doc/user-manual/user.texinfo M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/files-optional.scm M src/microcode/ntutl/makefile M src/microcode/ntutl/makefile.wcc D src/microcode/prpgsql.c M src/pgsql/NEWS M src/pgsql/README M src/pgsql/configure.ac M src/pgsql/make.scm M src/pgsql/pgsql-check.sh M src/pgsql/pgsql.pkg M src/pgsql/pgsql.scm M src/runtime/optiondb.scm M src/runtime/pgsql.scm M src/runtime/runtime.pkg commit b849e75fd31e835ab14b919bb7cb027193e874d4 Author: Matt Birkholz Date: Fri Jun 22 03:35:31 2018 -0700 Punt bfish µmodule; autoload blowfish plugin version 1.0. M src/blowfish/NEWS M src/blowfish/README R100 tests/runtime/test-blowfish.scm src/blowfish/blowfish-test.scm M src/blowfish/configure.ac M src/blowfish/make.scm M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/files-optional.scm M src/microcode/ntutl/config.h M src/microcode/ntutl/makefile M src/microcode/ntutl/makefile.wcc D src/microcode/prbfish.c M src/runtime/blowfish.scm M src/runtime/make.scm M src/runtime/runtime.pkg M tests/check.scm commit 1dcdb31e2fa09e77b957c9ab06d5446dab496ea1 Author: Matt Birkholz Date: Fri Jun 22 01:16:54 2018 -0700 Punt gdbm µmodule; autoload gdbm plugin version 1.0. M doc/user-manual/user.texinfo M src/gdbm/NEWS M src/gdbm/README M src/gdbm/configure.ac M src/gdbm/gdbm-check.sh M src/gdbm/gdbm.pkg M src/gdbm/gdbm.scm M src/gdbm/make.scm M src/gdbm/optiondb.scm M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/files-optional.scm M src/microcode/ntutl/makefile M src/microcode/ntutl/makefile.wcc D src/microcode/prgdbm.c M src/runtime/gdbm.scm M src/runtime/optiondb.scm M src/runtime/runtime.pkg commit 14f930964570744998a819d9a59fd76c1eaefced Author: Matt Birkholz Date: Fri Jun 22 03:21:04 2018 -0700 Deprecate without-interrupts. M src/runtime/runtime.pkg commit 630674bc970bb922725b17cd896e187cc927e1f1 Author: Matt Birkholz Date: Fri Jun 22 03:23:01 2018 -0700 Make FFI a non-optional subsystem. M src/runtime/make.scm M tests/check.scm commit 5a77b4cc7c287a1f64d58d7fb770121e564849d6 Author: Matt Birkholz Date: Fri Jun 22 03:22:08 2018 -0700 Export FFI's delete-plugin-list and update-plugin-indices. M src/runtime/runtime.pkg commit a199701c097bea975f24e1c256a8d80bb72d7e32 Author: Matt Birkholz Date: Fri Jun 22 03:20:04 2018 -0700 Update FFI manual. M doc/ffi/ffi.texinfo commit 3dfe974427943a683381bd2c9ce980b54daa056b Author: Chris Hanson Date: Tue Jun 12 20:51:48 2018 -0700 Change nearly all code to use parameterize rather than parameterize*. M src/6001/edextra.scm M src/6001/nodefs.scm M src/compiler/base/debug.scm M src/compiler/base/object.scm M src/compiler/base/toplev.scm M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/x86-64/dassm1.scm M src/edwin/artdebug.scm M src/edwin/autold.scm M src/edwin/bufcom.scm M src/edwin/bufinp.scm M src/edwin/bufout.scm M src/edwin/debug.scm M src/edwin/editor.scm M src/edwin/evlcom.scm M src/edwin/eystep.scm M src/edwin/filcom.scm M src/edwin/hlpcom.scm M src/edwin/intmod.scm M src/edwin/prompt.scm M src/edwin/schmod.scm M src/edwin/winout.scm M src/ffi/build.scm M src/ffi/cdecls.scm M src/imail/imail-util.scm M src/runtime/advice.scm M src/runtime/command-line.scm M src/runtime/dbgutl.scm M src/runtime/debug.scm M src/runtime/error.scm M src/runtime/ffi.scm M src/runtime/file-io.scm M src/runtime/framex.scm M src/runtime/infutl.scm M src/runtime/load.scm M src/runtime/mit-macros.scm M src/runtime/ntdir.scm M src/runtime/option.scm M src/runtime/pp.scm M src/runtime/prgcop.scm M src/runtime/printer.scm M src/runtime/rep.scm M src/runtime/savres.scm M src/runtime/stack-sample.scm M src/runtime/string-io.scm M src/runtime/structure-parser.scm M src/runtime/swank.scm M src/runtime/syntax-rename.scm M src/runtime/syntax.scm M src/runtime/textual-port.scm M src/runtime/thread.scm M src/runtime/unsyn.scm M src/runtime/unxdir.scm M src/runtime/usrint.scm M src/runtime/world-report.scm M src/runtime/wrkdir.scm M src/sf/cgen.scm M src/sos/microbench.scm M src/ssp/xhtml-expander.scm M src/ssp/xmlrpc.scm M tests/unit-testing.scm commit a877627231608cfecea5a789062a0d1bd2ba670c Author: Chris Hanson Date: Tue Jun 12 20:10:50 2018 -0700 Define parameterize using syntax-rules and add it to the host adapter. M src/runtime/host-adapter.scm M src/runtime/mit-macros.scm commit 71cf6bfa4bc48acf4989c6a29859e615296a1f27 Author: Chris Hanson Date: Sat Jun 9 20:51:54 2018 -0700 Not-yet-complete implementation of R7RS libraries. M src/runtime/library-database.scm A src/runtime/library-imports.scm A src/runtime/library-loader.scm M src/runtime/library-parser.scm M src/runtime/library-standard.scm M src/runtime/make.scm M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax.scm commit ae419a1012e6b42c8bf6d834a2a3ed4672672699 Author: Matt Birkholz Date: Wed Jun 6 08:49:35 2018 -0700 microcode/extern.h (HASH_TO_FIXNUM): typo M src/microcode/extern.h commit 8ab4a1e63d064178b0a053d5f38141074f97c6b1 Author: Matt Birkholz Date: Wed Jun 6 08:44:40 2018 -0700 i386/compiler.pkg: Add missing scode/definition?. M src/compiler/machines/i386/compiler.pkg commit d8d569457f808bb495f688af7efbe7ef1eadac75 Author: Matt Birkholz Date: Wed Jun 6 08:42:23 2018 -0700 SVM assembler needs hash-table-clear!. M src/runtime/host-adapter.scm commit 74e54b6ad7146ab40fac92fcc9e629c1d88caa2c Author: Matt Birkholz Date: Tue Jun 5 13:46:27 2018 -0700 mhash: Punt. The µmodule-based package disappeared long ago. M doc/user-manual/user.texinfo M src/README.txt M src/Tags.sh D src/mhash/AUTHORS D src/mhash/COPYING D src/mhash/ChangeLog D src/mhash/Makefile.am D src/mhash/NEWS D src/mhash/README D src/mhash/autogen.sh D src/mhash/compile.scm D src/mhash/compile.sh D src/mhash/configure.ac D src/mhash/make.scm D src/mhash/mhash-adapter.c D src/mhash/mhash-check.scm D src/mhash/mhash-check.sh D src/mhash/mhash-shim.h D src/mhash/mhash.cdecl D src/mhash/mhash.pkg D src/mhash/mhash.scm D src/mhash/optiondb.scm D src/mhash/tags-fix.sh commit e7f7e9ed8ff65eb7a783a2eebddb594fba4ffe43 Author: Matt Birkholz Date: Tue Jun 5 12:51:06 2018 -0700 Serialize access to thread/properties via thread-get, thread-put./fetch 69 M src/runtime/thread.scm commit 1180d5eba3fa827e2543a57d626c7909bc0df118 Author: Matt Birkholz Date: Tue Jun 5 12:50:06 2018 -0700 Name the initial thread. M src/runtime/thread.scm commit a0f1ab9b547f02be4731530faf379bddff353ec6 Author: Matt Birkholz Date: Tue Jun 5 12:43:04 2018 -0700 imail: Like probe-folder-output-processor, avoid referencing folder. M src/imail/imail-top.scm commit c851b8c5100ad7a2b54c753728609fe7be5019ea Author: Matt Birkholz Date: Tue Jun 5 09:45:36 2018 -0700 ffi: version 1.0 M src/ffi/make.scm commit 27192345365ba50cadaf848013ea4b51431f83f5 Author: Matt Birkholz Date: Tue Jun 5 09:37:51 2018 -0700 plugin tags-fix.sh: Use command-line-arguments. M src/blowfish/tags-fix.sh M src/gdbm/tags-fix.sh M src/mcrypt/tags-fix.sh M src/mhash/tags-fix.sh M src/pgsql/tags-fix.sh M src/x11/tags-fix.sh commit 99d95bf73e0809c62290dadf29ff46544ef4a021 Author: Matt Birkholz Date: Tue Jun 5 07:33:05 2018 -0700 A couple more fall-through comments. M src/microcode/uxsig.c commit 2dc989f9a19e082f7bd33eb3037e02bd69c15b92 Author: Matt Birkholz Date: Tue Jun 5 01:15:56 2018 -0700 Name most threads. M src/edwin/editor.scm M src/edwin/intmod.scm M src/edwin/notify.scm M src/edwin/world-monitor.scm M src/imail/imail-imap.scm M src/imail/imail-top.scm commit ef9c9ddb74b0cb4b9deef5a28766b951d26ae2d3 Author: Matt Birkholz Date: Tue Jun 5 10:54:41 2018 -0700 Print Edwin buffer names. M src/edwin/buffer.scm commit d9ffdc33878ee83ae9e3e84e8447c70865d50d1c Author: Matt Birkholz Date: Tue Jun 5 01:15:36 2018 -0700 world-report: Display thread names instead of associated "flags". M src/runtime/world-report.scm commit a47f7b1f81a9b122168210fdd859f85017fb5890 Author: Matt Birkholz Date: Fri Jun 1 14:15:27 2018 -0700 Add optional name parameter to create-thread. M src/runtime/thread.scm commit b062deb22764c244a0150abfcada3ade34d45d8b Author: Matt Birkholz Date: Tue Jun 5 10:11:05 2018 -0700 Add thread-get and thread-put! for e.g. giving threads names. M src/runtime/runtime.pkg M src/runtime/thread.scm commit 1a8f17b4e5bc3b135bac91836797341a071e6ea7 Author: Matt Birkholz Date: Mon Jun 4 23:44:29 2018 -0700 blowfish: typo in manual M src/blowfish/mit-scheme-blowfish.texi commit 1dc4bc90de2278e1df5f803d74b76510909a476d Author: Matt Birkholz Date: Fri Jun 1 15:37:07 2018 -0700 x11: version 0.3 M src/x11/NEWS M src/x11/configure.ac M src/x11/make.scm commit f7b22ea6a5a59eb6b9866900d82fcb08b397b6ad Author: Matt Birkholz Date: Fri Jun 1 14:41:05 2018 -0700 x11: Allow CurrentTime. M src/x11/x11-base.scm commit 26fc959a239158c630a2066c2ef2aefd1908a2d9 Author: Matt Birkholz Date: Fri Jun 1 14:32:57 2018 -0700 ffi: Add delete-plugin-list and update-plugin-indices for the Debian install/uninstall scripts. M src/ffi/build.scm M src/ffi/ffi.pkg M src/runtime/ffi.scm commit b5189bc516aa02d29396e1f8b31da9bd437c3a69 Author: Matt Birkholz Date: Fri Jun 1 14:17:58 2018 -0700 runtime/ffi: Save/restore floenv around callouts. The c-call primitive can "alienate" the floenv, but cooperating with c-call-continue to save/restore it is... more difficult than doing it in Scheme. And fix some trailing whitespace, indentation. M src/runtime/ffi.scm commit 24a44fb26e4e4b2f899e66bba107f6e36dce65a9 Author: Matt Birkholz Date: Tue Jun 5 00:22:28 2018 -0700 Signal an error in unlock-thread-mutex when mutex is not owned, before applying remove-thread-mutex! to #f, which produces a less helpful error message. M src/runtime/thread.scm commit 8ccd9344ef625240d772c1b8e81482b6f9e26163 Author: Matt Birkholz Date: Fri Jun 1 14:01:34 2018 -0700 Use with-interrupts-reduced in with-limited-interrupts. Save a primitive apply. M src/runtime/boot.scm commit 832d8f5ad2cbc9b9850b4f0fbae3b76445accebc Author: Matt Birkholz Date: Fri Jun 1 13:58:37 2018 -0700 user.texinfo: typos Need ./configure when building gdbm. Prefer --prepend-library where applicable. Mention all 6 sample plugins. Do *not* mention the defunct --edwin option. M doc/user-manual/user.texinfo commit 59404acfd4f9393c637ca05d71e00349f7c1a73b Author: Matt Birkholz Date: Fri Jun 1 13:45:13 2018 -0700 plugins: Copy .crf reports into the build log. M src/blowfish/Makefile.am C061 src/x11/compile.sh src/blowfish/compile.sh M src/gdbm/Makefile.am C061 src/x11/compile.sh src/gdbm/compile.sh M src/mcrypt/Makefile.am C061 src/x11/compile.sh src/mcrypt/compile.sh M src/mhash/Makefile.am C061 src/x11/compile.sh src/mhash/compile.sh M src/pgsql/Makefile.am C061 src/x11/compile.sh src/pgsql/compile.sh M src/x11-screen/compile.sh M src/x11/compile.sh commit 97f0bf68319d5dd3366e886d8c511ef4821b44f5 Author: Matt Birkholz Date: Fri Jun 1 12:51:31 2018 -0700 gdbm: version 0.4 M src/gdbm/NEWS M src/gdbm/configure.ac M src/gdbm/make.scm commit 878492e756e831d8155673eee9561c1265c5dfdb Author: Matt Birkholz Date: Fri Jun 1 12:49:36 2018 -0700 gdbm: Update documentation regarding file locks. M src/gdbm/mit-scheme-gdbm.texi commit b95c33cc4a0b90ee01ebbb83f7c6fae94e733c49 Author: Matt Birkholz Date: Mon Jun 4 23:51:13 2018 -0700 gdbm: Accommodate 1.14 (in Ubuntu 18.04) but disable file locking. M src/gdbm/gdbm-adapter.c M src/gdbm/gdbm-shim.h M src/gdbm/gdbm.cdecl M src/gdbm/gdbm.scm commit b23b42c603386e452af624259d5bbb4203699984 Author: Chris Hanson Date: Mon Jun 4 21:43:13 2018 -0700 Fix fencepost error reported by Patric Jonsson. Also handle limited kinds of redundant clauses, and special case where there's exactly one clause. M src/runtime/mit-macros.scm commit 9cc13a93343deb67fb2ac021339a12015f9acb1a Author: Chris Hanson Date: Fri Jun 1 22:42:56 2018 -0700 Update copyrights. M dist/Makefile M dist/copyright.c M dist/copyright.scm M dist/make-doc-files M dist/make-liarc-files M dist/make-macosx-app M dist/make-native-files M dist/make-scmutils M dist/make-src-files M dist/shared.sh M dist/update-copyright.scm M doc/Makefile.in M doc/configure.ac M doc/ffi/ffi.texinfo M doc/imail/Makefile.in M doc/imail/imail.texinfo M doc/make-common.in M doc/ref-manual/Makefile.in M doc/ref-manual/scheme.texinfo M doc/sos/Makefile.in M doc/sos/sos.texinfo M doc/user-manual/Makefile.in M doc/user-manual/user.texinfo M etc/dirdif.scm M etc/dumpdat.scm M etc/mkauto.bat M etc/mkopt.bat M etc/nrwcopyr.el M etc/run-three-stages M src/6001/6001.cbf M src/6001/6001.pkg M src/6001/6001.sf M src/6001/arith.scm M src/6001/edextra.scm M src/6001/floppy.scm M src/6001/make.scm M src/6001/nodefs.scm M src/6001/pic-imag.scm M src/6001/pic-ops.scm M src/6001/pic-read.scm M src/6001/pic-reco.scm M src/6001/picture.scm M src/Clean.sh M src/Makefile.in M src/Makefile.tools.in M src/Setup.sh M src/Stage.sh M src/Tags.sh M src/blowfish/Makefile.am M src/blowfish/NEWS M src/blowfish/blowfish-adapter.c M src/blowfish/blowfish-check.scm M src/blowfish/blowfish-shim.h M src/blowfish/blowfish.cdecl M src/blowfish/blowfish.pkg M src/blowfish/blowfish.scm M src/blowfish/configure.ac M src/blowfish/mit-scheme-blowfish.texi M src/compiler/Clean.sh M src/compiler/Setup.sh M src/compiler/Stage.sh M src/compiler/Tags.sh M src/compiler/back/asmmac.scm M src/compiler/back/asutl.scm M src/compiler/back/bittop.scm M src/compiler/back/bitutl.scm M src/compiler/back/checks.scm M src/compiler/back/insseq.scm M src/compiler/back/lapgn1.scm M src/compiler/back/lapgn2.scm M src/compiler/back/lapgn3.scm M src/compiler/back/linear.scm M src/compiler/back/mermap.scm M src/compiler/back/regmap.scm M src/compiler/back/syerly.scm M src/compiler/back/symtab.scm M src/compiler/back/syntax.scm M src/compiler/base/asstop.scm M src/compiler/base/blocks.scm M src/compiler/base/cfg1.scm M src/compiler/base/cfg2.scm M src/compiler/base/cfg3.scm M src/compiler/base/constr.scm M src/compiler/base/contin.scm M src/compiler/base/crsend.scm M src/compiler/base/crstop.scm M src/compiler/base/ctypes.scm M src/compiler/base/debug.scm M src/compiler/base/enumer.scm M src/compiler/base/infnew.scm M src/compiler/base/lvalue.scm M src/compiler/base/macros.scm M src/compiler/base/make.scm M src/compiler/base/mvalue.scm M src/compiler/base/object.scm M src/compiler/base/pmerly.scm M src/compiler/base/pmlook.scm M src/compiler/base/pmpars.scm M src/compiler/base/proced.scm M src/compiler/base/refctx.scm M src/compiler/base/rvalue.scm M src/compiler/base/scode.scm M src/compiler/base/sets.scm M src/compiler/base/subprb.scm M src/compiler/base/switch.scm M src/compiler/base/toplev.scm M src/compiler/base/utils.scm M src/compiler/choose-machine.sh M src/compiler/configure M src/compiler/documentation/cmpaux.txt M src/compiler/documentation/cmpint.txt M src/compiler/documentation/porting.guide M src/compiler/etc/asm.scm M src/compiler/etc/comcmp.scm M src/compiler/etc/comfiles.scm M src/compiler/etc/disload.scm M src/compiler/etc/stackp.scm M src/compiler/etc/xcbfdir.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/declar.scm M src/compiler/fggen/fggen.scm M src/compiler/fgopt/blktyp.scm M src/compiler/fgopt/closan.scm M src/compiler/fgopt/conect.scm M src/compiler/fgopt/contan.scm M src/compiler/fgopt/delint.scm M src/compiler/fgopt/desenv.scm M src/compiler/fgopt/envopt.scm M src/compiler/fgopt/folcon.scm M src/compiler/fgopt/offset.scm M src/compiler/fgopt/operan.scm M src/compiler/fgopt/order.scm M src/compiler/fgopt/outer.scm M src/compiler/fgopt/param.scm M src/compiler/fgopt/reord.scm M src/compiler/fgopt/reteqv.scm M src/compiler/fgopt/reuse.scm M src/compiler/fgopt/sideff.scm M src/compiler/fgopt/simapp.scm M src/compiler/fgopt/simple.scm M src/compiler/fgopt/subfre.scm M src/compiler/fgopt/varind.scm M src/compiler/machines/C/compiler.cbf M src/compiler/machines/C/compiler.pkg M src/compiler/machines/C/compiler.sf M src/compiler/machines/C/cout.scm M src/compiler/machines/C/ctop.scm M src/compiler/machines/C/cutl.scm M src/compiler/machines/C/decls.scm M src/compiler/machines/C/lapgen.scm M src/compiler/machines/C/machin.scm M src/compiler/machines/C/make.scm M src/compiler/machines/C/rgspcm.scm M src/compiler/machines/C/rules1.scm M src/compiler/machines/C/rules2.scm M src/compiler/machines/C/rules3.scm M src/compiler/machines/C/rules4.scm M src/compiler/machines/C/rulfix.scm M src/compiler/machines/C/rulflo.scm M src/compiler/machines/C/rulrew.scm M src/compiler/machines/C/stackify.scm M src/compiler/machines/C/stackops.scm M src/compiler/machines/C/traditional.scm M src/compiler/machines/i386/assmd.scm M src/compiler/machines/i386/coerce.scm M src/compiler/machines/i386/compiler.cbf M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/compiler.sf M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/i386/dassm2.scm M src/compiler/machines/i386/dassm3.scm M src/compiler/machines/i386/decls.scm M src/compiler/machines/i386/insmac.scm M src/compiler/machines/i386/instr1.scm M src/compiler/machines/i386/instr2.scm M src/compiler/machines/i386/instrf.scm M src/compiler/machines/i386/insutl.scm M src/compiler/machines/i386/lapgen.scm M src/compiler/machines/i386/lapopt.scm M src/compiler/machines/i386/machin.scm M src/compiler/machines/i386/make.scm M src/compiler/machines/i386/pc-make.scm M src/compiler/machines/i386/rgspcm.scm M src/compiler/machines/i386/rules1.scm M src/compiler/machines/i386/rules2.scm M src/compiler/machines/i386/rules3.scm M src/compiler/machines/i386/rules4.scm M src/compiler/machines/i386/rulfix.scm M src/compiler/machines/i386/rulflo.scm M src/compiler/machines/i386/rulrew.scm M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/assembler-rules.scm M src/compiler/machines/svm/assembler-runtime.scm M src/compiler/machines/svm/compile-assembler.scm M src/compiler/machines/svm/compiler.cbf M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/compiler.sf M src/compiler/machines/svm/decls.scm M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/svm/lapgen.scm M src/compiler/machines/svm/lapopt.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/svm/make.scm M src/compiler/machines/svm/rgspcm.scm M src/compiler/machines/svm/rules.scm M src/compiler/machines/x86-64/assmd.scm M src/compiler/machines/x86-64/coerce.scm M src/compiler/machines/x86-64/compiler.cbf M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/compiler.sf M src/compiler/machines/x86-64/dassm1.scm M src/compiler/machines/x86-64/dassm2.scm M src/compiler/machines/x86-64/dassm3.scm M src/compiler/machines/x86-64/decls.scm M src/compiler/machines/x86-64/insmac.scm M src/compiler/machines/x86-64/instr1.scm M src/compiler/machines/x86-64/instr2.scm M src/compiler/machines/x86-64/instrf.scm M src/compiler/machines/x86-64/insutl.scm M src/compiler/machines/x86-64/lapgen.scm M src/compiler/machines/x86-64/lapopt.scm M src/compiler/machines/x86-64/machin.scm M src/compiler/machines/x86-64/make.scm M src/compiler/machines/x86-64/pc-make.scm M src/compiler/machines/x86-64/rgspcm.scm M src/compiler/machines/x86-64/rules1.scm M src/compiler/machines/x86-64/rules2.scm M src/compiler/machines/x86-64/rules3.scm M src/compiler/machines/x86-64/rules4.scm M src/compiler/machines/x86-64/rulfix.scm M src/compiler/machines/x86-64/rulflo.scm M src/compiler/machines/x86-64/rulrew.scm M src/compiler/rtlbase/regset.scm M src/compiler/rtlbase/rgraph.scm M src/compiler/rtlbase/rtlcfg.scm M src/compiler/rtlbase/rtlcon.scm M src/compiler/rtlbase/rtlexp.scm M src/compiler/rtlbase/rtline.scm M src/compiler/rtlbase/rtlobj.scm M src/compiler/rtlbase/rtlreg.scm M src/compiler/rtlbase/rtlty1.scm M src/compiler/rtlbase/rtlty2.scm M src/compiler/rtlbase/valclass.scm M src/compiler/rtlgen/fndblk.scm M src/compiler/rtlgen/fndvar.scm M src/compiler/rtlgen/opncod.scm M src/compiler/rtlgen/rgcomb.scm M src/compiler/rtlgen/rgproc.scm M src/compiler/rtlgen/rgretn.scm M src/compiler/rtlgen/rgrval.scm M src/compiler/rtlgen/rgstmt.scm M src/compiler/rtlgen/rtlgen.scm M src/compiler/rtlopt/ralloc.scm M src/compiler/rtlopt/rcompr.scm M src/compiler/rtlopt/rcse1.scm M src/compiler/rtlopt/rcse2.scm M src/compiler/rtlopt/rcseep.scm M src/compiler/rtlopt/rcseht.scm M src/compiler/rtlopt/rcserq.scm M src/compiler/rtlopt/rcsesr.scm M src/compiler/rtlopt/rdebug.scm M src/compiler/rtlopt/rdflow.scm M src/compiler/rtlopt/rerite.scm M src/compiler/rtlopt/rinvex.scm M src/compiler/rtlopt/rlife.scm M src/compiler/rtlopt/rtlcsm.scm M src/configure.ac M src/cref/anfile.scm M src/cref/conpkg.scm M src/cref/cref.cbf M src/cref/cref.pkg M src/cref/cref.sf M src/cref/forpkg.scm M src/cref/make.scm M src/cref/mset.scm M src/cref/object.scm M src/cref/redpkg.scm M src/cref/toplev.scm M src/cref/triv.pkg M src/edwin/Clean.sh M src/edwin/abbrev.scm M src/edwin/ansi.scm M src/edwin/argred.scm M src/edwin/artdebug.scm M src/edwin/autold.scm M src/edwin/autosv.scm M src/edwin/basic.scm M src/edwin/bios.scm M src/edwin/bufcom.scm M src/edwin/buffer.scm M src/edwin/buffrm.scm M src/edwin/bufinp.scm M src/edwin/bufmnu.scm M src/edwin/bufout.scm M src/edwin/bufset.scm M src/edwin/bufwfs.scm M src/edwin/bufwin.scm M src/edwin/bufwiu.scm M src/edwin/bufwmc.scm M src/edwin/c-mode.scm M src/edwin/calias.scm M src/edwin/cinden.scm M src/edwin/class.scm M src/edwin/clscon.scm M src/edwin/clsmac.scm M src/edwin/comatch.scm M src/edwin/comhst.scm M src/edwin/comint.scm M src/edwin/comman.scm M src/edwin/compile.scm M src/edwin/comred.scm M src/edwin/comtab.scm M src/edwin/comwin.scm M src/edwin/curren.scm M src/edwin/dabbrev.scm M src/edwin/debian-changelog.scm M src/edwin/debug.scm M src/edwin/debuge.scm M src/edwin/decls.scm M src/edwin/dired.scm M src/edwin/dirunx.scm M src/edwin/dirw32.scm M src/edwin/display.scm M src/edwin/docstr.scm M src/edwin/dos.scm M src/edwin/doscom.scm M src/edwin/dosfile.scm M src/edwin/dosproc.scm M src/edwin/dosshell.scm M src/edwin/ed-ffi.scm M src/edwin/editor.scm M src/edwin/edtfrm.scm M src/edwin/edtstr.scm M src/edwin/edwin.cbf M src/edwin/edwin.ldr M src/edwin/edwin.pkg M src/edwin/edwin.sf M src/edwin/evlcom.scm M src/edwin/eystep.scm M src/edwin/filcom.scm M src/edwin/fileio.scm M src/edwin/fill.scm M src/edwin/grpops.scm M src/edwin/hlpcom.scm M src/edwin/htmlmode.scm M src/edwin/image.scm M src/edwin/info.scm M src/edwin/input.scm M src/edwin/intmod.scm M src/edwin/iserch.scm M src/edwin/javamode.scm M src/edwin/key-w32.scm M src/edwin/key-x11.scm M src/edwin/keymap.scm M src/edwin/keyparse.scm M src/edwin/kilcom.scm M src/edwin/kmacro.scm M src/edwin/lincom.scm M src/edwin/linden.scm M src/edwin/loadef.scm M src/edwin/lspcom.scm M src/edwin/macros.scm M src/edwin/make.scm M src/edwin/malias.scm M src/edwin/manual.scm M src/edwin/midas.scm M src/edwin/modefs.scm M src/edwin/modes.scm M src/edwin/modlin.scm M src/edwin/modwin.scm M src/edwin/motcom.scm M src/edwin/motion.scm M src/edwin/mousecom.scm M src/edwin/nntp.scm M src/edwin/notify.scm M src/edwin/nvector.scm M src/edwin/occur.scm M src/edwin/outline.scm M src/edwin/pasmod.scm M src/edwin/paths.scm M src/edwin/print.scm M src/edwin/process.scm M src/edwin/prompt.scm M src/edwin/pwedit.scm M src/edwin/pwparse.scm M src/edwin/rcsparse.scm M src/edwin/reccom.scm M src/edwin/regcom.scm M src/edwin/regexp.scm M src/edwin/regops.scm M src/edwin/replaz.scm M src/edwin/rfc822.scm M src/edwin/ring.scm M src/edwin/rmail.scm M src/edwin/rmailsrt.scm M src/edwin/rmailsum.scm M src/edwin/schmod.scm M src/edwin/scrcom.scm M src/edwin/screen.scm M src/edwin/search.scm M src/edwin/sendmail.scm M src/edwin/sercom.scm M src/edwin/shell.scm M src/edwin/simple.scm M src/edwin/snr.scm M src/edwin/sort.scm M src/edwin/string.scm M src/edwin/strpad.scm M src/edwin/strtab.scm M src/edwin/struct.scm M src/edwin/syntax.scm M src/edwin/tagutl.scm M src/edwin/techinfo.scm M src/edwin/telnet.scm M src/edwin/termcap.scm M src/edwin/texcom.scm M src/edwin/things.scm M src/edwin/tparse.scm M src/edwin/tterm.scm M src/edwin/tximod.scm M src/edwin/txtprp.scm M src/edwin/undo.scm M src/edwin/unix.scm M src/edwin/utils.scm M src/edwin/utlwin.scm M src/edwin/vc-bzr.scm M src/edwin/vc-cvs.scm M src/edwin/vc-git.scm M src/edwin/vc-rcs.scm M src/edwin/vc-svn.scm M src/edwin/vc.scm M src/edwin/verilog.scm M src/edwin/vhdl.scm M src/edwin/webster.scm M src/edwin/win32.scm M src/edwin/win32com.scm M src/edwin/wincom.scm M src/edwin/window.scm M src/edwin/winout.scm M src/edwin/world-monitor.scm M src/edwin/xcom.scm M src/edwin/xform.scm M src/edwin/xmodef.scm M src/edwin/xterm.scm M src/etc/Clean.sh M src/etc/Setup.sh M src/etc/Stage.sh M src/etc/Tags.sh M src/etc/build-bands.sh M src/etc/build-boot-compiler.sh M src/etc/c-bundle.sh M src/etc/c-compile.sh M src/etc/c-prepare.sh M src/etc/compile-boot-compiler.sh M src/etc/compile.scm M src/etc/compile.sh M src/etc/create-makefiles.sh M src/etc/functions.sh M src/etc/install-bin-symlinks.sh M src/etc/iso8859-converter.scm M src/etc/macosx/make-app.sh M src/etc/make-in-subdirs.sh M src/etc/make-liarc-dist.sh M src/etc/make-liarc.sh M src/etc/make-native.sh M src/etc/maybe-update-file.sh M src/etc/native-prepare.sh M src/etc/optiondb.scm M src/etc/std-makefile-prefix M src/etc/ucd-converter.scm M src/etc/ucd-raw-props/names.scm M src/etc/ucd-raw-props/prop-AHex.scm M src/etc/ucd-raw-props/prop-Alpha.scm M src/etc/ucd-raw-props/prop-Bidi_C.scm M src/etc/ucd-raw-props/prop-Bidi_M.scm M src/etc/ucd-raw-props/prop-CE.scm M src/etc/ucd-raw-props/prop-CI.scm M src/etc/ucd-raw-props/prop-CWCF.scm M src/etc/ucd-raw-props/prop-CWCM.scm M src/etc/ucd-raw-props/prop-CWKCF.scm M src/etc/ucd-raw-props/prop-CWL.scm M src/etc/ucd-raw-props/prop-CWT.scm M src/etc/ucd-raw-props/prop-CWU.scm M src/etc/ucd-raw-props/prop-Cased.scm M src/etc/ucd-raw-props/prop-Comp_Ex.scm M src/etc/ucd-raw-props/prop-DI.scm M src/etc/ucd-raw-props/prop-Dash.scm M src/etc/ucd-raw-props/prop-Dep.scm M src/etc/ucd-raw-props/prop-Dia.scm M src/etc/ucd-raw-props/prop-Ext.scm M src/etc/ucd-raw-props/prop-FC_NFKC.scm M src/etc/ucd-raw-props/prop-GCB.scm M src/etc/ucd-raw-props/prop-Gr_Base.scm M src/etc/ucd-raw-props/prop-Gr_Ext.scm M src/etc/ucd-raw-props/prop-Gr_Link.scm M src/etc/ucd-raw-props/prop-Hex.scm M src/etc/ucd-raw-props/prop-Hyphen.scm M src/etc/ucd-raw-props/prop-IDC.scm M src/etc/ucd-raw-props/prop-IDS.scm M src/etc/ucd-raw-props/prop-IDSB.scm M src/etc/ucd-raw-props/prop-IDST.scm M src/etc/ucd-raw-props/prop-Ideo.scm M src/etc/ucd-raw-props/prop-InMC.scm M src/etc/ucd-raw-props/prop-InPC.scm M src/etc/ucd-raw-props/prop-InSC.scm M src/etc/ucd-raw-props/prop-JSN.scm M src/etc/ucd-raw-props/prop-Join_C.scm M src/etc/ucd-raw-props/prop-LOE.scm M src/etc/ucd-raw-props/prop-Lower.scm M src/etc/ucd-raw-props/prop-Math.scm M src/etc/ucd-raw-props/prop-NChar.scm M src/etc/ucd-raw-props/prop-NFC_QC.scm M src/etc/ucd-raw-props/prop-NFD_QC.scm M src/etc/ucd-raw-props/prop-NFKC_CF.scm M src/etc/ucd-raw-props/prop-NFKC_QC.scm M src/etc/ucd-raw-props/prop-NFKD_QC.scm M src/etc/ucd-raw-props/prop-OAlpha.scm M src/etc/ucd-raw-props/prop-ODI.scm M src/etc/ucd-raw-props/prop-OGr_Ext.scm M src/etc/ucd-raw-props/prop-OIDC.scm M src/etc/ucd-raw-props/prop-OIDS.scm M src/etc/ucd-raw-props/prop-OLower.scm M src/etc/ucd-raw-props/prop-OMath.scm M src/etc/ucd-raw-props/prop-OUpper.scm M src/etc/ucd-raw-props/prop-PCM.scm M src/etc/ucd-raw-props/prop-Pat_Syn.scm M src/etc/ucd-raw-props/prop-Pat_WS.scm M src/etc/ucd-raw-props/prop-QMark.scm M src/etc/ucd-raw-props/prop-Radical.scm M src/etc/ucd-raw-props/prop-SB.scm M src/etc/ucd-raw-props/prop-SD.scm M src/etc/ucd-raw-props/prop-STerm.scm M src/etc/ucd-raw-props/prop-Term.scm M src/etc/ucd-raw-props/prop-UIdeo.scm M src/etc/ucd-raw-props/prop-Upper.scm M src/etc/ucd-raw-props/prop-VS.scm M src/etc/ucd-raw-props/prop-WB.scm M src/etc/ucd-raw-props/prop-WSpace.scm M src/etc/ucd-raw-props/prop-XIDC.scm M src/etc/ucd-raw-props/prop-XIDS.scm M src/etc/ucd-raw-props/prop-XO_NFC.scm M src/etc/ucd-raw-props/prop-XO_NFD.scm M src/etc/ucd-raw-props/prop-XO_NFKC.scm M src/etc/ucd-raw-props/prop-XO_NFKD.scm M src/etc/ucd-raw-props/prop-age.scm M src/etc/ucd-raw-props/prop-bc.scm M src/etc/ucd-raw-props/prop-blk.scm M src/etc/ucd-raw-props/prop-bmg.scm M src/etc/ucd-raw-props/prop-bpb.scm M src/etc/ucd-raw-props/prop-bpt.scm M src/etc/ucd-raw-props/prop-canonical-cm.scm M src/etc/ucd-raw-props/prop-canonical-dm.scm M src/etc/ucd-raw-props/prop-ccc.scm M src/etc/ucd-raw-props/prop-cf.scm M src/etc/ucd-raw-props/prop-dm.scm M src/etc/ucd-raw-props/prop-dt.scm M src/etc/ucd-raw-props/prop-ea.scm M src/etc/ucd-raw-props/prop-gc.scm M src/etc/ucd-raw-props/prop-hst.scm M src/etc/ucd-raw-props/prop-isc.scm M src/etc/ucd-raw-props/prop-jg.scm M src/etc/ucd-raw-props/prop-jt.scm M src/etc/ucd-raw-props/prop-lb.scm M src/etc/ucd-raw-props/prop-lc.scm M src/etc/ucd-raw-props/prop-na.scm M src/etc/ucd-raw-props/prop-na1.scm M src/etc/ucd-raw-props/prop-nt.scm M src/etc/ucd-raw-props/prop-nv.scm M src/etc/ucd-raw-props/prop-sc.scm M src/etc/ucd-raw-props/prop-scf.scm M src/etc/ucd-raw-props/prop-scx.scm M src/etc/ucd-raw-props/prop-slc.scm M src/etc/ucd-raw-props/prop-stc.scm M src/etc/ucd-raw-props/prop-suc.scm M src/etc/ucd-raw-props/prop-tc.scm M src/etc/ucd-raw-props/prop-uc.scm M src/etc/utilities.scm M src/ffi/build.scm M src/ffi/cdecls.scm M src/ffi/ctypes.scm M src/ffi/generator.scm M src/ffi/syntax.scm M src/gdbm/Makefile.am M src/gdbm/NEWS M src/gdbm/configure.ac M src/gdbm/gdbm-adapter.c M src/gdbm/gdbm-check.scm M src/gdbm/gdbm-shim.h M src/gdbm/gdbm.cdecl M src/gdbm/gdbm.pkg M src/gdbm/gdbm.scm M src/gdbm/mit-scheme-gdbm.texi M src/imail/compile.scm M src/imail/ed-ffi.scm M src/imail/imail-browser.scm M src/imail/imail-core.scm M src/imail/imail-file.scm M src/imail/imail-imap.scm M src/imail/imail-mime.scm M src/imail/imail-rmail.scm M src/imail/imail-summary.scm M src/imail/imail-top.scm M src/imail/imail-umail.scm M src/imail/imail-util.scm M src/imail/imail.pkg M src/imail/imap-response.scm M src/imail/imap-syntax.scm M src/imail/load.scm M src/imail/print.sh M src/mcrypt/Makefile.am M src/mcrypt/NEWS M src/mcrypt/configure.ac M src/mcrypt/mcrypt-adapter.c M src/mcrypt/mcrypt-check.scm M src/mcrypt/mcrypt-shim.h M src/mcrypt/mcrypt.cdecl M src/mcrypt/mcrypt.pkg M src/mcrypt/mcrypt.scm M src/mhash/Makefile.am M src/mhash/NEWS M src/mhash/configure.ac M src/mhash/mhash-adapter.c M src/mhash/mhash-check.scm M src/mhash/mhash-shim.h M src/mhash/mhash.cdecl M src/mhash/mhash.pkg M src/mhash/mhash.scm M src/microcode/Clean.sh M src/microcode/Setup.sh M src/microcode/artutl.c M src/microcode/avltree.c M src/microcode/avltree.h M src/microcode/bignmint.h M src/microcode/bignum.c M src/microcode/bignum.h M src/microcode/bigprm.c M src/microcode/bits.h M src/microcode/bitstr.c M src/microcode/bitstr.h M src/microcode/bkpt.c M src/microcode/bkpt.h M src/microcode/boot.c M src/microcode/bytevector.c M src/microcode/char.c M src/microcode/cmpauxmd/asmcvt.c M src/microcode/cmpauxmd/c.c M src/microcode/cmpauxmd/i386.m4 M src/microcode/cmpauxmd/m4-dos M src/microcode/cmpauxmd/makefile M src/microcode/cmpauxmd/x86-64.m4 M src/microcode/cmpgc.h M src/microcode/cmpint.c M src/microcode/cmpint.h M src/microcode/cmpintmd/c-config.h M src/microcode/cmpintmd/c.c M src/microcode/cmpintmd/c.h M src/microcode/cmpintmd/i386-config.h M src/microcode/cmpintmd/i386.c M src/microcode/cmpintmd/i386.h M src/microcode/cmpintmd/none-config.h M src/microcode/cmpintmd/none.c M src/microcode/cmpintmd/none.h M src/microcode/cmpintmd/svm1-config.h M src/microcode/cmpintmd/svm1.c M src/microcode/cmpintmd/svm1.h M src/microcode/cmpintmd/x86-64-config.h M src/microcode/cmpintmd/x86-64.c M src/microcode/cmpintmd/x86-64.h M src/microcode/cmpintmd/x86-fenv.c M src/microcode/cmpintmd/x86-fenv.h M src/microcode/comlin.c M src/microcode/comlin.h M src/microcode/comutl.c M src/microcode/configure.ac M src/microcode/confshared.h M src/microcode/const.h M src/microcode/copyrigh.c M src/microcode/critsec.h M src/microcode/daemon.c M src/microcode/debug.c M src/microcode/dfloat.c M src/microcode/dstack.h M src/microcode/edwin.h M src/microcode/error.c M src/microcode/errors.h M src/microcode/extern.c M src/microcode/extern.h M src/microcode/extract-liarc-decls.c M src/microcode/fasdump.c M src/microcode/fasl.c M src/microcode/fasl.h M src/microcode/fasload.c M src/microcode/findprim.c M src/microcode/fixnum.c M src/microcode/fixnum.h M src/microcode/fixobj.h M src/microcode/floenv.c M src/microcode/floenv.h M src/microcode/flonum.c M src/microcode/gc.h M src/microcode/gccode.h M src/microcode/gcloop.c M src/microcode/gen-nonce.c M src/microcode/generic.c M src/microcode/history.h M src/microcode/hooks.c M src/microcode/hunk.c M src/microcode/intern.c M src/microcode/interp.c M src/microcode/interp.h M src/microcode/intext.c M src/microcode/intext.h M src/microcode/intprm.c M src/microcode/intrpt.h M src/microcode/liarc-cc.in M src/microcode/liarc-ld.in M src/microcode/liarc.h M src/microcode/list.c M src/microcode/lookprm.c M src/microcode/lookup.c M src/microcode/lookup.h M src/microcode/macosx-starter.c M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/bundles-liarc.scm M src/microcode/makegen/dirs-liarc.scm M src/microcode/makegen/files-core.scm M src/microcode/makegen/files-optional.scm M src/microcode/makegen/files-os-prim.scm M src/microcode/makegen/files-other.scm M src/microcode/makegen/files-unix.scm M src/microcode/makegen/liarc-base-rules M src/microcode/makegen/m4.sh M src/microcode/makegen/makegen.scm M src/microcode/makegen/makeinit.sh M src/microcode/makegen/pkds-liarc.scm M src/microcode/memmag.c M src/microcode/memmag.h M src/microcode/missing.c M src/microcode/mul.c M src/microcode/nt.h M src/microcode/ntapi.h M src/microcode/ntasutl.asm M src/microcode/ntenv.c M src/microcode/ntfile.c M src/microcode/ntfs.c M src/microcode/ntfs.h M src/microcode/ntgui.c M src/microcode/ntgui.h M src/microcode/ntio.c M src/microcode/ntio.h M src/microcode/ntproc.c M src/microcode/ntproc.h M src/microcode/ntscmlib.h M src/microcode/ntscreen.c M src/microcode/ntscreen.h M src/microcode/ntsig.c M src/microcode/ntsock.c M src/microcode/ntsys.c M src/microcode/ntsys.h M src/microcode/ntterm.h M src/microcode/nttop.c M src/microcode/nttop.h M src/microcode/nttrap.c M src/microcode/nttrap.h M src/microcode/nttterm.c M src/microcode/nttty.c M src/microcode/ntutl/config.bat M src/microcode/ntutl/config.h M src/microcode/ntutl/makefile M src/microcode/ntutl/makefile.wcc M src/microcode/ntutl/scheme16.c M src/microcode/ntutl/scheme16.mak M src/microcode/ntutl/scheme31.c M src/microcode/ntutl/scheme32.c M src/microcode/ntutl/scm-p-nt.lst M src/microcode/ntutl/setenv.bat M src/microcode/ntutl/wconfig.bat M src/microcode/object.h M src/microcode/obstack.c M src/microcode/obstack.h M src/microcode/option.c M src/microcode/option.h M src/microcode/os.h M src/microcode/osctty.h M src/microcode/osenv.h M src/microcode/osfile.h M src/microcode/osfs.h M src/microcode/osio.h M src/microcode/osproc.h M src/microcode/ospty.h M src/microcode/osscheme.c M src/microcode/osscheme.h M src/microcode/ossig.h M src/microcode/osterm.h M src/microcode/ostop.h M src/microcode/ostty.c M src/microcode/ostty.h M src/microcode/outf.c M src/microcode/outf.h M src/microcode/prbfish.c M src/microcode/prdb4.c M src/microcode/prdb4.scm M src/microcode/prename.h M src/microcode/prgdbm.c M src/microcode/prim.c M src/microcode/prim.h M src/microcode/prims.h M src/microcode/primutl.c M src/microcode/prkeccak.c M src/microcode/prmcrypt.c M src/microcode/prmd5.c M src/microcode/prntenv.c M src/microcode/prntfs.c M src/microcode/prntio.c M src/microcode/prosenv.c M src/microcode/prosfile.c M src/microcode/prosfs.c M src/microcode/prosio.c M src/microcode/prosproc.c M src/microcode/prospty.c M src/microcode/prosterm.c M src/microcode/prostty.c M src/microcode/prpgsql.c M src/microcode/pruxdld.c M src/microcode/pruxenv.c M src/microcode/pruxffi.c M src/microcode/pruxffi.h M src/microcode/pruxfs.c M src/microcode/pruxio.c M src/microcode/pruxsock.c M src/microcode/prx11.c M src/microcode/ptrvec.c M src/microcode/purify.c M src/microcode/purutl.c M src/microcode/regex.c M src/microcode/regex.h M src/microcode/returns.h M src/microcode/rgxprim.c M src/microcode/sample.c M src/microcode/scheme.h M src/microcode/scode.h M src/microcode/sdata.h M src/microcode/stack.h M src/microcode/stackops.h M src/microcode/step.c M src/microcode/storage.c M src/microcode/string.c M src/microcode/svm1-interp.c M src/microcode/syntax.c M src/microcode/syntax.h M src/microcode/syscall.h M src/microcode/sysprim.c M src/microcode/term.c M src/microcode/termcap.c M src/microcode/terminfo.c M src/microcode/tparam.c M src/microcode/transact.c M src/microcode/trap.h M src/microcode/tterm.c M src/microcode/types.h M src/microcode/unstackify.c M src/microcode/usrdef.h M src/microcode/utabmd.c M src/microcode/utils.c M src/microcode/ux.c M src/microcode/ux.h M src/microcode/uxctty.c M src/microcode/uxenv.c M src/microcode/uxfile.c M src/microcode/uxfs.c M src/microcode/uxio.c M src/microcode/uxio.h M src/microcode/uxproc.c M src/microcode/uxproc.h M src/microcode/uxsig.c M src/microcode/uxsig.h M src/microcode/uxsock.c M src/microcode/uxsock.h M src/microcode/uxterm.c M src/microcode/uxterm.h M src/microcode/uxtop.c M src/microcode/uxtop.h M src/microcode/uxtrap.c M src/microcode/uxtrap.h M src/microcode/uxtty.c M src/microcode/uxutil.c M src/microcode/uxutil.h M src/microcode/vector.c M src/microcode/wind.c M src/microcode/x11.h M src/microcode/x11base.c M src/microcode/x11color.c M src/microcode/x11graph.c M src/microcode/x11term.c M src/microcode/xdebug.c M src/pgsql/Makefile.am M src/pgsql/NEWS M src/pgsql/configure.ac M src/pgsql/pgsql-check.scm M src/pgsql/pgsql-shim.h M src/pgsql/pgsql.cdecl M src/pgsql/pgsql.pkg M src/pgsql/pgsql.scm M src/runtime/advice.scm M src/runtime/apply.scm M src/runtime/apropos.scm M src/runtime/arith.scm M src/runtime/berkeley-db.scm M src/runtime/binary-port.scm M src/runtime/bitstr.scm M src/runtime/blowfish.scm M src/runtime/boole.scm M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/bytevector.scm M src/runtime/char-set.scm M src/runtime/char.scm M src/runtime/chrsyn.scm M src/runtime/codwlk.scm M src/runtime/command-line.scm M src/runtime/compound-predicate.scm M src/runtime/condvar.scm M src/runtime/conpar.scm M src/runtime/console-io.scm M src/runtime/contin.scm M src/runtime/cpoint.scm M src/runtime/cpress.scm M src/runtime/crypto.scm M src/runtime/datime.scm M src/runtime/dbgcmd.scm M src/runtime/dbgutl.scm M src/runtime/debug.scm M src/runtime/defstr.scm M src/runtime/dispatch-cache.scm M src/runtime/dispatch-tag.scm M src/runtime/dos-pathname.scm M src/runtime/dragon4.scm M src/runtime/dynamic.scm M src/runtime/ed-ffi.scm M src/runtime/emacs.scm M src/runtime/environment.scm M src/runtime/equals.scm M src/runtime/error.scm M src/runtime/events.scm M src/runtime/ffi.scm M src/runtime/file-attributes.scm M src/runtime/file-io.scm M src/runtime/floenv.scm M src/runtime/format.scm M src/runtime/framex.scm M src/runtime/gc.scm M src/runtime/gcdemn.scm M src/runtime/gcfinal.scm M src/runtime/gcnote.scm M src/runtime/gcstat.scm M src/runtime/gdatab.scm M src/runtime/gdbm.scm M src/runtime/generic-io.scm M src/runtime/global.scm M src/runtime/graphics.scm M src/runtime/hash-table.scm M src/runtime/hash.scm M src/runtime/histry.scm M src/runtime/host-adapter.scm M src/runtime/html-form-codec.scm M src/runtime/http-client.scm M src/runtime/http-io.scm M src/runtime/http-syntax.scm M src/runtime/infstr.scm M src/runtime/infutl.scm M src/runtime/input-port.scm M src/runtime/integer-bits.scm M src/runtime/interrupt.scm M src/runtime/keyword.scm M src/runtime/lambda-list.scm M src/runtime/lambda.scm M src/runtime/lambdx.scm M src/runtime/legacy-string.scm M src/runtime/library-database.scm M src/runtime/library-parser.scm M src/runtime/library-standard.scm M src/runtime/list.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/memoizer.scm M src/runtime/microcode-data.scm M src/runtime/microcode-errors.scm M src/runtime/microcode-tables.scm M src/runtime/mime-codec.scm M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/msort.scm M src/runtime/ntdir.scm M src/runtime/ntprm.scm M src/runtime/numint.scm M src/runtime/numpar.scm M src/runtime/option.scm M src/runtime/optiondb.scm M src/runtime/ordvec.scm M src/runtime/os-primitives.scm M src/runtime/output-port.scm M src/runtime/packag.scm M src/runtime/parametric-predicate.scm M src/runtime/parser-buffer.scm M src/runtime/pathname.scm M src/runtime/pgsql.scm M src/runtime/poplat.scm M src/runtime/pp.scm M src/runtime/predicate-dispatch.scm M src/runtime/predicate-tagging.scm M src/runtime/predicate.scm M src/runtime/prgcop.scm M src/runtime/primitive-arithmetic.scm M src/runtime/primitive-io.scm M src/runtime/printer.scm M src/runtime/procedure.scm M src/runtime/process.scm M src/runtime/prop1d.scm M src/runtime/prop2d.scm M src/runtime/qsort.scm M src/runtime/queue.scm M src/runtime/random.scm M src/runtime/rbtree.scm M src/runtime/reader.scm M src/runtime/record.scm M src/runtime/reference-trap.scm M src/runtime/regexp.scm M src/runtime/regsexp.scm M src/runtime/rep.scm M src/runtime/rexp.scm M src/runtime/rfc2822-headers.scm M src/runtime/rgxcmp.scm M src/runtime/runtime.cbf M src/runtime/runtime.pkg M src/runtime/runtime.sf M src/runtime/savres.scm M src/runtime/scan.scm M src/runtime/scode.scm M src/runtime/sdata.scm M src/runtime/sfile.scm M src/runtime/sha3.scm M src/runtime/socket.scm M src/runtime/srfi-1.scm M src/runtime/stream.scm M src/runtime/string-io.scm M src/runtime/string.scm M src/runtime/structure-parser.scm M src/runtime/swank.scm M src/runtime/symbol.scm M src/runtime/syncproc.scm M src/runtime/syntax-check.scm M src/runtime/syntax-constructor.scm M src/runtime/syntax-declaration.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-low.scm M src/runtime/syntax-output.scm M src/runtime/syntax-parser.scm M src/runtime/syntax-rename.scm M src/runtime/syntax-rules.scm M src/runtime/syntax.scm M src/runtime/sysclk.scm M src/runtime/sysmac.scm M src/runtime/system.scm M src/runtime/textual-port.scm M src/runtime/thread-barrier.scm M src/runtime/thread-low.scm M src/runtime/thread-queue.scm M src/runtime/thread.scm M src/runtime/transcript.scm M src/runtime/ucd-glue.scm M src/runtime/ucd-table-alpha.scm M src/runtime/ucd-table-canonical-cm-second.scm M src/runtime/ucd-table-canonical-cm.scm M src/runtime/ucd-table-canonical-dm.scm M src/runtime/ucd-table-cased.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-comp_ex.scm M src/runtime/ucd-table-cwcf.scm M src/runtime/ucd-table-cwl.scm M src/runtime/ucd-table-cwu.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gcb.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-lower.scm M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ucd-table-nfd_qc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-upper.scm M src/runtime/ucd-table-wb.scm M src/runtime/ucd-table-wspace.scm M src/runtime/unix-pathname.scm M src/runtime/unsyn.scm M src/runtime/unxdir.scm M src/runtime/unxprm.scm M src/runtime/url.scm M src/runtime/usrint.scm M src/runtime/vector.scm M src/runtime/version.scm M src/runtime/where.scm M src/runtime/win32-registry.scm M src/runtime/wind.scm M src/runtime/world-report.scm M src/runtime/wrkdir.scm M src/runtime/wttree.scm M src/runtime/x11graph.scm M src/runtime/xeval.scm M src/runtime/ystep.scm M src/sf/analyze.scm M src/sf/butils.scm M src/sf/cgen.scm M src/sf/chtype.scm M src/sf/copy.scm M src/sf/emodel.scm M src/sf/gconst.scm M src/sf/make.scm M src/sf/object.scm M src/sf/pardec.scm M src/sf/pthmap.scm M src/sf/reduct.scm M src/sf/sf.cbf M src/sf/sf.pkg M src/sf/sf.sf M src/sf/subst.scm M src/sf/tables.scm M src/sf/toplev.scm M src/sf/usicon.scm M src/sf/usiexp.scm M src/sf/xform.scm M src/sos/class.scm M src/sos/compile.scm M src/sos/ed-ffi.scm M src/sos/geneqht.scm M src/sos/generic.scm M src/sos/genmult.scm M src/sos/instance.scm M src/sos/load.scm M src/sos/macros.scm M src/sos/method.scm M src/sos/microbench.scm M src/sos/printer.scm M src/sos/recslot.scm M src/sos/slot.scm M src/sos/sos.pkg M src/sos/tvector.scm M src/ssp/compile.scm M src/ssp/expenv.scm M src/ssp/load.scm M src/ssp/mod-lisp.scm M src/ssp/ssp.pkg M src/ssp/xhtml-expander.scm M src/ssp/xmlrpc.scm M src/star-parser/compile.scm M src/star-parser/ed-ffi.scm M src/star-parser/load.scm M src/star-parser/matcher.scm M src/star-parser/parser.pkg M src/star-parser/parser.scm M src/star-parser/shared.scm M src/win32/clipbrd.scm M src/win32/dib.scm M src/win32/dibutils/dibutils.c M src/win32/dibutils/dibutils.def M src/win32/dibutils/dibutils.h M src/win32/dibutils/makefile.msc M src/win32/dibutils/makefile.wcc M src/win32/ffimacro.scm M src/win32/graphics.scm M src/win32/make.scm M src/win32/module.scm M src/win32/protect.scm M src/win32/wf_user.scm M src/win32/win32.cbf M src/win32/win32.pkg M src/win32/win32.sf M src/win32/win_ffi.scm M src/win32/wingdi.scm M src/win32/winnt.scm M src/win32/winuser.scm M src/win32/wt_user.scm M src/x11-screen/Makefile.am M src/x11-screen/NEWS M src/x11-screen/compile.sh M src/x11-screen/configure.ac M src/x11-screen/ed-ffi.scm M src/x11-screen/x11-command.scm M src/x11-screen/x11-key.scm M src/x11-screen/x11-screen-test.scm M src/x11-screen/x11-screen.pkg M src/x11-screen/x11-screen.scm M src/x11/Makefile.am M src/x11/NEWS M src/x11/compile.sh M src/x11/configure.ac M src/x11/x11-base.scm M src/x11/x11-color.scm M src/x11/x11-device.scm M src/x11/x11-graphics.scm M src/x11/x11-shim.h M src/x11/x11-terminal.scm M src/x11/x11-test.scm M src/x11/x11.cdecl M src/x11/x11.h M src/x11/x11.pkg M src/x11/x11base.c M src/x11/x11color.c M src/x11/x11graph.c M src/x11/x11term.c M src/xdoc/compile.scm M src/xdoc/db.scm M src/xdoc/load.scm M src/xdoc/validate-xdoc.scm M src/xdoc/xdoc.pkg M src/xdoc/xdoc.scm M src/xml/compile.scm M src/xml/ed-ffi.scm M src/xml/load.scm M src/xml/parser-macro.scm M src/xml/rdf-nt.scm M src/xml/rdf-struct.scm M src/xml/turtle.scm M src/xml/xhtml-entities.scm M src/xml/xhtml.scm M src/xml/xml-chars.scm M src/xml/xml-names.scm M src/xml/xml-output.scm M src/xml/xml-parser.scm M src/xml/xml-rpc.scm M src/xml/xml-struct.scm M src/xml/xml.pkg M src/xml/xpath.scm M tests/check.scm M tests/ffi/Makefile.am M tests/ffi/configure.ac M tests/ffi/ffi-test.c M tests/ffi/test-ffi.scm M tests/load.scm M tests/microcode/test-flonum-casts.scm M tests/microcode/test-keccak.scm M tests/microcode/test-lookup.scm M tests/runtime/test-arith.scm M tests/runtime/test-binary-port.scm M tests/runtime/test-blowfish.scm M tests/runtime/test-boyer-moore.scm M tests/runtime/test-bundle.scm M tests/runtime/test-bytevector.scm M tests/runtime/test-char-set.scm M tests/runtime/test-char.scm M tests/runtime/test-compound-predicate.scm M tests/runtime/test-dragon4.scm M tests/runtime/test-dynamic-env.scm M tests/runtime/test-entity.scm M tests/runtime/test-ephemeron.scm M tests/runtime/test-file-attributes.scm M tests/runtime/test-floenv.scm M tests/runtime/test-hash-table.scm M tests/runtime/test-integer-bits.scm M tests/runtime/test-md5.scm M tests/runtime/test-mime-codec.scm M tests/runtime/test-parametric-predicate.scm M tests/runtime/test-predicate-dispatch.scm M tests/runtime/test-predicate.scm M tests/runtime/test-process.scm M tests/runtime/test-random.scm M tests/runtime/test-readwrite.scm M tests/runtime/test-regsexp.scm M tests/runtime/test-rgxcmp.scm M tests/runtime/test-sha3.scm M tests/runtime/test-srfi-1.scm M tests/runtime/test-stream.scm M tests/runtime/test-string-copy.scm M tests/runtime/test-string-normalization.scm M tests/runtime/test-string-search-data M tests/runtime/test-string-search.scm M tests/runtime/test-string.scm M tests/runtime/test-syncproc.scm M tests/runtime/test-syntax-rename.scm M tests/runtime/test-thread-queue.scm M tests/runtime/test-url.scm M tests/runtime/test-wttree.scm M tests/sos/test-genmult.scm M tests/star-parser/test-parser.scm M tests/unit-testing.scm M tests/xml/test-parser.scm M tests/xml/test-turtle.scm commit c008474e938d0132c423279b6d4ec0a188cab797 Author: Chris Hanson Date: Fri Jun 1 22:26:32 2018 -0700 Change subexpression marker to not require quoting. M src/runtime/debug.scm commit 962b535815bb8606d38f6ff125a35a12940f9798 Author: Chris Hanson Date: Fri Jun 1 22:20:08 2018 -0700 No need to quote weird symbols as strings. M src/runtime/scode.scm commit 5e2cd4805275f3766e5019572b93c12930a0feac Author: Chris Hanson Date: Mon May 28 23:53:16 2018 -0700 Refactor promises again, to support delay-force. This no longer uses scode DELAY expressions, which can be deleted after 9.3 is released. It does continue to use DELAYED objects for type convenience. M src/runtime/boot.scm M src/runtime/framex.scm M src/runtime/host-adapter.scm M src/runtime/microcode-data.scm M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-output.scm commit 02370f6018a54d3e4334e0671c6ec41d8b589e8a Author: Chris Hanson Date: Mon May 28 18:22:13 2018 -0700 Implement make-promise for R7RS. Also clean up promise implementation a bit. M src/runtime/framex.scm M src/runtime/microcode-data.scm M src/runtime/rep.scm M src/runtime/runtime.pkg commit afe3025a40877c377f8af970ba74d53732891aa0 Author: Chris Hanson Date: Mon May 28 17:55:24 2018 -0700 Fill in pseudo-keywords so that they can be imported from libraries. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg commit 85fd220700d151766c767f0193ea4d10bb1056ae Author: Chris Hanson Date: Mon May 28 17:35:07 2018 -0700 Implement call-with-port for R7RS. M src/runtime/runtime.pkg M src/runtime/textual-port.scm commit 02945fa17662f22913f7902deb083285340c8cca Author: Chris Hanson Date: Mon May 28 13:54:43 2018 -0700 Add definitions of standard libraries. A src/runtime/library-database.scm A src/runtime/library-standard.scm M src/runtime/make.scm M src/runtime/runtime.pkg commit 201d6a32a793d7e0c1b7060708ccbb4fbb4ab8f8 Author: Chris Hanson Date: Mon May 28 13:54:17 2018 -0700 Fix thinko: forgot to provide definition of file-error?. M src/runtime/error.scm commit 544544e12f38f974dfa84c087adb0b97ee443977 Author: Chris Hanson Date: Sun May 27 22:05:33 2018 -0700 Implement target-metadata declaration. This declaration has a body that's an alist keyed by symbols. The information in the declaration is carried through the compiler and attached to the compiled code in the wrapper comment. The short-term purpose of this declaration is to attach R7RS library information to compiled code. But it's general enough for other uses too. M src/compiler/base/asstop.scm M src/compiler/base/crsend.scm M src/compiler/base/toplev.scm M src/compiler/fggen/declar.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/x86-64/compiler.pkg M src/runtime/infstr.scm M src/runtime/syntax-declaration.scm M src/sf/cgen.scm commit be8576406e36917e376c82ec98b0668293f683bd Author: Chris Hanson Date: Sun May 27 19:47:13 2018 -0700 Implement vector-any and vector-every. M src/runtime/runtime.pkg M src/runtime/vector.scm commit 0015cb8d1fd4e2a8a51c5d4cd184ab50c4debc17 Author: Chris Hanson Date: Wed May 23 20:49:51 2018 -0700 Fix equal-hash to return the same value as eq-hash on non-pointers. M src/microcode/utils.c commit 98bf28cf96d47794f79397eda0f8590feebc07a1 Author: Chris Hanson Date: Wed May 23 00:18:42 2018 -0700 Use the new hashing primitives to simplify standard hashes. Also, the standard hashes now always return a fixnum. M src/runtime/char-set.scm M src/runtime/equals.scm M src/runtime/global.scm M src/runtime/hash-table.scm M src/runtime/runtime.pkg M src/runtime/string.scm commit 528fdcb53f576f000f4c7e6a71e01c0d7fb23fe1 Author: Chris Hanson Date: Wed May 23 00:17:55 2018 -0700 Rewrite the hashing primitives to support runtime-level hashing. M src/microcode/extern.h M src/microcode/intern.c M src/microcode/prim.c M src/microcode/utils.c commit e6ee3f100afacb6d60c8eb22fb730d705d6c1460 Author: Chris Hanson Date: Tue May 22 22:17:51 2018 -0700 Fix thinko in hash-simple-object and add primitive-memory-hash. M src/microcode/prim.c commit 027ac9a2c3d9d8d3efdfe0ecb16ba3333618db15 Author: Chris Hanson Date: Tue May 22 22:03:15 2018 -0700 Use bytevector instead of string when detecting endianness. M src/runtime/global.scm commit 9c5c3152f122927af60c8f5a7e55fad09f6b9857 Author: Chris Hanson Date: Tue May 22 00:47:12 2018 -0700 Implement hash-simple-object. This works for any object that can be viewed as a contiguous sequence of bytes in memory, so includes strings, bytevectors, symbols, bignums, flonums, and non-pointer objects. This is not tested but also not yet used. M src/microcode/extern.h M src/microcode/intern.c M src/microcode/prim.c M src/microcode/utils.c commit 503e73bcb1dee0065719c01e9cf4e6eaca61155e Author: Chris Hanson Date: Tue May 22 00:46:51 2018 -0700 Move knowledge of unicode strings into sdata.h and object.h. M src/microcode/object.h M src/microcode/sdata.h M src/microcode/string.c commit bb3a4c08a32953fc375b900be06a0d2389129621 Author: Chris Hanson Date: Sun May 20 23:16:48 2018 -0700 Actually implement a library and imports parser. This one isn't done as macros, since these "forms" are a specialized syntax that is available only in constrained contexts. This implementation handles both cond-expand and include-library-declarations. This isn't yet tested, so don't expect it to work. A src/runtime/library-parser.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 0f20b2e7dec48931666aac3f2203e3608f082d69 Author: Chris Hanson Date: Sun May 20 22:42:00 2018 -0700 Refactor cond-expand to separate out the clauses evaluator. Also change cond-expand to use new id!=? for else clause. M src/runtime/mit-macros.scm commit d9273eccf3dc9d0d0b06567b19a78fcadff5a74d Author: Chris Hanson Date: Sun May 20 22:35:26 2018 -0700 Implement spar-arg:id!=? to handle useful case. M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 8b500703872cfab9cf5a0fe5e11f3e63cc815bbd Author: Chris Hanson Date: Sun May 20 17:27:50 2018 -0700 Change symbol Date: Sun May 20 16:59:38 2018 -0700 Clean up loader's handling of pathname and environment. M src/runtime/load.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/ssp/xhtml-expander.scm commit 1d1ac6930a2d1029c445b78c0709e8ca80075659 Author: Chris Hanson Date: Sun May 20 16:59:02 2018 -0700 Move magit-diff-arguments from custom.el to init.el. M src/runtime/dynamic.scm M src/runtime/runtime.pkg commit b7a166d2e43388e29ba58d01624ea26bfb009b41 Author: Chris Hanson Date: Sun May 20 14:03:22 2018 -0700 Implement interaction-environment for R7RS. M src/runtime/runtime.pkg commit d64d38bea99160dfed7e22e1cab64767b95d391b Author: Chris Hanson Date: Sun May 20 14:03:13 2018 -0700 Fix title. M src/runtime/environment.scm commit 70bf1e80dc3a70e2017bacd490516add36c5a8d6 Author: Chris Hanson Date: Sat May 19 22:30:49 2018 -0700 Implement include and include-ci for R7RS. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 1f01d0e200060f2874baf05178d4eea410397eb6 Author: Chris Hanson Date: Sat May 19 22:21:07 2018 -0700 READ no longer uses its environment arg, so remove it. M doc/ref-manual/io.texi M src/edwin/artdebug.scm M src/edwin/debug.scm M src/edwin/evlcom.scm M src/edwin/intmod.scm M src/edwin/prompt.scm M src/runtime/command-line.scm M src/runtime/dbgutl.scm M src/runtime/debug.scm M src/runtime/emacs.scm M src/runtime/input-port.scm M src/runtime/load.scm M src/runtime/rep.scm M src/runtime/usrint.scm M src/runtime/where.scm commit 2e96b4d03b2c50c86ce815877ae9e0f0fb98e501 Author: Chris Hanson Date: Sat May 19 18:05:44 2018 -0700 Non-functioning implementation of import and define-library. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 8ff5fd917ddadf8f706ed0bee7f4404d6dbb4ce6 Author: Chris Hanson Date: Sat May 19 17:47:08 2018 -0700 Capture useful pattern with spar-pattern-fixed-point. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 9c0a2820615bf36e02eeebe2f94d7753f8f0a8d0 Author: Chris Hanson Date: Sat May 19 17:23:29 2018 -0700 Rewrite cond-expand-pattern as cond-expand-clause-pattern. This will allow it to be reused for define-library. M src/runtime/mit-macros.scm commit 151b656606e6cd29a57355b9d85645a302525dc5 Author: Chris Hanson Date: Sat May 19 17:23:03 2018 -0700 Tweak pattern->spar to make it more useful. Also add (cons* ...) pattern. M src/runtime/runtime.pkg M src/runtime/syntax-constructor.scm M src/runtime/syntax-parser.scm commit beb6df488a6c90ce150f2c82207c22dc4ad2b0e8 Author: Chris Hanson Date: Sat May 19 15:06:29 2018 -0700 Fix typo in DISPLAY. M src/runtime/output-port.scm commit 3463bf98c98d7c3766050d84b1b0e3cc31d50067 Author: Chris Hanson Date: Fri May 18 23:42:54 2018 -0700 Implement define-values for R7RS. M src/runtime/lambda-list.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit a198d4330559e7dfc544fcfb25514799941c8912 Author: Chris Hanson Date: Fri May 18 23:21:05 2018 -0700 Split command-line processing out of load into its own file. Also implement command-line for R7RS, renaming existing command-line to command-line-arguments. M doc/user-manual/user.texinfo A src/runtime/command-line.scm M src/runtime/interrupt.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/runtime.pkg commit 6a54b246c074acba0e1e1d4dcb808a296e49c8e9 Author: Chris Hanson Date: Fri May 18 21:24:53 2018 -0700 Implement exact-integer-sqrt for R7RS. M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg commit b280c443f63b7c1694a941e71940955256c05e28 Author: Chris Hanson Date: Thu May 17 00:08:53 2018 -0700 Implement CASE-LAMBDA for R7RS. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 93395033dcfa5e1466c76055f5d83218d91a449f Author: Chris Hanson Date: Wed May 16 22:37:24 2018 -0700 Make sure that value of r4rs-lambda-list-arity is simplified. M src/runtime/lambda-list.scm commit 3c10840175a87d2d7e04ea6a7d0ba22f4cef9f56 Author: Chris Hanson Date: Wed May 16 22:16:19 2018 -0700 Implement fold-r4rs-lambda-list and r4rs-lambda-list-arity. M src/runtime/lambda-list.scm M src/runtime/runtime.pkg commit ac50ddfe81fe7b763c9b6276c7b096b02311f5eb Author: Chris Hanson Date: Tue May 15 22:32:46 2018 -0700 Implement GUARD for R7RS. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 95de44cd3d57900db1cc2e4ff9d6240713ac89bb Author: Chris Hanson Date: Mon May 14 21:48:25 2018 -0700 Change users of arity-dispatched-procedure to use the abstraction. M src/runtime/apply.scm M src/runtime/arith.scm M src/runtime/runtime.pkg commit ba41a57470157972fe43db4073965948c05923a6 Author: Chris Hanson Date: Mon May 14 21:36:22 2018 -0700 Move the arity-dispatcher-tag from the microcode to the runtime system. M src/microcode/utabmd.c M src/runtime/procedure.scm commit 37a4d9c5c23c1ad1625c3c7b87f3dcb2fae43e06 Author: Chris Hanson Date: Mon May 14 21:35:24 2018 -0700 Rewrite microcode-tables.scm for simplicity. Also add a 'fixed-objects boot-actions list and change record.scm to use it. M doc/ref-manual/os-interface.texi M src/runtime/make.scm M src/runtime/microcode-tables.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/savres.scm commit cb58c99d0baf84263ada1870a91a2f65e1f33901 Author: Chris Hanson Date: Mon May 14 12:31:25 2018 -0700 A few more fall-through comments. M src/microcode/syntax.c commit dad6076abd5f9f1a4bc446e6262459d595e746c9 Author: Chris Hanson Date: Mon May 14 12:29:35 2018 -0700 Add comments to suppress fall-through warnings in GCC 7. M src/microcode/findprim.c M src/microcode/interp.c M src/microcode/syntax.c commit 1cf44293d6efe09487900def9953730abca75a54 Author: Chris Hanson Date: Sun May 13 21:54:30 2018 -0700 Apple doesn't need special definition for jiffies-per-second. M src/microcode/uxenv.c commit 6609abea3f6ce6858de5824cb6a6e8607e412817 Author: Chris Hanson Date: Sun May 13 21:52:51 2018 -0700 Don't use CLOCKS_PER_SEC for the value returned by times(). M src/microcode/uxenv.c commit 86dd794c2659882b4adb469d2153ba1d010ffb7c Author: Chris Hanson Date: Sun May 13 21:29:35 2018 -0700 Add missing procedure in host-adapter. M src/runtime/host-adapter.scm commit 16b5b13b16b3023d2e11b7054eb9eaad2fe2100b Author: Chris Hanson Date: Sun May 13 21:20:23 2018 -0700 Implement CURRENT-JIFFY and JIFFIES-PER-SECOND for R7RS. Very rough implementation, may return process time instead of real time on non-POSIX systems. M src/microcode/ntenv.c M src/microcode/osenv.h M src/microcode/prosenv.c M src/microcode/uxenv.c M src/runtime/runtime.pkg M src/runtime/sysclk.scm commit 5b1bfd0ea43e13b46a5a7be83eb97fa813fbd0d8 Author: Chris Hanson Date: Sun May 13 20:06:41 2018 -0700 Implement CURRENT-SECOND for R7RS. M src/runtime/datime.scm M src/runtime/runtime.pkg commit bf5113c37b284a38a38d6ba18f7fd8a6ddba6cf4 Author: Chris Hanson Date: Sun May 13 20:02:16 2018 -0700 Fix bug: earlier rewrite of printer broke pp. M src/runtime/pp.scm M src/runtime/printer.scm M src/runtime/runtime.pkg commit aff3916c934e573cd5434f4e7201931df451a2f6 Author: Chris Hanson Date: Sun May 13 19:43:57 2018 -0700 Implement get-environment-variables for R7RS. M src/microcode/prntenv.c M src/microcode/pruxenv.c M src/runtime/hash-table.scm M src/runtime/make.scm M src/runtime/ntprm.scm A src/runtime/os-primitives.scm M src/runtime/runtime.pkg M src/runtime/unxprm.scm commit 81e2017c0a442d4770a3bb7e7248689196c940c6 Author: Chris Hanson Date: Sun May 13 19:43:42 2018 -0700 More R7RS tags. M src/runtime/runtime.pkg commit c750643a6d602fbb841169de1e8f55996c4c5d9b Author: Chris Hanson Date: Sun May 13 17:15:59 2018 -0700 Rename GET-SUPPORTED-FEATURES to FEATURES for R7RS. Also add some more R7RS comments to runtime.pkg. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 4f0804233ba6521d65379d054237a5f5af2208a3 Author: Chris Hanson Date: Sun May 13 17:13:21 2018 -0700 A bunch of changes to implement R7RS exit/emergency-exit. * The EXIT procedure has been removed. * The %EXIT procedure has been renamed to EXIT. * The EMERGENCY-EXIT procedure has been added. * The optional argument to the above has been generalized to meet R7RS requirements. * The QUIT procedure has been renamed to SUSPEND to more accurately reflect what it does. * The names %EXIT and QUIT are deprecated aliases for EXIT and SUSPEND. M src/6001/edextra.scm M src/6001/make.scm M src/edwin/basic.scm M src/edwin/dos.scm M src/edwin/editor.scm M src/edwin/intmod.scm M src/edwin/unix.scm M src/runtime/console-io.scm M src/runtime/gc.scm M src/runtime/global.scm M src/runtime/interrupt.scm M src/runtime/load.scm M src/runtime/runtime.pkg M src/runtime/swank.scm commit 2f0cd4788dcb8658417a31370a9a6fe4ae83cb2d Author: Chris Hanson Date: Sun May 13 16:05:37 2018 -0700 Don't expose internal structure of continuations. M src/runtime/runtime.pkg commit f1e5002ad0fb77bfa9aba205f2cc1311c2a9a740 Author: Chris Hanson Date: Sat May 12 23:22:28 2018 -0700 Eliminate two unused exports. M src/runtime/runtime.pkg commit 5455ac88cf262adcff438fd204150f64f9153974 Author: Chris Hanson Date: Sat May 12 23:19:18 2018 -0700 Eliminate uses of unparser/set-tagged-{pair,vector}-unparser!. Also change their implementation to use define-print-method. M src/compiler/base/object.scm M src/edwin/window.scm M src/runtime/dos-pathname.scm M src/runtime/gdatab.scm M src/runtime/make.scm M src/runtime/poplat.scm M src/runtime/printer.scm M src/runtime/prop1d.scm M src/runtime/random.scm M src/runtime/runtime.pkg M src/runtime/thread.scm M src/runtime/unix-pathname.scm M src/sf/pthmap.scm commit d686a3df18a6be0c8c3b1762be3bf21b4662de3c Author: Chris Hanson Date: Sat May 12 23:18:05 2018 -0700 Rename a bunch of places from "unparse" to "print". M src/runtime/conpar.scm M src/runtime/defstr.scm M src/runtime/dos-pathname.scm M src/runtime/global.scm M src/runtime/pp.scm M src/runtime/unix-pathname.scm commit 204f25fcc574791fbac82cb0d7a4ad42f52295e0 Author: Chris Hanson Date: Sat May 12 23:15:36 2018 -0700 Eliminate other references to "unparser" in the documentation. M doc/ref-manual/special-forms.texi commit 417efae3e637cab294b4b2c5ebbae666ecaab282 Author: Chris Hanson Date: Sat May 12 22:33:03 2018 -0700 Simplify *print-with-brackets a bit. M src/runtime/printer.scm commit eacd95623315f04303a6fa92c676d9074b27d7fc Author: Chris Hanson Date: Sat May 12 22:32:36 2018 -0700 Assume that named vector/list unparsers are in fact print methods. M src/runtime/printer.scm commit f552cac660fc0fd8fe6deaeb33180d653f545f55 Author: Chris Hanson Date: Sat May 12 22:30:48 2018 -0700 Clean up printer bindings. M src/runtime/runtime.pkg commit 8574e9159b5b5810a250e40404c51413586fe79a Author: Chris Hanson Date: Sat May 12 22:30:12 2018 -0700 Change "unparser" to "printer" in number printer. M src/runtime/dragon4.scm commit f3a51e126539b398e48ac49805d88d9e49b4f602 Author: Chris Hanson Date: Sat May 12 21:36:32 2018 -0700 Update document to reflect new print-method implementation. M doc/ref-manual/io.texi M doc/ref-manual/special-forms.texi commit 8a888d9cfd986cb2dd8ebd2e865971f593007cb2 Author: Chris Hanson Date: Sat May 12 21:23:21 2018 -0700 Major refactor to how printer methods work. * Replaced define-unparser-method with define-print-method. A print method is an ordinary procedure that accepts an object and an output port as its arguments and prints whatever it wants to. The translation layer required by older unparser methods is no longer needed. * New standard-print-method is roughly equivalent to simple-unparser-method. * New bracketed-print-method is roughly equivalent to standard-unparser-method. * Changed the printer to handle standard-print-method specially when detecting cycles and shared structure, so that an object using that print method has its parts walked when looking for shared/cyclic structure. M src/compiler/base/blocks.scm M src/compiler/base/ctypes.scm M src/compiler/base/enumer.scm M src/compiler/base/lvalue.scm M src/compiler/base/object.scm M src/compiler/base/proced.scm M src/compiler/base/rvalue.scm M src/compiler/base/subprb.scm M src/compiler/rtlbase/rtlobj.scm M src/compiler/rtlbase/valclass.scm M src/compiler/rtlopt/rcseht.scm M src/compiler/rtlopt/rcserq.scm M src/compiler/rtlopt/rdflow.scm M src/cref/object.scm M src/edwin/artdebug.scm M src/edwin/bufwin.scm M src/edwin/calias.scm M src/edwin/clscon.scm M src/edwin/comman.scm M src/edwin/display.scm M src/edwin/editor.scm M src/edwin/edtstr.scm M src/edwin/keyparse.scm M src/edwin/modes.scm M src/edwin/struct.scm M src/edwin/window.scm M src/gdbm/gdbm.scm M src/imail/imail-core.scm M src/imail/imail-mime.scm M src/runtime/binary-port.scm M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/condvar.scm M src/runtime/defstr.scm M src/runtime/dispatch-tag.scm M src/runtime/error.scm M src/runtime/ffi.scm M src/runtime/gdbm.scm M src/runtime/graphics.scm M src/runtime/host-adapter.scm M src/runtime/http-io.scm M src/runtime/http-syntax.scm M src/runtime/packag.scm M src/runtime/pathname.scm M src/runtime/poplat.scm M src/runtime/predicate.scm M src/runtime/printer.scm M src/runtime/prop1d.scm M src/runtime/random.scm M src/runtime/record.scm M src/runtime/reference-trap.scm M src/runtime/rfc2822-headers.scm M src/runtime/runtime.pkg M src/runtime/sfile.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/textual-port.scm M src/runtime/thread-queue.scm M src/runtime/thread.scm M src/runtime/url.scm M src/runtime/win32-registry.scm M src/runtime/x11graph.scm M src/sf/object.scm M src/sf/pthmap.scm M src/sos/class.scm M src/sos/printer.scm M src/win32/module.scm M src/x11/x11-device.scm M src/xml/rdf-struct.scm M src/xml/xml-names.scm M src/xml/xml-output.scm M src/xml/xml-struct.scm commit 58bae6482a58dbdcaba28ef175bf1b6f57fd8e2a Author: Chris Hanson Date: Fri May 11 23:20:31 2018 -0700 Implement R7RS write procedures with datum labels. For now, write and write-shared do the same thing. Limiting the labeling to circularities is harder than doing all sharing, and unless I can find some new algorithms, it is slower too. So write will generate more datum labels than strictly necessary, but it is safe for printing circular structures. M src/runtime/output-port.scm M src/runtime/printer.scm M src/runtime/runtime.pkg commit f1c07f1f4b395a35b7a451327f117b72274a6d62 Author: Chris Hanson Date: Fri May 11 23:20:14 2018 -0700 Remove unneeded environment arguments from various printers. M src/edwin/intmod.scm M src/runtime/emacs.scm M src/runtime/rep.scm M src/runtime/swank.scm M src/runtime/usrint.scm commit af2071bcb90dca29bd280f9d436de7cba1fca927 Author: Chris Hanson Date: Fri May 11 21:11:25 2018 -0700 Eliminate optional environment arg to write/display/etc. Also eliminate output-port/write-object and make-unparser-state. M src/runtime/output-port.scm M src/runtime/printer.scm M src/runtime/runtime.pkg commit 865c0a90089ffe3f8cd5c5ed63dcc6f04147bd07 Author: Chris Hanson Date: Wed May 9 23:08:35 2018 -0700 Big refactor: rename parser/unparser to reader/printer. Updated all references and left a couple of renames in place for documented functionality. M doc/ref-manual/io.texi M doc/ref-manual/numbers.texi M src/6001/nodefs.scm M src/compiler/base/debug.scm M src/compiler/base/object.scm M src/compiler/base/proced.scm M src/compiler/base/toplev.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/dassm1.scm M src/edwin/artdebug.scm M src/edwin/debug.scm M src/edwin/edwin.pkg M src/edwin/evlcom.scm M src/edwin/intmod.scm M src/edwin/prompt.scm M src/edwin/schmod.scm M src/etc/find-folded.scm M src/etc/ucd-converter.scm M src/ffi/cdecls.scm M src/imail/imail-util.scm M src/runtime/boot.scm M src/runtime/debug.scm M src/runtime/dragon4.scm M src/runtime/ed-ffi.scm M src/runtime/error.scm M src/runtime/global.scm M src/runtime/input-port.scm M src/runtime/make.scm M src/runtime/output-port.scm M src/runtime/pathname.scm M src/runtime/pp.scm A src/runtime/printer.scm R086 src/runtime/parser.scm src/runtime/reader.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/stack-sample.scm M src/runtime/swank.scm D src/runtime/unpars.scm M src/runtime/world-report.scm M src/sf/cgen.scm M src/sos/microbench.scm M tests/runtime/test-dragon4.scm M tests/runtime/test-file-attributes.scm M tests/unit-testing.scm commit 1aa54d8780ae820b9d9d4e45e0f3144dc0d04097 Author: Chris Hanson Date: Tue May 8 22:03:23 2018 -0700 Implement console-error-port and initialize current-error-port to it. M src/runtime/console-io.scm M src/runtime/runtime.pkg commit 66999bd7a884e7b7d641b0a864202840051eb6a1 Author: Chris Hanson Date: Tue May 8 21:59:47 2018 -0700 Implement current-error-port. M src/runtime/runtime.pkg M src/runtime/textual-port.scm commit 74c1b46c4d586e814d14dbaf078989df2d8f9c25 Author: Chris Hanson Date: Tue May 8 21:58:35 2018 -0700 Implement tty-error-channel and export to console I/O. M src/runtime/primitive-io.scm M src/runtime/runtime.pkg commit e3553c49506965be4c1d1c9d7e2e5be6bb6525a7 Author: Chris Hanson Date: Tue May 8 21:56:42 2018 -0700 Implement replace-binary-port! on generic I/O ports. M src/runtime/generic-io.scm M src/runtime/runtime.pkg commit 413b43c421e0aabef510b6dbfd204f63a64050f1 Author: Chris Hanson Date: Tue May 8 21:54:21 2018 -0700 Provide access to the channels in a binary port. M src/runtime/binary-port.scm M src/runtime/runtime.pkg commit 3c875a4dfbc7907615f59fd679be8dba2b7a8640 Author: Chris Hanson Date: Tue May 8 21:50:15 2018 -0700 Simplify console port exports. * Eliminate console-input-port, console-output-port, and set-console-i/o-port!. * Change console-i/o-port to be a thunk that returns the port. M src/edwin/bios.scm M src/edwin/termcap.scm M src/edwin/tterm.scm M src/edwin/win32.scm M src/runtime/console-io.scm M src/runtime/gcstat.scm M src/runtime/interrupt.scm M src/runtime/make.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/thread.scm commit 8377a31e8947031a9d0c737ba7babb5a7dcb082b Author: Chris Hanson Date: Tue May 8 21:45:21 2018 -0700 Implement support for stderr. M src/microcode/nttty.c M src/microcode/ostty.h M src/microcode/prostty.c M src/microcode/uxtty.c commit 2dad5fe456ead29c3006fd45a06b84e3046a8e82 Author: Chris Hanson Date: Mon May 7 22:08:19 2018 -0700 Implement R7RS exceptions. M src/runtime/error.scm M src/runtime/parser.scm M src/runtime/runtime.pkg commit a892e59b1fca6a222b4b252da90a2a5f19462542 Author: Chris Hanson Date: Mon May 7 22:08:01 2018 -0700 Fix typo in previous change. M src/runtime/error.scm commit 7fa433dfc5254cf4821ce3aeaaed8946d83a4743 Author: Chris Hanson Date: Mon May 7 00:00:24 2018 -0700 Fix bug: error:file-operation couldn't work properly. This is because substitutable-value-condition-signaller was mis-designed. It added retries *after* building the condition, so they weren't in the condition and would never be shown. I rewrote error:file-operation based on the model in microcode-errors.scm which was apparently a workaround for the fact that error:file-operation didn't work. This entailed a small but incompatible change to the procedure's arguments. M doc/ref-manual/error.texi M src/edwin/dosfile.scm M src/edwin/unix.scm M src/runtime/dos-pathname.scm M src/runtime/error.scm M src/runtime/load.scm M src/runtime/microcode-errors.scm M src/runtime/pathname.scm M src/runtime/primitive-io.scm M src/runtime/runtime.pkg M src/runtime/unix-pathname.scm M src/runtime/wrkdir.scm commit 84e37896d99dacca308aeb463edec6fdcc70249e Author: Chris Hanson Date: Wed May 2 23:15:02 2018 -0700 Add support for parsing nan.0, +inf.0, and -inf.0. Not sure if nan.0 is meaningful, but it shouldn't do any harm. M src/compiler/fgopt/folcon.scm M src/runtime/numpar.scm M src/runtime/parser.scm M src/sf/object.scm M tests/runtime/test-arith.scm commit bafe60c3e74bbd4bd7d4db1d8d5de20c4a897bb1 Author: Chris Hanson Date: Wed May 2 23:08:03 2018 -0700 Update to reflect changes in runtime system. M tests/runtime/test-arith.scm commit 9ac0fe20f84a7bcaa9c724189e3ab08a19769456 Author: Chris Hanson Date: Wed May 2 23:07:46 2018 -0700 Add procedures to generate infinities and a nan. M src/runtime/floenv.scm M src/runtime/runtime.pkg commit 091970fa8ae443f126072f9a5054d0fbd85d8829 Author: Chris Hanson Date: Wed May 2 22:52:12 2018 -0700 Don't constant-fold an application if it generates an error. Also fix overlong lines and pages in object.scm. M src/compiler/fgopt/folcon.scm M src/sf/object.scm commit 9ee1afb420e5bf8b9ab8db7f1fa994488ec20ddf Author: Chris Hanson Date: Tue May 1 23:45:02 2018 -0700 Implement finite?, infinite?, and nan? from R7RS. M src/runtime/arith.scm M src/runtime/runtime.pkg commit 31d807243deb32e28399960fd7c3aeed39138b27 Author: Chris Hanson Date: Tue May 1 23:42:45 2018 -0700 Fix typo in previous edit. M src/runtime/dragon4.scm commit ec21bae51997b55d81bb369a3eac885caabfde56 Author: Chris Hanson Date: Tue May 1 23:36:10 2018 -0700 Change rational? to be false for inf/nan. M src/runtime/arith.scm commit 6ada7103062ecec31a07fcd03567d3f84167c4b6 Author: Chris Hanson Date: Tue May 1 23:35:32 2018 -0700 Change printed representation of inf/nan to match R7RS. M src/runtime/dragon4.scm commit fe46e8c697bb87d6f56a30f3807f77b9274890c2 Author: Chris Hanson Date: Tue May 1 23:27:57 2018 -0700 Add support for C99 floating-point predicates. Also expose those predicates in Scheme, and implement flo:eqv? properly. M src/microcode/artutl.c M src/microcode/extern.h M src/microcode/flonum.c M src/runtime/arith.scm M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg commit cf9257c5f54c90e01825841f31d1982d2c40ebdb Author: Chris Hanson Date: Mon Apr 30 23:52:22 2018 -0700 Update documentation of booleans. M doc/ref-manual/misc-datatypes.texi commit 78921fbc27deb754fb92630a88c26846678c37b7 Author: Chris Hanson Date: Mon Apr 30 23:48:06 2018 -0700 Generalize boolean=? to support multiple arguments. M src/runtime/boole.scm commit 7f12c57ce623090bf47eb4b7ee2991a216574962 Author: Chris Hanson Date: Mon Apr 30 23:26:24 2018 -0700 Tweak char and string chapters to be closer to R7RS. M doc/ref-manual/characters.texi M doc/ref-manual/strings.texi commit 1999db7c5f5bb50f03e854b9920fc7ed7147c60c Author: Chris Hanson Date: Mon Apr 30 11:59:57 2018 -0700 Eliminate bundle types; original design using predicates is better. M src/runtime/bundle.scm M src/runtime/global.scm M src/runtime/hash.scm M src/runtime/runtime.pkg M tests/runtime/test-bundle.scm commit a20ba0e05b4fb25a05a6d884b90d0cd3ccdb4036 Author: Chris Hanson Date: Mon Apr 30 11:14:36 2018 -0700 Convert object hasher to be a bundle. M src/runtime/hash.scm commit 3e7583b05de6e67fd103eb739a16d5f4971a91a0 Author: Chris Hanson Date: Mon Apr 30 10:55:24 2018 -0700 Fix thinko as reported by Patric Jonsson. Incorrectly computed length of result in exact-nonnegative-integer->bytevector. M src/runtime/bytevector.scm commit 10f0f3f9d0b5257c69a7c03860063058d7b62fc8 Author: Chris Hanson Date: Sun Apr 29 15:57:51 2018 -0700 Convert metadata tables to be bundles. M src/runtime/bundle.scm M src/runtime/char.scm M src/runtime/compound-predicate.scm M src/runtime/dynamic.scm M src/runtime/global.scm M src/runtime/hash-table.scm M src/runtime/host-adapter.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg M src/runtime/textual-port.scm M tests/unit-testing.scm commit 2a2be28fb2aadb1daef8bcd6785ffb8dfa4c17cd Author: Chris Hanson Date: Sun Apr 29 15:50:11 2018 -0700 Initialize applicable records much earlier in the cold load. M src/runtime/make.scm M src/runtime/record.scm commit eeb6fd1c573a011904996f98cc51b497771ae8a2 Author: Chris Hanson Date: Sun Apr 29 14:49:59 2018 -0700 Clean up bundle implementation. M src/runtime/bundle.scm M src/runtime/runtime.pkg M tests/runtime/test-bundle.scm commit 84f06651d1205f1add6d68edad50402da13c8fc5 Author: Chris Hanson Date: Sat Apr 28 22:41:08 2018 -0700 Revert bundle abstraction back to what we are using the in the book. The previous version didn't really do what I wanted and this one is useful in a more limited context. M src/runtime/bundle.scm M src/runtime/make.scm M src/runtime/mit-macros.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg M tests/runtime/test-bundle.scm commit 35295460eadc8287adacd9719c451a06d7dd15da Author: Chris Hanson Date: Sat Apr 28 22:40:42 2018 -0700 Fix typo: accidentally discarded initialization in earlier change. M src/runtime/record.scm commit 17cb18c746e33c3b611b86ded393bfde9d048be2 Author: Chris Hanson Date: Sat Apr 28 22:09:56 2018 -0700 Integrate applicable records into the procedure abstraction. Also, don't allow applicable records to be made non-applicable. This sort of satisfies the idea that predicates aren't time-varying, provided that the record type's applicator is set immediately after definition. M src/runtime/predicate.scm M src/runtime/procedure.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit 2b717bf596573234f323b19f0f0310b4109b24d5 Author: Chris Hanson Date: Sat Apr 28 20:50:25 2018 -0700 Add adapter for hash-object. M src/runtime/host-adapter.scm commit c80181fe16a4ab86f79ac7dff1a7974459b43e08 Author: Chris Hanson Date: Sat Apr 28 16:56:14 2018 -0700 Implement symbol=? for R7RS. Also fix some symbol procedures that were unsafe. M src/runtime/runtime.pkg M src/runtime/symbol.scm commit f01cc62deaf4cad022107335e8d09d20edc2279d Author: Chris Hanson Date: Fri Apr 27 22:21:38 2018 -0700 Change hash tables to use define-record-type instead of define-structure. This has the advantage of eliminating the need for nearly all of the calls to guarantee, which should at worst be a net wash and at best will be slightly faster. (Not a big deal either way.) A second advantage is, of course, eliminating the use of define-structure. M src/runtime/hash-table.scm commit 6b629abead354bafd5643fafc71139d289f3b0d6 Author: Chris Hanson Date: Fri Apr 27 21:59:58 2018 -0700 Fix breakage I caused with a previous refactoring. The procedures hash-table-update! and hash-table/modify! were not equivalent, as I blindly assumed during the refactor. Changing hash-table-update! to use the same implementation as hash-table/modify! caused the unit tests to fail, because that implementation couldn't implement the tested behavior. Rather than try to fix the implementation, I reverted hash-table-update! to its previous implementation. The rationale for this is that fixing the implementation would effectively eliminate its performance advantage, while still being hard to understand. The older implementation is trivial to understand and eliminates the restriction that the update procedure not use the hash table. An additional complication arose because the previous implementation of hash-table-update! returned an unspecified value, which broke hash-table-intern! and caused hash-table/modify! to differ from its previous behavior. I fixed these by rewriting them without using hash-table-update!. M doc/ref-manual/associations.texi M src/runtime/hash-table.scm commit def85265a5113987b6c34afb22ae56a9a7d53d3e Author: Chris Hanson Date: Thu Apr 26 22:37:04 2018 -0700 Deprecate with-values. M src/runtime/global.scm M src/runtime/runtime.pkg commit 25a5a7cedaf77508f71dbb6d99344502ed36018c Author: Chris Hanson Date: Thu Apr 26 21:51:27 2018 -0700 Rename urtrap.scm -> reference-trap.scm. M src/runtime/ed-ffi.scm R100 src/runtime/urtrap.scm src/runtime/reference-trap.scm M src/runtime/runtime.pkg commit d454cf16d21ecaa9b91d9625ad9cce6ff021cb33 Author: Chris Hanson Date: Thu Apr 26 21:47:59 2018 -0700 Export scode-expression?. M src/runtime/runtime.pkg M src/runtime/scode.scm commit 89937fd860c92ae28cb3760770ba3dd39c1ff727 Author: Chris Hanson Date: Thu Apr 26 00:03:07 2018 -0700 Eliminate now-deprecated references to hash-table procedures. M src/edwin/comman.scm M src/edwin/curren.scm M src/edwin/eystep.scm M src/edwin/prompt.scm M src/edwin/xterm.scm M src/imail/imail-core.scm M src/ssp/xmlrpc.scm M src/x11-screen/x11-screen.scm M src/xdoc/xdoc.scm commit f3e390e3b31c45f64e9739943f461d2321ff9dd5 Author: Chris Hanson Date: Wed Apr 25 23:48:49 2018 -0700 Update hash-table documentation in the reference manual. M doc/ref-manual/associations.texi commit 969d2a92476f32fe42fdf36fa5a41d3ad9cff6bf Author: Chris Hanson Date: Wed Apr 25 23:48:22 2018 -0700 Mark all of the hash-table renames as deprecated. M src/runtime/runtime.pkg commit 317df964a492c2e5e24cc7d790cabaf41587775f Author: Chris Hanson Date: Wed Apr 25 23:21:44 2018 -0700 Rename hash-table-entry-type:key{/,&}datum-weak. This makes it consistent with the ephemeron naming. M src/runtime/hash-table.scm M src/runtime/runtime.pkg M tests/runtime/test-hash-table.scm commit 48141dadc553439c76c8682c3249b82f81da1959 Author: Chris Hanson Date: Wed Apr 25 23:18:24 2018 -0700 Fix missed reference. M src/runtime/hash-table.scm commit fdac71c8382601b5876460d4ffdc63fe70ea7285 Author: Chris Hanson Date: Tue Apr 24 22:56:12 2018 -0700 Rewrite the object hashing facility. * Names have been changed to avoid conflicts with hash tables, and for consistency. The old names are still available as deprecated renames. * New implementation is much easier to read. M doc/ref-manual/associations.texi M src/compiler/base/object.scm M src/compiler/rtlopt/rcse2.scm M src/compiler/rtlopt/rdebug.scm M src/edwin/evlcom.scm M src/edwin/regcom.scm M src/edwin/regexp.scm M src/edwin/struct.scm M src/runtime/boot.scm M src/runtime/hash.scm M src/runtime/parser.scm M src/runtime/prop2d.scm M src/runtime/rep.scm M src/runtime/runtime.pkg M src/runtime/swank.scm M src/runtime/unpars.scm M src/runtime/world-report.scm M src/sos/printer.scm M src/xml/rdf-struct.scm commit 025c5cd4ecd855953c5fb34355eabf77af289cea Author: Chris Hanson Date: Tue Apr 24 22:55:42 2018 -0700 Add type and constructors for datum-weak hash tables. M src/runtime/hash-table.scm M src/runtime/runtime.pkg commit 471b152f1202377a62e5ceb6c29e687d90741804 Author: Chris Hanson Date: Tue Apr 24 22:42:41 2018 -0700 Fix typo. M doc/ref-manual/strings.texi commit cfaac050780b33fb8b8966376d9c2d32c59c059b Author: Chris Hanson Date: Tue Apr 24 20:50:37 2018 -0700 Refactor hash-table to clean up some issues noted in previous change. * Export former %make-hash-table as make-hash-table*. * Create new make-hash-table-type* which can create a type given an equality predicate and some keyword options. If the equality predicate has registered properties, no additional options may be necessary, except perhaps to choose the entry type (which is specified by name). * Change make-hash-table to accept the same options as make-hash-table-type* and to use the same defaulting. * Change internal procedure follow-memo-crap to hash-metadata, which more accurately reflects its purpose: to get a properties table for the primary hash parameters. M src/runtime/hash-table.scm M src/runtime/runtime.pkg commit c9ef69744bb153ac62958d19e8cbe23bc9510544 Author: Chris Hanson Date: Mon Apr 23 23:19:40 2018 -0700 Rename set-equality-predicate-hasher! -> set-equality-predicate-properties!. Now has two required arguments: hash-function and rehash-after-gc?. A rest argument is a keyword list for additional properties. M src/runtime/hash-table.scm M src/runtime/memoizer.scm M src/runtime/runtime.pkg commit af10e37373567b8bfd46bc6d490f1babf1d8cd48 Author: Chris Hanson Date: Mon Apr 23 23:16:18 2018 -0700 Change keyword-option-parser to expect defaults as a thunk. M src/runtime/list.scm M src/runtime/string.scm commit 057f6ca992401ed64bdf9e05dec8448603198977 Author: Chris Hanson Date: Mon Apr 23 23:15:45 2018 -0700 Move int:modulo to primitive-arithmetic and export it. M src/runtime/arith.scm M src/runtime/primitive-arithmetic.scm M src/runtime/runtime.pkg commit 8d66b76a32561d34e06bd0c72396b8a0918bb598 Author: Chris Hanson Date: Sun Apr 22 23:34:31 2018 -0700 Standardize hash tables on SRFI-69 names and deprecate others. Change make-hash-table to be smarter about choosing the appropriate hash function for a given equality predicate. Also work around name collisions in rtlopt/rcse*.scm, and tweak the hash-table implementation to favor SRFI-69. Some work remains: the code around building hash-table types needs to be re-thought: it's a little clunky and could usefully take advantage of keyword arguments. (These keyword arguments should also be supported by make-hash-table.) The hash function should be optional and use the equality-predicate default. The older %make-hash-table should be renamed and exported as it's the right interface when using types. M src/compiler/back/symtab.scm M src/compiler/back/syntax.scm M src/compiler/base/infnew.scm M src/compiler/machines/C/decls.scm M src/compiler/machines/C/stackify.scm M src/compiler/machines/i386/decls.scm M src/compiler/machines/i386/lapopt.scm M src/compiler/machines/svm/assembler-runtime.scm M src/compiler/machines/svm/decls.scm M src/compiler/machines/x86-64/decls.scm M src/compiler/machines/x86-64/lapopt.scm M src/compiler/rtlbase/rtlcon.scm M src/compiler/rtlbase/rtlobj.scm M src/compiler/rtlgen/opncod.scm M src/compiler/rtlopt/rcse1.scm M src/compiler/rtlopt/rcse2.scm M src/compiler/rtlopt/rcseht.scm M src/compiler/rtlopt/rerite.scm M src/edwin/abbrev.scm M src/edwin/comman.scm M src/edwin/curren.scm M src/edwin/edtstr.scm M src/edwin/eystep.scm M src/edwin/nntp.scm M src/edwin/prompt.scm M src/edwin/rcsparse.scm M src/edwin/snr.scm M src/edwin/utils.scm M src/edwin/win32.scm M src/edwin/xterm.scm M src/imail/imail-core.scm M src/imail/imail-file.scm M src/imail/imail-imap.scm M src/imail/imail-mime.scm M src/imail/imail-top.scm M src/runtime/hash-table.scm M src/runtime/hash.scm M src/runtime/host-adapter.scm M src/runtime/memoizer.scm M src/runtime/runtime.pkg M src/runtime/sfile.scm M src/runtime/stack-sample.scm M src/runtime/string.scm M src/runtime/swank.scm M src/runtime/syntax-rename.scm M src/runtime/unxprm.scm M src/runtime/url.scm M src/sos/class.scm M src/ssp/mod-lisp.scm M src/ssp/xhtml-expander.scm M src/ssp/xmlrpc.scm M src/star-parser/matcher.scm M src/star-parser/parser.scm M src/star-parser/shared.scm M src/win32/win_ffi.scm M src/x11-screen/x11-screen.scm M src/xdoc/validate-xdoc.scm M src/xdoc/xdoc.scm M src/xml/rdf-struct.scm M src/xml/turtle.scm M src/xml/xhtml-entities.scm M src/xml/xhtml.scm M src/xml/xml-names.scm M tests/runtime/test-boyer-moore.scm M tests/runtime/test-hash-table.scm commit 6e0bb5208e946d950c48f043791dba4d83411175 Author: Chris Hanson Date: Sat Apr 21 23:28:35 2018 -0700 Make sure that run-three-stages looks at "build" before "svm". M etc/run-three-stages commit 912326735140d7562cc22f47dc64be957289f060 Author: Chris Hanson Date: Sat Apr 21 22:08:44 2018 -0700 Eliminate remaining uses of find-matching-item. M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/assembler-runtime.scm M src/compiler/machines/svm/disassembler.scm M src/cref/forpkg.scm M src/cref/object.scm M src/edwin/sendmail.scm M src/edwin/unix.scm M src/ffi/generator.scm M src/sf/emodel.scm M src/ssp/mod-lisp.scm M src/star-parser/shared.scm M src/xdoc/xdoc.scm M src/xml/rdf-struct.scm M src/xml/xml-parser.scm M src/xml/xml-rpc.scm commit f02e4750ba53ca5e0c0932d53e0ff646bf3a6bd9 Author: Chris Hanson Date: Sat Apr 21 22:05:07 2018 -0700 Eliminate remaining uses of list-search-positive. M src/compiler/back/mermap.scm M src/compiler/back/regmap.scm M src/compiler/base/constr.scm M src/compiler/fgopt/blktyp.scm M src/compiler/fgopt/reteqv.scm M src/compiler/machines/C/lapgen.scm M src/compiler/rtlopt/rtlcsm.scm M src/cref/redpkg.scm M src/edwin/artdebug.scm M src/edwin/calias.scm M src/edwin/debug.scm M src/edwin/dired.scm M src/edwin/display.scm M src/edwin/filcom.scm M src/edwin/info.scm M src/edwin/keymap.scm M src/edwin/snr.scm M src/edwin/unix.scm M src/edwin/vc.scm M src/edwin/win32.scm M src/imail/imail-browser.scm M src/imail/imail-imap.scm M src/imail/imail-top.scm M src/imail/imap-response.scm M src/sos/class.scm M src/sos/method.scm M src/sos/slot.scm commit e2d2043eb158132db77c43700f469e11a7a7dbb8 Author: Chris Hanson Date: Sat Apr 21 21:58:12 2018 -0700 Downcase remaining symbols in the runtime system. Only remaining such symbols are those that have explicit case. M src/runtime/textual-port.scm M src/runtime/thread-barrier.scm M src/runtime/thread-queue.scm M src/runtime/thread.scm M src/runtime/unpars.scm M src/runtime/unsyn.scm M src/runtime/unxprm.scm M src/runtime/url.scm M src/runtime/urtrap.scm M src/runtime/usrint.scm M src/runtime/vector.scm M src/runtime/version.scm M src/runtime/where.scm M src/runtime/win32-registry.scm M src/runtime/wind.scm M src/runtime/world-report.scm M src/runtime/wrkdir.scm M src/runtime/x11graph.scm M src/runtime/xeval.scm M src/runtime/ystep.scm commit 026b8d39e04e9c6bae736cd37b8dc35acb2e572d Author: Chris Hanson Date: Sat Apr 21 18:56:02 2018 -0700 Change SVM compiler to use new pop-return instruction. M src/compiler/machines/svm/machine.scm M src/compiler/machines/svm/rules.scm commit 3975a527ef9cf8ccb9660d0ad56b9f6a44bec2ba Author: Chris Hanson Date: Fri Apr 20 23:45:42 2018 -0700 Implement new SVM instruction: (pop-return). M src/compiler/machines/svm/assembler-rules.scm M src/microcode/svm1-defns.h M src/microcode/svm1-interp.c commit d8fecc4ca49a23b5dbdf7b544190dfa704b0701b Author: Chris Hanson Date: Wed Apr 18 21:21:04 2018 -0700 Override definition of filter so that compilation using 9.2 works. M src/runtime/host-adapter.scm commit 817cbe3dca39a1452a23e06620f73ebd5583c6d5 Author: Chris Hanson Date: Sun Apr 15 19:16:56 2018 -0700 Implement scode-procedure-arity so that it can be run during cold load. The lack of this prevented the cold load from running correctly when using interpreted code, since it depended on a complex scode lambda implementation that was loaded much later. M src/runtime/procedure.scm M src/runtime/runtime.pkg commit dabc5b302ebbc07ea9d116095550634eb515c74b Author: Chris Hanson Date: Sun Apr 15 19:16:38 2018 -0700 Change guarantee to show context of error. M src/runtime/boot.scm commit 6062d0350bcba86a7719f92151103574f83d43ac Author: Chris Hanson Date: Sun Apr 15 01:29:19 2018 -0700 Eliminate references to now-deprecated definitions. M src/runtime/defstr.scm M src/runtime/graphics.scm M src/runtime/infutl.scm M src/runtime/pathname.scm M src/runtime/primitive-io.scm M src/runtime/system.scm commit 764f43a58a040d64ae90c4eeefd1938a89102c6f Author: Chris Hanson Date: Sun Apr 15 01:29:02 2018 -0700 Put back inadvertently-deleted bindings. M src/runtime/runtime.pkg commit a24359fe7da8b7d5ca447d90b6edc791ed79b464 Author: Chris Hanson Date: Sun Apr 15 01:19:00 2018 -0700 Mark deprecated list procedures and also more SRFI-1 procedures. M src/runtime/runtime.pkg commit 3af3e68fefd87f22654a363fef24cf7c1df8dbd0 Author: Chris Hanson Date: Sun Apr 15 01:16:23 2018 -0700 Change find-{,not-}matching-items procedures to call find instead. Also eliminate find-unique-{,not-}matching-items procedures which aren't used and aren't documented. These are trivially solved with find-tail and any. M src/runtime/list.scm commit e3f51382e6453c1068da6a11b9b4d83ec04c7e90 Author: Chris Hanson Date: Sun Apr 15 01:15:53 2018 -0700 Tweak indentation. M src/runtime/srfi-1.scm commit 7ee7d63eeb320a9590165b2a067ada9992aa1393 Author: Chris Hanson Date: Sun Apr 15 00:49:20 2018 -0700 Eliminate references to various list filters in favor of SRFI-1. One unfortunate development is that somewhere in the compiler is some code that depends on the result of a filtering option being newly allocated, while FILTER shares the tail of the input list when it can. I modified FILTER to stop doing that, because it wasn't obvious which of the modified calls in the compiler was causing the problem. M src/6001/floppy.scm M src/compiler/back/lapgn1.scm M src/compiler/back/mermap.scm M src/compiler/back/regmap.scm M src/compiler/base/infnew.scm M src/compiler/base/lvalue.scm M src/compiler/base/toplev.scm M src/compiler/base/utils.scm M src/compiler/fggen/declar.scm M src/compiler/fgopt/blktyp.scm M src/compiler/fgopt/closan.scm M src/compiler/fgopt/envopt.scm M src/compiler/fgopt/folcon.scm M src/compiler/fgopt/param.scm M src/compiler/fgopt/reteqv.scm M src/compiler/fgopt/reuse.scm M src/compiler/fgopt/sideff.scm M src/compiler/fgopt/subfre.scm M src/compiler/machines/C/decls.scm M src/compiler/machines/C/traditional.scm M src/compiler/machines/i386/decls.scm M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/decls.scm M src/compiler/machines/x86-64/decls.scm M src/compiler/rtlbase/rgraph.scm M src/compiler/rtlbase/rtlcon.scm M src/compiler/rtlgen/opncod.scm M src/compiler/rtlgen/rgrval.scm M src/compiler/rtlgen/rtlgen.scm M src/compiler/rtlopt/rinvex.scm M src/compiler/rtlopt/rtlcsm.scm M src/cref/conpkg.scm M src/cref/forpkg.scm M src/edwin/autosv.scm M src/edwin/comtab.scm M src/edwin/debug.scm M src/edwin/display.scm M src/edwin/dos.scm M src/edwin/filcom.scm M src/edwin/keymap.scm M src/edwin/nntp.scm M src/edwin/prompt.scm M src/edwin/rfc822.scm M src/edwin/snr.scm M src/imail/imail-browser.scm M src/imail/imail-core.scm M src/imail/imail-imap.scm M src/imail/imail-top.scm M src/imail/imail-util.scm M src/microcode/makegen/makegen.scm M src/runtime/defstr.scm M src/runtime/environment.scm M src/runtime/graphics.scm M src/runtime/list.scm M src/runtime/regexp.scm M src/runtime/rep.scm M src/runtime/srfi-1.scm M src/runtime/stack-sample.scm M src/runtime/textual-port.scm M src/runtime/unxdir.scm M src/runtime/xeval.scm M src/sos/instance.scm M src/sos/method.scm M src/star-parser/shared.scm M src/xdoc/xdoc.scm M src/xml/xpath.scm commit bb8d10f80c667f63618c99b078448fb6e2156278 Author: Chris Hanson Date: Sat Apr 14 17:59:41 2018 -0700 Optimize code generated for let*, let*-syntax, and letrec. Thanks to Patric Jonsson for noticing this. M src/runtime/mit-macros.scm commit 17354b8b6fc5f6a321a2ed29be2585383a542ed7 Author: Chris Hanson Date: Fri Apr 13 23:38:52 2018 -0700 Another round of downcasing. M src/runtime/list.scm M src/runtime/load.scm M src/runtime/make.scm M src/runtime/microcode-errors.scm M src/runtime/microcode-tables.scm M src/runtime/msort.scm M src/runtime/numpar.scm M src/runtime/option.scm M src/runtime/ordvec.scm M src/runtime/output-port.scm M src/runtime/parser-buffer.scm M src/runtime/parser.scm M src/runtime/pgsql.scm M src/runtime/poplat.scm M src/runtime/pp.scm M src/runtime/prgcop.scm M src/runtime/primitive-arithmetic.scm M src/runtime/primitive-io.scm M src/runtime/procedure.scm M src/runtime/process.scm M src/runtime/prop1d.scm M src/runtime/prop2d.scm M src/runtime/qsort.scm M src/runtime/queue.scm M src/runtime/random.scm M src/runtime/rbtree.scm M src/runtime/record.scm M src/runtime/rep.scm M src/runtime/rexp.scm M src/runtime/rfc2822-headers.scm M src/runtime/savres.scm M src/runtime/scan.scm M src/runtime/sfile.scm M src/runtime/sha3.scm M src/runtime/socket.scm M src/runtime/srfi-1.scm M src/runtime/stack-sample.scm M src/runtime/stream.scm M src/runtime/swank.scm M src/runtime/syncproc.scm M src/runtime/syntax-check.scm M src/runtime/syntax-declaration.scm M src/runtime/system.scm commit ca1cf87771a1d6f71efc9229f9e93470dfa8d60d Author: Chris Hanson Date: Tue Apr 3 23:23:23 2018 -0700 Downcase a lot more symbols and constants. M src/runtime/arith.scm M src/runtime/berkeley-db.scm M src/runtime/bytevector.scm M src/runtime/char-set.scm M src/runtime/char.scm M src/runtime/chrsyn.scm M src/runtime/codwlk.scm M src/runtime/condvar.scm M src/runtime/conpar.scm M src/runtime/console-io.scm M src/runtime/contin.scm M src/runtime/datime.scm M src/runtime/dbgcmd.scm M src/runtime/defstr.scm M src/runtime/dragon4.scm M src/runtime/ed-ffi.scm M src/runtime/emacs.scm M src/runtime/environment.scm M src/runtime/error.scm M src/runtime/events.scm M src/runtime/ffi.scm M src/runtime/file-io.scm M src/runtime/floenv.scm M src/runtime/framex.scm M src/runtime/gc.scm M src/runtime/gcfinal.scm M src/runtime/gcstat.scm M src/runtime/gdbm.scm M src/runtime/generic-io.scm M src/runtime/global.scm M src/runtime/graphics.scm M src/runtime/hash-table.scm M src/runtime/hash.scm M src/runtime/histry.scm M src/runtime/http-client.scm M src/runtime/http-io.scm M src/runtime/http-syntax.scm M src/runtime/ieee754.scm M src/runtime/infstr.scm M src/runtime/infutl.scm M src/runtime/input-port.scm M src/runtime/integer-bits.scm M src/runtime/interrupt.scm M src/runtime/keyword.scm M src/runtime/lambda-list.scm M src/runtime/lambda.scm commit 775c01adfae6e87b4d30ff6bff56e41559780a47 Author: Chris Hanson Date: Tue Apr 3 00:25:46 2018 -0700 Add program to find symbols that depend on case folding. A src/etc/find-folded.scm commit 6b2892fabc38cdac41c7f5f2c47515421fd0cfbe Author: Chris Hanson Date: Sun Apr 1 23:56:25 2018 -0700 Downcase a lot more symbols and constants. M src/cref/anfile.scm M src/cref/conpkg.scm M src/cref/object.scm M src/cref/redpkg.scm M src/cref/toplev.scm M src/runtime/advice.scm M src/runtime/apply.scm M src/runtime/arith.scm M src/runtime/debug.scm M src/runtime/defstr.scm M src/runtime/dos-pathname.scm M src/runtime/format.scm M src/runtime/gcnote.scm M src/runtime/http-syntax.scm M src/runtime/lambda.scm M src/runtime/microcode-data.scm M src/runtime/microcode-errors.scm M src/runtime/ntprm.scm M src/runtime/numint.scm M src/runtime/packag.scm M src/runtime/pathname.scm M src/runtime/primitive-io.scm M src/runtime/structure-parser.scm M src/runtime/syntax-rules.scm M src/runtime/sysmac.scm M src/runtime/thread.scm M src/runtime/unix-pathname.scm M src/runtime/unxdir.scm M src/runtime/url.scm M src/runtime/wttree.scm M src/sf/analyze.scm M src/sf/butils.scm M src/sf/cgen.scm M src/sf/chtype.scm M src/sf/copy.scm M src/sf/gconst.scm M src/sf/object.scm M src/sf/pardec.scm M src/sf/reduct.scm M src/sf/subst.scm M src/sf/toplev.scm M src/sf/usicon.scm M src/sf/usiexp.scm M src/sf/xform.scm commit 588b32279e65ffc17093f4a95d0e11ffbffc08ca Author: Chris Hanson Date: Sun Apr 1 21:07:46 2018 -0700 Export char-changes-when-X predicates and char sets. M src/runtime/runtime.pkg commit 8b705c2b2039914e619584a9ca3a9e4e7febc343 Author: Chris Hanson Date: Sun Apr 1 17:38:03 2018 -0700 Downcase more symbols and constants. M src/etc/optiondb.scm commit d1bdcf75d9df0d6d22f059cf6dd5a7019573975b Author: Chris Hanson Date: Sun Apr 1 17:02:49 2018 -0700 Downcase more symbols and constants. M src/cref/cref.sf M src/sf/make.scm M src/sf/sf.sf M src/sos/compile.scm M src/ssp/compile.scm M src/star-parser/compile.scm M src/xdoc/compile.scm M src/xml/compile.scm M src/xml/load.scm commit f7812f8400456bb07addf0cbc9b22c8a10713888 Author: Chris Hanson Date: Sun Apr 1 16:58:08 2018 -0700 Downcase more symbols and constants. M src/edwin/edwin.ldr M src/edwin/edwin.sf commit 89b6bf6df4908dff8b117ff541c295ca7f4a2a91 Author: Chris Hanson Date: Sun Apr 1 16:52:10 2018 -0700 Downcase more symbols and constants. M src/edwin/buffer.scm M src/edwin/calias.scm M src/edwin/clsmac.scm M src/edwin/search.scm M src/edwin/tterm.scm M src/edwin/utils.scm M src/edwin/xcom.scm M src/imail/compile.scm M src/imail/fake-env.scm M src/imail/load.scm commit c8b5b3a960a1e28a9bcfa36d515158e585813bb7 Author: Chris Hanson Date: Sun Apr 1 16:42:19 2018 -0700 Downcase all symbols and constants. M src/edwin/macros.scm commit 7c2af5609b4efd5a5aed0ab0fe4956988202d2cb Author: Chris Hanson Date: Sun Apr 1 16:31:35 2018 -0700 Change *parser-canonicalize-symbols?* to affect symbols only. M src/runtime/parser.scm commit cedc53e13a3d649028f1b25dbe06cd27f7f948df Author: Chris Hanson Date: Sun Apr 1 16:27:00 2018 -0700 Downcase symbols and constants in optiondb. M src/etc/optiondb.scm commit 5d532c50c727c5ef23156dc3afbb44ecb0c32da8 Author: Chris Hanson Date: Sun Apr 1 16:26:11 2018 -0700 Downcase symbols and constants in optiondb. M src/runtime/optiondb.scm commit 5f60b03703a8a29715b227f87248e9dbd1aebf51 Author: Chris Hanson Date: Sun Apr 1 00:43:10 2018 -0700 Fix bug: mime decoder wasn't properly flushing its output. M src/edwin/edwin.pkg M src/edwin/string.scm M src/imail/imail-mime.scm M src/runtime/runtime.pkg commit 38f67ae1633472442cf2ae3c088e89ab4b9a7bc3 Author: Chris Hanson Date: Sat Mar 31 00:02:50 2018 -0700 Fix typo in previous change. M src/edwin/string.scm commit 63430887c3369142789bd4442b43949c5f4de13c Author: Chris Hanson Date: Thu Mar 29 22:59:08 2018 -0700 Eliminate define-expr-item-compiler in favor of define-item-compiler. Not sure what I was thinking when I wrote that code; it was simply wrong. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm commit 9371e8753978b8dd8646b81c114144a5ac56927e Author: Chris Hanson Date: Thu Mar 29 22:58:50 2018 -0700 Move definition of access entirely into mit-syntax. M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg commit 1ef80097ba5f82f0209a8c795d3cf833b6ed52b7 Author: Chris Hanson Date: Thu Mar 29 22:57:27 2018 -0700 Eliminate redundant code in cons-stream*. M src/runtime/mit-macros.scm commit 53b90e93418ec30f7a1ba5c62d8647570d31c99d Author: Chris Hanson Date: Thu Mar 29 22:24:02 2018 -0700 Reorder definitions in mit-macros into topical groups. M src/runtime/mit-macros.scm commit 645949e609c5eee3d463fb11b6f743f5587566b1 Author: Chris Hanson Date: Thu Mar 29 22:08:39 2018 -0700 Change spar-transformer->runtime to provide default environment. M src/runtime/mit-macros.scm M src/runtime/syntax-low.scm commit 79fbbc1cebff03397b0f26ee0f7f6d0c2b06c2e0 Author: Chris Hanson Date: Thu Mar 29 22:03:25 2018 -0700 Rename :FOO syntax names so that they aren't potential keywords. M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg commit f2043c17ade781a42cc6d146a0f1ef01f85548bd Author: Chris Hanson Date: Thu Mar 29 21:37:35 2018 -0700 Tweak quasiquote implementation to use shorter names. Also refactor descend-pair slightly for brevity. M src/runtime/mit-macros.scm commit 09777966d321b6b706aeb795391a7708464dde53 Author: Chris Hanson Date: Thu Mar 29 20:55:11 2018 -0700 Change and to be defined by syntax-rules. Also belatedly define the feature full-unicode. M src/runtime/mit-macros.scm commit 2270f10af3e16ab0f575e10585f984be36afc48d Author: Chris Hanson Date: Thu Mar 29 00:00:51 2018 -0700 Rewrite local-declare using syntax-rules. M src/runtime/mit-macros.scm commit 0fb882cea32bfc95b6360aa31acbd62be2c18bef Author: Chris Hanson Date: Wed Mar 28 23:09:43 2018 -0700 Convert define-integrable, fluid-let, and paramaterize to scons-rule. M src/runtime/mit-macros.scm commit f83b05a34c676034bf299d5fdbd81810033b1093 Author: Chris Hanson Date: Wed Mar 28 23:09:08 2018 -0700 Change unsyntaxer:* variables to be parameters and export them. M src/runtime/runtime.pkg M src/runtime/unsyn.scm commit 88526dfab7d8519aff71a7ca5c57646d6a29befa Author: Chris Hanson Date: Wed Mar 28 22:31:30 2018 -0700 Fix broken unsyntaxing of scode sequences. Also fix over-long lines. M src/runtime/unsyn.scm commit 9bef3d330cafda13655e7a02093f1038acc21f2b Author: Chris Hanson Date: Wed Mar 28 21:42:19 2018 -0700 Make second arg to scons-set! optional. M src/runtime/syntax-constructor.scm commit 663eb2fde70480dc0d5db01d628dec16f4d753b0 Author: Chris Hanson Date: Wed Mar 28 21:20:34 2018 -0700 Refactor how keywords are matched. * spar-arg:compare renamed to spar-arg:id=? and second argument is optional, defaulting to spar-arg:form. * patterns (noise ...), (noise-keyword ...), and (keyword ...) are eliminated. * New pattern (ignore-if predicate arg...) ignores a subform if calling the predicate is satisfied. * Renamed (value-if ...) to (keep-if ...) with same semantics: keeps a subform if calling the predicate is satisfied. * New pattern (value arg) is like (values arg...) but a little clearer. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit d7d808f6a2c8b12990fc9e5a520bad304810cedb Author: Chris Hanson Date: Wed Mar 28 21:06:23 2018 -0700 Change spar pattern (elt ...) to (subform ...). M src/runtime/mit-macros.scm M src/runtime/syntax-parser.scm commit 9a13206319381508543a2ec9e2ab21edd2c5a7e1 Author: Chris Hanson Date: Wed Mar 28 20:48:26 2018 -0700 Rename spar*elt* to spar*subform*. M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-constructor.scm M src/runtime/syntax-parser.scm commit b0c47f2a4128e29ad0f60cb6a196130a32deebf4 Author: Chris Hanson Date: Tue Mar 27 23:30:54 2018 -0700 Change pattern->spar to make * and + operators implicitly listify. M src/runtime/mit-macros.scm M src/runtime/syntax-parser.scm commit 2bd5f07cf9ee65f7ac8d50c1acf46d9f4038cc4a Author: Chris Hanson Date: Tue Mar 27 22:00:16 2018 -0700 Eliminate special bindings for constants in pattern->spar. Also change leading : to $ to avoid making names look like keywords. M src/runtime/syntax-parser.scm commit 48249e603bb357558442ea38ff166033e0a8f940 Author: Chris Hanson Date: Tue Mar 27 21:41:07 2018 -0700 Rewrite patterns as (elt (list ...)) rather than (list (elt ...)). M src/runtime/mit-macros.scm commit c94a365e227e1c17d33c4b9af050a3ed857f0895 Author: Chris Hanson Date: Tue Mar 27 21:34:09 2018 -0700 Convert and-let* to scons-rule. M src/runtime/mit-macros.scm commit 96875b7477c50b6c62d442bc8a7d55b80eb209e2 Author: Chris Hanson Date: Tue Mar 27 21:33:56 2018 -0700 Add some simple optimizations. M src/runtime/syntax-constructor.scm commit 4f161b544f82b88c8b030fecb5e30b591128a111 Author: Chris Hanson Date: Tue Mar 27 17:17:55 2018 -0700 Convert a bunch more macros to scons-rule. M src/runtime/mit-macros.scm commit c5139a6103df0d294fbc120ae5c1af8c54a7f17a Author: Chris Hanson Date: Tue Mar 27 17:17:36 2018 -0700 Use folding to eliminate loops in macros. M src/runtime/mit-macros.scm commit 3a9b060ca5abed8b60928ec16b26a6b9901b3d67 Author: Chris Hanson Date: Tue Mar 27 00:29:18 2018 -0700 Rewrite COND and DO to use spar rules. M src/runtime/mit-macros.scm commit f15e38d3cb2886ecb238a5065b969351d722e573 Author: Chris Hanson Date: Mon Mar 26 23:54:01 2018 -0700 Change scons-call to not quote its operator. Instead one must explicitly call scons-close when necessary. M src/runtime/mit-macros.scm M src/runtime/syntax-constructor.scm commit 17a8b97f187fef90b3c33f0973d4504b94dd5279 Author: Chris Hanson Date: Mon Mar 26 23:53:18 2018 -0700 Add context to items, for errors that happen during item compilation. M src/edwin/clsmac.scm M src/runtime/host-adapter.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm M src/runtime/syntax-parser.scm M src/runtime/syntax-rules.scm M src/runtime/syntax.scm commit 4e89ce82abd61b7f5482e3504bd451f467400ba1 Author: Chris Hanson Date: Mon Mar 26 22:07:07 2018 -0700 Formalize the context of a syntax error. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-check.scm M src/runtime/syntax-parser.scm M src/runtime/syntax.scm commit e3cecb01609e99c81240d952a505d9ed17736ad1 Author: Chris Hanson Date: Mon Mar 26 01:32:47 2018 -0700 Implement spar-not. M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 11695556cbb599709ad2857f9b14f55f0f51ba69 Author: Chris Hanson Date: Sun Mar 25 19:13:33 2018 -0700 Rewrite COND-EXPAND to use spar rule. M src/runtime/mit-macros.scm commit fd824f3c157d2258a24ed9e8855ea822ff20d23a Author: Chris Hanson Date: Sun Mar 25 17:05:17 2018 -0700 Change spars to set up error context when calling out to procedures. M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit ff73a5037b3a7cbca9cb0406f65dafc9c82142e1 Author: Chris Hanson Date: Sun Mar 25 08:49:44 2018 -0700 Tweak CASE to use new keyword pattern. M src/runtime/mit-macros.scm commit 2e6ddd70360c345e63d17bf2ed3624e38e108730 Author: Chris Hanson Date: Sun Mar 25 08:46:54 2018 -0700 Rename spar-seq to spar-and. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 56d7d46579fbe6904e2697cb303c628d834e3c02 Author: Chris Hanson Date: Sun Mar 25 08:36:58 2018 -0700 Tweak spar patterns. * Rename (quote ) to (noise ). * Rename (keyword ) to (noise-keyword ). * Implement (keyword ) that matches and then pushes it. M src/runtime/mit-macros.scm M src/runtime/syntax-parser.scm commit c7125c87f352760240b434f7f67cc746a66a7881 Author: Chris Hanson Date: Sun Mar 25 08:31:23 2018 -0700 Clarify that spar-push-if pushes the form, and spar-push-elt the elt. M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 6fbaeeefd8e54c32f55de3bc076f47306d536d12 Author: Chris Hanson Date: Fri Mar 23 23:52:39 2018 -0700 Rewrite CASE as a spar-transformer. M src/runtime/mit-macros.scm commit bb5ba4b9cb5cd7be43ca0497d3d94a5c0e5d6f47 Author: Chris Hanson Date: Fri Mar 23 23:04:15 2018 -0700 Implement spar-if and associated pattern. M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 028b41b462d778bb7e4334565767ee8b8b2060ef Author: Chris Hanson Date: Fri Mar 23 22:00:08 2018 -0700 Simplify spars pattern language. Also change some of the terms to be clearer: I'm anticipating how the documentation will read. M src/runtime/mit-macros.scm M src/runtime/syntax-parser.scm commit dcb6101d29e852c4ba618f34bcd1362b9e8c391a Author: Chris Hanson Date: Thu Mar 22 23:51:23 2018 -0700 Eliminate parse-define-form. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/sysmac.scm M tests/load.scm M tests/unit-testing.scm commit 12f81af2399cd524c031479a61c83357053ed25a Author: Chris Hanson Date: Thu Mar 22 23:33:38 2018 -0700 Rewrite core of pattern compiler to use rules. M src/runtime/syntax-parser.scm commit f8ca14106b84ed44bc1c5e72eed909f841c4b411 Author: Chris Hanson Date: Thu Mar 22 23:32:26 2018 -0700 Implement spar-arg:compare and (keyword id) pattern. M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 6d958ebd33a6dc257bb4a448703a1c470583c128 Author: Chris Hanson Date: Thu Mar 22 00:10:25 2018 -0700 More macros converted to new model, plus a lot of fixes and tweaks. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/syntax-constructor.scm M src/runtime/syntax-parser.scm commit 740ed5cd79ee6db163068597a78ec0c9d2845c56 Author: Chris Hanson Date: Wed Mar 21 21:16:07 2018 -0700 Implement syntax-constructor ("scons") mechanism. This eliminates a potential problem with RSC and ER macros, which typically construct ordinary list structure using quasiquote and renaming the keywords. Unfortunately this will fail if the use environment has redefined the quasiquote and/or quote keywords. These constructors are careful not to use any keywords except renamed ones; they also hide most of the renaming while providing a simple procedural interface. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg A src/runtime/syntax-constructor.scm M src/runtime/syntax-parser.scm commit 346b65b0d3cfeebd9ce8224b5d7d7ec6e6c0909c Author: Chris Hanson Date: Wed Mar 21 20:52:29 2018 -0700 Handle case where debugging-info has an old-style pathname. M src/runtime/infstr.scm M src/runtime/runtime.pkg commit 1bc7c74751bd08a158f1d28b6aba21cba6c58a47 Author: Chris Hanson Date: Wed Mar 21 20:31:38 2018 -0700 Don't write pathnames into debugging info. M src/compiler/base/asstop.scm commit a9bf1f05b41d2ffbd4b6f30569c1fafae7fdb213 Author: Chris Hanson Date: Wed Mar 21 17:14:53 2018 -0700 Implement spar-top-level to cut down on boilerplate. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 9242dca651e1ec5ba2d593a573fabe5f5673d2b4 Author: Chris Hanson Date: Wed Mar 21 16:52:30 2018 -0700 Tweak. M src/runtime/mit-macros.scm commit 88ca82bb5eb3cf5b711fb3eb56054fbe7bc4e513 Author: Chris Hanson Date: Wed Mar 21 15:45:04 2018 -0700 Change record predicate to check for child types. Reported by Arthur. M src/runtime/record.scm commit 5ca1b441a6766eb7a64c169f84b77b4689bd701f Author: Chris Hanson Date: Wed Mar 21 01:50:54 2018 -0700 Make record inheritance comply with SRFI 131. M src/runtime/mit-macros.scm M src/runtime/record.scm commit 4dfff28892240095f1ef2655d04ef840e7c36027 Author: Chris Hanson Date: Wed Mar 21 00:40:16 2018 -0700 Implement pattern language to make spars more terse. M src/runtime/mit-macros.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 7fc4ba4c7c5aa49512b4bfda877ac182501d59ba Author: Chris Hanson Date: Tue Mar 20 22:53:32 2018 -0700 Add forgotten export. M src/runtime/runtime.pkg commit c755e0b4f01abc6ec61217310fc0fdcc4f749714 Author: Chris Hanson Date: Mon Mar 19 22:34:31 2018 -0700 Change spar-match-null to a procedure. M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/syntax-parser.scm commit d3036ed946d60d5fee5d85784ab7985862c2c159 Author: Chris Hanson Date: Sun Mar 18 20:38:53 2018 -0700 Simplify spar interface a bit more. M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 967ee03736e7648cc59fe8a66958a45865f0745c Author: Chris Hanson Date: Sun Mar 18 20:10:00 2018 -0700 Implement record inheritance at Arthur's request. M src/runtime/mit-macros.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit f7f4b264090948f24081053d8ed66a29d853a9b6 Author: Chris Hanson Date: Sun Mar 18 15:01:23 2018 -0700 Eliminate default-inits arg from make-record-type. This will allow all optional args to be removed after 9.3. M src/runtime/defstr.scm M src/runtime/record.scm commit e2e7c9ef98dcad52937bccfc596fd10c38e06980 Author: Chris Hanson Date: Sat Mar 17 16:42:40 2018 -0700 Streamline definition of record-type proxies. M src/runtime/record.scm commit 20f68a318d9588914f62ddafcc6c24a903a2613c Author: Chris Hanson Date: Sat Mar 17 16:38:30 2018 -0700 Allow a record to be both applicable and fasdumpable. M src/microcode/fixobj.h M src/microcode/object.h M src/microcode/utabmd.c M src/microcode/vector.c M src/runtime/record.scm commit 98e4113f1da428841852f589f58a4acfa6098e9f Author: Chris Hanson Date: Sat Mar 17 16:38:13 2018 -0700 Restrict access to type proxies. M src/runtime/runtime.pkg commit 2f383d936d2f458dc7bfcfb7978fbf2a49cafc98 Author: Chris Hanson Date: Sat Mar 17 00:56:09 2018 -0700 Change default value of repl:write-result-hash-numbers? as requested by GJS. M src/runtime/rep.scm commit afc0b965029103f68ad867a047974af0dea153ec Author: Chris Hanson Date: Thu Mar 15 22:52:45 2018 -0700 Change pathname representation to be a fasdumpable record. M src/runtime/pathname.scm commit 9da20e91223c3fac437c074285125cb62de27640 Author: Chris Hanson Date: Thu Mar 15 22:52:24 2018 -0700 Use proxy instances for set-record-type-fasdumpable!. M src/runtime/record.scm M src/runtime/runtime.pkg commit 08d9b9b0af6f0c4cd85c2d9c5a597ea32d5e8056 Author: Chris Hanson Date: Thu Mar 15 22:52:08 2018 -0700 Fix typo in previous change. M src/runtime/record.scm commit 6f3a57e283a2bf5866695e2b74c3714ab3be496f Author: Chris Hanson Date: Thu Mar 15 22:28:31 2018 -0700 Implement fasdumpable records. This is restricted to the runtime system since each type must have a pre-allocated constant to represent it in the proxy table. At the moment an applicable record can't be fasdumpable too. That can be fixed by teaching the microcode about the proxy mechanism, but for now it's not necessary. M src/runtime/record.scm M src/runtime/runtime.pkg commit 7e86b85d50edb0126132442919aa9846b0cce2a6 Author: Chris Hanson Date: Wed Mar 14 21:37:56 2018 -0700 In pp, treat named list/vector specially. M src/runtime/pp.scm commit ffefa004080037a8d0d52301fff1b19d91443bed Author: Chris Hanson Date: Wed Mar 14 21:29:03 2018 -0700 Use cached predicate dispatchers only where tagging is ubiquitous. M src/runtime/predicate-dispatch.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm M src/runtime/syntax-rename.scm M src/xml/xml-output.scm commit 83ed3f3a474eb6d6793801ed1c29e04385a8a996 Author: Chris Hanson Date: Tue Mar 13 22:54:25 2018 -0700 Implement applicable records. M src/microcode/cmpint.c M src/microcode/cmpint.h M src/microcode/extern.h M src/microcode/fixobj.h M src/microcode/interp.c M src/microcode/utils.c M src/microcode/vector.c M src/runtime/dispatch-tag.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit e7371ce026173e48e885fe23817247802f6a38da Author: Chris Hanson Date: Mon Mar 12 22:18:37 2018 -0700 Change representation of dispatch tags to eliminated nested "extra" vector. M src/microcode/fixobj.h M src/runtime/bundle.scm M src/runtime/compound-predicate.scm M src/runtime/dispatch-tag.scm M src/runtime/parametric-predicate.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/sos/class.scm commit 9ff7e8e8ce9215c1ba5d5ccfb1bba0939ab3f396 Author: Chris Hanson Date: Tue Mar 6 20:52:32 2018 -0800 Eliminate two unused procedures. M src/runtime/runtime.pkg M src/runtime/syntax.scm commit de04d4f5ec7a45d5539671b3873e92f24494ac44 Author: Chris Hanson Date: Tue Mar 6 20:48:07 2018 -0800 Guarantee that capture-syntactic-environment preserves error context. M src/runtime/syntax.scm commit eb30a0592a8e7b1b09a5c5478e17b027afa71f89 Author: Chris Hanson Date: Tue Mar 6 18:26:54 2018 -0800 Some more tweaks to the low-level macro interfaces. M src/runtime/mit-macros.scm M src/runtime/syntax-low.scm commit 4fe8a071acc1213d24138f4fc5b2e8f5739b65be Author: Chris Hanson Date: Tue Mar 6 17:47:16 2018 -0800 Implement first two macros using syntax-parser. M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg commit 99adc09499b5f06a07c490d437972f5086d362f2 Author: Chris Hanson Date: Tue Mar 6 17:46:34 2018 -0800 More tweaks to syntax-parser interface. M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 2747f5128148c076b4fc21ecab82a6ec3c170220 Author: Chris Hanson Date: Tue Mar 6 17:26:11 2018 -0800 Tweak interface for syntax-parser macros. M src/runtime/runtime.pkg M src/runtime/syntax-low.scm M src/runtime/syntax-parser.scm commit 5d567c5169d58e64dd7d7bdbae2b64f77df8863a Author: Chris Hanson Date: Sat Mar 3 22:23:23 2018 -0800 Refactor syntax-low to improve support for spar transformers. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-low.scm M src/runtime/syntax-parser.scm M src/runtime/syntax.scm commit 3349a721db55f35d461357bb3c3d6ee4e8458340 Author: Chris Hanson Date: Sat Mar 3 10:58:32 2018 -0800 Eliminate a bunch of now-unused classifier procedures. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax.scm commit 42b9b093977effe190f3a129450f0387f9f73d20 Author: Chris Hanson Date: Wed Feb 28 22:18:00 2018 -0800 Split compile-expr-item into expr and non-expr versions. M src/edwin/clsmac.scm M src/edwin/edwin.pkg M src/runtime/host-adapter.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm M src/runtime/syntax.scm commit 4b71c8283e44426859c74b0eb08e59d6c6b3b783 Author: Chris Hanson Date: Tue Feb 27 22:27:22 2018 -0800 Add weak-pair support to equal?. M src/runtime/equals.scm M src/runtime/runtime.pkg commit a0ff0be5866db1eac7c4f16562c89bb91fcf8184 Author: Chris Hanson Date: Tue Feb 27 22:20:53 2018 -0800 Add call/cc as alias. M src/runtime/runtime.pkg commit d15ddd23d1159285fa371c6f85fbc234bc345a81 Author: Chris Hanson Date: Tue Feb 27 22:16:05 2018 -0800 Allow calling register-predicate! twice with the same args. M src/runtime/predicate.scm commit 4c022360ec50077e083fdeda2b1b3865f66545ef Author: Chris Hanson Date: Thu Feb 22 23:36:24 2018 -0800 Put back support for printing tagged lists and vectors when built by 9.2. M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/unpars.scm commit b3de5513be0b4fc63506c42821d9466d9d84b989 Author: Chris Hanson Date: Wed Feb 21 23:35:23 2018 -0800 Make sure that tagged vector/pair predicates are registered. M src/runtime/defstr.scm commit df0ca7c5ad8e9d24230f0a405c8dd8badbc4e754 Author: Chris Hanson Date: Wed Feb 21 23:34:53 2018 -0800 Change compiled-code environments to be records. M src/runtime/environment.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg commit 64a33f993618106e3cd49466703e4de161a6efb1 Author: Chris Hanson Date: Tue Feb 20 23:27:45 2018 -0800 Put error messages back into classifiers. Also: * Clean up spar API some more. * Add spar-error for signalling errors. * Add special args for specifying procedure args. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 7d140950ca955de868598bcefb88baf13ec75559 Author: Chris Hanson Date: Tue Feb 20 21:31:51 2018 -0800 Rename spar-require-X to spar-match-X. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit bf88bd4bf08856c33f4ae20f01adf6888a1003ef Author: Chris Hanson Date: Tue Feb 20 17:48:08 2018 -0800 Make sure to flatten items in a body. M src/runtime/syntax-items.scm commit 59a54d6f76823f75072088403413315d30b12145 Author: Chris Hanson Date: Mon Feb 19 23:13:39 2018 -0800 Rewrite mit-syntax using syntax parsers. This is functionally equivalent except for error reporting. Most syntax errors will be "ill-formed syntax" with a form. An future commit will tailor the messages to be more informative. This also breaks one syntax test, which will be fixed in the next commit. M src/runtime/mit-syntax.scm commit 55c1d00c51e10cda66d02602870f4a071e795766 Author: Chris Hanson Date: Mon Feb 19 23:01:29 2018 -0800 Another round of changes to the spar API. M src/runtime/make.scm M src/runtime/runtime.pkg M src/runtime/syntax-low.scm M src/runtime/syntax-parser.scm M src/runtime/syntax.scm commit c408080bff7299965bd63595dbf3b0ac403344bb Author: Chris Hanson Date: Mon Feb 19 12:27:45 2018 -0800 Fix thinko. M src/runtime/syntax-parser.scm commit cc0a2b715ac16099573271c6935a8831a3c46ba7 Author: Chris Hanson Date: Sun Feb 18 22:32:39 2018 -0800 Implement spar-macro-transformer. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-low.scm M src/runtime/syntax-parser.scm commit 512c2c5c3c6bb019bae7caac274fcff206e8aff4 Author: Chris Hanson Date: Sun Feb 18 22:01:22 2018 -0800 Split transformer->expander procedures into internal and external. The external version takes a runtime environment as its closing env, while the internal version takes a syntactic environment. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-low.scm commit 3e377595fb3ae5f140de448cf30589cbd2f2ea3b Author: Chris Hanson Date: Sun Feb 18 21:44:09 2018 -0800 Merge classifier and keyword items. M src/edwin/clsmac.scm M src/edwin/edwin.pkg M src/runtime/host-adapter.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm M src/runtime/syntax-low.scm M src/runtime/syntax-parser.scm M src/runtime/syntax.scm commit a64b39c9708c7e89c841aa2abca0d590c2dd9f15 Author: Chris Hanson Date: Sun Feb 18 21:13:18 2018 -0800 A round of updates to the syntax parser. M src/runtime/runtime.pkg M src/runtime/syntax-parser.scm commit 30ce042a3ece786f39211e04bb6594d94c380103 Author: Chris Hanson Date: Sun Feb 18 00:49:48 2018 -0800 Add syntax-parser to runtime; not yet being used. M src/runtime/ed-ffi.scm M src/runtime/runtime.pkg A src/runtime/syntax-parser.scm commit 4da2f21cc445dae8169ef4f6efd97232bbf2c6c6 Author: Chris Hanson Date: Wed Feb 14 19:29:32 2018 -0800 Refactor the syntax-error mechanism. * There's now a condition type for syntax errors. * There's a distinction between errors that happen in macro expanders and those that happen inside the syntax implementation. * All syntax errors now get the (form senv hist) objects. * Syntax errors don't yet use the history to report context; that will come later. M src/runtime/make.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-check.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-rules.scm M src/runtime/syntax.scm commit 2925e3f1746ed527514409857cdf843c21bad4e2 Author: Chris Hanson Date: Wed Feb 14 19:03:59 2018 -0800 Eliminate keyword-binder. M src/runtime/mit-syntax.scm commit 99759c9d84f4f6807d0c16abda18a2b416e95fe0 Author: Chris Hanson Date: Wed Feb 14 18:48:53 2018 -0800 Make field-names argument of condition-constructor be optional. When that happens it uses the type's field-names value. M src/runtime/error.scm commit 5f98da834186decffe24bb5355fd820059e7361d Author: Chris Hanson Date: Tue Feb 13 22:11:44 2018 -0800 Simplify slightly be introducing smap. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax.scm commit c2d0d57a969e5aa29881b84bddd6d102918ef2c6 Author: Chris Hanson Date: Tue Feb 13 17:37:28 2018 -0800 decl-item doesn't need to be distinct from expr-item. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm commit 017856b79d2dd2a046b211b3850fb90237065a15 Author: Chris Hanson Date: Mon Feb 12 22:03:09 2018 -0800 Make sure history is correct for identifiers in declarations. Plumb selectors through map-decl-ids and pass to procedure. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-declaration.scm M src/runtime/syntax-rename.scm M src/runtime/syntax.scm commit 8213921214699553fcf3db8d2a179579acb96693 Author: Chris Hanson Date: Mon Feb 12 21:24:32 2018 -0800 Reorganize cold-load for syntax. * Rename syntax-transforms to syntax-low. * Move expander-item to syntax-low. * Don't load syntax-items early in cold load. * Move compile-expr-item to syntax-items. M src/runtime/ed-ffi.scm M src/runtime/make.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm R093 src/runtime/syntax-transforms.scm src/runtime/syntax-low.scm M src/runtime/syntax.scm commit b8df35753623937a007b4626da512a7833a0c750 Author: Chris Hanson Date: Mon Feb 12 20:50:20 2018 -0800 Bind classifiers directly into global environment. Eliminates kludge of syntax-definitions. M src/runtime/ed-ffi.scm M src/runtime/make.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg D src/runtime/syntax-definitions.scm commit edaaa5b1d14cd2156693cc9273774548cf63bc7d Author: Chris Hanson Date: Sun Feb 11 22:48:57 2018 -0800 Eliminate compile-body-item and simplify. M src/runtime/runtime.pkg M src/runtime/syntax-items.scm M src/runtime/syntax-output.scm M src/runtime/syntax.scm commit c2d404582fc8d49b02b65cc35060177236c6e7b2 Author: Chris Hanson Date: Sun Feb 11 22:20:27 2018 -0800 Minor tweaks to classifiers. M src/runtime/mit-syntax.scm commit 5936f6cff42a8693244a6016e89a522b41d38547 Author: Chris Hanson Date: Sun Feb 11 22:05:52 2018 -0800 Rename classify-body to classify-forms-in-order. Also have it return a list of items rather than a seq-item. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax.scm commit 65dff54f06d86b415fcc178e74494410a76a1618 Author: Chris Hanson Date: Sun Feb 11 21:42:10 2018 -0800 Some minor tweaks that were missed in earlier commits. M src/runtime/mit-syntax.scm M src/runtime/syntax-definitions.scm M src/runtime/syntax.scm commit 317d74a2752ac60228b663c4b9dc17151df85c2b Author: Chris Hanson Date: Sun Feb 11 21:37:09 2018 -0800 Eliminate compiler items. M src/edwin/clsmac.scm M src/edwin/edwin.pkg M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm M src/runtime/syntax.scm commit 3fa2d81a67d2077d2d037456a62e431243497ea6 Author: Chris Hanson Date: Sun Feb 11 21:17:30 2018 -0800 Eliminate compiler->keyword. M src/runtime/runtime.pkg M src/runtime/syntax-rules.scm M src/runtime/syntax.scm commit 8d2d1d63f18a559dec96b15e23b2ae5398cd21c5 Author: Chris Hanson Date: Sun Feb 11 21:09:55 2018 -0800 Eliminate the remaining three compilers. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-definitions.scm M src/runtime/syntax-items.scm commit a1375edb236d4dea1c174a046b46b979e15c83c6 Author: Chris Hanson Date: Sun Feb 11 20:51:48 2018 -0800 Change most of the "compilers" to "classifiers". This is the first step in eliminating the idea of a "compiler". M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-definitions.scm M src/runtime/syntax-items.scm M src/runtime/syntax-output.scm commit 930f7fe13b6dc6b7e94b7d7bd293ccc54adfac27 Author: Chris Hanson Date: Sat Feb 10 23:18:18 2018 -0800 Insert a reduction step in the history when processing a closed subexpression. M src/runtime/syntax.scm commit 882f30c399e6ff1f3e7ad16330eb24b1572bc225 Author: Chris Hanson Date: Sat Feb 10 23:14:18 2018 -0800 Implement history mechanism for syntax processor. This mechanism keeps track of how each subexpression is derived from the larger program, so that error messages can have that context. The history isn't yet hooked up to anything; it's just being tracked. The next step is to attach it to the syntax errors and change the error messages to reveal that context. M src/edwin/clsmac.scm M src/runtime/integer-bits.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-rules.scm M src/runtime/syntax.scm commit 666a4e114c78549f02b587d1d83f454946bb5af5 Author: Chris Hanson Date: Sat Feb 10 17:55:28 2018 -0800 Make sure that host-adapter causes rebuild of toolchain. Also always load the .scm file since the compiled files may be out of date. M src/Makefile.in M src/Makefile.tools.in M src/runtime/runtime.sf commit e35a14fd93070cc8164e51d06eee7f18edb1f637 Author: Chris Hanson Date: Sat Feb 10 17:37:08 2018 -0800 Rewrite this file to match current standards. M src/microcode/list.c commit 3201e656a86e9fd31426f5247659a2ace9caf621 Author: Chris Hanson Date: Fri Feb 9 21:35:42 2018 -0800 Revert change that broke the build. M src/runtime/mit-syntax.scm commit 1745633979376f1827008cceda5b32f62e7a8ea0 Author: Chris Hanson Date: Fri Feb 9 20:53:13 2018 -0800 Another small round of renaming. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-declaration.scm M src/runtime/syntax-rename.scm commit ddf78c777eb1d46120675f23a6d7dedc4f672560 Author: Chris Hanson Date: Fri Feb 9 20:48:23 2018 -0800 Eliminate now-unused output/lambda and rename output/{named-,}lambda. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-output.scm commit 2c914b00f2f672c449702cf0b269184b4aff266c Author: Chris Hanson Date: Fri Feb 9 20:45:58 2018 -0800 Some minor cleanups. M src/runtime/mit-syntax.scm commit 11a60b1a77ddd0d5c4fa138d5820dccbbf11c3e1 Author: Chris Hanson Date: Fri Feb 9 20:37:06 2018 -0800 Downcase explicit arguments to syntax-check and syntax-match?. Also replace '(keyword ...) -> '(_ ...) in syntax-check patterns. M src/compiler/back/asmmac.scm M src/compiler/back/lapgn3.scm M src/compiler/base/macros.scm M src/compiler/machines/i386/insmac.scm M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/x86-64/insmac.scm M src/edwin/clsmac.scm M src/edwin/macros.scm M src/pgsql/pgsql.scm M src/runtime/arith.scm M src/runtime/bytevector.scm M src/runtime/debug.scm M src/runtime/defstr.scm M src/runtime/generic-io.scm M src/runtime/host-adapter.scm M src/runtime/http-syntax.scm M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/pgsql.scm M src/runtime/structure-parser.scm M src/runtime/syntax-check.scm M src/runtime/syntax-declaration.scm M src/runtime/syntax-rules.scm M src/runtime/sysmac.scm M src/runtime/url.scm M src/sos/macros.scm M src/star-parser/matcher.scm M src/star-parser/parser.scm M src/star-parser/shared.scm M src/xml/xhtml.scm M src/xml/xml-struct.scm M src/xml/xpath.scm M tests/runtime/test-syntax-rename.scm commit b7d19fbfef7f067d0ebb2f4bf375bad729711455 Author: Chris Hanson Date: Fri Feb 9 20:24:38 2018 -0800 Implement classify-form-cXr to simplify code slightly. This will be more important when history is added. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax.scm commit 9b5bca944929b567d1d7007baefbb9714d27ab29 Author: Chris Hanson Date: Fri Feb 9 20:17:29 2018 -0800 Rename environment to senv in mit-syntax. M src/runtime/mit-syntax.scm commit 8eabc530ea768492ac66845682b4ebee889951ba Author: Chris Hanson Date: Fri Feb 9 20:12:04 2018 -0800 Eliminate classify-expr. M src/edwin/clsmac.scm M src/edwin/edwin.pkg M src/runtime/host-adapter.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax.scm commit 47bc380ba9909222d6e0c15145066b731b1ef448 Author: Chris Hanson Date: Thu Feb 8 20:39:12 2018 -0800 A big round of renamings. M src/compiler/base/pmerly.scm M src/compiler/base/scode.scm M src/compiler/base/utils.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/fggen.scm M src/ffi/ffi.pkg M src/ffi/syntax.scm M src/runtime/environment.scm M src/runtime/global.scm M src/runtime/host-adapter.scm M src/runtime/infutl.scm M src/runtime/lambda-list.scm M src/runtime/lambda.scm M src/runtime/make.scm M src/runtime/mit-macros.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/scode.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-output.scm M src/runtime/syntax.scm M src/runtime/unpars.scm M src/runtime/unsyn.scm M src/sf/gconst.scm M src/sf/usiexp.scm commit 779661ad8d8f2fca53f6c03642783c0e41e3a981 Author: Chris Hanson Date: Wed Feb 7 23:34:00 2018 -0800 Change predicate dispatchers to use dispatch cache. M src/runtime/predicate-dispatch.scm M src/runtime/runtime.pkg commit 07a3f64ffc535c1dbaa8e3853540dbf813ccfedc Author: Chris Hanson Date: Tue Feb 6 22:45:14 2018 -0800 Eliminate keyword-value-item. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-items.scm M src/runtime/syntax-transforms.scm M src/runtime/syntax.scm M src/runtime/unsyn.scm commit 41eb62a9fb4f9b71a17a6eeb8becf429b267ca7d Author: Chris Hanson Date: Tue Feb 6 22:31:46 2018 -0800 A bunch of renames to eliminate weird "/" phase of mine. M src/edwin/clsmac.scm M src/edwin/edwin.pkg M src/runtime/host-adapter.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax.scm commit 1e8fbaf61860f19be2396e00a3272f254e801e25 Author: Chris Hanson Date: Tue Feb 6 20:48:53 2018 -0800 Collapse syntax, syntax-classify, and syntax-compile into one file. M src/runtime/ed-ffi.scm M src/runtime/make.scm M src/runtime/runtime.pkg D src/runtime/syntax-classify.scm D src/runtime/syntax-compile.scm M src/runtime/syntax.scm commit 6e1ffb5854c82ce4c65da7a880ba428be8bc6f63 Author: Chris Hanson Date: Tue Feb 6 20:22:16 2018 -0800 Make comment in identifier=? more comprehensive. M src/runtime/syntax.scm commit 6bd22dc3da5bb507003a75a82d2fb197c82687a1 Author: Chris Hanson Date: Sat Feb 3 00:18:48 2018 -0800 Move the higher-level senv procedures into syntax-environments. * Clean up the high-level interface, making arg order consistent. * Rename syntactic-environment->environment as syntactic-environment->runtime. * Eliminate ->syntactic-environment in favor of runtime-environment->syntactic. * Rename syntactic-environment/top-level? to top-level-syntactic-environment?. * Export closed-identifier? to (runtime syntax). M src/compiler/back/asmmac.scm M src/edwin/clsmac.scm M src/ffi/ffi.pkg M src/ffi/syntax.scm M src/runtime/host-adapter.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax-output.scm M src/runtime/syntax-transforms.scm M src/runtime/syntax.scm M src/sf/toplev.scm commit 03d0f03f7960a696f6c7e02754ae1ac70506418c Author: Chris Hanson Date: Thu Feb 1 21:56:41 2018 -0800 Implement better pp support for syntactic environments. This should be a standard pattern: what's interesting in these bundles of procedures isn't the procedures themselves, but rather the state they are carrying around. M src/runtime/syntax-environment.scm commit defd1ded50dc905d055da536b799cd72058aa5b8 Author: Chris Hanson Date: Thu Feb 1 21:55:33 2018 -0800 Don't generate keyword-value-item except at top level. They aren't needed for internal environments. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-output.scm commit 24256fc72d4eb0ffcad3483b4fa71c82eda1d820 Author: Chris Hanson Date: Thu Feb 1 21:55:07 2018 -0800 Handle define-syntax better when unsyntaxing. M src/runtime/unsyn.scm commit 4bf426eef562d245b13274ad6df4e6f260591040 Author: Chris Hanson Date: Thu Feb 1 21:54:55 2018 -0800 Fix test broken by earlier change. M tests/runtime/test-syntax-rename.scm commit ec616bf2f8ab526f7bfc9da41d60f08987467195 Author: Chris Hanson Date: Thu Feb 1 00:02:24 2018 -0800 Eliminate another empty file. M src/edwin/decls.scm M src/edwin/ed-ffi.scm M src/edwin/edwin.ldr M src/edwin/edwin.pkg D src/edwin/winren.scm commit 8ad474ab812c9cd8e8904eaff9b2282cd22c5c44 Author: Chris Hanson Date: Wed Jan 31 23:00:33 2018 -0800 Simplify how runtime syntactic environments are created. No more layering of top-level environments over one another, or of top-level environments over runtime environments -- a top-level environment IS a runtime environment. M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax.scm commit 6b6e3aefe7680fb5a87f1b08353afd82cf1ed4af Author: Chris Hanson Date: Wed Jan 31 23:00:26 2018 -0800 Don't use syntactic enviroment to indirectly bind global macros. M src/runtime/syntax-definitions.scm commit 454c68822d29951fbe9c5e4367ca2076bcc0f16d Author: Chris Hanson Date: Wed Jan 31 23:00:16 2018 -0800 Remove empty file. M src/edwin/decls.scm M src/edwin/ed-ffi.scm M src/edwin/edwin.ldr D src/edwin/rename.scm commit d11232833e8cb785c73aa90beb3e0f302b349eda Author: Chris Hanson Date: Mon Jan 29 22:54:14 2018 -0800 Add bindings for the block-declaration renames. M src/runtime/host-adapter.scm commit 94e75985835388cb5c102a56e966e21f3643b0c6 Author: Chris Hanson Date: Mon Jan 29 22:32:09 2018 -0800 Change declaration processing to decouple it from open blocks. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-compile.scm M src/runtime/syntax-items.scm M src/runtime/syntax-output.scm M src/runtime/syntax.scm commit 856ade927926b381d1c60e7f017ebce3a9d371f1 Author: Chris Hanson Date: Mon Jan 29 21:43:28 2018 -0800 Rename block-declaration -> scode-block-declaration and move to "scode". M src/cref/anfile.scm M src/runtime/lambda.scm M src/runtime/runtime.pkg M src/runtime/scan.scm M src/runtime/scode.scm M src/runtime/syntax-output.scm M src/runtime/unsyn.scm commit 997667abbb63db4cd64c81b9fe18b7fb8d1cc51d Author: Chris Hanson Date: Mon Jan 29 21:32:43 2018 -0800 Change seq-item to flatten its arguments. Also rename flatten-seq-items to flatten-items. M src/runtime/runtime.pkg M src/runtime/syntax-compile.scm M src/runtime/syntax-items.scm commit f73404116afce798ca568c7d37a96a3b31b6d3c6 Author: Chris Hanson Date: Mon Jan 29 21:08:54 2018 -0800 A large number of renames for syntax items. M src/edwin/clsmac.scm M src/edwin/edwin.pkg M src/runtime/host-adapter.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-classify.scm M src/runtime/syntax-compile.scm M src/runtime/syntax-definitions.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-transforms.scm M src/runtime/syntax.scm commit 0111100b1de4269a5b8ccd8ab25b5b0a890ce8dd Author: Chris Hanson Date: Mon Jan 29 20:22:56 2018 -0800 Eliminate unnecessary condition. M src/runtime/mit-syntax.scm commit 6ea0b0c6c5f766021f9767046cfc2f3ab8281181 Author: Chris Hanson Date: Mon Jan 29 19:24:31 2018 -0800 Don't use binding-item for LET bindings. M src/runtime/mit-syntax.scm commit e428e8be87ba2f08d5fa4172d2b6455dfb8c7ea2 Author: Chris Hanson Date: Sun Jan 28 16:47:37 2018 -0800 Change syntactic environments to be records rather than bundles. It's not using the bundle functionality so there's no advantage. M src/runtime/syntax-environment.scm commit e1d33d94bd24d5b2580df045f8193f6691f5d8a2 Author: Chris Hanson Date: Sun Jan 28 16:47:12 2018 -0800 Change define-bundle-interface to use quote-identifier. M src/runtime/mit-macros.scm commit 8a108d5bea363be54d0889730e0897f11f2efbab Author: Chris Hanson Date: Sun Jan 28 15:36:17 2018 -0800 Implement quote-identifier, which is needed for macro-generating macros. I'm not entirely happy with this; it feels like a wart. But I don't see an alternative at the moment. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-definitions.scm M src/runtime/syntax-output.scm M src/runtime/syntax-rename.scm M tests/check.scm A tests/runtime/test-syntax-rename.scm commit 6e7dfafd860284e7e8bc7ac60f373ef777315aa0 Author: Chris Hanson Date: Sun Jan 28 14:50:33 2018 -0800 Rename combinator-substitution -> list-substitution. M src/runtime/syntax-rename.scm commit 99b62b2f0f6d7dd12ee339bdda38203a455b1bb7 Author: Chris Hanson Date: Sat Jan 27 17:18:11 2018 -0800 Fix but: top-level definition names must be symbols. M src/runtime/syntax-compile.scm commit 71e8113873431480d22ec715cf4238ccc2aad8ce Author: Chris Hanson Date: Fri Jan 26 21:42:35 2018 -0800 Disallow runtime environments in make-syntactic-environment. M src/compiler/back/asmmac.scm M src/edwin/clsmac.scm M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M src/runtime/syntax.scm M src/sf/toplev.scm commit a5cb98a823ad4e4f6b8e4522fec86c1805ad3f8b Author: Chris Hanson Date: Fri Jan 26 21:09:40 2018 -0800 Simplify the rename-db implementation. M src/runtime/runtime.pkg M src/runtime/syntax-rename.scm M src/runtime/syntax.scm commit dce18e97a68a0a8793dad0da0bcff88f6132dd93 Author: Chris Hanson Date: Fri Jan 26 20:36:16 2018 -0800 Eliminate synthetic identifiers. Now identifiers are either symbols or closures over symbols. Any operation on a closed identifier redirects to the appropriate environment, rather than trying to bind and/or lookup the closure itself in the environment. This greatly simplifies the identifier model, and makes the operation of the syntax processor much clearer. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-definitions.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-rename.scm M src/runtime/syntax.scm commit 460486c818cefc514725679f3c5e0a20aba483d1 Author: Chris Hanson Date: Thu Jan 25 23:14:31 2018 -0800 Change compile-item/expression to be a predicate dispatcher. Also, a bunch of small changes, mostly cleanups and simplification. M src/runtime/make.scm M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-classify.scm M src/runtime/syntax-compile.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-items.scm M src/runtime/syntax-output.scm M src/runtime/syntax.scm commit 466ad57d9f1885a60e52f4bbe8bf974dec9fc505 Author: Chris Hanson Date: Thu Jan 25 22:16:26 2018 -0800 Simplify interface to syntax renaming. M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax-rename.scm M src/runtime/syntax-rules.scm M src/runtime/syntax.scm commit 4eae13e8f0ccbeb05fe5bc40eab5e414b6999474 Author: Chris Hanson Date: Thu Jan 25 22:11:02 2018 -0800 Reorganize the code within syntax-rename. No other changes. M src/runtime/syntax-rename.scm commit 3d6b7545a98d3e53834979deb64a5a9dbae72aa0 Author: Chris Hanson Date: Thu Jan 25 22:06:00 2018 -0800 Split renaming mechanism out of syntax-output. M src/runtime/make.scm M src/runtime/runtime.pkg M src/runtime/syntax-output.scm C075 src/runtime/syntax-output.scm src/runtime/syntax-rename.scm commit 205fbbac025e49fc74643401edca006c55da8051 Author: Chris Hanson Date: Thu Jan 25 21:52:16 2018 -0800 Eliminate open-block-components and rename other procedures to include "scode". M src/6001/nodefs.scm M src/compiler/base/toplev.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/fggen.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/x86-64/compiler.pkg M src/edwin/xform.scm M src/runtime/codwlk.scm M src/runtime/host-adapter.scm M src/runtime/lambdx.scm M src/runtime/predicate-tagging.scm M src/runtime/runtime.pkg M src/runtime/scan.scm M src/runtime/syntax-output.scm M src/runtime/unsyn.scm M src/runtime/xeval.scm M src/sf/cgen.scm D src/sf/gimprt.scm M src/sf/sf.pkg M src/sf/xform.scm commit 59c9d234e9f90bb211d6ef06993cba1753f95470 Author: Chris Hanson Date: Thu Jan 25 20:56:45 2018 -0800 Refactor the syntax-output codewalkers to use predicate dispatchers. M src/runtime/syntax-output.scm commit f7295ae6b6eff3b0131eafe4918564499c5ed990 Author: Chris Hanson Date: Thu Jan 25 20:32:11 2018 -0800 Make sure the open-block tag is computed correctly. M src/runtime/predicate-tagging.scm M src/runtime/scan.scm commit 564b17635a9b3166e95b0aa3e053e50b9c6385d2 Author: Chris Hanson Date: Thu Jan 25 20:07:40 2018 -0800 Use keyword syntactic environment to implement keywords. M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm M src/runtime/syntax.scm commit d935033e13939e184aaab677ad492a5433f361a6 Author: Chris Hanson Date: Thu Jan 25 20:05:28 2018 -0800 Introduce syntactic-environment/reserve to handle common case. This also means that syntactic-environment/define is only used for keyword items. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-environment.scm commit 014a2d5a0d84d7f59fee97d7788d193dfa701f3c Author: Chris Hanson Date: Thu Jan 25 19:57:18 2018 -0800 Rename accessors for syntactic closures. M src/runtime/defstr.scm M src/runtime/runtime.pkg M src/runtime/syntax-classify.scm M src/runtime/syntax.scm commit 519f332537aa58aa7ce62e74e4df1baae4892609 Author: Chris Hanson Date: Thu Jan 25 19:52:19 2018 -0800 Make sure that scode object tags are correctly computed. M src/runtime/lambda.scm M src/runtime/predicate-tagging.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg M src/runtime/scode.scm commit 124935a654233b7f87b01c08568ffff89c7ba3fd Author: Chris Hanson Date: Thu Jan 25 13:57:51 2018 -0800 Add missing rename to host-adapter. Thanks Joe Marshall for another catch. M src/runtime/host-adapter.scm commit 816b9122751c9b60b85f9ce3db0df8a516f763cb Author: Chris Hanson Date: Wed Jan 24 00:07:59 2018 -0800 Greatly simplify SCode abstraction and change names to contain "scode". Also remove all FOO-components and FOO-subexpressions procedures. More work remains: the lambda abstraction is an unholy mess and needs to be cleaned up. The scan-defines stuff also merits some consideration. M src/6001/nodefs.scm M src/compiler/back/syerly.scm M src/compiler/base/asstop.scm M src/compiler/base/pmerly.scm M src/compiler/base/scode.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/fggen.scm M src/compiler/machines/C/compiler.pkg M src/compiler/machines/i386/compiler.pkg M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/svm/compiler.pkg M src/compiler/machines/svm/disassembler.scm M src/compiler/machines/x86-64/compiler.pkg M src/compiler/machines/x86-64/dassm1.scm M src/cref/anfile.scm M src/cref/redpkg.scm M src/edwin/edwin.pkg M src/edwin/xform.scm M src/ffi/syntax.scm M src/runtime/advice.scm M src/runtime/codwlk.scm M src/runtime/ed-ffi.scm M src/runtime/environment.scm M src/runtime/framex.scm M src/runtime/host-adapter.scm M src/runtime/infutl.scm M src/runtime/lambda.scm M src/runtime/lambdx.scm M src/runtime/load.scm M src/runtime/microcode-errors.scm M src/runtime/parser.scm M src/runtime/prgcop.scm M src/runtime/procedure.scm M src/runtime/runtime.pkg M src/runtime/scan.scm M src/runtime/scode.scm D src/runtime/scomb.scm M src/runtime/swank.scm M src/runtime/syntax-output.scm M src/runtime/unpars.scm M src/runtime/unsyn.scm M src/runtime/urtrap.scm M src/runtime/xeval.scm M src/runtime/ystep.scm M src/sf/cgen.scm M src/sf/gconst.scm M src/sf/gimprt.scm M src/sf/object.scm M src/sf/sf.pkg M src/sf/subst.scm M src/sf/toplev.scm M src/sf/usiexp.scm M src/sf/xform.scm M src/sos/macros.scm commit 0992b7f295e356b42b88a0a7a138dcbffb32872d Author: Chris Hanson Date: Tue Jan 23 00:13:22 2018 -0800 Eliminate unused import from compiler C backend. M src/compiler/machines/C/compiler.pkg commit 5983a09ee06263676d80844077d25d90e400d017 Author: Chris Hanson Date: Tue Jan 23 00:11:39 2018 -0800 Rename file "ustring" to "string" and update package name too. M src/etc/ucd-converter.scm M src/gdbm/gdbm.pkg M src/pgsql/pgsql.pkg M src/runtime/ed-ffi.scm M src/runtime/make.scm M src/runtime/runtime.pkg R099 src/runtime/ustring.scm src/runtime/string.scm M src/x11/x11.pkg commit 472007976d203e55644cd8a63043fb41bd7653f2 Author: Chris Hanson Date: Tue Jan 23 00:06:06 2018 -0800 Large number of file renames. Also deletes a few unused files. R100 src/runtime/chrset.scm src/runtime/char-set.scm R100 src/runtime/ttyio.scm src/runtime/console-io.scm M src/runtime/cpoint.scm R100 src/runtime/gencache.scm src/runtime/dispatch-cache.scm R100 src/runtime/gentag.scm src/runtime/dispatch-tag.scm R100 src/runtime/dospth.scm src/runtime/dos-pathname.scm D src/runtime/dosdir.scm D src/runtime/dosprm.scm D src/runtime/dosproc.scm M src/runtime/ed-ffi.scm R100 src/runtime/uenvir.scm src/runtime/environment.scm R100 src/runtime/fileio.scm src/runtime/file-io.scm R100 src/runtime/genio.scm src/runtime/generic-io.scm R100 src/runtime/hashtb.scm src/runtime/hash-table.scm R100 src/runtime/httpio.scm src/runtime/http-io.scm R100 src/runtime/input.scm src/runtime/input-port.scm R100 src/runtime/intrpt.scm src/runtime/interrupt.scm R095 src/runtime/string.scm src/runtime/legacy-string.scm M src/runtime/make.scm R100 src/runtime/udata.scm src/runtime/microcode-data.scm R100 src/runtime/uerror.scm src/runtime/microcode-errors.scm R100 src/runtime/utabs.scm src/runtime/microcode-tables.scm R100 src/runtime/output.scm src/runtime/output-port.scm R100 src/runtime/parse.scm src/runtime/parser.scm R100 src/runtime/pathnm.scm src/runtime/pathname.scm R098 src/runtime/fixart.scm src/runtime/primitive-arithmetic.scm R100 src/runtime/io.scm src/runtime/primitive-io.scm R100 src/runtime/uproc.scm src/runtime/procedure.scm M src/runtime/runtime.pkg D src/runtime/site.scm.dos D src/runtime/site.scm.unix R100 src/runtime/stringio.scm src/runtime/string-io.scm R100 src/runtime/port.scm src/runtime/textual-port.scm R100 src/runtime/tscript.scm src/runtime/transcript.scm R100 src/runtime/unxpth.scm src/runtime/unix-pathname.scm commit 1d2b6d43091536331a0ef79e24d0955d4b51d592 Author: Chris Hanson Date: Mon Jan 22 22:43:03 2018 -0800 Merge gensym into symbol and add mutex for its counter. M src/runtime/ed-ffi.scm D src/runtime/gensym.scm M src/runtime/make.scm M src/runtime/runtime.pkg M src/runtime/symbol.scm commit 21fb48291e77ee8c0eceda997e3855fd7bede8d6 Author: Chris Hanson Date: Mon Jan 22 22:42:09 2018 -0800 Don't use vertical brackets when unparsing uninterned symbol. M src/runtime/unpars.scm commit d4db0410d0dc39d3fb3ff897634d59a163fff87d Author: Chris Hanson Date: Mon Jan 22 22:40:58 2018 -0800 Move fixart and thread-low to earlier in the cold load. M src/runtime/make.scm commit c1165b63a1b6cde9b613e0d8b222aff1520e74a0 Author: Chris Hanson Date: Mon Jan 22 18:33:59 2018 -0800 Eliminate long-obsolete starbase support. M src/runtime/ed-ffi.scm M src/runtime/make.scm M src/runtime/runtime.pkg D src/runtime/starbase.scm M src/runtime/x11graph.scm M src/x11/make.scm M src/x11/x11-device.scm M src/x11/x11.pkg commit b6695f4b1a54f76c521a4b460ffd0f1eaa559132 Author: Chris Hanson Date: Mon Jan 22 18:32:44 2018 -0800 Add a few missing subdirs into Tags.sh computation. M src/Tags.sh commit 24f7906b09611aba0a5b7a9aa78962ae656f283a Author: Chris Hanson Date: Sun Jan 21 19:16:56 2018 -0800 Rewrite syntax-environment to use bundles. M src/runtime/syntax-environment.scm commit 4c4c5d0619139d45cf8080cc2bb8a50602bd17cd Author: Chris Hanson Date: Sun Jan 21 17:06:03 2018 -0800 Allow bare symbols as elements in bundle-interface specification. M src/runtime/bundle.scm commit ca8763911137860478ecdd5bc83755c55c42e993 Author: Chris Hanson Date: Sun Jan 21 15:56:03 2018 -0800 Fix bug: bundle-interface predicates can't use dispatch-tag<= during cold load. I don't think they need to do this anyway, since inheritance isn't part of this design. M src/runtime/bundle.scm commit 50af40544121a1ea7b4a9d0932032b5d9a9dd0a2 Author: Chris Hanson Date: Sun Jan 21 15:40:16 2018 -0800 Push yet more predicate machinery into boot. M src/runtime/boot.scm M src/runtime/gentag.scm M src/runtime/predicate.scm M src/runtime/runtime.pkg commit 9c85567299913e6d6257095be1de07a27315af93 Author: Chris Hanson Date: Sun Jan 21 14:04:17 2018 -0800 Rename value-binder to variable-binder. M src/runtime/mit-syntax.scm commit 451556e1622b05326b89fa632f12723c98f6d39b Author: Chris Hanson Date: Sun Jan 21 14:01:03 2018 -0800 Move bundle implementation to early in the cold load. M src/runtime/bundle.scm M src/runtime/make.scm M src/runtime/predicate.scm commit f51c2ec764ecd6153d17c81408df5b85ee3daa8b Author: Chris Hanson Date: Sun Jan 21 13:27:16 2018 -0800 Add unparser for variable items. M src/runtime/syntax-items.scm commit 8801c4fc0dbd70632d247a9f5bb5314ef6a61b1e Author: Taylor R Campbell Date: Sun Jan 21 15:52:51 2018 +0000 Avoid shift of negative, which is undefined in C. M src/microcode/bignmint.h commit 417307e00d30a6f8f565f7cd8f24c556824ffecc Author: Chris Hanson Date: Sun Jan 21 01:30:29 2018 -0800 Eliminate unnecessary implementation note. I may change the implementation in the near future. M doc/ref-manual/special-forms.texi commit ee1faf45e163932a5597cc082fac037426ff105f Author: Chris Hanson Date: Sun Jan 21 01:28:41 2018 -0800 Defer enabling runtime handling of errors until end of cold load. Otherwise, once the error system is initialized, a subsequent cold-load error causes an infinite loop. At least this way there's some information about what went wrong. M src/runtime/make.scm M src/runtime/uerror.scm commit 64561829d6d7ba8c3d73676a12d429ffca3b0585 Author: Chris Hanson Date: Sat Jan 20 13:01:00 2018 -0800 Fix typo reported by jmarshall. M src/runtime/mit-syntax.scm commit 6c741a60c9c6fe2389e924509fbc62dff6f6bff0 Author: Chris Hanson Date: Fri Jan 19 21:36:13 2018 -0800 Tweak bundle index lookup; fix bundle tests. M src/runtime/bundle.scm M tests/runtime/test-bundle.scm commit ea5cd2eaa80dfa90c1b23f2a04e9c8976a633bbd Author: Chris Hanson Date: Fri Jan 19 21:23:08 2018 -0800 Refactor the bundle implementation. * The interface is now the predicate rather than the tag. * New procedures bundle-constructor and bundle-accessor. * define-bundle-interface generates a BOA constructor and uses it. M src/runtime/bundle.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit b2bdc634e4053f938a90085a9bf64a1829b96b61 Author: Chris Hanson Date: Fri Jan 19 20:01:56 2018 -0800 Rewrite define-like and let-like syntax for simplicity. M src/runtime/mit-syntax.scm commit d04456a60bc68b10964fd3163240ed19cc432e4a Author: Chris Hanson Date: Fri Jan 19 20:01:40 2018 -0800 Two small simplifications. M src/runtime/syntax-classify.scm commit 3dcd773972e34b8f29c5d80502ade1e25f3454be Author: Chris Hanson Date: Fri Jan 19 20:01:25 2018 -0800 Eliminate null-binding-item. M src/runtime/runtime.pkg M src/runtime/syntax-items.scm commit e6cb1c58992d54d3904ef38a13688be9b471dd7f Author: Chris Hanson Date: Fri Jan 19 20:00:52 2018 -0800 Fix bug: Can't call output/sequence with an empty list. M src/runtime/syntax-compile.scm commit 7e20d0747c5d33e97cd3bd6f94f7d5d3d6acddc2 Author: Chris Hanson Date: Fri Jan 19 19:58:48 2018 -0800 Rewrite define-bundle-interface to do renaming manually. Automatic renamer was clumsy and error-prone. M src/runtime/mit-macros.scm commit 2dbeea5e8ceebd7739c7ff1f851864256a4f07d5 Author: Chris Hanson Date: Fri Jan 19 19:58:07 2018 -0800 Fix bug: trace was depending on a string being mutable when it wasn't. M src/runtime/advice.scm commit f54ba65bf212498eff76015ebee0b4ee09c48150 Author: Chris Hanson Date: Thu Jan 18 20:58:14 2018 -0800 Be a little more honest about unsyntaxing macro definitions. M src/runtime/unsyn.scm commit a28db0810942bf2962e5abb0657199e66a108beb Author: Chris Hanson Date: Thu Jan 18 18:26:32 2018 -0800 Refactor bundle interfaces to be dispatch tags. Also add some unit tests. M src/runtime/bundle.scm M src/runtime/runtime.pkg M tests/check.scm A tests/runtime/test-bundle.scm commit fdc3e01ae31e6b33703a8dd87fa0c377229c47ca Author: Chris Hanson Date: Thu Jan 18 18:25:54 2018 -0800 Fix bug in macro expansion for define-bundle-interface. M src/runtime/mit-macros.scm commit e9665adacdfe1f4a03ccb95f6ce2bec1bfbb27be Author: Chris Hanson Date: Wed Jan 17 21:14:03 2018 -0800 Add extra tests to make sure that tagging dispatches right. M tests/runtime/test-predicate-dispatch.scm commit 8e5c6a3957d0dffbba639e90cf8b47df7f6f6c22 Author: Chris Hanson Date: Wed Jan 17 21:10:40 2018 -0800 Merge predicate-metadata and predicate-lattice into predicate. M src/runtime/make.scm D src/runtime/predicate-lattice.scm R067 src/runtime/predicate-metadata.scm src/runtime/predicate.scm M src/runtime/runtime.pkg M tests/check.scm D tests/runtime/test-predicate-lattice.scm R085 tests/runtime/test-predicate-metadata.scm tests/runtime/test-predicate.scm commit 014efa1279115f701943680f4fb5a03d2d8ea7d5 Author: Chris Hanson Date: Wed Jan 17 21:05:45 2018 -0800 Add Tags.sh to tests directory. A tests/Tags.sh commit f26a95f4b7fef56ca9c865fc05ebd497b3b8e745 Author: Chris Hanson Date: Wed Jan 17 20:38:24 2018 -0800 Move set-{dispatch-tag,predicate}<=! into boot for use in cold load. M src/runtime/boot.scm M src/runtime/gentag.scm M src/runtime/predicate-lattice.scm M src/runtime/predicate-metadata.scm M src/runtime/predicate-tagging.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit c95549be8f4d8ef350ece8b2c0d75d346bad570a Author: Chris Hanson Date: Wed Jan 17 20:20:52 2018 -0800 Eliminate remaining differences between record tags and types. Also simplify internals of record a bit as a consequence. M src/runtime/defstr.scm M src/runtime/ffi.scm M src/runtime/packag.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/sos/class.scm M src/sos/recslot.scm commit 5c672b7537d7cda08aa17ef4ae213dfe769d61c1 Author: Chris Hanson Date: Wed Jan 17 20:04:21 2018 -0800 Strip angle brackets off of dispatch-tag names when printing. M src/runtime/gentag.scm commit bfdc9e9fb51e55eca6bf598dfda6a57773fe0985 Author: Chris Hanson Date: Wed Jan 17 20:02:06 2018 -0800 Change strip-angle-brackets to work on symbols too. M src/runtime/global.scm commit 69b2e0e229486950da72f68ce4fd8182a6a779d2 Author: Chris Hanson Date: Wed Jan 17 19:52:07 2018 -0800 Replace record-type with the associated dispatch tag. M src/runtime/record.scm commit 2b02bfc554c91b995e8f295535445061fb37a63d Author: Chris Hanson Date: Wed Jan 17 19:38:00 2018 -0800 Add EXPRESSION clauses to boolean assertions in test-parametric-predicate. Otherwise it's too hard to figure out what went wrong. M tests/runtime/test-parametric-predicate.scm commit 611346fec19c15f385d68df7c2d6c5d24e05f4a8 Author: Chris Hanson Date: Wed Jan 17 19:37:46 2018 -0800 Fix typo in earlier refactor. M src/runtime/record.scm commit 8b9a15e5048e276a7344cfd05082b7e28725f4c1 Author: Chris Hanson Date: Wed Jan 17 18:02:58 2018 -0800 Rename "tag" to "dispatch-tag" and move bindings to global env. This name is at least somewhat specific, so it should be OK in global. M src/runtime/bundle.scm M src/runtime/compound-predicate.scm M src/runtime/gentag.scm M src/runtime/parametric-predicate.scm M src/runtime/predicate-dispatch.scm M src/runtime/predicate-lattice.scm M src/runtime/predicate-metadata.scm M src/runtime/predicate-tagging.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/unpars.scm M src/sos/class.scm M src/sos/generic.scm M src/sos/tvector.scm M tests/Clean.sh M tests/runtime/test-parametric-predicate.scm M tests/runtime/test-predicate-metadata.scm M tests/sos/test-genmult.scm commit 735bd13f0f4baddb65f33730b7eee640835e63dc Author: Chris Hanson Date: Tue Jan 16 22:40:36 2018 -0800 Merge dispatch-tags and tags into a single implementation. M src/runtime/compound-predicate.scm M src/runtime/gencache.scm M src/runtime/gentag.scm M src/runtime/infutl.scm M src/runtime/make.scm M src/runtime/parametric-predicate.scm M src/runtime/predicate-lattice.scm M src/runtime/predicate-metadata.scm M src/runtime/predicate-tagging.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/runtime.sf M src/runtime/symbol.scm M src/sos/class.scm M src/sos/generic.scm M src/sos/instance.scm M src/sos/printer.scm M src/sos/recslot.scm M src/sos/slot.scm M src/sos/sos.pkg M src/sos/tvector.scm M tests/sos/test-genmult.scm commit 0baf34abb7c0a62880553ab915ffd3f255384d16 Author: Chris Hanson Date: Tue Jan 16 21:17:15 2018 -0800 Fix bug: forgot to initialize record conditions. M src/runtime/make.scm commit 02f69e756167554d763f4e629d0236f020254d79 Author: Chris Hanson Date: Mon Jan 15 22:48:18 2018 -0800 Change tag representation so extra field is always a vector. The original reason for using records in that field is no longer relevant now that we have metatags to identify the tag type. M src/runtime/compound-predicate.scm M src/runtime/parametric-predicate.scm M src/runtime/predicate-metadata.scm commit 13a780d0926d5bee5493dcfbd2192b41b8c50864 Author: Chris Hanson Date: Mon Jan 15 22:40:57 2018 -0800 Refactor tag implementation to use "metatags". This allows predicate dispatch to differentiate between different kinds of tags. Otherwise all tags look the same, even if they are functionally different. Of course now it's not possible to differentiate between metatags, because they all of the same tag; but that shouldn't be a problem. M src/runtime/compound-predicate.scm M src/runtime/parametric-predicate.scm M src/runtime/predicate-lattice.scm M src/runtime/predicate-metadata.scm M src/runtime/runtime.pkg M tests/check.scm M tests/runtime/test-parametric-predicate.scm M tests/runtime/test-predicate-metadata.scm commit 881c4d45a8150874eaccf9f9fa28095cb46415f7 Author: Chris Hanson Date: Mon Jan 15 22:07:58 2018 -0800 Fix bug: record-type-type-tag was missing a tag. M src/runtime/predicate-metadata.scm M src/runtime/record.scm commit 515b9be6efa979285b11a948208fc46a5514bec4 Author: Chris Hanson Date: Mon Jan 15 20:24:48 2018 -0800 Move weak sets from predicate-metadata to boot. Also flesh out slightly for future use. M src/runtime/predicate-metadata.scm commit a35a8d9e299039573c8f6de17ed887aeed701d7d Author: Chris Hanson Date: Mon Jan 15 20:12:20 2018 -0800 Eliminate predicate-description. M src/runtime/boot.scm M src/runtime/predicate-metadata.scm M src/runtime/runtime.pkg commit d84d971adf8826fb0ac2d5a9ab7bdb56c55708f8 Author: Chris Hanson Date: Mon Jan 15 20:05:18 2018 -0800 Put guarantee and friends into "boot" for cold-load access. M src/runtime/boot.scm M src/runtime/predicate-metadata.scm M src/runtime/runtime.pkg commit 70d7fc059534f74c4eda16ba961904606c3cc5a0 Author: Chris Hanson Date: Mon Jan 15 20:02:20 2018 -0800 Implement simple weak sets. M src/runtime/boot.scm M src/runtime/runtime.pkg commit b2af4789ab6b1300f6d14f9c4ab3eff56ff6bddf Author: Matt Birkholz Date: Mon Jan 15 10:38:52 2018 -0700 blowfish: Doco typo. M src/blowfish/mit-scheme-blowfish.texi commit 31177eda41adb38968f00feca4c95af4f333ec89 Author: Matt Birkholz Date: Mon Jan 15 10:36:56 2018 -0700 gdbm: Doco typos. M src/gdbm/mit-scheme-gdbm.texi commit 74681105ca2b1be5e3399dddaa0e52e469e23b23 Author: Matt Birkholz Date: Mon Jan 15 10:27:01 2018 -0700 ffi: Missing alienate_float_environment causes foreigners to SIGFPE. M src/microcode/pruxffi.c commit 475ab2ffd212f90a9091d12ea4d6d0ffa313cbea Author: Chris Hanson Date: Sat Jan 13 20:16:52 2018 -0800 Refactor handling of explicit tag supersets. Was hash table, now is weak list. M src/runtime/predicate-lattice.scm M src/runtime/predicate-metadata.scm M src/runtime/runtime.pkg commit c0d3f51ad795a48941606df82ab2b5cb24a5512c Author: Chris Hanson Date: Sat Jan 13 19:32:53 2018 -0800 Implement weak-pair procedures as primitives and open-code them. Also put the primitives in "boot" so they are available early. M src/compiler/base/utils.scm M src/compiler/rtlgen/opncod.scm M src/microcode/list.c M src/microcode/object.h M src/runtime/boot.scm M src/runtime/list.scm M src/runtime/runtime.pkg M src/sf/gconst.scm commit 051c813cf7519a2105d6e88ef17bd6eed65abb01 Author: Chris Hanson Date: Sat Jan 13 13:30:07 2018 -0800 Eliminate tagging strategies altogether. The structure of the tagged data belongs outside of the core code. M src/runtime/compound-predicate.scm M src/runtime/parametric-predicate.scm M src/runtime/predicate-lattice.scm M src/runtime/predicate-metadata.scm M src/runtime/predicate-tagging.scm M src/runtime/runtime.pkg commit 59b7f7cf2b8da4eb49c1e8aa3c0351b5b555e581 Author: Chris Hanson Date: Sat Jan 13 13:29:13 2018 -0800 Fix test: was depending on tagging strategy to differentiate datum tests. M tests/runtime/test-parametric-predicate.scm commit bbd181214a8d34d4daecf7f96ef465e61df2eff0 Author: Chris Hanson Date: Sat Jan 13 13:07:38 2018 -0800 Fix bug: two copies of unicode-char? were causing confusion. M doc/ref-manual/characters.texi M src/runtime/char.scm M src/runtime/chrset.scm M src/runtime/runtime.pkg commit 9b1fd2056b4bb2e954d5c1fd0cb7d08efe234b30 Author: Chris Hanson Date: Sat Jan 13 13:06:23 2018 -0800 Add "assertion number" to failure reports. This is clumsy but better than nothing. M tests/unit-testing.scm commit d59cbc866eb6084f845b297adfc61a88bed8a372 Author: Chris Hanson Date: Sat Jan 13 11:13:38 2018 -0800 Eliminate tagged-object-{tag,datum} since they're identical to the % ones. M src/runtime/predicate-tagging.scm M src/runtime/runtime.pkg M src/runtime/unpars.scm commit 1bf1af2bced584d97a06d640bc92f91b49d5a878 Author: Chris Hanson Date: Fri Jan 12 23:16:13 2018 -0800 Do stupid macrology to work around lack of vector-ish open coding. M src/runtime/boot.scm M src/runtime/vector.scm commit b8fd1e8f442e9479b121c11f5dbc0f02facff742 Author: Chris Hanson Date: Fri Jan 12 22:28:54 2018 -0800 Fix open-coding of default-object?. Not sure why this makes any difference, but it seems to. M src/runtime/boot.scm M src/sf/usiexp.scm commit cd4c737199426981abbb1b3c95f1264102231c68 Author: Chris Hanson Date: Fri Jan 12 21:44:59 2018 -0800 Fix bug in compilation of %record with 0 or 1 arguments. M src/compiler/rtlgen/opncod.scm commit 874d5754cc0891436312031250de6165cb7aa554 Author: Chris Hanson Date: Fri Jan 12 21:03:03 2018 -0800 Implement tagged-object primitives and open-code them in compiler. Also push record and tagged-object primitives into "boot" so they are available early in the cold load. M src/compiler/base/utils.scm M src/compiler/rtlgen/opncod.scm M src/microcode/list.c M src/microcode/object.h M src/microcode/vector.c M src/runtime/boot.scm M src/runtime/predicate-metadata.scm M src/runtime/predicate-tagging.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/sf/gconst.scm commit 32f0609ad7ab6d4a355e17aada1ad93195262e69 Author: Chris Hanson Date: Thu Jan 11 23:47:18 2018 -0800 Simplify the story of tagging strategy. It's still not quite right, but it is at least somewhat closer. M src/runtime/compound-predicate.scm M src/runtime/parametric-predicate.scm M src/runtime/predicate-lattice.scm M src/runtime/predicate-metadata.scm M src/runtime/predicate-tagging.scm M src/runtime/runtime.pkg M tests/runtime/test-compound-predicate.scm M tests/runtime/test-parametric-predicate.scm M tests/runtime/test-predicate-metadata.scm commit f0c63df8b9f31ac913a9db457183bb20ee826b5d Author: Chris Hanson Date: Wed Jan 10 23:54:03 2018 -0800 Use macro to speed up implementations of record accessors. M src/runtime/record.scm commit 6041a600e27fd241910edb6760ddeaaabf768b1b Author: Chris Hanson Date: Wed Jan 10 23:24:10 2018 -0800 Remove documentation for now-obsolete generic-procedure dispatch. M doc/ref-manual/procedures.texi M doc/ref-manual/scheme.texinfo commit af820bd4bbfa6d5a5cbbaa7ac40eeb0debfbb87b Author: Chris Hanson Date: Wed Jan 10 23:15:31 2018 -0800 Simplify predicate-tagging so that it provides only the essentials. This too is subject to change. The tagging strategy idea needs to be revisited in a larger context since it doesn't account complex structures like records. M src/runtime/predicate-tagging.scm M src/runtime/runtime.pkg M src/runtime/unpars.scm commit f849ee72cbf2622c1df8a7d1caea0957d27ee363 Author: Chris Hanson Date: Wed Jan 10 20:03:17 2018 -0800 Eliminate record-entity names and support. M src/runtime/predicate-metadata.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit 7071648f613336ef3d34c797e74f00df439bb75a Author: Chris Hanson Date: Wed Jan 10 19:37:47 2018 -0800 Delete some unnecessary procedures. M src/runtime/record.scm M src/runtime/runtime.pkg commit da47ca24210b68381ab1f27ed6bc7a55c6d69bd1 Author: Chris Hanson Date: Wed Jan 10 19:19:58 2018 -0800 Tweak dispatch-tag slightly. M src/runtime/gentag.scm commit dded11d8f4c5d522e64f0b4ef678ea8536787a0e Author: Chris Hanson Date: Tue Jan 9 22:00:39 2018 -0800 Push definition of register-predicate! to beginning of cold load. M src/runtime/binary-port.scm M src/runtime/boot.scm M src/runtime/bundle.scm M src/runtime/bytevector.scm M src/runtime/compound-predicate.scm M src/runtime/make.scm M src/runtime/port.scm M src/runtime/predicate-metadata.scm M src/runtime/predicate-tagging.scm M src/runtime/runtime.pkg M src/runtime/url.scm M src/runtime/ustring.scm commit a735e11a387d5b3bb1f913b73646f59cfe32fb40 Author: Chris Hanson Date: Tue Jan 9 21:02:06 2018 -0800 Eliminate use of record-specific printing registration. M src/edwin/edtstr.scm M src/runtime/binary-port.scm M src/runtime/bundle.scm M src/runtime/ffi.scm M src/runtime/http-syntax.scm M src/runtime/httpio.scm M src/runtime/packag.scm M src/runtime/port.scm M src/runtime/record.scm M src/runtime/rfc2822-headers.scm M src/runtime/runtime.pkg M src/runtime/sfile.scm M src/runtime/url.scm M src/xml/rdf-struct.scm M src/xml/xml-names.scm M src/xml/xml-output.scm M src/xml/xml-struct.scm commit 96750cb49f63da289c2155c641fb98b8615c7332 Author: Chris Hanson Date: Tue Jan 9 20:47:55 2018 -0800 Clean up the ad hoc handling of boot-time predicate registrations. M src/runtime/bytevector.scm M src/runtime/predicate-metadata.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/ustring.scm commit 61b739b61c87d11fb90914c856e162848cc5c510 Author: Chris Hanson Date: Tue Jan 9 20:30:12 2018 -0800 Use weak hash tables for predicate lattice. M src/runtime/predicate-metadata.scm commit bca1599e101cb93d50fb24bab803cf4da2d6762c Author: Chris Hanson Date: Tue Jan 9 20:25:25 2018 -0800 Eliminate unused (and not fully thought out) unregister-predicate!. M src/runtime/predicate-metadata.scm M src/runtime/runtime.pkg commit 41ec7aa9345f816cc4fa02007210bc49cba41af6 Author: Chris Hanson Date: Tue Jan 9 20:06:58 2018 -0800 Fix cold-load initialization so that predicate tag tables are built right. M src/runtime/compound-predicate.scm M src/runtime/predicate-lattice.scm M src/runtime/runtime.pkg commit da0345a90aabf582b105fea991156f3c04089208 Author: Chris Hanson Date: Tue Jan 9 20:06:27 2018 -0800 Thanks Joe! Fix thinko in code generation for define-structure. M src/runtime/defstr.scm commit 9bd9f2db9cf04d8007459e57b0f0ecd42248a48a Author: Chris Hanson Date: Mon Jan 8 23:00:15 2018 -0500 Remove some unused and undocumented record-type accessors. Included are record-type-extension, set-record-type-extension!, set-record-type-default-inits!, and %set-record-type-default-inits!. M src/runtime/record.scm M src/runtime/runtime.pkg commit 989681141deb0ae4435f0c319c903088342d15bc Author: Chris Hanson Date: Mon Jan 8 22:50:17 2018 -0500 Move srfi-1 support to beginning of cold load. M src/runtime/make.scm commit 4f86eb081f9a4ca26180bfa5319672bfe5381bc2 Author: Chris Hanson Date: Mon Jan 8 22:05:52 2018 -0500 Minor simplification. M src/runtime/gentag.scm commit bc59423ae53b26bfc957c1c3fdc61cb1507bc50c Author: Chris Hanson Date: Mon Jan 8 22:01:58 2018 -0500 Move dispatch-tag print method into gentag.scm. M src/runtime/gentag.scm M src/runtime/record.scm commit 8fd9fe1a3f67cf27d5533e35bb73012e23a5fa7b Author: Chris Hanson Date: Mon Jan 8 21:58:48 2018 -0500 Eliminate special support for defstruct printers. In future just use define-unparser-method. M src/runtime/defstr.scm M src/runtime/pp.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/unpars.scm commit b52cd10fc517a7c84f2e95eb927dcea732a9251d Author: Chris Hanson Date: Mon Jan 8 21:06:30 2018 -0500 Search for root-level "build" directory when finding STAGE0. M etc/run-three-stages commit afd0ba336d2e0a4e16cbc9631d25865f32350b53 Author: Chris Hanson Date: Mon Jan 8 21:00:30 2018 -0500 Add optional argument to specify build directory. M etc/check-crefs commit 21b46aae3c413e365397e702cb47eea9c6678646 Author: Chris Hanson Date: Mon Jan 8 20:57:33 2018 -0500 Implement simple script to show all of the .crf files. A etc/check-crefs commit 2fc54d872b1d3dcd3c368db708ca82e2b93b6d89 Author: Chris Hanson Date: Mon Jan 8 20:31:07 2018 -0500 Move all of the generic-procedure support from runtime into sos. It's slated to be entirely replaced by predicate dispatchers. M src/runtime/ed-ffi.scm M src/runtime/gentag.scm M src/runtime/make.scm M src/runtime/predicate-metadata.scm M src/runtime/record.scm D src/runtime/recslot.scm M src/runtime/runtime.pkg M src/runtime/swank.scm M src/runtime/unpars.scm M src/sos/compile.scm M src/sos/ed-ffi.scm R092 src/runtime/geneqht.scm src/sos/geneqht.scm R061 src/runtime/generic.scm src/sos/generic.scm R087 src/runtime/genmult.scm src/sos/genmult.scm A src/sos/recslot.scm M src/sos/sos.pkg R088 src/runtime/tvector.scm src/sos/tvector.scm M tests/check.scm R099 tests/runtime/test-genmult.scm tests/sos/test-genmult.scm commit 6000d6034a624b7c6215fada9a99e92199d19286 Author: Chris Hanson Date: Mon Jan 8 00:00:17 2018 -0500 Ignore build directory called "build". M .gitignore commit f7d0c88e1c674b830ce03fdebd135e0438d5380b Author: Chris Hanson Date: Sun Jan 7 15:36:18 2018 -0500 Make sure that a record's type name is an immutable string. M src/runtime/record.scm commit 811b3c3abe8aeb40ecb73d31cc6ad68f0fdcba38 Author: Chris Hanson Date: Sun Jan 7 15:32:33 2018 -0500 Implement string->immutable. M src/runtime/runtime.pkg M src/runtime/ustring.scm commit 91de40fca4b841314c74122ff4afc48565b2269c Author: Chris Hanson Date: Sun Jan 7 15:28:40 2018 -0500 Clean up handling of entities with records as extra. Implement record-entity? and record-entity-predicate. Also clean up printing support for these. M src/runtime/pp.scm M src/runtime/predicate-metadata.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/unpars.scm commit 7f6f59ec9bcb37e9945f83718f6c6193f4c2c1e0 Author: Chris Hanson Date: Sun Jan 7 15:09:33 2018 -0500 Convert record support to use new predicate dispatchers. M src/compiler/base/object.scm M src/runtime/debug.scm M src/runtime/pp.scm M src/runtime/predicate-metadata.scm M src/runtime/record.scm M src/runtime/runtime.pkg M src/runtime/unpars.scm commit 7894e2ef77a2e5759e1accb2f90b4740a7ab62f5 Author: Chris Hanson Date: Sun Jan 7 14:45:40 2018 -0500 Implement real define-pp-describer. M src/runtime/pp.scm M src/sos/printer.scm commit 75f9b0c1727c45df814dda9805cef0c410e6c508 Author: Chris Hanson Date: Sun Jan 7 14:38:44 2018 -0500 Implement real define-unparser-method. M src/runtime/unpars.scm commit 0d5ee21586bbf5aada279a0858d99ce98bf8f0a5 Author: Chris Hanson Date: Sun Jan 7 14:33:02 2018 -0500 Implement define-unparser-method and define-pp-describer as deferred actions. M src/runtime/boot.scm M src/runtime/runtime.pkg commit 9bed04bf20fd387329db763d6924d5ad7631bbc8 Author: Chris Hanson Date: Sun Jan 7 00:31:38 2018 -0500 Change record to use predicate dispatchers instead of generics. M src/runtime/predicate-metadata.scm M src/runtime/record.scm M src/sos/printer.scm commit 96726a7ba75267e770641226d90647ad239813bc Author: Chris Hanson Date: Sat Jan 6 23:48:55 2018 -0500 Tweak. M src/runtime/predicate-dispatch.scm commit dab0f8c819c2fe1afd3e6c77ce8675bd241c3d71 Author: Chris Hanson Date: Sat Jan 6 23:36:05 2018 -0500 Change predicate-dispatcher to be an entity. M src/runtime/predicate-dispatch.scm commit 6377777265e20fc07eabbc3192ed7a8e671689b6 Author: Chris Hanson Date: Sat Jan 6 23:35:57 2018 -0500 Fix compiler warning. M tests/runtime/test-predicate-dispatch.scm commit f564e6b9a630d9e3f7ae51853f52476035720570 Author: Chris Hanson Date: Sat Jan 6 23:35:07 2018 -0500 Add two tests that were missing from known-tests. M tests/check.scm commit 8e970fdbe01edefb2284544eaa9c4137a350ace8 Author: Chris Hanson Date: Sat Jan 6 17:47:46 2018 -0500 Implement deferred boot actions and use them for the record.scm actions. M src/runtime/boot.scm M src/runtime/record.scm commit 180da0e348f73a08b9258cf3243fd301ea265825 Author: Chris Hanson Date: Sat Jan 6 17:45:59 2018 -0500 Establish an explicit booting? flag that controls boot inits. M src/runtime/boot.scm M src/runtime/option.scm M src/runtime/rep.scm M src/runtime/runtime.pkg commit 6d22cd471fcea199b3453165fb1cbe6f5e08d231 Author: Chris Hanson Date: Sat Jan 6 16:29:19 2018 -0500 Change boot-time deferrals to use variable-setter. M src/runtime/record.scm commit 61a425113ca332d19bd11b5375837490c5dd25c8 Author: Chris Hanson Date: Sat Jan 6 16:29:08 2018 -0500 Implement variable-setter macro. M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M src/runtime/sysmac.scm commit ddb805ed0f5cb6db81f7b6c69ce94e525ffff6bb Author: Chris Hanson Date: Sat Jan 6 16:28:38 2018 -0500 Must load host-adapter for syntax definitions when compiling. M src/runtime/runtime.sf commit b2eae2b8a31f0a7dbc6d70a3ab610e06d7d6ab5c Author: Chris Hanson Date: Sat Jan 6 16:05:09 2018 -0500 Reorganize boot.scm into logical sections. In preparation for new support to be added. M src/runtime/boot.scm commit 3a7c40d6207f3c3463b8bca98b5176bf7852a3db Author: Chris Hanson Date: Fri Jan 5 23:18:50 2018 -0500 Eliminate less-than-useful comment. M src/runtime/ustring.scm commit 2d9853a6ffb81cf6e0981cfb2a22861ae744566d Author: Chris Hanson Date: Fri Jan 5 21:58:26 2018 -0500 Rewrite the bundle machinery to separate interface and predicate. Change define-bundle-interface to require its definition names to be spelled out in the definition rather than being constructed by the macro; the result is much like define-record-type. Change the bundle lookup to use a binary search rather than a linear search, which will help when using large bundles. Although we might want to have a more flexible search strategy since it's not exposed to the end user. Add support for pretty-printing bundles similarly to records. M src/runtime/bundle.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit e8661cb8c4a2c29fc9854b1450822694fc36566f Author: Chris Hanson Date: Fri Jan 5 21:58:08 2018 -0500 Fix typo. M src/runtime/predicate-metadata.scm commit 7cbe7d655e833027bdb2ba770f877e6cdb2d6e6a Author: Chris Hanson Date: Fri Jan 5 21:56:47 2018 -0500 Refactor record implementation to support setting descriptions during boot. Also clean up the way boot deferrals are done to make this simpler. M src/runtime/global.scm M src/runtime/pp.scm M src/runtime/record.scm M src/runtime/runtime.pkg commit 8de6f83b10097be8cdc30a67c9ebc6c4cef9cc3b Author: Chris Hanson Date: Fri Jan 5 15:19:42 2018 -0500 Reimplement bundle printers to be more like other printers. M src/runtime/bundle.scm M src/runtime/runtime.pkg commit 554a62d80558fb3ea7f723b7cfe2c92aa773f7b1 Author: Chris Hanson Date: Fri Jan 5 02:34:28 2018 -0500 Some name changes and small cleanups. M src/runtime/bundle.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit 0d11bd02122972c125b17a47ca47bf7a72a0ea82 Merge: 951a675e0 5e9989ab1 Author: Chris Hanson Date: Fri Jan 5 02:12:22 2018 -0500 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit 951a675e0ac33b606b0cf2448a0de37bfa02db9d Author: Chris Hanson Date: Fri Jan 5 02:11:29 2018 -0500 First draft of "bundle" support. A src/runtime/bundle.scm M src/runtime/make.scm M src/runtime/mit-macros.scm M src/runtime/runtime.pkg commit bf50ed4c761ee70bc77487a703b8131551735c10 Author: Chris Hanson Date: Fri Jan 5 02:10:45 2018 -0500 Allow set-record-type-entity-unparser-method! to be used during cold load. M src/runtime/record.scm commit e160dc9e5e9d1f49f352d7d56fb275bd4c293af4 Author: Chris Hanson Date: Fri Jan 5 02:10:08 2018 -0500 Fix emacs interface breakage caused by string rewrite. M src/runtime/emacs.scm commit 5e9989ab1d065d2048f64f7588b4462024144266 Author: Chris Hanson Date: Tue Dec 26 14:03:52 2017 -0500 Eliminate non-hygienic-macro-transformer. M src/runtime/mit-syntax.scm M src/runtime/runtime.pkg M src/runtime/syntax-definitions.scm M src/runtime/syntax-environment.scm M src/runtime/syntax-transforms.scm commit df35c91ddd778b8499df41d1c98300d69bd36db7 Author: Chris Hanson Date: Tue Dec 26 01:23:52 2017 -0500 Eliminate unused inerly files. D src/compiler/machines/i386/inerly.scm D src/compiler/machines/x86-64/inerly.scm commit d1c76d784b6681525a408065ea9dbe3b0fcd3d79 Author: Chris Hanson Date: Tue Dec 26 00:09:51 2017 -0500 Eliminate unused and unneeded definition-environment in syntaxer. M src/runtime/mit-syntax.scm M src/runtime/syntax-classify.scm M src/runtime/syntax.scm commit 3a3ac83db6f1ab7be7994d6b201ba63dc709bfd0 Author: Chris Hanson Date: Tue Dec 26 00:09:20 2017 -0500 Fold over-long lines. M src/runtime/mit-macros.scm commit 149a7dabefde2ac0d6c0088a987c51bba6eaffa2 Author: Chris Hanson Date: Mon Dec 25 23:54:30 2017 -0500 Eliminate no-longer-used binding genrated by define-structure. M src/runtime/defstr.scm commit 547975ebd13793e3e2e850f72a9ea90c878e29fd Merge: 5ac130196 c982f8035 Author: Chris Hanson Date: Sun Dec 24 20:21:01 2017 -0500 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit c982f80355a653f5b43a3d3ccef9d2fbb6cdd8b0 Author: Matt Birkholz Date: Sat Dec 23 11:06:56 2017 -0700 gdbm plugin: Add a manual, a translation of the gdbm texinfo manual. And take advantage of new Unicode string support in the FFI. M src/gdbm/Makefile.am M src/gdbm/NEWS M src/gdbm/gdbm.scm M src/gdbm/make.scm A src/gdbm/mit-scheme-gdbm.texi commit a827b5e2baed39f95565a2cf7f4df2672d3c960c Author: Matt Birkholz Date: Sat Dec 23 02:52:49 2017 -0700 ffi: Peek C strings as non-legacy strings, else bytevectors. When the FFI peeks at a C string (ASCII and null terminated) it now copies the characters into a ustring (rather than a deprecated legacy string). If the C string contains non-ASCII characters, the FFI returns a bytevector, passing the decoding problem on to higher levels, and avoiding an extra copy (from bytes to string) when no translation is needed. Add c-peek-csubstring, a version of c-peek-cstring that takes a byte count and does NOT require the C string to be null terminated. M src/microcode/pruxffi.c M src/runtime/ffi.scm M src/runtime/runtime.pkg commit 5ac130196dcbcec6248107a40c3c70cbd5071d0c Author: Chris Hanson Date: Wed Dec 20 22:17:41 2017 -0800 Support OR in syntax-check. M src/runtime/syntax-check.scm commit ddc7bbb07c084d4f2e1dc15f12f872aaa9ef2347 Author: Chris Hanson Date: Wed Dec 20 22:17:13 2017 -0800 Handle case where XCode SDK doesn't match running OS. M src/microcode/configure.ac commit c49d7f876315704ac2d0905be824bfebb3456f1c Author: Taylor R Campbell Date: Tue Dec 19 14:53:44 2017 +0000 Restore SIGQUIT handler so I can enter breakpoints again. M src/microcode/uxsig.c commit b91999543d9cb5be40a8289d0463c1a9ae689a88 Author: Taylor R Campbell Date: Tue Dec 19 14:15:22 2017 +0000 Call close-textual-in/output-port, not close-in/output-port. Former is noop for non-input or non-output port; latter is error. Fixes close-port on something that is only a textual input port or only a textual output port. M src/runtime/port.scm commit 243e64fe3226a8c1fe274872768468a88413f578 Author: Taylor R Campbell Date: Tue Dec 19 14:14:46 2017 +0000 Avoid stack overflow with long responses. M src/imail/imail-imap.scm commit c4e313761e612ae0a481b04d95d7be0130718fd6 Author: Taylor R Campbell Date: Tue Nov 28 06:10:17 2017 +0000 Add blowfish-cbc tests. M tests/runtime/test-blowfish.scm commit fe0880b3a18df042749b5050166e66e8667e002c Author: Taylor R Campbell Date: Tue Nov 28 05:08:59 2017 +0000 Add standard Blowfish tests. M tests/check.scm A tests/runtime/test-blowfish.scm commit 34ecd0262f87c7ccb4ee0e4db86cdc77e4d1d4e3 Author: Chris Hanson Date: Fri Nov 3 22:06:05 2017 -0700 Fix test failures caused when no support for non-standard fp traps. This is the case on macOS. M src/microcode/floenv.c M src/runtime/floenv.scm M src/runtime/runtime.pkg M tests/runtime/test-arith.scm M tests/runtime/test-floenv.scm commit 700f99039a2cc441b9690f8c5259af2496e0b034 Author: Chris Hanson Date: Fri Nov 3 21:11:36 2017 -0700 Simplify previous fix to string-trimmer. M src/runtime/ustring.scm commit a7078d7f1af7f4ca5b22e0fb22ee5788964e2971 Author: Chris Hanson Date: Fri Nov 3 21:01:55 2017 -0700 Fix warnings from macOS compiler. M src/microcode/configure.ac commit 8499685959c8617ceefe809830f164564e634266 Merge: a513aedbe 9907d31ff Author: Chris Hanson Date: Fri Nov 3 20:23:59 2017 -0700 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit a513aedbe19491d72bcad3bddeef7b3cd44afb4a Author: Chris Hanson Date: Fri Nov 3 20:23:26 2017 -0700 Fix incorrect use of && where & should have been used. M src/microcode/debug.c M src/microcode/string.c commit 9907d31ffee5f0edd62bfd1b73ca206bd6bc6e96 Author: Taylor R Campbell Date: Sat Nov 4 03:19:51 2017 +0000 If n is zero, there will be no higher bits set; skip this test. M tests/runtime/test-integer-bits.scm commit 6846ddb23c9187ee916c01463706825a9c20c894 Author: Taylor R Campbell Date: Sat Nov 4 03:18:32 2017 +0000 Rip out microcode mhash module. M dist/shared.sh M doc/user-manual/user.texinfo M src/README.txt M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/files-optional.scm D src/microcode/prmhash.c M src/runtime/crypto.scm M src/runtime/runtime.pkg commit 3810763a347decf0d924c87d0b4cd5c2ac633aa7 Author: Taylor R Campbell Date: Sat Nov 4 03:09:16 2017 +0000 Eliminate optional mhash dependency in fasdump.c. M src/microcode/fasdump.c commit 4c9fdb49a85d8a6e79d4ed705b2301819c6390ba Author: Taylor R Campbell Date: Sat Nov 4 03:01:46 2017 +0000 Rip out vestiges of MD5 loadables. M dist/shared.sh M doc/user-manual/user.texinfo M src/README.txt M src/Tags.sh D src/md5/AUTHORS D src/md5/COPYING D src/md5/ChangeLog D src/md5/Makefile.am D src/md5/NEWS D src/md5/README D src/md5/autogen.sh D src/md5/compile.scm D src/md5/configure.ac D src/md5/make.scm D src/md5/md5-adapter.c D src/md5/md5-check.scm D src/md5/md5-check.sh D src/md5/md5-shim.h D src/md5/md5.cdecl D src/md5/md5.pkg D src/md5/md5.scm D src/md5/optiondb.scm D src/md5/tags-fix.sh commit 61078c44a19250ad7383e00e587eabe888c8f252 Author: Taylor R Campbell Date: Sat Nov 4 02:56:22 2017 +0000 Eliminate MD5 as a loadable microcode module. Unconditionally include a new portable C implementation. M src/microcode/configure.ac M src/microcode/makegen/Makefile.in.in M src/microcode/makegen/files-core.scm M src/microcode/makegen/files-optional.scm A src/microcode/md5.c A src/microcode/md5.h M src/microcode/prmd5.c M src/runtime/crypto.scm M tests/check.scm C060 src/microcode/makegen/files-core.scm tests/runtime/test-md5.scm commit 1cc14a8343d4995ae2987d0605d728a8ecc43a79 Author: Taylor R Campbell Date: Fri Nov 3 21:15:11 2017 +0000 First draft of SHA3-256 with minimal tests. Probably full of fenceposts but this is all I have energy for at the moment. M src/runtime/runtime.pkg A src/runtime/sha3.scm M tests/check.scm A tests/runtime/test-sha3.scm commit 804e742557dbafe85ae65c072ce96ef13f4bf972 Author: Matt Birkholz Date: Thu Nov 2 16:56:48 2017 -0700 blowfish plugin: Add texinfo manual, scraped from OpenSSL manpages. M src/blowfish/Makefile.am M src/blowfish/blowfish.scm A src/blowfish/mit-scheme-blowfish.texi commit 426780c6b24145cd291a06871ef929074a564360 Author: Matt Birkholz Date: Thu Nov 2 09:12:30 2017 -0700 x11/x11-base (->cstring): Convert 0 to the null pointer. M src/x11/x11-base.scm commit ac4d65edc3b361a276d11b05cd2f54a70e08c474 Author: Matt Birkholz Date: Thu Nov 2 09:06:05 2017 -0700 pgsql plugin: typos, e.g. banish vagrant scminfodir. M src/pgsql/ChangeLog M src/pgsql/Makefile.am commit eefca53fd9f6fdb2b5c8df054a73a5b0cb0b8d2f Author: Matt Birkholz Date: Thu Nov 2 09:00:09 2017 -0700 ustring (string-trim): Handle strings trimmed to nothing. Also added tests for string-trim. Thanks to Peter . M src/runtime/ustring.scm M tests/runtime/test-string.scm commit 26d5e46c02b03bd2384ad5481510dc82578da508 Author: Taylor R Campbell Date: Thu Oct 26 22:13:56 2017 +0000 Add common integer bit string ffs, fls, ctz, and clz. (ffs x): find first set, 1-indexed with 0 for 0 (fls x): find last set, 1-indexed with 0 for 0 (same as integer-length) (ctz x): count trailing zeros (same as ffs) ((clz n) x): count leading zeros in n-bit word x M src/runtime/integer-bits.scm M src/runtime/runtime.pkg M tests/runtime/test-integer-bits.scm commit e9b3d6a9823233cecb4bbd1becd62c853a35fb80 Author: Taylor R Campbell Date: Mon Oct 16 14:35:03 2017 +0000 Fix typo: port/state should give the state, not the type. Noted by ecraven. M src/runtime/runtime.pkg commit 75fcbbe237200785da9deab91d48870000806bf2 Author: Chris Hanson Date: Sat Oct 7 17:41:40 2017 -0700 Eliminate no-longer-used conditional. M src/runtime/genio.scm commit 8b438928905e2b12a83e15dcd8d66af89878c669 Author: Chris Hanson Date: Fri Oct 6 16:56:24 2017 -0700 Fix typo when reading symbols without #!fold-case. M src/runtime/parse.scm commit fd1a6e93db21ac2b8ef2fab7c4349df5713afe5d Author: Matt Birkholz Date: Thu Sep 21 15:25:47 2017 -0700 x11: Ensure C strings are null terminated. M src/x11/x11-base.scm M src/x11/x11-graphics.scm M src/x11/x11-terminal.scm M src/x11/x11.pkg commit d7e71f0b9179f3c1a7b7f00ad75ab7373ea09b9f Author: Matt Birkholz Date: Thu Sep 21 15:21:15 2017 -0700 gdbm: Ensure filename for do_gdbm_open is null terminated. M src/gdbm/gdbm.scm commit 6a6efe648c4451fc8c9771a6d6617fe2ac4cde3e Author: Matt Birkholz Date: Mon Sep 18 20:15:00 2017 -0700 microcode/cmpauxmd/i386.m4: typo M src/microcode/cmpauxmd/i386.m4 commit ad146c13bc836ddfb763e19eb78a1ced5c620973 Author: Matt Birkholz Date: Sat Sep 16 15:06:17 2017 -0700 runtime/syncproc: Eliminate spinning, and blocking. The run-shell-command spins when it is copying both stdin and stdout. E.g. (call-with-input-string "Lorem ipsum dolor sit amet\n" (lambda (in) (run-shell-command "sleep 10; cat" 'input in))) will keep your machine busy for 10 seconds. When it is not spinning, the procedure blocks for large bufferfuls. During the evaluation of (run-shell-command "i=0; while [ $i -lt 5 ]; do echo $i; i=$[$i + 1]; sleep 1; done" 'redisplay-hook flush-output-port) you will not see 5 lines of output, one each second, but all 5 lines at once after 5 seconds, despite the redisplay hook [Linux 4.10.0 glibc 2.24]. This new copying process eliminates the blocking AND the spinning. It keeps stdout in nonblocking mode and uses suspend-current-thread to block. It handles short writes too. The ports sourcing/sinking stdin/stdout are required to block. M src/runtime/runtime.pkg M src/runtime/syncproc.scm commit 8a3ae1e1d61208d9e7dadfe4826c9e49dbb1ca60 Author: Matt Birkholz Date: Sat Sep 16 15:37:22 2017 -0700 microcode/cmpauxmd/x86-64.m4: Wordsmith commentary for specificity. M src/microcode/cmpauxmd/x86-64.m4 commit 2be32584a814e3a5be6fe0ddc5d613026861d8d1 Author: Matt Birkholz Date: Sat Sep 16 14:56:31 2017 -0700 microcode/debug: Add ustring support, Stack(), Print(), brevity. Print is just the renamed Debug_Print, renamed for brevity in debugger commands. Rename do_printing to print_object and punt the detailed_p parameter, and the gotos, and handled_p. Move the bulky compiled entry handling to a separate function: print_compiled_entry. Punt checking for a "closed" stack frame in verify_stack(). M src/microcode/debug.c commit 0093a03574bbba793d955f988790511cd83690af Author: Matt Birkholz Date: Sat Sep 16 14:38:27 2017 -0700 microcode: Do not save history_register locally. The required change to C_call_scheme is described but not implemented. C_call_scheme has other problems(?). Preferring a rotated history to a broken history (broken by a GC during a callback) for now. M src/microcode/interp.h commit ede89793ecb0e62ab0f24eabaf5a0b60127b42b9 Author: Matt Birkholz Date: Sat Sep 16 14:36:58 2017 -0700 microcode: Restore frame pointer as well as stack pointer. M src/microcode/cmpauxmd/i386.m4 M src/microcode/cmpauxmd/x86-64.m4 commit 00af331a2d86abb600496c0722ad23c3ab1356ad Author: Matt Birkholz Date: Sat Sep 16 15:19:27 2017 -0700 ffi: Follow example of C_call_scheme; eliminate aborts. Keep callouts simple, fast. Make callbacks save/restore machine state (last_return_code, mainly) and use RC_END_OF_COMPUTATION instead of a special primitive (return-to-c), like C_call_scheme. Punt the pop_return_p parameter of Interpret; instead, leave #f in EXP and Re_Enter_Interpreter, also like C_call_scheme. Add re_enter_scheme to pop machine state pushed by abort_to_c (used when state cannot be saved locally, as in the glib plugin's run_glib). Add a gc-flip to the test callback. M src/microcode/boot.c M src/microcode/extern.h M src/microcode/interp.c M src/microcode/pruxffi.c M tests/ffi/test-ffi-wrapper.scm commit 0c260bae11ec0cb3a08d8cdf792fab642e64ab49 Author: Taylor R Campbell Date: Tue Sep 12 03:39:34 2017 +0000 Fix syncproc test to avoid bashism. M tests/runtime/test-syncproc.scm commit bb285ccec1ca6825f520efae7effb432cedcb230 Author: Taylor R Campbell Date: Tue Sep 12 03:34:42 2017 +0000 Add Keccak-f[1600] primitive operating on byte vectors. Won't break any speed records with all the copying and byte order conversion but will work at least and be handy for exploration. A src/microcode/keccak.c A src/microcode/keccak.h M src/microcode/makegen/files-core.scm A src/microcode/prkeccak.c M tests/check.scm C061 src/microcode/makegen/files-core.scm tests/microcode/test-keccak.scm commit 11ca9275d32d54817af01be8e9694de4acd7273f Author: Chris Hanson Date: Tue Aug 1 22:31:22 2017 -0400 Fix thinko in previous change. We want to close an I/O port when both channels are the same and the other one is marked closed. M src/runtime/binary-port.scm commit 9a35110240c54dc33aaef2e3f04453b595c10901 Author: Matt Birkholz Date: Sun Jul 30 16:08:33 2017 -0700 tests/runtime/test-syncproc: Enabled, with 3 more basic tests. M tests/check.scm M tests/runtime/test-syncproc.scm commit ed0abb26da3b724a73b76ad31513eaba3b0cac6e Author: Matt Birkholz Date: Sun Jul 30 15:39:21 2017 -0700 runtime/binary-port (close-binary-output-port): Close output chan. Close-binary-output-port was not closing the output channel of a binary IO port when input and output channels were not the same (e.g. when the port is the IO of a subprocess). Close-binary-input- port seemed to have the same thinko. M src/runtime/binary-port.scm commit eed4f5dfe349a10161d304a25f24629970a2661a Author: Matt Birkholz Date: Wed Jul 26 16:43:46 2017 -0700 pgsql plugin: Typos. Check script should warn (not die) w/o DB. M src/pgsql/Makefile.am M src/pgsql/README M src/pgsql/pgsql-check.scm M src/pgsql/pgsql.scm commit e3f8380d66eba3ad987c99f3b4035c8bdbf30f46 Author: Matt Birkholz Date: Wed Jul 26 16:05:54 2017 -0700 runtime/stringio (string-in/read-substring): Swap src/dst strings. M src/runtime/stringio.scm commit 8c4a14530ba6f3f3bec5b8246242eaf03e01c183 Author: Matt Birkholz Date: Sun Jul 2 13:20:56 2017 -0700 pgsql plugin: New, from the pgsql microcode module. A src/pgsql/AUTHORS A src/pgsql/COPYING A src/pgsql/ChangeLog A src/pgsql/Makefile.am A src/pgsql/NEWS A src/pgsql/README A src/pgsql/autogen.sh A src/pgsql/compile.scm A src/pgsql/configure.ac A src/pgsql/make.scm A src/pgsql/optiondb.scm A src/pgsql/pgsql-check.scm A src/pgsql/pgsql-check.sh A src/pgsql/pgsql-shim.h A src/pgsql/pgsql.cdecl A src/pgsql/pgsql.pkg A src/pgsql/pgsql.scm A src/pgsql/tags-fix.sh commit 05e06f8284982c07e849ab1aad0fde77ea7c01be Author: Matt Birkholz Date: Sun Jul 2 11:40:21 2017 -0700 ffi/build (read-html-title): Use core regsexp. Also: write-direntry now just uses string search and un/compress-file loads the synchronous-subprocess option quietly. M src/ffi/build.scm commit 2a55d7892b7537bfb861d9449c67e47188868973 Author: Taylor R Campbell Date: Mon May 29 20:33:21 2017 +0000 Fix missing argument. Noted by mejja. M src/runtime/unpars.scm commit 2806302cb5f08b43628184b6fad7c4caa32cd6cd Author: Matt Birkholz Date: Tue May 23 18:23:20 2017 -0700 x11-screen plugin: Update README, NEWS, version. M src/x11-screen/AUTHORS M src/x11-screen/NEWS M src/x11-screen/README M src/x11-screen/configure.ac M src/x11-screen/make.scm commit 71a92c65cbf0e7e126a229f1a829912612a60774 Author: Matt Birkholz Date: Tue May 23 16:44:55 2017 -0700 x11 plugin: Convert to iso8859-1 rather than utf8. And avoid converting if the string is already ASCII. Also fix the subsystem version number, and update README, NEWS, etc. following the examples of the other plugins. M src/x11/AUTHORS M src/x11/Makefile.am M src/x11/NEWS M src/x11/README M src/x11/make.scm M src/x11/x11-base.scm M src/x11/x11-graphics.scm M src/x11/x11.pkg commit d583ccd13af4f82626320919fd8dafec065abe91 Author: Matt Birkholz Date: Tue May 23 16:43:28 2017 -0700 test-ffi-wrapper: c-peek-cstring can now return a legacy string. M tests/ffi/test-ffi-wrapper.scm commit 30217212526a4456a3b603bc8353bbf9471d79b6 Author: Chris Hanson Date: Sun May 21 22:31:50 2017 -0700 Move re-compile-char-set from rgxcmp to chrset. This is a dependency of regsexp, which didn't work unless the regular-expression option was loaded. M src/runtime/chrset.scm M src/runtime/rgxcmp.scm M src/runtime/runtime.pkg commit 172084bf5a47158805fa0efb4bfb31569d784ec7 Author: Matt Birkholz Date: Wed May 17 18:05:27 2017 -0700 world-report: missing PORT in call to write-string M src/runtime/world-report.scm commit 3d366816a689de6b43190199c0c55a4e1caed3e8 Author: Matt Birkholz Date: Wed May 17 16:56:59 2017 -0700 doc: Define PACKAGE_TARNAME (for docdir) in make-common too. M doc/make-common.in commit 1a551b0a9434d9a740d78318ddaff3c9588aa16a Author: Matt Birkholz Date: Wed May 17 16:13:47 2017 -0700 mcrypt-check.sh: Load-option for run-shell-command. M src/mcrypt/mcrypt-check.sh commit 3bee1a70ecfabc9622cd9f985d3ab6a9a2fd81d5 Author: Matt Birkholz Date: Wed May 17 16:12:22 2017 -0700 runtime/crypto: Allow strings for module names; fix a string-append. M src/runtime/crypto.scm commit 2fc1b5c4b4d167622dcbce55cb4e2581036523f3 Author: Matt Birkholz Date: Wed May 17 16:10:33 2017 -0700 plugin READMEs: Suggest the new import procedures. M src/blowfish/README M src/blowfish/blowfish.pkg M src/blowfish/blowfish.scm M src/gdbm/README M src/gdbm/gdbm.pkg M src/gdbm/gdbm.scm M src/mcrypt/README M src/mcrypt/mcrypt.pkg M src/mcrypt/mcrypt.scm M src/md5/README M src/md5/md5.pkg M src/md5/md5.scm M src/mhash/README M src/mhash/mhash.pkg M src/mhash/mhash.scm commit 00755db7f284a1c3a47a29efa95365500ab09c48 Author: Matt Birkholz Date: Wed May 17 16:05:50 2017 -0700 plugin AUTHORS: generalize M src/blowfish/AUTHORS M src/gdbm/AUTHORS M src/mcrypt/AUTHORS M src/md5/AUTHORS M src/mhash/AUTHORS commit cb39059345ed77675deef07bb6f9fc8c61040792 Author: Matt Birkholz Date: Wed May 17 16:01:12 2017 -0700 plugins: Re-sync with runtime; allow strings as well as bytevectors. M src/blowfish/NEWS M src/blowfish/blowfish-check.scm M src/blowfish/blowfish.scm M src/gdbm/NEWS M src/gdbm/gdbm.pkg M src/gdbm/gdbm.scm M src/mcrypt/NEWS M src/mcrypt/mcrypt.pkg M src/mcrypt/mcrypt.scm M src/md5/NEWS M src/md5/md5-check.scm M src/md5/md5.pkg M src/md5/md5.scm M src/mhash/NEWS M src/mhash/mhash-check.scm M src/mhash/mhash.pkg M src/mhash/mhash.scm commit f679d8ef048a6b586e03c25475f910325ee49d9f Author: Matt Birkholz Date: Wed May 17 15:47:01 2017 -0700 plugins: Use add/remove-plugin procedures. Increment versions. M src/blowfish/Makefile.am M src/blowfish/configure.ac M src/blowfish/make.scm M src/gdbm/Makefile.am M src/gdbm/configure.ac M src/gdbm/make.scm M src/mcrypt/Makefile.am M src/mcrypt/configure.ac M src/mcrypt/make.scm M src/md5/Makefile.am M src/md5/configure.ac M src/md5/make.scm M src/mhash/Makefile.am M src/mhash/configure.ac M src/mhash/make.scm M src/x11-screen/Makefile.am M src/x11-screen/configure.ac M src/x11/Makefile.am M src/x11/configure.ac commit 12cc606da91b6c42ada94ebef911931ef066bb9a Author: Matt Birkholz Date: Wed May 17 15:37:59 2017 -0700 Add add-plugin and remove-plugin; maintain an Info index. The postrm Debian installation scripts do not work if they are run after the core package is removed. And prerm scripts do not work if they update indexes based on what is installed. (The package being removed is still installed.) Replace update-html-index and update- optiondb-index with add-plugin and remove-plugin, procedures that add/remove names to/from a list. These work in prerm scripts. M src/Makefile.in A src/etc/plugins.scm M src/ffi/build.scm M src/ffi/ffi.pkg M src/runtime/ffi.scm M src/runtime/runtime.pkg commit 8a715cf31809411915a81e09d999ec9bfb2601db Author: Matt Birkholz Date: Wed May 17 15:22:54 2017 -0700 ffi: Accept and return legacy strings for backward compatibility. M doc/ffi/ffi.texinfo M src/microcode/pruxffi.c M src/runtime/ffi.scm commit f68db5d1145691c72d530d0d6ad965f0fbc10d54 Author: Matt Birkholz Date: Wed May 17 15:11:35 2017 -0700 doc: Define PACKAGE_TARNAME, part of the default docdir. Also define PROJECT to make it easier to change the project name. M doc/Makefile.in M doc/configure.ac M doc/make-common.in commit b05794d04cdbc4be6f0019a812cb2086c92b6a4c Author: Matt Birkholz Date: Wed May 17 14:59:14 2017 -0700 user-manual: Installing documentation. And use short @node lines. M doc/user-manual/user.texinfo commit 59414222c4beb22fc1327d00820c6d91d8d50613 Author: Matt Birkholz Date: Wed May 17 14:53:11 2017 -0700 Fix MAX_HALT_MESSAGE (after adding 3 more). Thanks to Joe Marshall. M src/microcode/errors.h commit 05e217ed7f1f34e3cfd26158161d5cfef9a86809 Author: Chris Hanson Date: Tue May 16 19:38:10 2017 -0700 Fix string-for-primitive as pointed out by Matt. M src/runtime/ustring.scm commit e9620d0a3e2700adfed7b8e2389c9f1d7c3ac8e9 Author: Chris Hanson Date: Sun May 14 21:53:34 2017 -0700 Fix typo. M doc/ref-manual/strings.texi commit 0f9711f00c1c36d95d332a5f8ac40fd32dac7fd4 Author: Chris Hanson Date: Thu May 11 20:51:24 2017 -0700 Implement KMP backward search. M src/runtime/ustring.scm commit b50288c5b50ba7a31becc7332c5448bf122a2cd7 Author: Chris Hanson Date: Thu May 11 20:14:23 2017 -0700 Implement a basic test for testing string searches. M tests/check.scm A tests/runtime/test-string-search-data A tests/runtime/test-string-search.scm commit 7812458ed18250413c623831377e0e3c30d9fb54 Author: Chris Hanson Date: Thu May 11 20:13:38 2017 -0700 Add Knuth-Morris-Pratt search algorithm for forward searches. Still need to implement for backward searches. M src/runtime/ustring.scm commit e5523566d5214f5dc54bf65a9351fd8014776686 Author: Chris Hanson Date: Mon May 8 20:30:26 2017 -0700 Use more aggressive NFC memoization. Could do the same for NFD but that would use the last available flag bit. M src/runtime/ustring.scm commit a9da537b35f221689a2084711009584d2f664883 Author: Chris Hanson Date: Mon May 8 13:20:53 2017 -0700 Fix inadvertent removal of primitive body. Thanks to Matt Birkholz. M src/microcode/prbfish.c commit e3a40e183170728fdebb378dbfe9234d957c77d3 Author: Chris Hanson Date: Mon May 8 13:14:12 2017 -0700 Update test to get it working again. M tests/runtime/test-boyer-moore.scm commit 7da4122d918fa066ea93532ee9bc5e8b786c2c95 Author: Chris Hanson Date: Sun May 7 15:32:28 2017 -0700 Make write-xml port argument optional. M src/xml/xml-output.scm commit 4e4699bec85fd1fa9e8f06c988b1df3f75a3485f Author: Chris Hanson Date: Sun May 7 15:26:59 2017 -0700 Change UCD converter to ignore derived properties. M src/etc/ucd-converter.scm M src/etc/ucd-raw-props/names.scm commit fc5e6be65e4f4f28224731c1a8d05e997d4a4044 Author: Chris Hanson Date: Sun May 7 14:43:15 2017 -0700 Add original ucd file for completeness. A src/etc/ucd-raw-props/ucd.all.grouped.xml commit bd62a5b1c0aed5385a8c721dfc820b23b6e4a05b Author: Chris Hanson Date: Sun May 7 13:39:06 2017 -0700 Change NFC normalization to use MAYBE values of NFC_QC. M src/etc/ucd-converter.scm M src/runtime/runtime.pkg M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ustring.scm commit 408c821f9160e1c421af1f3f826a32acc719994d Author: Chris Hanson Date: Sun May 7 13:37:50 2017 -0700 Revert earlier change and try a new approach for char-set predicates. M src/runtime/char.scm M src/runtime/chrset.scm commit bdd2ff1c24fc03d253ea5fcb9764eba2a87ab26a Author: Chris Hanson Date: Sat May 6 15:31:27 2017 -0700 Change parser-buffer to return immutable strings. M src/runtime/parser-buffer.scm commit 25c014900ca60421548cde16b2a74682c5660024 Author: Chris Hanson Date: Sat May 6 15:17:15 2017 -0700 Fix typo from previous change. M src/xml/xml-struct.scm commit c7e6f2cd71284e41ee6876ec943b1912bd9dc400 Author: Chris Hanson Date: Sat May 6 14:54:11 2017 -0700 Change XML output to use predicate dispatcher. M src/xml/xml-output.scm M src/xml/xml-struct.scm commit 40c3688ecb0916a0039374837e1190e6823d6c41 Author: Chris Hanson Date: Sat May 6 14:53:46 2017 -0700 Fix typo in cached handler sets. M src/runtime/predicate-dispatch.scm commit 61ef22e5381fedcac04b1bfd736ba7d88f09f23e Author: Chris Hanson Date: Sat May 6 14:53:35 2017 -0700 Register char and char-set predicates. M src/runtime/char.scm M src/runtime/chrset.scm commit 4f0f7b7fd980d4be481fc80db56b1878c26b378d Author: Chris Hanson Date: Sat May 6 14:53:19 2017 -0700 Add ability to register predicates earlier in the boot sequence. M src/runtime/predicate-metadata.scm commit 7639be138daf0099e7291c2f8cb66507e69d1522 Author: Chris Hanson Date: Sat May 6 13:55:07 2017 -0700 Clarify some details about the regsexp implementation. M doc/ref-manual/strings.texi commit c8da9c501c8ad0945499688151b57766af659e15 Author: Chris Hanson Date: Fri May 5 23:18:16 2017 -0700 Fix bug: incorrect assumption of mutability. M src/runtime/dbgutl.scm commit 7c564c1ca971c43efa186e5d986d307c165e510e Author: Chris Hanson Date: Fri May 5 22:27:14 2017 -0700 Document return values from binary write operations. Also add text about non-blocking mode. M doc/ref-manual/io.texi commit c7de7201c018e1290e4dec86d024b05e297db094 Author: Chris Hanson Date: Fri May 5 22:04:15 2017 -0700 Add examples of regsexp patterns. M doc/ref-manual/strings.texi commit e5dbaeb419fb4ad6890ec91444367db87d02883f Author: Chris Hanson Date: Fri May 5 21:28:21 2017 -0700 Change regsexp {,inverse-}char-set to char-{,not-}in. M src/runtime/mime-codec.scm M src/runtime/pgsql.scm M src/runtime/regsexp.scm M tests/runtime/test-regsexp.scm commit cd333f111a5259435d72fdd21336450ee20a7c60 Author: Chris Hanson Date: Fri May 5 00:09:14 2017 -0700 Rewrite the regular expression section for Unicode-safe implementation. Also a few small updates here and there. M doc/ref-manual/scheme.texinfo M doc/ref-manual/strings.texi commit cd3285e8443e6cca8814f8c542b6655ac3548406 Author: Chris Hanson Date: Fri May 5 00:08:47 2017 -0700 Document named arguments to char-set and char-set*. M doc/ref-manual/characters.texi commit 2b69a217b16f577847b836cc686d82d68ccd9bf9 Author: Chris Hanson Date: Fri May 5 00:07:35 2017 -0700 Fix typo. M doc/ref-manual/io.texi commit 45763a230650ec1944398230e6b4a3ff590528b8 Author: Chris Hanson Date: Thu May 4 23:50:10 2017 -0700 Change string-trimmer to use general char matcher like string-delimiter. M src/runtime/ustring.scm commit c0d9ae9377cb7daf22709152838307a984a47ed6 Author: Chris Hanson Date: Wed May 3 01:03:24 2017 -0700 Fix missed regexp in mime-codec. M src/runtime/mime-codec.scm commit d800dd8da3bf9b2d1f0eec80cd128ab38ff764c4 Author: Chris Hanson Date: Wed May 3 00:57:21 2017 -0700 Change pgsql to use regsexp. M src/runtime/pgsql.scm commit fb3ec431c67cfd485d2d7353c77f616a2d100206 Author: Chris Hanson Date: Wed May 3 00:56:57 2017 -0700 Use named char-set for whitespace. M src/runtime/regsexp.scm commit 65a41a57c925870c101729095947476837f51525 Author: Chris Hanson Date: Wed May 3 00:50:33 2017 -0700 Add named character sets. M src/runtime/chrset.scm commit 391fd550ae22cf223ec5497e7560fc6977bb6f7f Author: Chris Hanson Date: Wed May 3 00:50:04 2017 -0700 Add case-insensitive matching. M src/runtime/regsexp.scm commit 9483cbec86a7c2f1cea262d000e29e91952db318 Author: Chris Hanson Date: Wed May 3 00:17:18 2017 -0700 Change mime-coded to use regsexp. M src/runtime/mime-codec.scm commit 9e114e0cf5f1749049243b43ec41341c813155de Author: Chris Hanson Date: Wed May 3 00:13:56 2017 -0700 Change regsexp value to have values of groups instead of indices. This does weird things when a group is inside a repeat, but that's a bad idea so DON'T DO THAT! M src/runtime/regsexp.scm M tests/runtime/test-regsexp.scm commit 458c8124628dfd80d71425723765b6c4bb63ae1d Author: Chris Hanson Date: Tue May 2 23:25:41 2017 -0700 Change groups implementation to segregate started groups from ended groups. M src/runtime/regsexp.scm commit 74409d6d2a04ea758ce3e07b14e5d564795859fe Author: Chris Hanson Date: Tue May 2 23:00:27 2017 -0700 Change groups abstraction to use message-passing style. M src/runtime/regsexp.scm commit a646cc5990df62c520e1962a6108392bca164780 Author: Chris Hanson Date: Tue May 2 22:16:01 2017 -0700 Change position abstraction to use message-passing style. M src/runtime/regsexp.scm commit 936f049ff5fbeb3d1354227ae20c57998e789dc3 Author: Chris Hanson Date: Mon May 1 23:08:04 2017 -0700 Implement regsexp string search. Also change the return value of regsexp match from the end index to a pair of the start and end indices. Fix unit tests, which weren't testing anything due to the use of run-sub-test. M src/runtime/regsexp.scm M src/runtime/runtime.pkg M tests/runtime/test-regsexp.scm commit 291908f7242e74982977e809480dbcd401b30ee7 Author: Chris Hanson Date: Mon May 1 22:41:05 2017 -0700 Export nfc-string?. M src/runtime/runtime.pkg commit 850b8fad1f0c37b1a0359ebde0e6f8112547caa0 Author: Chris Hanson Date: Mon May 1 21:08:40 2017 -0700 Change char-syntax rules to emphasize that they are legacy rules. M src/runtime/regsexp.scm M tests/runtime/test-regsexp.scm commit bb0ce22bd622079c353e31c8a447519fe5fbd30b Author: Chris Hanson Date: Mon May 1 21:04:23 2017 -0700 Fix typo in rule that broke i386 build. M src/compiler/machines/i386/rules1.scm commit 3ccf4a591801954c3d338810b5219f9c36e5ff6b Author: Chris Hanson Date: Sun Apr 30 23:09:24 2017 -0700 Implement converter from regexp patterns to regsexp forms. M src/runtime/chrset.scm M src/runtime/chrsyn.scm M src/runtime/regsexp.scm M src/runtime/rgxcmp.scm M src/runtime/runtime.pkg M tests/runtime/test-regsexp.scm commit 1ba63bb5a5ec8b62ced6c8e4c1dfbd8452e34899 Author: Chris Hanson Date: Sun Apr 30 18:13:02 2017 -0700 Add source files for ISO 8859 mappings and move converter to src/etc/. A src/etc/iso8859-converter.scm A src/etc/iso8859-mapping/8859-1.txt A src/etc/iso8859-mapping/8859-10.txt A src/etc/iso8859-mapping/8859-11.txt A src/etc/iso8859-mapping/8859-13.txt A src/etc/iso8859-mapping/8859-14.txt A src/etc/iso8859-mapping/8859-15.txt A src/etc/iso8859-mapping/8859-16.txt A src/etc/iso8859-mapping/8859-2.txt A src/etc/iso8859-mapping/8859-3.txt A src/etc/iso8859-mapping/8859-4.txt A src/etc/iso8859-mapping/8859-5.txt A src/etc/iso8859-mapping/8859-6.txt A src/etc/iso8859-mapping/8859-7.txt A src/etc/iso8859-mapping/8859-8.txt A src/etc/iso8859-mapping/8859-9.txt A src/etc/iso8859-mapping/README.txt M src/runtime/genio.scm commit 9682e313ff019682adf76d04dcf123328a21a656 Author: Chris Hanson Date: Sun Apr 30 01:03:51 2017 -0700 Ham-handed elimination of legacy strings from win32 package. This package is probably broken now, but it's not obvious to me how to fix it in a way consistent with our data types. M src/win32/clipbrd.scm M src/win32/graphics.scm M src/win32/win_ffi.scm M src/win32/wt_user.scm commit f577a31ca29defc027bc790a52dc61610d436ed8 Merge: 7fe96404a 9e599f041 Author: Chris Hanson Date: Sun Apr 30 00:42:36 2017 -0700 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit 7fe96404a55e43696fce068baf556a677ec37b93 Author: Chris Hanson Date: Sun Apr 30 00:42:18 2017 -0700 Eliminate last remnants of "octets" ports. M src/runtime/html-form-codec.scm M src/runtime/runtime.pkg M src/runtime/stringio.scm M src/ssp/xmlrpc.scm commit f6b384e3c984984d39653dca5cdffc6f19471035 Author: Chris Hanson Date: Sun Apr 30 00:23:14 2017 -0700 Implement string<->iso8859-1 converters. M src/runtime/bytevector.scm M src/runtime/runtime.pkg commit 77cf9daf19b24836ca6bcc263aaca2611c40a901 Author: Chris Hanson Date: Sat Apr 29 23:44:37 2017 -0700 Minor cleanups to regexp code. M src/runtime/optiondb.scm M src/runtime/regexp.scm M src/runtime/runtime.pkg commit 932af14b98cde4e20fd9e887f4a61d35a03c886c Author: Chris Hanson Date: Sat Apr 29 23:44:01 2017 -0700 Fix bugs in char-set->regexp rewrite. M src/runtime/regexp.scm commit 9b84fd8d8ecfaff77d0708f494cc8b41b108f54c Author: Chris Hanson Date: Sat Apr 29 23:42:09 2017 -0700 Add load-option to make sure regexp code is loaded for test. M tests/runtime/test-rgxcmp.scm commit 8c0981a6a6ccfad7c442d9d971dd22d23067b397 Author: Chris Hanson Date: Sat Apr 29 20:51:02 2017 -0700 Allow option files to use boot-inits. M src/runtime/boot.scm M src/runtime/option.scm M src/runtime/runtime.pkg commit c43ce00421e0b2688add6b89d94d2bb43313824b Author: Chris Hanson Date: Sat Apr 29 20:28:44 2017 -0700 Change char-set->regexp to use string builder. M src/runtime/regexp.scm commit 14f6dc66d5c50ed5efa349cd40491976199eac4f Author: Chris Hanson Date: Sat Apr 29 20:28:20 2017 -0700 Rewrite regexp compiler to use bytevectors. Also add test. M src/runtime/rgxcmp.scm M tests/check.scm A tests/runtime/test-rgxcmp.scm commit 9e599f0413ce3bec5ceb71464638d80f672ca792 Author: Matt Birkholz Date: Sat Apr 29 12:06:04 2017 -0700 runtime/global (write-to-string): missing arg M src/runtime/global.scm commit 0c71b641fca60787d7474ff13ebe4d92de37b9a5 Author: Chris Hanson Date: Sat Apr 29 01:01:38 2017 -0700 Eliminate legacy-string->bytevector call now primitive returns bytevector. M src/runtime/crypto.scm commit 18db8085427334e01af74aa8e1afe46b0d7eca9b Author: Chris Hanson Date: Sat Apr 29 01:00:17 2017 -0700 Refactor compressor/decompressor to use bytevectors and binary ports. M src/runtime/cpress.scm M src/runtime/infutl.scm M src/runtime/runtime.pkg commit 53c413d388815581b9f05c3383339879b30ef603 Author: Chris Hanson Date: Sat Apr 29 00:59:20 2017 -0700 Fix bug when calling {flush,synchronized}-output-port on a binary port. M src/runtime/output.scm commit 5e13b606e5ec6b2d3259960dd5f4e4938be14537 Author: Chris Hanson Date: Fri Apr 28 21:12:14 2017 -0700 Refactor host-adapter to detect the changes it needs to make. M src/runtime/host-adapter.scm commit 65256035f596202dc78756692c45be13bd7992e6 Merge: cbd229e28 f2a1d5bf5 Author: Chris Hanson Date: Fri Apr 28 00:10:35 2017 -0700 Merge branch 'master' into sketch commit f2a1d5bf533a67839587d68afd81c9cb6939a8ba Author: Chris Hanson Date: Fri Apr 28 00:06:49 2017 -0700 Revert change to host-adapter that breaks self-build. M src/runtime/host-adapter.scm commit cbd229e28d137fee6a952958377f6134d7269b69 Author: Chris Hanson Date: Thu Apr 27 23:35:10 2017 -0700 Rwrite to use bytevectors instead of strings. M src/microcode/prbfish.c commit e0bd9e9d3c5c7c0e75b31e51fd026fa5ea8a6d28 Author: Chris Hanson Date: Thu Apr 27 23:34:48 2017 -0700 Move bytevector access macros into "object.h". M src/microcode/bytevector.c M src/microcode/object.h commit 6f4947d242f922a1895587c3ae690a6ffba83f21 Author: Chris Hanson Date: Thu Apr 27 22:43:53 2017 -0700 Update file encryption to work with binary or textual ports. M src/edwin/filcom.scm M src/edwin/fileio.scm commit ced70a31577789abb2b602aa25b1db3bba4a26e8 Author: Chris Hanson Date: Thu Apr 27 22:43:29 2017 -0700 Fix bug from recent change. M src/runtime/blowfish.scm commit 0cd90b041f6d9f46c7a941368f2be9f2fcdabcb7 Author: Chris Hanson Date: Thu Apr 27 22:43:09 2017 -0700 Fix typo in last change. M src/runtime/crypto.scm commit fbaa36c3a7e249cbcf0adabace8ea70db7ff9b24 Author: Chris Hanson Date: Thu Apr 27 22:42:43 2017 -0700 Use index procedures to simplify read-bytevector!. M src/runtime/binary-port.scm commit f951835ea5201ee187661930550fdea99129f7fa Author: Chris Hanson Date: Thu Apr 27 22:42:24 2017 -0700 Fix bug in textual->binary-port. M src/runtime/binary-port.scm commit 59d796d858156d5fb3c9a24fa064e6dd295e01e2 Author: Chris Hanson Date: Thu Apr 27 21:49:23 2017 -0700 Change crypto support to use bytevectors. Interface changes: * X-substring eliminated in favor of X-string with optional args. * Hash codes are now bytevectors. * Ports are assumed to be binary. M src/imail/imail-mime.scm M src/runtime/crypto.scm M src/runtime/runtime.pkg commit 44d84cb46a8851a41f9b1ab0d956eaa65a6970b5 Author: Chris Hanson Date: Thu Apr 27 21:48:43 2017 -0700 Be more careful examining results of I/O operations. M src/runtime/blowfish.scm commit 3d355e87bd00f3beed13cb073c235122ce79e439 Author: Chris Hanson Date: Thu Apr 27 21:48:09 2017 -0700 Implement conversions between integers and bytevectors. M src/runtime/bytevector.scm M src/runtime/runtime.pkg commit ac9ca8604b363fc60d7c62902d5e7d8dd5603d47 Author: Chris Hanson Date: Wed Apr 26 00:35:00 2017 -0700 Change blowfish support to use bytevectors. M src/runtime/blowfish.scm M src/runtime/make.scm commit c06823d9362f6e56f6c11877546f91be00b4b83e Author: Chris Hanson Date: Wed Apr 26 00:34:32 2017 -0700 Implement textual->binary-port. M src/runtime/binary-port.scm M src/runtime/runtime.pkg commit 465e7c27e032c7999d58be13a5574493a3f6573e Author: Chris Hanson Date: Wed Apr 26 00:34:04 2017 -0700 Implement named char codecs. M src/runtime/char.scm M src/runtime/runtime.pkg commit 5dbde4ce445eee4b2c0d605ee2b86ce7990058bc Author: Chris Hanson Date: Tue Apr 25 23:33:12 2017 -0700 Tweak. M src/runtime/genio.scm commit b8ff70baa12d2fd280e5eb0ceecf88e866b1f717 Author: Chris Hanson Date: Tue Apr 25 22:52:53 2017 -0700 Implement bytevector I/O for XML. M src/xml/xml-output.scm M src/xml/xml-parser.scm M src/xml/xml-rpc.scm M src/xml/xml.pkg commit b4d03834ec4e2687a03c4fb92f27c98dc3bbf986 Author: Chris Hanson Date: Tue Apr 25 22:51:31 2017 -0700 Eliminate "output-octets" instance. M src/ssp/mod-lisp.scm commit c547fc2cf2073d0257d69f8d6ba75999d267eefb Author: Chris Hanson Date: Tue Apr 25 22:51:11 2017 -0700 Apply rename. M src/xml/turtle.scm commit ffe59a22710d5acc8494268e9a36a8212b1610db Author: Chris Hanson Date: Tue Apr 25 22:50:24 2017 -0700 Change HTTP message body to be bytevector. M src/runtime/httpio.scm commit 1b9d55b282364b9ecefb02003e7ff72a36965263 Author: Chris Hanson Date: Tue Apr 25 22:50:02 2017 -0700 Change definition of content-md5 header to be a bytevector. M src/runtime/http-syntax.scm commit a9292586e50ebe0e80760f6bbe8e63906508f79f Author: Chris Hanson Date: Tue Apr 25 22:49:26 2017 -0700 Eliminate more low-hanging deprecations. M src/edwin/docstr.scm M src/edwin/editor.scm M src/imail/imail-rmail.scm M src/imail/imail-top.scm M src/imail/imail-umail.scm M src/imail/imail-util.scm commit d09c978f159220b94a120a22f6f6a45a4a0fcc6e Author: Chris Hanson Date: Tue Apr 25 22:46:22 2017 -0700 Implement binary->textual-port. Also change make-generic-i/o-port to take a binary port as argument. M src/runtime/fileio.scm M src/runtime/genio.scm M src/runtime/process.scm M src/runtime/runtime.pkg M src/runtime/socket.scm M src/runtime/stringio.scm M src/runtime/ttyio.scm commit 73d7e610bfd29e74ff1ed9b7e1d60ca999abb1e3 Author: Chris Hanson Date: Tue Apr 25 22:44:46 2017 -0700 Implement accessors for binary-port source/sink. M src/runtime/binary-port.scm M src/runtime/runtime.pkg commit 61fb24fff030fc77e88ef67cfc8cc7973dbaaa64 Author: Chris Hanson Date: Tue Apr 25 22:06:25 2017 -0700 Fix typo. M src/edwin/string.scm commit 03ea1ddf846dbd7dedbb80b34eaafeac2f0099af Author: Matt Birkholz Date: Tue Apr 25 18:38:51 2017 -0700 More fun (less morbid) Latin valedictions. M src/microcode/errors.h commit de1aa28094a6c8b373d1a31807c8b85b30053711 Author: Matt Birkholz Date: Tue Apr 25 14:16:06 2017 -0700 microcode/uxsig.c: Handle SIGTERM, SIGQUIT and SIGHUP as if a C-g. Thus Scheme has a chance to clean up after a `kill %mit-scheme` or disconnect. M src/microcode/uxsig.c commit 037275f2d64c17e19579b0ae9cdc50caeffce5b8 Author: Matt Birkholz Date: Tue Apr 25 14:10:56 2017 -0700 runtime/load (standard-library-directory-pathname): Simplify. Just use the last directory in the path. When microcode modules go away, so will the lib/ subdirectory that previously distinguished the "standard" options' directory. M src/runtime/load.scm M src/runtime/runtime.pkg commit 5601f2d9aaeec3e608521113e5ec6d74b20e63c3 Author: Matt Birkholz Date: Tue Apr 25 16:55:13 2017 -0700 Add option-loaded?. M src/runtime/ffi.scm M src/runtime/option.scm M src/runtime/runtime.pkg commit b3acabd3ba03a36709bdfbb554fced1f399624db Author: Matt Birkholz Date: Tue Apr 25 14:03:38 2017 -0700 Add with-temporary-file. This is basically call-with-temporary-file-pathname except it takes the pathname and does not touch the file (allowing e.g. open- exclusive-output-file to create it). Also, optimize deallocate- temporary-file for the case when the temporary file is already gone (e.g. renamed into place). M src/runtime/runtime.pkg M src/runtime/sfile.scm commit 751ea9a28924ddd1d33e35339693d0b21d27bac2 Author: Matt Birkholz Date: Tue Apr 25 13:54:45 2017 -0700 cref/make.scm: Increment version for deprecated binding support. M src/cref/make.scm commit 9b2f16e9e4763022e80e24eaec877c5bbc34ab5c Author: Matt Birkholz Date: Tue Apr 25 16:36:09 2017 -0700 Add close procedure before output bytevectors' custom stuff. M src/runtime/binary-port.scm commit be42045a59975e0d3225cee6b4b0f82bee5cfcd9 Author: Matt Birkholz Date: Tue Apr 25 13:55:39 2017 -0700 Set sign bit in DOUBLE-NEGATIVE-INFINITY-IS-INFINITE test. M tests/microcode/test-flonum-casts.scm commit 0c18e8d2d1cf2114bc358f319aa8633119ac3532 Author: Matt Birkholz Date: Tue Apr 25 14:01:30 2017 -0700 ffi: Restore casefulness of .cdecl files. M src/ffi/cdecls.scm commit c634e2e76c5d84834a88cb43b30420c0b70ec6cb Author: Matt Birkholz Date: Tue Apr 25 13:56:00 2017 -0700 runtime/host-adapter: Add string-foldcase. Train any 9.2 release. M src/runtime/host-adapter.scm commit db1fe350b547a5db9e4928b86ec314015c25a736 Author: Matt Birkholz Date: Tue Apr 25 15:36:58 2017 -0700 microcode/makegen/makegen.scm: Revert recent change. 9.2 has a different write-string. Use the deprecated write-substring just a little longer. M src/microcode/makegen/makegen.scm commit cdc121125e5478d234d19bc8a92ba75515de166d Author: Chris Hanson Date: Mon Apr 24 23:26:29 2017 -0700 Eliminate the low-hangin references to deprecated bindings. M src/6001/edextra.scm M src/6001/floppy.scm M src/6001/nodefs.scm M src/compiler/base/debug.scm M src/compiler/base/toplev.scm M src/compiler/machines/C/cout.scm M src/compiler/machines/C/cutl.scm M src/compiler/machines/i386/dassm1.scm M src/compiler/machines/x86-64/dassm1.scm M src/edwin/artdebug.scm M src/edwin/bufcom.scm M src/edwin/bufinp.scm M src/edwin/bufout.scm M src/edwin/debug.scm M src/edwin/evlcom.scm M src/edwin/eystep.scm M src/edwin/fileio.scm M src/edwin/hlpcom.scm M src/edwin/process.scm M src/edwin/sendmail.scm M src/edwin/tterm.scm M src/edwin/winout.scm M src/edwin/world-monitor.scm M src/imail/imail-core.scm M src/imail/imail-imap.scm M src/imail/imail-mime.scm M src/imail/imail-util.scm M src/imail/imap-response.scm M src/microcode/makegen/makegen.scm M src/runtime/advice.scm M src/runtime/blowfish.scm M src/runtime/chrset.scm M src/runtime/crypto.scm M src/runtime/dbgutl.scm M src/runtime/dosdir.scm M src/runtime/dospth.scm M src/runtime/dragon4.scm M src/runtime/emacs.scm M src/runtime/ffi.scm M src/runtime/fileio.scm M src/runtime/format.scm M src/runtime/framex.scm M src/runtime/gdatab.scm M src/runtime/global.scm M src/runtime/httpio.scm M src/runtime/infutl.scm M src/runtime/load.scm M src/runtime/mime-codec.scm M src/runtime/parse.scm M src/runtime/pgsql.scm M src/runtime/port.scm M src/runtime/rexp.scm M src/runtime/rfc2822-headers.scm M src/runtime/rgxcmp.scm M src/runtime/socket.scm M src/runtime/stringio.scm M src/runtime/swank.scm M src/runtime/syncproc.scm M src/runtime/system.scm M src/runtime/ttyio.scm M src/runtime/unxprm.scm M src/runtime/unxpth.scm M src/runtime/usrint.scm M src/runtime/win32-registry.scm M src/ssp/mod-lisp.scm M src/xml/rdf-nt.scm M src/xml/turtle.scm M src/xml/xml-parser.scm M tests/runtime/test-boyer-moore.scm M tests/runtime/test-dynamic-env.scm commit 1d877eff9a706431e90cd222bcf1f306792dc670 Author: Chris Hanson Date: Mon Apr 24 20:56:02 2017 -0700 Fix usages of now-binary MIME codecs, by appropriate conversions. M src/edwin/edwin.pkg M src/edwin/sendmail.scm M src/edwin/string.scm M src/imail/imail-mime.scm M src/runtime/mime-codec.scm M src/runtime/runtime.pkg M src/ssp/mod-lisp.scm M src/xml/xml-rpc.scm commit 4459d51f149a26cf34e473db70bd001bc3ac6bc2 Author: Chris Hanson Date: Mon Apr 24 20:55:15 2017 -0700 Fix previous change to add close operation to non-channel sink. Also add support for sources. M src/runtime/binary-port.scm commit afc3a9684b1c11ac87b987886dc8cf76f3bce77c Author: Chris Hanson Date: Mon Apr 24 00:23:47 2017 -0700 Update MIME codecs to use bytevectors rather than legacy strings. **** NOTE **** Although I modified the tests to pass, they don't test all the codecs. Please let me know if I broken something. M src/runtime/mime-codec.scm M tests/runtime/test-mime-codec.scm commit 9b355adcaf0135fa1b4d6d9b2a22d1561d595cdc Author: Chris Hanson Date: Mon Apr 24 00:23:22 2017 -0700 Add a "close" operation to non-channel output sinks. M src/runtime/binary-port.scm M src/runtime/stringio.scm commit a21dacf0af286fd12a0d328350c74b86843d4a6a Author: Chris Hanson Date: Sun Apr 23 17:49:25 2017 -0700 Add test for bytevector-builder. M tests/runtime/test-bytevector.scm commit 54a600601fcac2921be7fc9f51aa60526a41d319 Author: Chris Hanson Date: Sun Apr 23 17:15:05 2017 -0700 Refactor make-sequence-builder and add vector-builder. M src/runtime/bytevector.scm M src/runtime/global.scm M src/runtime/runtime.pkg M src/runtime/vector.scm commit 12cd0595d4d1d191a2cb057d44888201d5565ca6 Author: Chris Hanson Date: Sun Apr 23 17:14:28 2017 -0700 Tweak. M src/runtime/ustring.scm commit d0f8695d25b6a0bd2107f4eb84e7addf45a77667 Author: Chris Hanson Date: Sat Apr 22 23:55:22 2017 -0700 Rewrite the strings chapter to account for immutability and normalization. M doc/ref-manual/strings.texi commit de167e575bc003668bc296cfd996d0d1ee702605 Author: Chris Hanson Date: Sat Apr 22 23:54:55 2017 -0700 Check that string-find-X-index args are in NFC? M src/runtime/ustring.scm commit a6f22597800a9875f9332c07c83c80f50920be76 Author: Chris Hanson Date: Sat Apr 22 23:06:24 2017 -0700 Convert string to NFC prior to hashing. M src/runtime/ustring.scm commit 5b40758ac6a4afa0f60d86bbfe160352db5cda65 Author: Chris Hanson Date: Sat Apr 22 22:57:42 2017 -0700 Change symbol->string and symbol-name to return immutable strings. M src/runtime/bytevector.scm M src/runtime/runtime.pkg M src/runtime/symbol.scm M src/runtime/ustring.scm commit 117821dfa2418a79ffc52166e548e9f2b837239e Author: Chris Hanson Date: Sat Apr 22 21:18:21 2017 -0700 Update to reflect minor changes to string operations. Much more work is needed to recraft this chapter to cover immutability. M doc/ref-manual/strings.texi commit 1d7f1fb5722fbb1851c83554939e6ede5a0aa7cc Author: Chris Hanson Date: Sat Apr 22 21:18:04 2017 -0700 Export mutable/immutable predicates. M src/runtime/runtime.pkg commit 2337316fb18cb9b11378d6a1677fc429443e8a1b Author: Chris Hanson Date: Sat Apr 22 21:15:24 2017 -0700 In substring, only return arg string if it's in NFC. M src/runtime/ustring.scm commit 26e334fadc52a4cde2e04b0c4f5c639f64c033a5 Author: Chris Hanson Date: Sat Apr 22 21:12:59 2017 -0700 Change substring? to call string->nfc on its arguments. M src/runtime/ustring.scm commit c3d3964189b689ce4ca44b3ffa1dd1d5f8483fcb Author: Chris Hanson Date: Sat Apr 22 21:08:26 2017 -0700 Change string-match and string-search to require NFC inputs. This is because comparison requires that the strings be in the same normalization form, and these procedures return indices into the strings. We can't normalize them after the call, because then the returned indices will refer to strings that are potentially different from the arguments. Since nearly all strings are in NFC by default this should not be a serious drawback. Additionally, the -ci versions of these procedures have been eliminated, basically for the same reason. If the caller needs that functionality they should call string-foldcase themselves. Note that this doesn't affect comparisons that don't return indices. M src/compiler/base/infnew.scm M src/runtime/runtime.pkg M src/runtime/ustring.scm commit c7bf829956b4572abd7d8e01eff0a89dfdc13a05 Author: Chris Hanson Date: Sat Apr 22 20:41:11 2017 -0700 Change default result of string-builder to be NFC. * Eliminate string-canonical-foldcase since string-foldcase now returns NFC. * Don't return NFC strings from list->string and vector->string, instead return verbatim strings. M src/runtime/runtime.pkg M src/runtime/symbol.scm M src/runtime/ustring.scm commit 84b8b88790f7db97272363e73127b7bb122d9837 Merge: 9a54477f0 88b082cad Author: Chris Hanson Date: Sat Apr 22 20:01:15 2017 -0700 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit 9a54477f0223a6cfa3fb056d74dbc893eea70cb4 Author: Chris Hanson Date: Sat Apr 22 18:45:49 2017 -0700 Redefine substring as different from string-copy. They are different in only one respect: string-copy always returns a mutable string, while substring always returns an immutable string. M src/runtime/runtime.pkg M src/runtime/ustring.scm commit 7851cd76985296179cf1aabdb4e6d19234aaa316 Author: Chris Hanson Date: Sat Apr 22 18:17:37 2017 -0700 Convert list->string, vector->string to use string-builder. M src/runtime/ustring.scm commit 5291d51b50cfd6fbad0b93ee04ce0ee45a9d3826 Author: Chris Hanson Date: Sat Apr 22 18:14:39 2017 -0700 Fix call to string-builder that was missed. M tests/runtime/test-string.scm commit cc5cd5cc930672edfd6782722f3d3e87a706e473 Author: Chris Hanson Date: Sat Apr 22 17:54:10 2017 -0700 Simplify string, string*, string-append, string-append*. M src/runtime/runtime.pkg M src/runtime/symbol.scm M src/runtime/ustring.scm commit 6e5abde4895290bac6829377069996d57deca07f Author: Chris Hanson Date: Sat Apr 22 17:53:53 2017 -0700 Fix typo causing memory corruption. M src/runtime/ustring.scm commit 88b082cadbfcf4c98bb1c9ac368b43821fbe8ac3 Author: Taylor R Campbell Date: Sat Apr 22 14:27:44 2017 +0000 Fix typo. XXX Obviously this needs an automatic test! From mejja. M src/runtime/ustring.scm commit 46e7ae3e97311139c973693e8131d87a7606dcf2 Author: Chris Hanson Date: Sat Apr 22 00:20:30 2017 -0700 Change string-copy to return legacy string only if arg is also legacy. M src/runtime/ustring.scm commit f96712ee78c1ba81d5eb77567880390d4f74563d Author: Chris Hanson Date: Sat Apr 22 00:17:19 2017 -0700 Move NFC marking from canonical-composition to string->nfc. M src/runtime/ustring.scm commit d582217e1f21470fc91033b9add3172c4f4879dd Author: Chris Hanson Date: Sat Apr 22 00:05:56 2017 -0700 Significantly simplify string-builder. * Eliminate options; now just optional buffer-length. * Result type is specified at build rather than up front. * Eliminate never-exported make-string-builder. M src/runtime/ustring.scm commit ef2299de3884a0be1d7fbce575aeb9f604c89dd4 Author: Chris Hanson Date: Fri Apr 21 16:48:44 2017 -0700 Change string->nfc to return immutable value, and optimize a bit. M src/runtime/ustring.scm commit a6bf6a1518781479c580263d03b0d15dd841f470 Author: Chris Hanson Date: Fri Apr 21 16:48:03 2017 -0700 Support TEST environment variable in "make check". Also clean up output slightly. M tests/check.scm commit ea8955de87f2afbadff170273a67c6198b4fc85b Author: Chris Hanson Date: Fri Apr 21 16:22:11 2017 -0700 string->nfd: also convert mutable strings already in NFD. M src/runtime/ustring.scm commit 21e8bd5594cfddf4755bbcca3965683e3a6a39dc Author: Chris Hanson Date: Fri Apr 21 16:03:18 2017 -0700 Change string->nfd to return immutable value. M src/runtime/ustring.scm commit ab73517ec930fa7fd8404d8bbc8293b6ff408456 Author: Chris Hanson Date: Fri Apr 21 15:33:19 2017 -0700 Change builder options to distinguish between mutable and legacy results. M src/runtime/ustring.scm commit c33e0311ead8413c3b3c80142c1eb7bfb02cce13 Author: Chris Hanson Date: Fri Apr 21 15:04:17 2017 -0700 Rearrange and optimize. Also make ustring1 be zero-terminated. M src/runtime/ustring.scm commit 79ea86f7d63ca8858e1cc1eb618f2c78c275c003 Author: Chris Hanson Date: Fri Apr 21 15:03:49 2017 -0700 Mark ignored binding. M tests/runtime/test-predicate-metadata.scm commit 16d464ca4825d2678e1d7f6dc57848e40e4a1168 Author: Chris Hanson Date: Fri Apr 21 00:22:29 2017 -0700 Change Edwin's implementation of strings to work for all "string-ish" types. M src/edwin/string.scm commit fd09dd5c50b95d8a1903ce5d328a1133c006017b Author: Chris Hanson Date: Fri Apr 21 00:21:41 2017 -0700 Add tagging support for unicode-string. Also generate better error for unknown type codes. M src/runtime/predicate-tagging.scm commit bbe71875efad22d5b48b2a4b3a0e7162dbcf0fef Author: Chris Hanson Date: Fri Apr 21 00:21:14 2017 -0700 Change string primitives to uniformly support all "string-ish" types. M src/microcode/string.c commit b0082fb59b693ede553b2363278c9a5f2421a12f Author: Chris Hanson Date: Thu Apr 20 22:32:27 2017 -0700 Change string-builder to generate immutable strings by default. Also fix bug in string->list assumed mutable inputs. M src/runtime/ustring.scm commit ad454813e88dbe38c28472f818b856f734fefc64 Author: Chris Hanson Date: Wed Apr 19 23:00:54 2017 -0700 Now that legacy string has the same layout as ustring1, merge handling of both. M src/runtime/ustring.scm commit 13e8c052ae09689b2e4991ffdb2e2b6b1e80e08e Author: Chris Hanson Date: Wed Apr 19 17:44:44 2017 -0700 Allow string operations to take Unicode strings with 1 byte per CP. M src/microcode/object.h M src/microcode/string.c commit abda3dfe514ad2049aedf58213a33cc3b492d9c0 Author: Chris Hanson Date: Tue Apr 18 22:18:24 2017 -0700 Change string comparisons to normalize to NFC prior to comparing. The procedures that return index values have not been updated since it's not obvious what to do with them. Comparison is meaningless for non-normalized strings, so it's necessary that all comparisons be done between normalized strings. This means either (a) require compared strings to be normalized before calling the comparator, or (b) have the comparator do normalization on the arguments. If (b) is chosen, then the returned index value will be wrong in the case where the arguments aren't normalized, as it will refer to the normalized strings, not the arguments. I'm considering choosing (b) and changing the definitions of these procedures to return a slice into the normalized strings instead of an index. However, the upcoming implementation of immutable strings may make it simple for every immutable string to be normalized, which may make (a) feasible. For now I'm going to ignore this, which is fine as long as only ASCII strings are compared. M src/runtime/ustring.scm commit dd24d74a311632f0e498611eae3d70d0ed5f96f9 Author: Chris Hanson Date: Tue Apr 18 21:57:52 2017 -0700 Rewrite string-builder for performance. M src/runtime/ustring.scm commit 0d6a7ccbf709491cc5eac2062fefc6ee415f25b9 Author: Chris Hanson Date: Tue Apr 18 21:25:03 2017 -0700 Rewrite string copying for performance. M src/runtime/ustring.scm commit 4e81653f15dc035714fa26e7d6862962bade63ac Author: Chris Hanson Date: Tue Apr 18 20:17:47 2017 -0700 More refactoring of unicode-string layout. M src/runtime/ustring.scm commit eb6b225d986b854ddb03bd916d6c7b80060d29aa Author: Taylor R Campbell Date: Tue Apr 18 18:59:01 2017 +0000 Teach top-level clean target to clean tools too. M src/Makefile.in commit 283a7a8bf2d0b86898114138c7b71af5c11e6af7 Author: Chris Hanson Date: Sun Apr 16 21:49:40 2017 -0700 A round of small changes in preparation for supporting immutable strings. M doc/ref-manual/strings.texi M src/runtime/stringio.scm M src/runtime/ustring.scm M tests/runtime/test-string.scm commit cb0a123e952d2a472858ab88ce65c20a61646b9c Author: Chris Hanson Date: Sun Apr 16 20:17:43 2017 -0700 Implement compiler support for new primitives. M src/compiler/rtlgen/opncod.scm commit 8582c6039bde2e94a041c11b447bb86948e82ddc Author: Chris Hanson Date: Sun Apr 16 19:08:22 2017 -0700 Change Unicode strings to store flag in type bits of length. M src/runtime/ustring.scm commit 7bca8f8bb17616dd1b330f285a03032e3d531df9 Author: Chris Hanson Date: Sun Apr 16 19:08:12 2017 -0700 D'oh! Hook up printer to new string type. M src/runtime/unpars.scm commit 4ca3ad252f426207b070f7881071e25dc2191e89 Author: Chris Hanson Date: Sun Apr 16 18:47:37 2017 -0700 Implement primitives to read and write type/datum of object in memory. M src/microcode/prim.c commit 36dbb68b00906b19b9a0bc190ea643f8d1149bc1 Author: Chris Hanson Date: Sun Apr 16 18:47:28 2017 -0700 Return end-index of TO from bytevector-copy!. M src/microcode/bytevector.c commit b94f0c0ede11cb0b4afc232e00ae0d16e05c7a05 Author: Taylor R Campbell Date: Sat Apr 15 18:57:34 2017 +0000 No need for X in the liarc bootstrap build. M src/etc/make-liarc.sh commit 355ea65eb2326fe050875864660497be74cc6b75 Author: Taylor R Campbell Date: Sat Apr 15 18:55:48 2017 +0000 Splice shell arguments with ${1+"$@"}. Leave as "${@}" only where it is absolutely obvious there must be at least one parameter anyway, e.g. because it is a full command line. M src/Setup.sh M src/blowfish/tags-fix.sh M src/compiler/Setup.sh M src/etc/c-bundle.sh M src/etc/functions.sh M src/etc/macosx/mit-scheme.sh M src/etc/make-in-subdirs.sh M src/etc/make-liarc-dist.sh M src/etc/make-liarc.sh M src/etc/make-native.sh M src/gdbm/tags-fix.sh M src/mcrypt/tags-fix.sh M src/md5/tags-fix.sh M src/mhash/tags-fix.sh M src/microcode/Setup.sh M src/microcode/makegen/makeinit.sh M src/x11/tags-fix.sh commit 613a3c0e2b42217d7dfaa62ecb80cbb4106955d7 Author: Chris Hanson Date: Thu Apr 13 22:19:05 2017 -0700 Fix bug: primitive-byte-ref returns a fixnum, not a raw number. Also clean up and reorganize open-coding of memory references. M src/compiler/rtlgen/opncod.scm commit c882cc24e78335fbf7fd6a96acb2a7f34ba676d1 Author: Chris Hanson Date: Thu Apr 13 22:18:57 2017 -0700 Fix typo. M src/runtime/ustring.scm commit 9d121101abaa7013cbf22f50ad408ce2716650a4 Author: Chris Hanson Date: Wed Apr 12 23:21:29 2017 -0700 Change unicode string representation to be more compact and flexible. The new design is more densely coded and provides for immutable strings with different coding, as well as memoization of NFC/NFD status. However, in this change only the standard 3-byte mutable representation is implemented. M src/runtime/ustring.scm commit 639f9ea8d65f62f8e7060b26d938b38b7b53b254 Author: Chris Hanson Date: Wed Apr 12 22:24:20 2017 -0700 Implement select-on-bytes-per-word for gnerating word-length-specific code. M src/runtime/host-adapter.scm M src/runtime/runtime.pkg M src/runtime/sysmac.scm commit 30ecd5e3191e0787a9e455d66627fe12db27ad10 Author: Chris Hanson Date: Wed Apr 12 22:23:52 2017 -0700 Eliminate condition for open-coding integer->char. M src/compiler/rtlgen/opncod.scm commit 5b182b84dd88a9cc2f45f67dfaa8c3fb5cc271e2 Author: Chris Hanson Date: Wed Apr 12 22:23:28 2017 -0700 Make sure that unicode strings are self-evaluating. M src/microcode/interp.c commit d54659ff309d4f5a2f6d43edde5efe82923e25f7 Author: Chris Hanson Date: Wed Apr 12 21:18:27 2017 -0700 Strip down code generated for primitive memory references. M src/compiler/rtlgen/opncod.scm commit 9e261c9ae5dc1d3227264be12d6433b8d0b9c361 Author: Chris Hanson Date: Tue Apr 11 22:35:10 2017 -0700 Implement open-coding of byte-ref primitives. M src/compiler/rtlgen/opncod.scm commit 7cf49d945e19472d910d4638c156428c3adf2c93 Author: Chris Hanson Date: Tue Apr 11 22:34:32 2017 -0700 Implement more primitive refs, and restrict to pointers only. M src/microcode/prim.c commit 7ef85d38d0ae42029352cf0bc4f754bcf3a724b0 Author: Chris Hanson Date: Tue Apr 11 21:46:43 2017 -0700 Fix compilation issue. M src/runtime/host-adapter.scm commit 1b1849435663237ba28576199b56e9ec1005e354 Author: Chris Hanson Date: Tue Apr 11 21:46:38 2017 -0700 Implement allocate-nm-vector. M src/microcode/vector.c commit 24ceffe34fc13205b5937ed33dcd9e90a92eabd1 Author: Chris Hanson Date: Tue Apr 11 21:21:07 2017 -0700 Allocate new type unicode-string. M src/microcode/gcloop.c M src/microcode/types.h M src/runtime/host-adapter.scm commit 72e4cca1293df07a3ea2b212c5cf0a4f250538de Author: Chris Hanson Date: Tue Apr 11 21:20:41 2017 -0700 Implement bytes-per-object. M src/compiler/machines/x86-64/rulflo.scm M src/edwin/string.scm M src/edwin/undo.scm M src/edwin/utils.scm M src/runtime/boot.scm M src/runtime/load.scm M src/runtime/runtime.pkg commit ad60e7aacc0a67a2219abb48d484f22c0c18c2e3 Author: Chris Hanson Date: Sun Apr 9 21:08:57 2017 -0700 Eliminate unused multi-byte procedures. No need to support a bunch of code that may never be used. M src/runtime/bytevector.scm M src/runtime/runtime.pkg commit e330b4ef1596d26d02f66ae687df9b769d251b5d Author: Chris Hanson Date: Fri Mar 31 22:17:20 2017 -0700 Add 'copy? option to string-builder. M src/runtime/bytevector.scm M src/runtime/global.scm M src/runtime/stringio.scm M src/runtime/ustring.scm commit a43e363b20885d04d3ac85e550c85a3f4db7f66f Merge: 25fe238af 3e47c889a Author: Chris Hanson Date: Thu Mar 30 21:31:39 2017 -0700 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit 25fe238af585ae5df3d563e6aa08afd1062c9a07 Author: Chris Hanson Date: Thu Mar 30 21:30:55 2017 -0700 Fix bug: string output port must copy input strings. M src/runtime/stringio.scm commit 3e47c889a4fbdd4f5911df31e1f53144ddfebb05 Author: Chris Hanson Date: Wed Mar 29 23:31:37 2017 -0700 Fix bugs: typos caught by the macos compiler. M src/microcode/uxsig.c M src/microcode/x11base.c commit d42ad13a7390e3439026d34eb4bccab2ff133bf0 Author: Chris Hanson Date: Tue Mar 28 22:17:35 2017 -0700 Add documentation for a few of the more recent string procedures. M doc/ref-manual/strings.texi commit b949d2c1f88fddcaced2e2126ebfa41813022f31 Author: Chris Hanson Date: Tue Mar 28 22:02:22 2017 -0700 Fix string-for-primitive: it wasn't handling slices. M src/runtime/ustring.scm commit 39242320196e944c2a108e2f63be4579dd5546d3 Author: Chris Hanson Date: Tue Mar 28 21:57:20 2017 -0700 Optimize string-in-nfX? since it's important that these be fast. M src/runtime/ustring.scm commit dc80c76d803b1e729aa58a7f802a1bc4d35106b4 Author: Chris Hanson Date: Tue Mar 28 21:52:44 2017 -0700 Normalize strings prior to hashing so equivalent sequences hash the same. I've arbitrarily chosen NFD because its faster than NFC, but a case could be made that NFC is preferable. M src/runtime/ustring.scm commit c853170ad97f2aab94b65475c482c6b27e8206a0 Author: Chris Hanson Date: Tue Mar 28 20:15:11 2017 -0700 Eliminate Hangul Jamo from canonical cm/dm tables. This makes the bands about 1 MB smaller. M src/etc/ucd-converter.scm M src/etc/ucd-raw-props/prop-canonical-cm.scm M src/etc/ucd-raw-props/prop-canonical-dm.scm M src/runtime/ucd-table-canonical-cm-second.scm M src/runtime/ucd-table-canonical-cm.scm M src/runtime/ucd-table-canonical-dm.scm commit ca402b1233bee2836526e4835826740915af9cfb Author: Chris Hanson Date: Tue Mar 28 18:16:07 2017 -0700 Implement algorithmic Hangul Jamo compose/decompose. M src/runtime/ustring.scm commit 6e9e986d046efd6731db9c011877c84203f05c5a Author: Chris Hanson Date: Mon Mar 27 23:47:03 2017 -0700 Fix code-generation bug in fast-division. Apparently this code was insufficiently tested. M src/compiler/machines/x86-64/rulfix.scm commit 0b42f5a4223f9c68225fada26307a053a48cfcfb Author: Chris Hanson Date: Sun Mar 26 20:59:27 2017 -0700 Change NFC_QC to be a boolean-valued table and exploit that. M src/etc/ucd-converter.scm M src/runtime/runtime.pkg M src/runtime/ucd-table-nfc_qc.scm M src/runtime/ustring.scm commit 91456794c0dd93b12342d975a904f73a9b3a2856 Author: Chris Hanson Date: Sun Mar 26 20:46:57 2017 -0700 Have string builder track max code point written. This is used for two distinct purposes in the finisher. M src/runtime/ustring.scm commit d98f4d17ca26665bdc11af16863d1066777656dd Author: Chris Hanson Date: Sun Mar 26 16:12:04 2017 -0700 Change string-builder to normalize to NFC by default. M src/runtime/ustring.scm M tests/runtime/test-string.scm commit 66671022b5ef6413b623e66d0a6b2f88e95669a9 Author: Chris Hanson Date: Sun Mar 26 13:50:46 2017 -0700 Change symbols to be in NFC. M src/runtime/ustring.scm commit f8a0d98af09a58c05f7f659f0a3c04bbb714c7e2 Author: Chris Hanson Date: Sun Mar 26 13:45:13 2017 -0700 Working NFC implementation. M src/etc/ucd-converter.scm M src/etc/ucd-raw-props/names.scm A src/etc/ucd-raw-props/prop-canonical-cm.scm M src/runtime/runtime.pkg A src/runtime/ucd-table-canonical-cm-second.scm A src/runtime/ucd-table-canonical-cm.scm M src/runtime/ustring.scm M tests/runtime/test-string-normalization.scm commit 6bc884cb05548797342d368d1f1dc29459a99a83 Author: Chris Hanson Date: Sat Mar 25 15:19:56 2017 -0700 Initial draft of NFC support; still need to write composition. M src/runtime/runtime.pkg M src/runtime/ustring.scm commit 8d28f63562154e08d6b84a11d954f2c31496db6c Author: Chris Hanson Date: Sat Mar 25 15:19:21 2017 -0700 Add NFC_QC and Comp_EX tables. M src/etc/ucd-converter.scm M src/etc/ucd-raw-props/names.scm A src/runtime/ucd-table-comp_ex.scm A src/runtime/ucd-table-nfc_qc.scm commit d483fbffb5144a868c8ec4da2e3f12aaac7d31ed Author: Chris Hanson Date: Sun Mar 19 20:22:29 2017 -0700 Synthesize canonical-dm table and use it to speed up decomposition. M src/etc/ucd-converter.scm M src/etc/ucd-raw-props/names.scm A src/etc/ucd-raw-props/prop-canonical-dm.scm M src/runtime/runtime.pkg A src/runtime/ucd-table-canonical-dm.scm D src/runtime/ucd-table-dm.scm D src/runtime/ucd-table-dt.scm M src/runtime/ustring.scm commit 78ed1f37f11756839d91c3682c65a941e2f936aa Author: Chris Hanson Date: Sun Mar 19 17:53:51 2017 -0700 Fix bug in canonical-ordering algorithm. M src/runtime/ustring.scm commit a98c857c49b87acb308cfe62ffa373a1dfd13fba Author: Chris Hanson Date: Sun Mar 19 17:53:25 2017 -0700 Refactor test to make it easier to see the failures. M tests/runtime/test-string-normalization.scm commit abe9a69ce7c88ec76a1a8e114eebafab0445cd14 Author: Chris Hanson Date: Sun Mar 19 17:52:38 2017 -0700 Boost default stack size -- I'm tired of blowing out the stack. M src/microcode/option.c commit f10076f8ab79e71a40ad47f09a3aa1d246decfb3 Author: Chris Hanson Date: Sun Mar 19 13:20:31 2017 -0700 D'oh! String normalization tests were broken, which explains why they pass. M tests/runtime/test-string-normalization.scm commit 2121af87b5e9999cdc8e0fa60961a7dd880f6a75 Author: Chris Hanson Date: Sun Mar 19 01:16:22 2017 -0700 Squeeze a little more space out of the tables. M src/etc/ucd-converter.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-dm.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm commit d4f91e23a33d5c76e91306eb4bbfb0192c622e41 Author: Chris Hanson Date: Sun Mar 19 01:03:54 2017 -0700 Implement decomposition-type table and use it for correct NFD conversion. M src/etc/ucd-converter.scm M src/etc/ucd-raw-props/names.scm M src/runtime/runtime.pkg A src/runtime/ucd-table-dt.scm M src/runtime/ustring.scm commit 3e0743dee756606c46565470ba09a86f1e7a0feb Author: Chris Hanson Date: Sat Mar 18 20:49:04 2017 -0700 Further compress the size of the UCD tables. As of this latest set of changes the total size seems in the range of a megabyte or so, which is much better than the 4-5 megabytes of earlier revisions. M src/etc/ucd-converter.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-dm.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gcb.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-wb.scm commit d7262be179e939697790b2201e58ed26f9808282 Author: Chris Hanson Date: Sat Mar 18 20:46:59 2017 -0700 Add a bunch of converters to/from bytevectors. M src/runtime/bytevector.scm M src/runtime/runtime.pkg commit 6221bdb253d39a31c335046220b105afd33c9cf9 Author: Chris Hanson Date: Sat Mar 18 19:47:29 2017 -0700 Fix some bugs in vector->string. M src/runtime/ustring.scm commit d817f366850633199d85a9c0c74b4636d9f4e4c4 Author: Chris Hanson Date: Sat Mar 18 19:34:17 2017 -0700 Add hack to force printing chars in old format; can be eliminated after 9.3. M src/runtime/runtime.pkg M src/runtime/unpars.scm commit 7063130bb4f8275745aec3af1ac1546d072b207a Author: Chris Hanson Date: Sat Mar 18 19:13:29 2017 -0700 More simplification. M src/runtime/parse.scm commit 6bcadd80499f128f8bd1d8dcab179525c692d4fb Author: Chris Hanson Date: Sat Mar 18 19:08:25 2017 -0700 Simplify parse-atom to not fold case. M src/runtime/keyword.scm M src/runtime/parse.scm M src/runtime/runtime.pkg commit 4d783841dbed026f90e9510032c169d12dafa771 Author: Chris Hanson Date: Sat Mar 18 17:08:31 2017 -0700 Use ucd-X-value directly in ustring. M src/runtime/runtime.pkg M src/runtime/ustring.scm commit 8cb83602200971fb9a6ef44b1f49d700976e08d8 Author: Chris Hanson Date: Sat Mar 18 14:34:38 2017 -0700 Convert all of the UCD tables to use bitwise tries. M src/etc/ucd-converter.scm M src/runtime/ucd-table-ccc.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-dm.scm M src/runtime/ucd-table-gc.scm M src/runtime/ucd-table-gcb.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-nt.scm M src/runtime/ucd-table-nv.scm M src/runtime/ucd-table-scf.scm M src/runtime/ucd-table-slc.scm M src/runtime/ucd-table-suc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ucd-table-wb.scm commit d9a966f26a00c9722f78f00dc471099102c99af8 Author: Chris Hanson Date: Sat Mar 18 14:34:15 2017 -0700 Rework the character parser to handle backslash reasonably. M src/runtime/char.scm M src/runtime/parse.scm commit 7820e64492b07fc15e86a6b624b55791c1b747b5 Author: Chris Hanson Date: Fri Mar 17 21:41:18 2017 -0700 Add u16/u32 equivalents to bytevector. M src/runtime/bytevector.scm M src/runtime/runtime.pkg commit a64071990ba732d39bcc19f4ad75dd6fdfab9b56 Author: Chris Hanson Date: Tue Mar 14 22:49:00 2017 -0700 Add draft of inversion-map code generator. M src/etc/ucd-converter.scm commit ef89e96e8d6208e3fb52c2ee030a4b51ff679422 Author: Chris Hanson Date: Sun Mar 12 18:57:45 2017 -0700 Update explanation of HIGH range. M src/runtime/chrset.scm commit 0758f80dd2ab190fb7788d48218387b6439eb0fa Author: Chris Hanson Date: Sun Mar 12 18:53:53 2017 -0700 Rename "signal" to "inversion list" since that's the accepted name. M src/runtime/chrset.scm commit f5a7d6b5774cdb657eedd216b8a16397eeb93bf2 Author: Chris Hanson Date: Sat Mar 11 01:12:25 2017 -0800 Change normalization test to use characters instead of integers. M tests/runtime/test-string-normalization.scm commit ea2ed192057916db255b0d063655c80f0b017213 Author: Chris Hanson Date: Sat Mar 11 01:10:01 2017 -0800 Speed up reading of #\x... characters. M src/runtime/parse.scm commit 856ad54b0b5155148fe0b1d313e4a05b8f587901 Author: Chris Hanson Date: Sat Mar 11 00:42:21 2017 -0800 Use string-builder instead of call-with-output-string. M src/runtime/parse.scm commit e492f6da7d7ba71bb9b46195f5c13f5c8170e87a Author: Chris Hanson Date: Sat Mar 11 00:34:39 2017 -0800 Implement test case for string->nfd. M tests/check.scm A tests/runtime/test-string-normalization.scm commit 7cd27d4b09055ba8513fddcc76fa3a37b83abc5c Author: Chris Hanson Date: Thu Mar 9 23:37:19 2017 -0800 Fix symbols using now-illegal syntax. M src/imail/imail-imap.scm commit 5bf4a6d9f42c421dda9920ae638301d9d5cd30cc Author: Chris Hanson Date: Thu Mar 9 23:07:23 2017 -0800 Rewrite parser so that it supports Unicode input. M src/runtime/chrset.scm M src/runtime/ed-ffi.scm M src/runtime/parse.scm D src/runtime/partab.scm M src/runtime/runtime.pkg commit 76a2189eb626c4b3d7b1bd165f7bde7454f93eb7 Author: Chris Hanson Date: Thu Mar 9 20:43:23 2017 -0800 Fix missed references to parser. M src/edwin/edwin.pkg M src/edwin/schmod.scm commit fa7cce1102045068616ed263ad977d1c8a977541 Author: Chris Hanson Date: Wed Mar 8 22:59:15 2017 -0800 Major refactoring of the parser. * Eliminate kludge that makes the parser environment sensitive. * Eliminate most of the undocumented dynamic parameters. * Eliminate the ability to change the character sets used in parsing. * Eliminate never-used parse-objects. * Don't export parse-object -- it's basically the same as read. * Convert parser to use define-deferred instead of an explicit initializer. * Streamline internals somewhat. M src/edwin/edwin.pkg M src/ffi/cdecls.scm M src/runtime/input.scm M src/runtime/parse.scm M src/runtime/runtime.pkg M src/runtime/swank.scm M src/runtime/ttyio.scm M src/runtime/unpars.scm commit 2f2b018bff38ef396d3fb05357f940aa880cd275 Author: Chris Hanson Date: Tue Mar 7 22:18:08 2017 -0800 Add file-attributes tests that test the parser's interface. M src/runtime/parse.scm M tests/runtime/test-file-attributes.scm commit 33ebb4d1996a9e4b742354291cdf3a39b1ed20c4 Author: Chris Hanson Date: Tue Mar 7 22:11:03 2017 -0800 Add input-line operation to input strings. M src/runtime/stringio.scm commit 955363c2e3f6e3bd957c11ff1ba4e8cd2a8a6642 Author: Chris Hanson Date: Tue Mar 7 21:59:18 2017 -0800 Implement port-properties. M src/runtime/port.scm M src/runtime/runtime.pkg commit c4e853decc76f31ec6e78739878bb34fd74f7d63 Author: Chris Hanson Date: Tue Mar 7 21:37:27 2017 -0800 Reimplement interface between parser and file-attributes parser. New interface just collects the comment and passes it to the parser. M src/runtime/file-attributes.scm M src/runtime/parse.scm M src/runtime/runtime.pkg commit 1ad6e153be24a5d5959da7a3070a214402c23b7d Author: Chris Hanson Date: Tue Mar 7 21:29:58 2017 -0800 Reindent test cases for easier reading. M tests/runtime/test-file-attributes.scm commit b7221120d4495ea535f2a8b1e8fde4004e6b8430 Author: Chris Hanson Date: Tue Mar 7 20:20:15 2017 -0800 Fix char-in-set? so it works with all characters. M src/runtime/chrset.scm commit 38d7edeb1e552ba86a9a79b166915fe152e30550 Author: Chris Hanson Date: Tue Mar 7 20:11:26 2017 -0800 Small tweaks to file-attributes. M src/runtime/file-attributes.scm commit 1caa668bd1516dbb97de95dab45da6030bf7b851 Author: Chris Hanson Date: Tue Mar 7 20:08:52 2017 -0800 Add file-attributes test to make check. M tests/check.scm commit d30da6b2c103e34b6e0805bd5cbefeb9501382c1 Author: Chris Hanson Date: Tue Mar 7 01:12:34 2017 -0800 Fix some issues with file-attribute parser; temporarily disable. M src/runtime/file-attributes.scm commit 84474bc7a719591636eff86543c4c47ccb0c1cee Author: Chris Hanson Date: Tue Mar 7 01:09:26 2017 -0800 Eliminate unused binding. M src/xml/xml-struct.scm commit cefc33ef713854596f4944fe4fedb64c52eae9eb Author: Chris Hanson Date: Tue Mar 7 01:06:32 2017 -0800 Change host-adapter to be ignored except on 9.2. Also fix typo in tagged-object type name. M src/runtime/host-adapter.scm M src/runtime/predicate-tagging.scm commit fc8f720da64920db34cb47ea48d647b7b7fd971d Author: Chris Hanson Date: Mon Mar 6 22:11:45 2017 -0800 Eliminate support for custom parser tables. M src/edwin/edwin.pkg M src/edwin/intmod.scm M src/runtime/parse.scm M src/runtime/runtime.pkg commit 698bb0c9f821086688fe6158e06d906ca0674dfa Merge: 2b05d8bea 0c8b1fdc8 Author: Chris Hanson Date: Mon Mar 6 21:55:15 2017 -0800 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit 2b05d8beab7dcb7f75658023f09cc50f299762c0 Author: Chris Hanson Date: Mon Mar 6 21:52:18 2017 -0800 Eliminate need for file-attributes parser to use custom parser table. Also add tests for the parser using the conveniently-provided test strings. M src/runtime/ed-ffi.scm M src/runtime/file-attributes.scm M src/runtime/make.scm M src/runtime/runtime.pkg A tests/runtime/test-file-attributes.scm commit 493f3aead31f8db85faac969ff5d20c109967b5f Author: Chris Hanson Date: Mon Mar 6 21:02:46 2017 -0800 Don't save boot inits if there are none. This exposed some packages with inits that weren't doing anything. M src/runtime/boot.scm M src/runtime/make.scm commit 0c8b1fdc8a5b3c9d667fccc2c26ed39b4243f89a Author: Matt Birkholz Date: Mon Mar 6 21:13:40 2017 -0700 plugin ChangeLogs: Add missing cd commandline. M src/blowfish/ChangeLog M src/gdbm/ChangeLog M src/mcrypt/ChangeLog M src/md5/ChangeLog M src/mhash/ChangeLog M src/x11-screen/ChangeLog M src/x11/ChangeLog commit 0d0e0b96ce1fec53eb184a33a86657952cba2fea Author: Matt Birkholz Date: Mon Mar 6 21:01:53 2017 -0700 doc: Use default htmldir, pdfdir, etc. Rename updated manpage. Define docdir, part of the default htmldir, pdfdir, etc. Replace \- (minus) with - (hyphen) in the manpage. (This was an old, aesthetic choice?) M doc/Makefile.in M doc/configure.ac M doc/make-common.in R052 doc/scheme.1 doc/mit-scheme.1 commit a90ab84a0be0c62c7a6cd0f2d2bf22209b83f311 Author: Matt Birkholz Date: Mon Mar 6 20:49:40 2017 -0700 Load necessary options (not loaded when Edwin is not loaded). M tests/ffi/test-ffi.scm M tests/runtime/test-mime-codec.scm M tests/runtime/test-process.scm commit 816ebce1b19767f844269b2a739d216d1d05ce37 Author: Matt Birkholz Date: Mon Mar 6 20:46:39 2017 -0700 Generalize load-ffi-quietly to use when loading other options. M src/runtime/ffi.scm commit 1df9423094fb9a8dd50173f4efb16f49fd74a3a0 Author: Matt Birkholz Date: Mon Mar 6 20:43:56 2017 -0700 edwin: Add input-event unparser. Fix inferior unparser. M src/edwin/editor.scm M src/edwin/window.scm commit 628cb5f96f40ba931bf18e1a30b05087cf99eb48 Author: Matt Birkholz Date: Mon Mar 6 20:41:24 2017 -0700 doc/ref-manual/graphics.texi: typo M doc/ref-manual/graphics.texi commit 7354130e6d48b23a0ca35b3ccdcaa595e3abe49c Author: Matt Birkholz Date: Mon Mar 6 20:32:32 2017 -0700 cref/conpkg.scm: Fourth slot of import links: 'deprecated, not #t. M src/cref/conpkg.scm commit 3b05e1e622932f11a075303faa09ab63aa82b025 Author: Chris Hanson Date: Mon Mar 6 17:25:46 2017 -0800 Change sequence builders to copy small sequences. M src/runtime/bytevector.scm M src/runtime/global.scm M src/runtime/ustring.scm commit 4fdff0b39dc3db60d7459ee1404b7a9fbef49f22 Author: Chris Hanson Date: Mon Mar 6 17:17:17 2017 -0800 Change char-XXX-full converters to store strings. M src/etc/ucd-converter.scm M src/runtime/parse.scm M src/runtime/ucd-table-cf.scm M src/runtime/ucd-table-dm.scm M src/runtime/ucd-table-lc.scm M src/runtime/ucd-table-tc.scm M src/runtime/ucd-table-uc.scm M src/runtime/ustring.scm commit 52be6a23e3b087a179496083bef96a5b1c78ed27 Author: Chris Hanson Date: Mon Mar 6 16:33:42 2017 -0800 Fix test, now that I understand what's going on. M src/runtime/ustring.scm M tests/runtime/test-string.scm commit dea2f02ab7bf8ece144b3ad7630dcc7d7c0a4de3 Author: Chris Hanson Date: Mon Mar 6 00:12:53 2017 -0800 Add Unicode segmentation tests and fix implementation to pass.* *Except for two examples, marked in the test, that are inconsistent with my model for how this should work. M src/runtime/make.scm M src/runtime/runtime.pkg M src/runtime/ustring.scm M tests/runtime/test-string.scm commit 231ff3b3c959ef5be248fd853649e8f139129c1d Merge: f37c09851 dbeaaa175 Author: Chris Hanson Date: Sun Mar 5 14:32:21 2017 -0800 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit dbeaaa1752e96c75e6bdc1daa03730d5a4bd1e3b Author: Matt Birkholz Date: Sun Mar 5 12:26:28 2017 -0700 svm: Punt unnecessary (global-definitions "../cref/cref"). M src/compiler/machines/svm/compiler.pkg commit b5336a0952f7dd142af952217732b10a2d1de07e Author: Matt Birkholz Date: Sun Mar 5 12:06:53 2017 -0700 Match up 9.2 and current definitions of GUARANTEE. Fix the 9.2 host adapter to agree with expected behavior (returning the object), after changing the new definition so that it is easier to continue from (error...) with a substitute. M src/runtime/host-adapter.scm M src/runtime/predicate-metadata.scm commit dc16a69d4775d0494ccd0df8b49037057b7a36da Author: Matt Birkholz Date: Sun Mar 5 11:10:48 2017 -0700 Speed up SVM cross-build with new finish-cross-compilation:files. Undo 0ee3b64 . Delay compressing info files until after the .mocs are processed and a compiled runtime can be booted. M src/Makefile.in M src/compiler/base/crsend.scm commit 17bc63d11fead0dbd0f5db90d89b5e1902b30111 Author: Matt Birkholz Date: Sun Mar 5 09:02:10 2017 -0700 Assign &lambda-components before (runtime ustring) needs it. M src/runtime/make.scm commit f37c09851aab7528ffefad1a745e25575defffd7 Author: Chris Hanson Date: Sun Mar 5 00:48:50 2017 -0800 Eliminate long-obsolete lexpr lambdas. M src/runtime/infutl.scm M src/runtime/lambda-list.scm M src/runtime/lambda.scm M src/runtime/runtime.pkg commit 7885f353e8c5634769755241b7cb72da1df1c61a Author: Chris Hanson Date: Sat Mar 4 23:20:27 2017 -0800 Fix design flaws in segmentation state machines. M src/runtime/ustring.scm commit de00c8e1aec4bfcf93820f68aee5b4b860bd3a13 Author: Chris Hanson Date: Sat Mar 4 23:18:06 2017 -0800 Must load host-adapter when compiling svm1. M src/Makefile.in commit 912e74b3dc0a95f1c6a89d534c0500ac224cacca Author: Chris Hanson Date: Sat Mar 4 16:24:48 2017 -0800 Save ucd-segment-states for future reference. A src/etc/ucd-segment-states commit f9f1515c2a2061caac0e739ce81171b20f783e39 Author: Chris Hanson Date: Sat Mar 4 16:20:50 2017 -0800 Finish documenting the remaining string procedures. M doc/ref-manual/strings.texi commit b449730af4ee705d8083bbfc9838eb611ec54326 Author: Chris Hanson Date: Sat Mar 4 16:20:27 2017 -0800 Change the default of 'copy? in string-trimmer to #f. M src/runtime/ustring.scm commit 895d98be6e432b3d8d1d689c00a71caf81875d9b Author: Chris Hanson Date: Sat Mar 4 01:01:48 2017 -0800 Finish changing string-ci-hash to string-hash-ci. M src/runtime/hashtb.scm M src/runtime/runtime.pkg M src/runtime/ustring.scm commit 828ba4d2dcf3080f1df3486d25fb6b4be06d1434 Merge: 70f14e342 10f6fdd9a Author: Chris Hanson Date: Sat Mar 4 00:35:01 2017 -0800 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit 70f14e342b624d30c0ece0f43095c60469065e7f Author: Chris Hanson Date: Sat Mar 4 00:34:37 2017 -0800 Add a bunch more documentation for strings. M doc/ref-manual/scheme.texinfo M doc/ref-manual/strings.texi commit eb694e4357df48473678a89207191d83941eea97 Author: Chris Hanson Date: Sat Mar 4 00:34:15 2017 -0800 Use @acronym{ASCII}. M doc/ref-manual/io.texi commit 8d04f1887aa495abaaa0dffcbd84db69fafc3089 Author: Chris Hanson Date: Sat Mar 4 00:33:42 2017 -0800 Add hacks to make URLs more like web pages. M doc/ref-manual/scheme.texinfo commit f8a48a43cb466406e181961eab09fb1a4e47a169 Author: Chris Hanson Date: Sat Mar 4 00:33:25 2017 -0800 Export string-hash-ci. M src/runtime/runtime.pkg commit e192523087eac98e1c94497898f81bff34b039d6 Author: Chris Hanson Date: Sat Mar 4 00:32:57 2017 -0800 Redefine the string-find-X procedures to take substring indices. M src/runtime/ustring.scm commit c6399b4c43b15b5c20dd38e9c83758f006bebd93 Author: Chris Hanson Date: Sat Mar 4 00:32:32 2017 -0800 Move substring? to be near its relatives. M src/runtime/ustring.scm commit 2e4fdfd4b50f7a84924080c8be03c46d1b91a4dd Author: Chris Hanson Date: Sat Mar 4 00:31:51 2017 -0800 Fix bug: string-padder was adding the wrong number of clusters. M src/runtime/ustring.scm commit 688c05568fa2fad08e40c657ca8eebbcceb7edb0 Author: Chris Hanson Date: Fri Mar 3 20:32:17 2017 -0800 Document string->vector and vector->string. M doc/ref-manual/vectors.texi commit b7b71b9399dc649a881b9d576ffd045a0444e6d9 Author: Chris Hanson Date: Fri Mar 3 20:31:49 2017 -0800 Remove redundant description of {,sub}string->list. M doc/ref-manual/lists.texi commit f4e3637164e1ffd3214ca2aff7879040d33e9b07 Author: Chris Hanson Date: Fri Mar 3 20:31:31 2017 -0800 Document string-hash-ci. M doc/ref-manual/strings.texi commit 3f338dfb7b657fadfc16a93ffabad4c4b9fa1105 Author: Chris Hanson Date: Fri Mar 3 20:30:13 2017 -0800 Change string-search-X interface back to its original design. M src/runtime/runtime.pkg M src/runtime/ustring.scm commit 10f6fdd9ac5dc7a4fd50a8e4f302bd9a3d14f71a Author: Matt Birkholz Date: Fri Mar 3 16:59:01 2017 -0700 runtime/chrsyn: Pass TABLE through to char->syntax-code. M src/runtime/chrsyn.scm commit fc2cee105782d4393f6394f70b67628b748e07b0 Author: Matt Birkholz Date: Fri Mar 3 16:08:15 2017 -0700 Load runtime/host-adapter when building a cross-compiler. Define GUARANTEE which is now used in the new compiler/sf/cref. Collect a couple other existing hacks to the host runtime. Increment the CREF version since it grew deprecated bindings. M src/Makefile.tools.in M src/compiler/base/utils.scm M src/compiler/rtlgen/opncod.scm M src/cref/make.scm M src/runtime/bytevector.scm A src/runtime/host-adapter.scm M src/runtime/predicate-tagging.scm commit cb21538751f8bb8f7dea8a458d49903420668c54 Merge: 40647e32c da5f656bb Author: Chris Hanson Date: Thu Mar 2 21:52:06 2017 -0800 Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme commit 40647e32ce881c10042cf0ed33d1d266fea48c96 Author: Chris Hanson Date: Thu Mar 2 21:51:32 2017 -0800 Use canonical caseless matching for symbols. M src/runtime/runtime.pkg M src/runtime/symbol.scm M src/runtime/ustring.scm commit da5f656bb6c79df61dd875594f22367a4c7394c2 Author: Matt Birkholz Date: Thu Mar 2 15:47:09 2017 -0700 x11: Remove reference to deprecated char->string. M src/x11/x11-base.scm commit 8a4aa18d997f9d8562314c149a713b650ff439a9 Author: Matt Birkholz Date: Thu Mar 2 15:46:40 2017 -0700 Fix char-set-predicate to accept non-characters. M src/runtime/chrset.scm commit d4fb1b561fcd40d8db7e12cb048c406d5da6f71d Author: Chris Hanson Date: Wed Mar 1 23:46:38 2017 -0800 Another round of eliminations. M src/runtime/error.scm M src/runtime/runtime.pkg M src/sf/pardec.scm M src/sf/sf.pkg M src/sf/tables.scm M src/star-parser/parser.pkg M src/star-parser/shared.scm M src/xml/xml-names.scm M src/xml/xml-struct.scm M src/xml/xml.pkg commit 2908767340badd5962ab0bb2578e315d29cb3176 Author: Chris Hanson Date: Wed Mar 1 23:33:34 2017 -0800 Giant edit to remove most of the now-obsolete guarantee-FOO bindings. M doc/ref-manual/io.texi M doc/ref-manual/procedures.texi M src/6001/arith.scm M src/6001/edextra.scm M src/6001/floppy.scm M src/6001/pic-imag.scm M src/6001/picture.scm M src/compiler/back/lapgn1.scm M src/compiler/back/regmap.scm M src/compiler/base/crsend.scm M src/compiler/base/utils.scm M src/compiler/fggen/canon.scm M src/compiler/fggen/fggen.scm M src/compiler/fgopt/blktyp.scm M src/compiler/fgopt/closan.scm M src/compiler/fgopt/contan.scm M src/compiler/fgopt/folcon.scm M src/compiler/fgopt/operan.scm M src/compiler/fgopt/outer.scm M src/compiler/fgopt/param.scm M src/compiler/fgopt/reord.scm M src/compiler/fgopt/reuse.scm M src/compiler/fgopt/sideff.scm M src/compiler/fgopt/simple.scm M src/compiler/improvements/gasn.scm M src/compiler/machines/C/decls.scm M src/compiler/machines/i386/decls.scm M src/compiler/machines/i386/rulrew.scm M src/compiler/machines/svm/assembler-compiler.scm M src/compiler/machines/svm/assembler-runtime.scm M src/compiler/machines/svm/decls.scm M src/compiler/machines/svm/lapgen.scm M src/compiler/machines/svm/machine.scm M src/compiler/machines/svm/rules.scm M src/compiler/machines/x86-64/decls.scm M src/compiler/machines/x86-64/rulrew.scm M src/compiler/rtlbase/rtlexp.scm M src/compiler/rtlgen/rtlgen.scm M src/compiler/rtlopt/rdflow.scm M src/compiler/rtlopt/rtlcsm.scm M src/cref/conpkg.scm M src/cref/redpkg.scm M src/edwin/abbrev.scm M src/edwin/basic.scm M src/edwin/bufcom.scm M src/edwin/buffer.scm M src/edwin/comint.scm M src/edwin/comtab.scm M src/edwin/curren.scm M src/edwin/dabbrev.scm M src/edwin/dosfile.scm M src/edwin/edwin.pkg M src/edwin/evlcom.scm M src/edwin/fileio.scm M src/edwin/info.scm M src/edwin/input.scm M src/edwin/intmod.scm M src/edwin/keymap.scm M src/edwin/linden.scm M src/edwin/nntp.scm M src/edwin/print.scm M src/edwin/process.scm M src/edwin/prompt.scm M src/edwin/rfc822.scm M src/edwin/rmail.scm M src/edwin/sendmail.scm M src/edwin/simple.scm M src/edwin/snr.scm M src/edwin/string.scm M src/edwin/unix.scm M src/edwin/utils.scm M src/edwin/vc.scm M src/edwin/vhdl.scm M src/etc/ucd-converter.scm M src/imail/imail-imap.scm M src/imail/imail-mime.scm M src/imail/imail-summary.scm M src/imail/imail-top.scm M src/microcode/makegen/makegen.scm M src/runtime/boole.scm M src/runtime/condvar.scm M src/runtime/contin.scm M src/runtime/datime.scm M src/runtime/defstr.scm M src/runtime/dosprm.scm M src/runtime/dospth.scm M src/runtime/dynamic.scm M src/r