mit-scheme.git
8 years agoRefactor merge-uris to simplify.
Chris Hanson [Sat, 23 Apr 2016 02:53:51 +0000 (19:53 -0700)]
Refactor merge-uris to simplify.

No longer requires an absolute base URI or defaults.
Returns an absolute URI if either base URI or defaults are absolute.
Otherwise returns a relative URI.

8 years agoRename param:base-uri to uri-merge-defaults.
Chris Hanson [Sat, 23 Apr 2016 02:37:13 +0000 (19:37 -0700)]
Rename param:base-uri to uri-merge-defaults.

8 years agoAdd support for a default base URI.
Chris Hanson [Sat, 23 Apr 2016 00:16:50 +0000 (17:16 -0700)]
Add support for a default base URI.

8 years agoplugin Makefile.ams (tags): Punt ALL sources in TAGS.
Matt Birkholz [Mon, 11 Apr 2016 15:53:58 +0000 (08:53 -0700)]
plugin Makefile.ams (tags): Punt ALL sources in TAGS.

Putting ALL Scheme source in TAGS allows tags-query-replace to find
all references, but drives etags a bit batty.  M-x grep is more all-
inclusive anyway (e.g. finding references in documentation).

8 years agoplugin Makefile.ams (dist): Add missing files to EXTRA_DIST.
Matt Birkholz [Mon, 11 Apr 2016 04:19:44 +0000 (21:19 -0700)]
plugin Makefile.ams (dist): Add missing files to EXTRA_DIST.

Fix ./fix-tags.sh to take the package name as an argument, to support
building the dist in strangely named directories like mit-scheme-
blowfish-0.1/.  Add a missing dependency of stamp-scheme on the .pkg
file.

8 years agoplugin tags-fix.shs: typos
Matt Birkholz [Sun, 10 Apr 2016 19:52:09 +0000 (12:52 -0700)]
plugin tags-fix.shs: typos

8 years agoplugin Makefile.ams: remove generated -shim.c and -const.c from TAGS
Matt Birkholz [Sun, 10 Apr 2016 19:34:07 +0000 (12:34 -0700)]
plugin Makefile.ams: remove generated -shim.c and -const.c from TAGS

8 years agoplugin Makefile.ams: include ALL sources in TAGS
Matt Birkholz [Fri, 8 Apr 2016 04:37:53 +0000 (21:37 -0700)]
plugin Makefile.ams: include ALL sources in TAGS

8 years agoUpdate indentation to include R7RS keywords.
Chris Hanson [Wed, 6 Apr 2016 08:12:20 +0000 (01:12 -0700)]
Update indentation to include R7RS keywords.

Also delete obsolete MIT/GNU keywords.

8 years agoAdd optional default-value to get-keyword-value.
Chris Hanson [Wed, 6 Apr 2016 07:52:05 +0000 (00:52 -0700)]
Add optional default-value to get-keyword-value.

8 years agoAdd get-if-available operation to metadata.
Chris Hanson [Wed, 6 Apr 2016 01:11:47 +0000 (18:11 -0700)]
Add get-if-available operation to metadata.

Also add better error message to get operation.

8 years agoruntime/world-report.scm (ticks->string): parameterize* a param.
Matt Birkholz [Tue, 29 Mar 2016 23:42:05 +0000 (16:42 -0700)]
runtime/world-report.scm (ticks->string): parameterize* a param.

8 years agoplugin Makefile.ams: Fix multi-target rules. Punt install-html.
Matt Birkholz [Tue, 29 Mar 2016 16:36:29 +0000 (09:36 -0700)]
plugin Makefile.ams: Fix multi-target rules.  Punt install-html.

8 years agoEliminate redundant call.
Chris Hanson [Sat, 26 Mar 2016 08:25:30 +0000 (01:25 -0700)]
Eliminate redundant call.

8 years agoRework param:default-pathname-defaults yet again.
Chris Hanson [Sat, 26 Mar 2016 08:22:32 +0000 (01:22 -0700)]
Rework param:default-pathname-defaults yet again.

This time to guarantee that the value is a pathname object.  Also using the new
parameter merger support to merge the new value with the old.

8 years agoAdd support for value merging in (general) parameters.
Chris Hanson [Sat, 26 Mar 2016 07:59:54 +0000 (00:59 -0700)]
Add support for value merging in (general) parameters.

8 years agoplugin configure.acs: Prune unused AC_SUBST and, in gdbm, config.h.
Matt Birkholz [Fri, 25 Mar 2016 17:44:13 +0000 (10:44 -0700)]
plugin configure.acs: Prune unused AC_SUBST and, in gdbm, config.h.

8 years agocref/generate-trivial-constructor: Add optional parameter OS-TYPE.
Matt Birkholz [Fri, 25 Mar 2016 17:35:19 +0000 (10:35 -0700)]
cref/generate-trivial-constructor: Add optional parameter OS-TYPE.

Plugin installs do not include package descriptions for other OSes.
This causes cref/generate-trivial-constructor to emit warnings.  The
argument #F for OS-TYPE now causes it to punt other OSes.

8 years agoAdd delete! operation to metadata abstractions.
Chris Hanson [Wed, 23 Mar 2016 01:11:53 +0000 (18:11 -0700)]
Add delete! operation to metadata abstractions.

8 years agoFix guarantee-uri and friends to correspond with their predicates.
Chris Hanson [Tue, 15 Mar 2016 07:29:01 +0000 (00:29 -0700)]
Fix guarantee-uri and friends to correspond with their predicates.

8 years agoEliminate unparser/standard-method.
Chris Hanson [Tue, 15 Mar 2016 06:59:00 +0000 (23:59 -0700)]
Eliminate unparser/standard-method.

* Allow name arg of simple-unparser-method and standard-unparser-method to be a
  procedure that computes the name.
* Favor the use of simple-unparser-method where possible.
* Implement general-unparser-method and bracketed-unparser-method.

8 years agoImplement URI syntax #<...> that's readable.
Chris Hanson [Tue, 15 Mar 2016 05:28:38 +0000 (22:28 -0700)]
Implement URI syntax #<...> that's readable.

Old syntax was too verbose with useless hash number.
Also this nicely reflects the standard way to write a URI <...>

8 years agoEliminate all the OS/2 code.
Chris Hanson [Mon, 14 Mar 2016 06:28:06 +0000 (23:28 -0700)]
Eliminate all the OS/2 code.

8 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Mon, 14 Mar 2016 05:34:52 +0000 (22:34 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

8 years agoDon't auto-convert arguments to URI accessors.
Chris Hanson [Mon, 14 Mar 2016 05:32:33 +0000 (22:32 -0700)]
Don't auto-convert arguments to URI accessors.

8 years agodoc/Makefile.in: Punt doc-config.scm. It is no longer used.
Matt Birkholz [Fri, 11 Mar 2016 04:28:15 +0000 (21:28 -0700)]
doc/Makefile.in: Punt doc-config.scm.  It is no longer used.

8 years agoffi/build.scm (update-html-index): Do not forget the .html suffix.
Matt Birkholz [Fri, 11 Mar 2016 04:19:34 +0000 (21:19 -0700)]
ffi/build.scm (update-html-index): Do not forget the .html suffix.

And dodge a bullet when there are no plugin manuals installed.

8 years agoblowfish/make.scm: Fix subsystem name to match load-option name.
Matt Birkholz [Thu, 10 Mar 2016 23:08:49 +0000 (16:08 -0700)]
blowfish/make.scm: Fix subsystem name to match load-option name.

8 years agoplugin Makefile.ams: Set infodir to the Scheme default.
Matt Birkholz [Thu, 10 Mar 2016 22:37:26 +0000 (15:37 -0700)]
plugin Makefile.ams: Set infodir to the Scheme default.

8 years agoplugin Makefile.ams: Add support for .texi. (No actual .texi yet.)
Matt Birkholz [Thu, 10 Mar 2016 22:35:04 +0000 (15:35 -0700)]
plugin Makefile.ams: Add support for .texi.  (No actual .texi yet.)

8 years agoplugin Makefile.ams: rmdir the plugin subdirectory on uninstall.
Matt Birkholz [Thu, 10 Mar 2016 22:07:54 +0000 (15:07 -0700)]
plugin Makefile.ams: rmdir the plugin subdirectory on uninstall.

8 years agoplugin Makefile.ams: replace ALL -unx with -@MIT_SCHEME_OS_SUFFIX@.
Matt Birkholz [Thu, 10 Mar 2016 22:00:28 +0000 (15:00 -0700)]
plugin Makefile.ams: replace ALL -unx with -@MIT_SCHEME_OS_SUFFIX@.

8 years agoffi/build.scm (update-html-index): Do not strip the mit-scheme- prefix.
Matt Birkholz [Thu, 10 Mar 2016 21:38:52 +0000 (14:38 -0700)]
ffi/build.scm (update-html-index): Do not strip the mit-scheme- prefix.

The plugin Makefile.ams install --no-split .html to the same name as
the .info by default.  (The .info goes in a shared info/ directory and
thus needs the prefix.)

8 years agoQuote here document in plugin test scripts.
Matt Birkholz [Thu, 10 Mar 2016 20:02:49 +0000 (13:02 -0700)]
Quote here document in plugin test scripts.

8 years agoWhen buiding plugins, do not cref/generate-constructors for 'ALL.
Matt Birkholz [Thu, 10 Mar 2016 20:01:10 +0000 (13:01 -0700)]
When buiding plugins, do not cref/generate-constructors for 'ALL.

This simplifies cleaning.

8 years agoUse new --prepend-library option to build and test the plugins.
Matt Birkholz [Tue, 8 Mar 2016 18:49:59 +0000 (11:49 -0700)]
Use new --prepend-library option to build and test the plugins.

8 years agoPunt plugin -available? procedures.
Matt Birkholz [Tue, 8 Mar 2016 18:41:50 +0000 (11:41 -0700)]
Punt plugin -available? procedures.

Such procedures made sense in (runtime crypto), but make little sense
in a plugin where they are defined only after the plugin is installed
and loaded.

8 years agoPunt with-system-library-directories.
Matt Birkholz [Tue, 8 Mar 2016 18:38:11 +0000 (11:38 -0700)]
Punt with-system-library-directories.

This procedure made uninstalled FFIs visible while building or testing
plugins, but it works for one thread only.  A test involving multiple
threads will fail if another thread tries to call out and cannot find
the uninstalled FFI's shim.

8 years agomicrocode/option.c: Add --prepend-library option.
Matt Birkholz [Tue, 8 Mar 2016 18:36:47 +0000 (11:36 -0700)]
microcode/option.c: Add --prepend-library option.

8 years agomicrocode/option.c (string_copy_limited): Null-terminate result.
Matt Birkholz [Tue, 8 Mar 2016 18:34:15 +0000 (11:34 -0700)]
microcode/option.c (string_copy_limited): Null-terminate result.

8 years agomicrocode: Show defaults for band and library-path in --help text.
Matt Birkholz [Sun, 6 Mar 2016 18:00:51 +0000 (11:00 -0700)]
microcode: Show defaults for band and library-path in --help text.

8 years agoFix plugin testing, -available? predicates, install hooks.
Matt Birkholz [Thu, 3 Mar 2016 18:00:59 +0000 (11:00 -0700)]
Fix plugin testing, -available? predicates, install hooks.

Signal an error (not warning) if a plugin is not tested because it
appears to be unavailable.

8 years agoffi: Delete old reference to the XML option.
Matt Birkholz [Wed, 2 Mar 2016 23:34:31 +0000 (16:34 -0700)]
ffi: Delete old reference to the XML option.

8 years agomicrocode/pruxffi.c: Pass flovecs as double*, not SCHEME_OBJECT*.
Matt Birkholz [Wed, 2 Mar 2016 23:22:40 +0000 (16:22 -0700)]
microcode/pruxffi.c: Pass flovecs as double*, not SCHEME_OBJECT*.

This reduces the need for adapter code, but assumes Scheme's flonums
are doubles.

The convenience functions flovec_loc and flovec_ref are thus made
superfluous.

8 years agotests/ffi/test-ffi.scm: Use new param:suppress-loading-message?.
Matt Birkholz [Wed, 2 Mar 2016 23:11:14 +0000 (16:11 -0700)]
tests/ffi/test-ffi.scm: Use new param:suppress-loading-message?.

8 years agoruntime/ffi: Add plugin-available?. Eliminate free variable ref.
Matt Birkholz [Wed, 2 Mar 2016 23:08:33 +0000 (16:08 -0700)]
runtime/ffi: Add plugin-available?.  Eliminate free variable ref.

8 years agosrc/README.txt: Describe the latest plugins.
Matt Birkholz [Wed, 2 Mar 2016 22:59:22 +0000 (15:59 -0700)]
src/README.txt: Describe the latest plugins.

8 years agodoc/index.html: Add list of plugin manuals.
Matt Birkholz [Wed, 2 Mar 2016 22:58:27 +0000 (15:58 -0700)]
doc/index.html: Add list of plugin manuals.

8 years agoApply swank patch from craven@gmx.net.
Chris Hanson [Wed, 2 Mar 2016 09:50:42 +0000 (01:50 -0800)]
Apply swank patch from craven@gmx.net.

8 years agoSuppress output about passing tests.
Chris Hanson [Tue, 1 Mar 2016 21:52:48 +0000 (13:52 -0800)]
Suppress output about passing tests.

8 years agoClarify wording in notification line.
Chris Hanson [Tue, 1 Mar 2016 21:52:36 +0000 (13:52 -0800)]
Clarify wording in notification line.

8 years agoFix a test problem caused by make-parameter changing to unsettable.
Chris Hanson [Tue, 1 Mar 2016 21:34:06 +0000 (13:34 -0800)]
Fix a test problem caused by make-parameter changing to unsettable.

Thanks to craven@gmx.net for finding this.

8 years agoRemove obsolete runtime-check directory.
Chris Hanson [Tue, 1 Mar 2016 09:53:59 +0000 (01:53 -0800)]
Remove obsolete runtime-check directory.

Standard runtime enabled type and range checks long ago.

8 years agoFix two typos; thanks to craven@gmx.net!
Chris Hanson [Tue, 1 Mar 2016 08:59:19 +0000 (00:59 -0800)]
Fix two typos; thanks to craven@gmx.net!

8 years agoIf install-info is available, use it to update the info dir.
Chris Hanson [Mon, 29 Feb 2016 07:12:04 +0000 (23:12 -0800)]
If install-info is available, use it to update the info dir.

8 years agoImplement more R7RS string and vector procedures.
Chris Hanson [Mon, 29 Feb 2016 06:34:32 +0000 (22:34 -0800)]
Implement more R7RS string and vector procedures.

8 years agoImplement some R7RS string procedures.
Chris Hanson [Mon, 29 Feb 2016 06:01:55 +0000 (22:01 -0800)]
Implement some R7RS string procedures.

8 years agoImplement #true and #false as specified by R7RS.
Chris Hanson [Mon, 29 Feb 2016 05:29:41 +0000 (21:29 -0800)]
Implement #true and #false as specified by R7RS.

8 years agoImplement exact and inexact as per R7RS.
Chris Hanson [Mon, 29 Feb 2016 05:23:15 +0000 (21:23 -0800)]
Implement exact and inexact as per R7RS.

8 years agoChange make-parameter to be make-unsettable-parameter.
Chris Hanson [Mon, 29 Feb 2016 05:13:25 +0000 (21:13 -0800)]
Change make-parameter to be make-unsettable-parameter.

8 years agoExplicitly specify settability of all parameters.
Chris Hanson [Mon, 29 Feb 2016 05:12:57 +0000 (21:12 -0800)]
Explicitly specify settability of all parameters.

8 years agoRefactor parser and unparser parameters.
Chris Hanson [Mon, 29 Feb 2016 04:34:41 +0000 (20:34 -0800)]
Refactor parser and unparser parameters.

* Made unsettable.
* Added type-checking converters.
* Check each "fluid" value with the corresponding converter.

8 years agoDefine guarantee-boolean and parameter-converter.
Chris Hanson [Mon, 29 Feb 2016 04:33:50 +0000 (20:33 -0800)]
Define guarantee-boolean and parameter-converter.

8 years agoDocument parser and unparser parameters.
Chris Hanson [Mon, 29 Feb 2016 04:26:34 +0000 (20:26 -0800)]
Document parser and unparser parameters.

8 years agoUpdate the documentation of *random-state*.
Chris Hanson [Mon, 29 Feb 2016 03:27:16 +0000 (19:27 -0800)]
Update the documentation of *random-state*.

8 years agoFix typos.
Chris Hanson [Mon, 29 Feb 2016 03:23:11 +0000 (19:23 -0800)]
Fix typos.

8 years agoUpdate the documentation of several parameters.
Chris Hanson [Mon, 29 Feb 2016 02:15:50 +0000 (18:15 -0800)]
Update the documentation of several parameters.

8 years agoDocument port parameters.
Chris Hanson [Mon, 29 Feb 2016 01:49:31 +0000 (17:49 -0800)]
Document port parameters.

8 years agoRefactor handling of SRFI references using macros.
Chris Hanson [Mon, 29 Feb 2016 01:01:15 +0000 (17:01 -0800)]
Refactor handling of SRFI references using macros.

* Add macros for R7RS.
* Tweak parameter sections.
* Add make-unsettable-parameter and make-settable-parameter.

8 years agoChange standard ports to *be* parameters.
Chris Hanson [Sun, 28 Feb 2016 09:47:15 +0000 (01:47 -0800)]
Change standard ports to *be* parameters.

This is the use case that parameters were designed for, so we might as well take
advantage of it.

8 years agoUse parameter defaults with make-general-parameter.
Chris Hanson [Sun, 28 Feb 2016 09:46:04 +0000 (01:46 -0800)]
Use parameter defaults with make-general-parameter.

8 years agoRely on error:wrong-type-argument to use default caller appropriately.
Chris Hanson [Sun, 28 Feb 2016 09:14:38 +0000 (01:14 -0800)]
Rely on error:wrong-type-argument to use default caller appropriately.

8 years agoChange guarantee-foo to return the object.
Chris Hanson [Sun, 28 Feb 2016 09:09:15 +0000 (01:09 -0800)]
Change guarantee-foo to return the object.

8 years agoDefine and export the default parameter procedures.
Chris Hanson [Sun, 28 Feb 2016 09:03:09 +0000 (01:03 -0800)]
Define and export the default parameter procedures.

8 years agoFix parameterization in pp.scm.
Chris Hanson [Sun, 28 Feb 2016 08:24:44 +0000 (00:24 -0800)]
Fix parameterization in pp.scm.

8 years agoFix parameterization in unpars.scm.
Chris Hanson [Sun, 28 Feb 2016 08:00:23 +0000 (00:00 -0800)]
Fix parameterization in unpars.scm.

8 years agoFix parameterization in parse.scm.
Chris Hanson [Sun, 28 Feb 2016 07:11:05 +0000 (23:11 -0800)]
Fix parameterization in parse.scm.

8 years agoFix parameterization in global.scm.
Chris Hanson [Sun, 28 Feb 2016 06:21:48 +0000 (22:21 -0800)]
Fix parameterization in global.scm.

8 years agoFix handling of *default-pathname-defaults*.
Chris Hanson [Sun, 28 Feb 2016 06:10:19 +0000 (22:10 -0800)]
Fix handling of *default-pathname-defaults*.

Problem is that this variable is readable as well, so for now we have to keep it
up to date.  This is kind of a pain.

8 years agoFix parameterization in error.scm.
Chris Hanson [Sun, 28 Feb 2016 05:54:27 +0000 (21:54 -0800)]
Fix parameterization in error.scm.

8 years agoFix parameterization in rep.scm.
Chris Hanson [Sun, 28 Feb 2016 03:35:41 +0000 (19:35 -0800)]
Fix parameterization in rep.scm.

8 years agoUse parameter setter on working-directory-pathname.
Chris Hanson [Sun, 28 Feb 2016 03:23:04 +0000 (19:23 -0800)]
Use parameter setter on working-directory-pathname.

8 years agoTweak make-general-parameter to allow defining a setter.
Chris Hanson [Sun, 28 Feb 2016 03:22:25 +0000 (19:22 -0800)]
Tweak make-general-parameter to allow defining a setter.

8 years agoMake param:loading? unsettable.
Chris Hanson [Sun, 28 Feb 2016 01:44:03 +0000 (17:44 -0800)]
Make param:loading? unsettable.

8 years agoSplit make-parameter into settable and unsettable variants.
Chris Hanson [Sun, 28 Feb 2016 01:39:36 +0000 (17:39 -0800)]
Split make-parameter into settable and unsettable variants.

* Default is settable, but that might want to be reconsidered.
* Parameters defined in runtime should probably be made explicit.
* Rename make-parameter* to make-general-parameter.

8 years agoFix parameterization of load.scm.
Chris Hanson [Sun, 28 Feb 2016 01:12:23 +0000 (17:12 -0800)]
Fix parameterization of load.scm.

8 years agoRename default-pathname-defaults to param:default-pathname-defaults.
Chris Hanson [Sat, 27 Feb 2016 23:20:10 +0000 (15:20 -0800)]
Rename default-pathname-defaults to param:default-pathname-defaults.

Makes consistent with param:flonum-unparser-cutoff.

8 years agoAdd missing runtime/ subdir.
Chris Hanson [Sat, 27 Feb 2016 23:19:48 +0000 (15:19 -0800)]
Add missing runtime/ subdir.

8 years agoMove dragon4 unit tests from comment to tests/ directory.
Chris Hanson [Sat, 27 Feb 2016 23:10:58 +0000 (15:10 -0800)]
Move dragon4 unit tests from comment to tests/ directory.

8 years agoRefactor handling of flonum-unparser-cutoff.
Chris Hanson [Sat, 27 Feb 2016 23:09:43 +0000 (15:09 -0800)]
Refactor handling of flonum-unparser-cutoff.

* Change flonum-unparser-cutoff back to shallow-bound variable.
* Introduce new parameter param:flonum-unparser-cutoff.
* Remove commented-out unit tests (see next commit).

8 years agoAdd assert-member.
Chris Hanson [Sat, 27 Feb 2016 23:08:41 +0000 (15:08 -0800)]
Add assert-member.

8 years agoDe-parameterize *random-state*.
Chris Hanson [Sat, 27 Feb 2016 22:34:23 +0000 (14:34 -0800)]
De-parameterize *random-state*.

8 years agoRefactor TAGS generation.
Chris Hanson [Sat, 27 Feb 2016 22:11:45 +0000 (14:11 -0800)]
Refactor TAGS generation.

* Now works in unconfigured src directory.
* Generates top-level TAGS file.
* Includes .pkg files.

8 years agoEliminate *working-directory-pathname*.
Chris Hanson [Sat, 27 Feb 2016 21:32:17 +0000 (13:32 -0800)]
Eliminate *working-directory-pathname*.

8 years agoImplement make-parameter*.
Chris Hanson [Sat, 27 Feb 2016 21:29:17 +0000 (13:29 -0800)]
Implement make-parameter*.

8 years agoSplit *default-pathname-defaults* into parameter/non-parameter.
Chris Hanson [Sat, 27 Feb 2016 21:02:10 +0000 (13:02 -0800)]
Split *default-pathname-defaults* into parameter/non-parameter.

8 years agoFix over-long line.
Chris Hanson [Sat, 27 Feb 2016 20:46:06 +0000 (12:46 -0800)]
Fix over-long line.

8 years agoRevert "TAGS shouldn't be in commit."
Arthur A. Gleckler [Fri, 26 Feb 2016 21:56:02 +0000 (13:56 -0800)]
Revert "TAGS shouldn't be in commit."

This "TAGS" file is a top-level, non-generated file that serves as a
directory for all the "TAGS" files in subdirectories, allowing them to
be used as a unit.

This reverts commit e0429c048fe1233ac60bf920c9d53c07fc3b1341.

8 years agoRevert "Remove REDUCE-LEFT from documentation."
Arthur A. Gleckler [Fri, 26 Feb 2016 21:49:03 +0000 (13:49 -0800)]
Revert "Remove REDUCE-LEFT from documentation."

This reverts commit 5410eb4b2ef21d4b56cc08c1024f9df47c5c9328 (since CPH
revived the implementation of REDUCE-LEFT in
de2cb85cfa59af7c645ea343f0b83c5bc3c60a8e).

8 years agoTAGS shouldn't be in commit.
Chris Hanson [Fri, 26 Feb 2016 10:14:00 +0000 (02:14 -0800)]
TAGS shouldn't be in commit.