mit-scheme.git
6 years agoReset start times of threads when restoring image.
Chris Hanson [Thu, 6 Sep 2018 01:26:12 +0000 (18:26 -0700)]
Reset start times of threads when restoring image.

6 years agoFix problem with printing of SOS instances.
Chris Hanson [Thu, 6 Sep 2018 01:09:56 +0000 (18:09 -0700)]
Fix problem with printing of SOS instances.

6 years agox11: Fix x-list-fonts procedure.
Matt Birkholz [Mon, 30 Jul 2018 01:10:33 +0000 (18:10 -0700)]
x11: Fix x-list-fonts procedure.

6 years agoblowfish: Remove boast from ancient description in manual.
Matt Birkholz [Mon, 30 Jul 2018 01:09:38 +0000 (18:09 -0700)]
blowfish: Remove boast from ancient description in manual.

6 years agox11: version 1.1
Matt Birkholz [Thu, 19 Jul 2018 15:18:11 +0000 (08:18 -0700)]
x11: version 1.1

6 years agomicrocode/uxio.c (OS_channel_read): Return 0 for EIO from pty master
Matt Birkholz [Mon, 16 Jul 2018 23:05:24 +0000 (16:05 -0700)]
microcode/uxio.c (OS_channel_read): Return 0 for EIO from pty master

6 years agoffi: Avoid 9.1's expansion of define-print-method.
Matt Birkholz [Tue, 3 Jul 2018 15:05:37 +0000 (10:05 -0500)]
ffi: Avoid 9.1's expansion of define-print-method.

6 years agoblowfish/Makefile.am: compile.sh missing from EXTRA_DIST.
Matt Birkholz [Mon, 25 Jun 2018 21:57:36 +0000 (14:57 -0700)]
blowfish/Makefile.am: compile.sh missing from EXTRA_DIST.

6 years agox11: Actually export import-x11.
Matt Birkholz [Mon, 25 Jun 2018 21:56:40 +0000 (14:56 -0700)]
x11: Actually export import-x11.

6 years agoFix x11-screen plugin for autoloading by Edwin's new x-display-type.
Matt Birkholz [Fri, 22 Jun 2018 10:19:33 +0000 (03:19 -0700)]
Fix x11-screen plugin for autoloading by Edwin's new x-display-type.

6 years agoReplace Edwin's X display type with the x11-screen plugin.
Matt Birkholz [Fri, 22 Jun 2018 10:14:45 +0000 (03:14 -0700)]
Replace Edwin's X display type with the x11-screen plugin.

6 years agoPunt remains of µmodule support.
Matt Birkholz [Fri, 22 Jun 2018 10:06:29 +0000 (03:06 -0700)]
Punt remains of µmodule support.

6 years agoPunt x11 µmodule; autoload x11 plugin version 1.0.
Matt Birkholz [Fri, 22 Jun 2018 11:10:28 +0000 (04:10 -0700)]
Punt x11 µmodule; autoload x11 plugin version 1.0.

6 years agoPunt mcrypt µmodule; autoload mcrypt plugin version 1.0.
Matt Birkholz [Fri, 22 Jun 2018 09:20:22 +0000 (02:20 -0700)]
Punt mcrypt µmodule; autoload mcrypt plugin version 1.0.

6 years agoPunt db4 µmodule; remove to incomplete berkeley-db plugin.
Matt Birkholz [Fri, 22 Jun 2018 10:37:10 +0000 (03:37 -0700)]
Punt db4 µmodule; remove to incomplete berkeley-db plugin.

6 years agoPunt pgsql µmodule; autoload pgsql plugin version 1.0.
Matt Birkholz [Fri, 22 Jun 2018 11:30:45 +0000 (04:30 -0700)]
Punt pgsql µmodule; autoload pgsql plugin version 1.0.

6 years agoPunt bfish µmodule; autoload blowfish plugin version 1.0.
Matt Birkholz [Fri, 22 Jun 2018 10:35:31 +0000 (03:35 -0700)]
Punt bfish µmodule; autoload blowfish plugin version 1.0.

6 years agoPunt gdbm µmodule; autoload gdbm plugin version 1.0.
Matt Birkholz [Fri, 22 Jun 2018 08:16:54 +0000 (01:16 -0700)]
Punt gdbm µmodule; autoload gdbm plugin version 1.0.

6 years agoDeprecate without-interrupts.
Matt Birkholz [Fri, 22 Jun 2018 10:21:04 +0000 (03:21 -0700)]
Deprecate without-interrupts.

6 years agoMake FFI a non-optional subsystem.
Matt Birkholz [Fri, 22 Jun 2018 10:23:01 +0000 (03:23 -0700)]
Make FFI a non-optional subsystem.

6 years agoExport FFI's delete-plugin-list and update-plugin-indices.
Matt Birkholz [Fri, 22 Jun 2018 10:22:08 +0000 (03:22 -0700)]
Export FFI's delete-plugin-list and update-plugin-indices.

6 years agoUpdate FFI manual.
Matt Birkholz [Fri, 22 Jun 2018 10:20:04 +0000 (03:20 -0700)]
Update FFI manual.

6 years agoChange nearly all code to use parameterize rather than parameterize*.
Chris Hanson [Wed, 13 Jun 2018 03:51:48 +0000 (20:51 -0700)]
Change nearly all code to use parameterize rather than parameterize*.

6 years agoDefine parameterize using syntax-rules and add it to the host adapter.
Chris Hanson [Wed, 13 Jun 2018 03:10:50 +0000 (20:10 -0700)]
Define parameterize using syntax-rules and add it to the host adapter.

6 years agoNot-yet-complete implementation of R7RS libraries.
Chris Hanson [Sun, 10 Jun 2018 03:51:54 +0000 (20:51 -0700)]
Not-yet-complete implementation of R7RS libraries.

6 years agomicrocode/extern.h (HASH_TO_FIXNUM): typo
Matt Birkholz [Wed, 6 Jun 2018 15:49:35 +0000 (08:49 -0700)]
microcode/extern.h (HASH_TO_FIXNUM): typo

6 years agoi386/compiler.pkg: Add missing scode/definition?.
Matt Birkholz [Wed, 6 Jun 2018 15:44:40 +0000 (08:44 -0700)]
i386/compiler.pkg: Add missing scode/definition?.

6 years agoSVM assembler needs hash-table-clear!.
Matt Birkholz [Wed, 6 Jun 2018 15:42:23 +0000 (08:42 -0700)]
SVM assembler needs hash-table-clear!.

6 years agomhash: Punt. The µmodule-based package disappeared long ago.
Matt Birkholz [Tue, 5 Jun 2018 20:46:27 +0000 (13:46 -0700)]
mhash: Punt.  The µmodule-based package disappeared long ago.

6 years agoSerialize access to thread/properties via thread-get, thread-put./fetch 69
Matt Birkholz [Tue, 5 Jun 2018 19:51:06 +0000 (12:51 -0700)]
Serialize access to thread/properties via thread-get, thread-put./fetch 69

6 years agoName the initial thread.
Matt Birkholz [Tue, 5 Jun 2018 19:50:06 +0000 (12:50 -0700)]
Name the initial thread.

6 years agoimail: Like probe-folder-output-processor, avoid referencing folder.
Matt Birkholz [Tue, 5 Jun 2018 19:43:04 +0000 (12:43 -0700)]
imail: Like probe-folder-output-processor, avoid referencing folder.

6 years agoffi: version 1.0
Matt Birkholz [Tue, 5 Jun 2018 16:45:36 +0000 (09:45 -0700)]
ffi: version 1.0

6 years agoplugin tags-fix.sh: Use command-line-arguments.
Matt Birkholz [Tue, 5 Jun 2018 16:37:51 +0000 (09:37 -0700)]
plugin tags-fix.sh: Use command-line-arguments.

6 years agoA couple more fall-through comments.
Matt Birkholz [Tue, 5 Jun 2018 14:33:05 +0000 (07:33 -0700)]
A couple more fall-through comments.

6 years agoName most threads.
Matt Birkholz [Tue, 5 Jun 2018 08:15:56 +0000 (01:15 -0700)]
Name most threads.

6 years agoPrint Edwin buffer names.
Matt Birkholz [Tue, 5 Jun 2018 17:54:41 +0000 (10:54 -0700)]
Print Edwin buffer names.

6 years agoworld-report: Display thread names instead of associated "flags".
Matt Birkholz [Tue, 5 Jun 2018 08:15:36 +0000 (01:15 -0700)]
world-report: Display thread names instead of associated "flags".

6 years agoAdd optional name parameter to create-thread.
Matt Birkholz [Fri, 1 Jun 2018 21:15:27 +0000 (14:15 -0700)]
Add optional name parameter to create-thread.

6 years agoAdd thread-get and thread-put! for e.g. giving threads names.
Matt Birkholz [Tue, 5 Jun 2018 17:11:05 +0000 (10:11 -0700)]
Add thread-get and thread-put! for e.g. giving threads names.

6 years agoblowfish: typo in manual
Matt Birkholz [Tue, 5 Jun 2018 06:44:29 +0000 (23:44 -0700)]
blowfish: typo in manual

6 years agox11: version 0.3
Matt Birkholz [Fri, 1 Jun 2018 22:37:07 +0000 (15:37 -0700)]
x11: version 0.3

6 years agox11: Allow CurrentTime.
Matt Birkholz [Fri, 1 Jun 2018 21:41:05 +0000 (14:41 -0700)]
x11: Allow CurrentTime.

6 years agoffi: Add delete-plugin-list and update-plugin-indices
Matt Birkholz [Fri, 1 Jun 2018 21:32:57 +0000 (14:32 -0700)]
ffi: Add delete-plugin-list and update-plugin-indices

for the Debian install/uninstall scripts.

6 years agoruntime/ffi: Save/restore floenv around callouts.
Matt Birkholz [Fri, 1 Jun 2018 21:17:58 +0000 (14:17 -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.

6 years agoSignal an error in unlock-thread-mutex when mutex is not owned,
Matt Birkholz [Tue, 5 Jun 2018 07:22:28 +0000 (00:22 -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.

6 years agoUse with-interrupts-reduced in with-limited-interrupts.
Matt Birkholz [Fri, 1 Jun 2018 21:01:34 +0000 (14:01 -0700)]
Use with-interrupts-reduced in with-limited-interrupts.

Save a primitive apply.

6 years agouser.texinfo: typos
Matt Birkholz [Fri, 1 Jun 2018 20:58:37 +0000 (13:58 -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.

6 years agoplugins: Copy .crf reports into the build log.
Matt Birkholz [Fri, 1 Jun 2018 20:45:13 +0000 (13:45 -0700)]
plugins: Copy .crf reports into the build log.

6 years agogdbm: version 0.4
Matt Birkholz [Fri, 1 Jun 2018 19:51:31 +0000 (12:51 -0700)]
gdbm: version 0.4

6 years agogdbm: Update documentation regarding file locks.
Matt Birkholz [Fri, 1 Jun 2018 19:49:36 +0000 (12:49 -0700)]
gdbm: Update documentation regarding file locks.

6 years agogdbm: Accommodate 1.14 (in Ubuntu 18.04) but disable file locking.
Matt Birkholz [Tue, 5 Jun 2018 06:51:13 +0000 (23:51 -0700)]
gdbm: Accommodate 1.14 (in Ubuntu 18.04) but disable file locking.

6 years agoFix fencepost error reported by Patric Jonsson.
Chris Hanson [Tue, 5 Jun 2018 04:43:13 +0000 (21:43 -0700)]
Fix fencepost error reported by Patric Jonsson.

Also handle limited kinds of redundant clauses, and special case where there's
exactly one clause.

6 years agoUpdate copyrights.
Chris Hanson [Sat, 2 Jun 2018 05:42:56 +0000 (22:42 -0700)]
Update copyrights.

6 years agoChange subexpression marker to not require quoting.
Chris Hanson [Sat, 2 Jun 2018 05:26:32 +0000 (22:26 -0700)]
Change subexpression marker to not require quoting.

6 years agoNo need to quote weird symbols as strings.
Chris Hanson [Sat, 2 Jun 2018 05:20:08 +0000 (22:20 -0700)]
No need to quote weird symbols as strings.

6 years agoRefactor promises again, to support delay-force.
Chris Hanson [Tue, 29 May 2018 06:53:16 +0000 (23:53 -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.

6 years agoImplement make-promise for R7RS.
Chris Hanson [Tue, 29 May 2018 01:22:13 +0000 (18:22 -0700)]
Implement make-promise for R7RS.

Also clean up promise implementation a bit.

6 years agoFill in pseudo-keywords so that they can be imported from libraries.
Chris Hanson [Tue, 29 May 2018 00:55:24 +0000 (17:55 -0700)]
Fill in pseudo-keywords so that they can be imported from libraries.

6 years agoImplement call-with-port for R7RS.
Chris Hanson [Tue, 29 May 2018 00:35:07 +0000 (17:35 -0700)]
Implement call-with-port for R7RS.

6 years agoAdd definitions of standard libraries.
Chris Hanson [Mon, 28 May 2018 20:54:43 +0000 (13:54 -0700)]
Add definitions of standard libraries.

6 years agoFix thinko: forgot to provide definition of file-error?.
Chris Hanson [Mon, 28 May 2018 20:54:17 +0000 (13:54 -0700)]
Fix thinko: forgot to provide definition of file-error?.

6 years agoImplement target-metadata declaration.
Chris Hanson [Mon, 28 May 2018 05:05:33 +0000 (22:05 -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.

6 years agoImplement vector-any and vector-every.
Chris Hanson [Mon, 28 May 2018 02:47:13 +0000 (19:47 -0700)]
Implement vector-any and vector-every.

6 years agoFix equal-hash to return the same value as eq-hash on non-pointers.
Chris Hanson [Thu, 24 May 2018 03:49:51 +0000 (20:49 -0700)]
Fix equal-hash to return the same value as eq-hash on non-pointers.

6 years agoUse the new hashing primitives to simplify standard hashes.
Chris Hanson [Wed, 23 May 2018 07:18:42 +0000 (00:18 -0700)]
Use the new hashing primitives to simplify standard hashes.

Also, the standard hashes now always return a fixnum.

6 years agoRewrite the hashing primitives to support runtime-level hashing.
Chris Hanson [Wed, 23 May 2018 07:17:55 +0000 (00:17 -0700)]
Rewrite the hashing primitives to support runtime-level hashing.

6 years agoFix thinko in hash-simple-object and add primitive-memory-hash.
Chris Hanson [Wed, 23 May 2018 05:17:51 +0000 (22:17 -0700)]
Fix thinko in hash-simple-object and add primitive-memory-hash.

6 years agoUse bytevector instead of string when detecting endianness.
Chris Hanson [Wed, 23 May 2018 05:03:15 +0000 (22:03 -0700)]
Use bytevector instead of string when detecting endianness.

6 years agoImplement hash-simple-object.
Chris Hanson [Tue, 22 May 2018 07:47:12 +0000 (00:47 -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.

6 years agoMove knowledge of unicode strings into sdata.h and object.h.
Chris Hanson [Tue, 22 May 2018 07:46:51 +0000 (00:46 -0700)]
Move knowledge of unicode strings into sdata.h and object.h.

6 years agoActually implement a library and imports parser.
Chris Hanson [Mon, 21 May 2018 06:16:48 +0000 (23:16 -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.

6 years agoRefactor cond-expand to separate out the clauses evaluator.
Chris Hanson [Mon, 21 May 2018 05:42:00 +0000 (22:42 -0700)]
Refactor cond-expand to separate out the clauses evaluator.

Also change cond-expand to use new id!=? for else clause.

6 years agoImplement spar-arg:id!=? to handle useful case.
Chris Hanson [Mon, 21 May 2018 05:35:26 +0000 (22:35 -0700)]
Implement spar-arg:id!=? to handle useful case.

6 years agoChange symbol<? to sort interned symbols before uninterned.
Chris Hanson [Mon, 21 May 2018 00:27:50 +0000 (17:27 -0700)]
Change symbol<? to sort interned symbols before uninterned.

6 years agoClean up loader's handling of pathname and environment.
Chris Hanson [Sun, 20 May 2018 23:59:38 +0000 (16:59 -0700)]
Clean up loader's handling of pathname and environment.

6 years agoMove magit-diff-arguments from custom.el to init.el.
Chris Hanson [Sun, 20 May 2018 23:59:02 +0000 (16:59 -0700)]
Move magit-diff-arguments from custom.el to init.el.

6 years agoImplement interaction-environment for R7RS.
Chris Hanson [Sun, 20 May 2018 21:03:22 +0000 (14:03 -0700)]
Implement interaction-environment for R7RS.

6 years agoFix title.
Chris Hanson [Sun, 20 May 2018 21:03:13 +0000 (14:03 -0700)]
Fix title.

6 years agoImplement include and include-ci for R7RS.
Chris Hanson [Sun, 20 May 2018 05:30:49 +0000 (22:30 -0700)]
Implement include and include-ci for R7RS.

6 years agoREAD no longer uses its environment arg, so remove it.
Chris Hanson [Sun, 20 May 2018 05:21:07 +0000 (22:21 -0700)]
READ no longer uses its environment arg, so remove it.

6 years agoNon-functioning implementation of import and define-library.
Chris Hanson [Sun, 20 May 2018 01:05:44 +0000 (18:05 -0700)]
Non-functioning implementation of import and define-library.

6 years agoCapture useful pattern with spar-pattern-fixed-point.
Chris Hanson [Sun, 20 May 2018 00:47:08 +0000 (17:47 -0700)]
Capture useful pattern with spar-pattern-fixed-point.

6 years agoRewrite cond-expand-pattern as cond-expand-clause-pattern.
Chris Hanson [Sun, 20 May 2018 00:23:29 +0000 (17:23 -0700)]
Rewrite cond-expand-pattern as cond-expand-clause-pattern.

This will allow it to be reused for define-library.

6 years agoTweak pattern->spar to make it more useful.
Chris Hanson [Sun, 20 May 2018 00:23:03 +0000 (17:23 -0700)]
Tweak pattern->spar to make it more useful.

Also add (cons* ...) pattern.

6 years agoFix typo in DISPLAY.
Chris Hanson [Sat, 19 May 2018 22:06:29 +0000 (15:06 -0700)]
Fix typo in DISPLAY.

6 years agoImplement define-values for R7RS.
Chris Hanson [Sat, 19 May 2018 06:42:54 +0000 (23:42 -0700)]
Implement define-values for R7RS.

6 years agoSplit command-line processing out of load into its own file.
Chris Hanson [Sat, 19 May 2018 06:21:05 +0000 (23:21 -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.

6 years agoImplement exact-integer-sqrt for R7RS.
Chris Hanson [Sat, 19 May 2018 04:24:53 +0000 (21:24 -0700)]
Implement exact-integer-sqrt for R7RS.

6 years agoImplement CASE-LAMBDA for R7RS.
Chris Hanson [Thu, 17 May 2018 07:08:53 +0000 (00:08 -0700)]
Implement CASE-LAMBDA for R7RS.

6 years agoMake sure that value of r4rs-lambda-list-arity is simplified.
Chris Hanson [Thu, 17 May 2018 05:37:24 +0000 (22:37 -0700)]
Make sure that value of r4rs-lambda-list-arity is simplified.

6 years agoImplement fold-r4rs-lambda-list and r4rs-lambda-list-arity.
Chris Hanson [Thu, 17 May 2018 05:16:19 +0000 (22:16 -0700)]
Implement fold-r4rs-lambda-list and r4rs-lambda-list-arity.

6 years agoImplement GUARD for R7RS.
Chris Hanson [Wed, 16 May 2018 05:32:46 +0000 (22:32 -0700)]
Implement GUARD for R7RS.

6 years agoChange users of arity-dispatched-procedure to use the abstraction.
Chris Hanson [Tue, 15 May 2018 04:48:25 +0000 (21:48 -0700)]
Change users of arity-dispatched-procedure to use the abstraction.

6 years agoMove the arity-dispatcher-tag from the microcode to the runtime system.
Chris Hanson [Tue, 15 May 2018 04:36:22 +0000 (21:36 -0700)]
Move the arity-dispatcher-tag from the microcode to the runtime system.

6 years agoRewrite microcode-tables.scm for simplicity.
Chris Hanson [Tue, 15 May 2018 04:35:24 +0000 (21:35 -0700)]
Rewrite microcode-tables.scm for simplicity.

Also add a 'fixed-objects boot-actions list and change record.scm to use it.

6 years agoA few more fall-through comments.
Chris Hanson [Mon, 14 May 2018 19:31:25 +0000 (12:31 -0700)]
A few more fall-through comments.

6 years agoAdd comments to suppress fall-through warnings in GCC 7.
Chris Hanson [Mon, 14 May 2018 19:29:35 +0000 (12:29 -0700)]
Add comments to suppress fall-through warnings in GCC 7.

6 years agoApple doesn't need special definition for jiffies-per-second.
Chris Hanson [Mon, 14 May 2018 04:54:30 +0000 (21:54 -0700)]
Apple doesn't need special definition for jiffies-per-second.

6 years agoDon't use CLOCKS_PER_SEC for the value returned by times().
Chris Hanson [Mon, 14 May 2018 04:52:51 +0000 (21:52 -0700)]
Don't use CLOCKS_PER_SEC for the value returned by times().