mit-scheme.git
6 years agoPunt .gitignore; it ignores debian/.
Matt Birkholz [Wed, 6 Jun 2018 22:40:21 +0000 (15:40 -0700)]
Punt .gitignore; it ignores debian/.

6 years agoAdd --edit command line option (lost in the merge).
Matt Birkholz [Wed, 6 Jun 2018 22:21:59 +0000 (15:21 -0700)]
Add --edit command line option (lost in the merge).

6 years agoMerge branch 'master' into pucked. mit-scheme-pucked-9.2.13
Matt Birkholz [Wed, 6 Jun 2018 15:58:21 +0000 (08:58 -0700)]
Merge branch 'master' into pucked.

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 agoAdd new compile.sh scripts to EXTRA_DIST. mit-scheme-pucked-blowfish-0.2.5 mit-scheme-pucked-gdbm-0.4.1 mit-scheme-pucked-mcrypt-0.2.2 mit-scheme-pucked-pgsql-0.1.3
Matt Birkholz [Wed, 6 Jun 2018 04:54:36 +0000 (21:54 -0700)]
Add new compile.sh scripts to EXTRA_DIST.

6 years agoplugins: Increment versions. mit-scheme-pucked-cairo-0.7 mit-scheme-pucked-edwin-3.116.3 mit-scheme-pucked-gl-0.3 mit-scheme-pucked-glib-0.8 mit-scheme-pucked-gtk-0.7 mit-scheme-pucked-gtk-screen-0.3 mit-scheme-pucked-imail-1.21.3 mit-scheme-pucked-pango-0.7 mit-scheme-pucked-planetarium-0.3 mit-scheme-pucked-x11-0.3.1 mit-scheme-pucked-x11-screen-0.2.4
Matt Birkholz [Wed, 6 Jun 2018 01:46:52 +0000 (18:46 -0700)]
plugins: Increment versions.

6 years agoVersion 9.2.13.
Matt Birkholz [Wed, 6 Jun 2018 00:50:12 +0000 (17:50 -0700)]
Version 9.2.13.

6 years agoplugins: Almost all require 9.2.13 (use command-line-arguments).
Matt Birkholz [Wed, 6 Jun 2018 00:35:25 +0000 (17:35 -0700)]
plugins: Almost all require 9.2.13 (use command-line-arguments).

Include specific minimum versions for all direct dependencies
(i.e. those subsystems whose global-definitions were needed in the
.pkg description).

6 years agoplugin manuals: Update SCMVERS to 9.2.13.
Matt Birkholz [Wed, 6 Jun 2018 00:48:35 +0000 (17:48 -0700)]
plugin manuals: Update SCMVERS to 9.2.13.

6 years agouser-manual: Suggest https, [arch=amd64]. Fix typos.
Matt Birkholz [Wed, 6 Jun 2018 00:27:33 +0000 (17:27 -0700)]
user-manual: Suggest https, [arch=amd64].  Fix typos.

6 years agoUpdate copyright notices.
Matt Birkholz [Wed, 6 Jun 2018 00:20:06 +0000 (17:20 -0700)]
Update copyright notices.

6 years agoMerge branch 'master' into pucked.
Matt Birkholz [Tue, 5 Jun 2018 23:17:04 +0000 (16:17 -0700)]
Merge branch 'master' into pucked.

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 agoMerge branch 'master' into pucked.
Matt Birkholz [Tue, 5 Jun 2018 06:20:56 +0000 (23:20 -0700)]
Merge branch 'master' into pucked.

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 agogdbm: version 0.3.4 mit-scheme-pucked-gdbm-0.3.4
Matt Birkholz [Wed, 30 May 2018 15:48:39 +0000 (08:48 -0700)]
gdbm: version 0.3.4

6 years agogdbm: Accommodate gdbm 1.14.
Matt Birkholz [Wed, 30 May 2018 14:43:32 +0000 (07:43 -0700)]
gdbm: Accommodate gdbm 1.14.

Add const declarations.  Rename struct member gdbm_errno, which
conflicts with a new pre-processor macro.

Presume external locking is already in place where necessary.  Add
GDBM_NOLOCK to the gdbm_open flags in versions >= 1.13.  Gdbm 1.14 on
Ubuntu 18.04 fails to lock a DB file it just created (during `make
check`).

6 years agodevops: Capitalize error messages; end them with a colon or period.
Matt Birkholz [Mon, 28 May 2018 21:55:59 +0000 (14:55 -0700)]
devops: Capitalize error messages; end them with a colon or period.

6 years agouser.texinfo: A typo. And punt mention of gdbm microcode module.
Matt Birkholz [Mon, 28 May 2018 21:52:45 +0000 (14:52 -0700)]
user.texinfo: A typo.  And punt mention of gdbm microcode module.

6 years agoruntime/ffi: Do not dynamic-wind around callouts and callbacks.
Matt Birkholz [Wed, 30 May 2018 14:39:36 +0000 (07:39 -0700)]
runtime/ffi: Do not dynamic-wind around callouts and callbacks.

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().

6 years agoAdd missing procedure in host-adapter.
Chris Hanson [Mon, 14 May 2018 04:29:35 +0000 (21:29 -0700)]
Add missing procedure in host-adapter.

6 years agoImplement CURRENT-JIFFY and JIFFIES-PER-SECOND for R7RS.
Chris Hanson [Mon, 14 May 2018 04:20:23 +0000 (21:20 -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.

6 years agoImplement CURRENT-SECOND for R7RS.
Chris Hanson [Mon, 14 May 2018 03:06:41 +0000 (20:06 -0700)]
Implement CURRENT-SECOND for R7RS.

6 years agoFix bug: earlier rewrite of printer broke pp.
Chris Hanson [Mon, 14 May 2018 03:02:16 +0000 (20:02 -0700)]
Fix bug: earlier rewrite of printer broke pp.

6 years agoImplement get-environment-variables for R7RS.
Chris Hanson [Mon, 14 May 2018 02:43:57 +0000 (19:43 -0700)]
Implement get-environment-variables for R7RS.

6 years agoMore R7RS tags.
Chris Hanson [Mon, 14 May 2018 02:43:42 +0000 (19:43 -0700)]
More R7RS tags.

6 years agoRename GET-SUPPORTED-FEATURES to FEATURES for R7RS.
Chris Hanson [Mon, 14 May 2018 00:15:59 +0000 (17:15 -0700)]
Rename GET-SUPPORTED-FEATURES to FEATURES for R7RS.

Also add some more R7RS comments to runtime.pkg.

6 years agoA bunch of changes to implement R7RS exit/emergency-exit.
Chris Hanson [Mon, 14 May 2018 00:13:21 +0000 (17:13 -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.