mit-scheme.git
7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Wed, 11 Jan 2017 20:11:38 +0000 (12:11 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

7 years agoFix bug: STRING_P was being passed arguments with side effects.
Chris Hanson [Wed, 11 Jan 2017 20:09:59 +0000 (12:09 -0800)]
Fix bug: STRING_P was being passed arguments with side effects.

7 years agoA bunch of fixes so that the code still builds with the 9.2 compiler.
Chris Hanson [Wed, 11 Jan 2017 09:13:13 +0000 (01:13 -0800)]
A bunch of fixes so that the code still builds with the 9.2 compiler.

7 years agoFix code that looks for default STAGE0 to check /usr/local.
Chris Hanson [Wed, 11 Jan 2017 08:14:34 +0000 (00:14 -0800)]
Fix code that looks for default STAGE0 to check /usr/local.

7 years agoA huge round of name normalizations and some simplifications.
Chris Hanson [Wed, 11 Jan 2017 07:47:05 +0000 (23:47 -0800)]
A huge round of name normalizations and some simplifications.

7 years agoChange textual-port-type to be defined with define-record-type.
Chris Hanson [Wed, 11 Jan 2017 06:47:17 +0000 (22:47 -0800)]
Change textual-port-type to be defined with define-record-type.

7 years agoChange textual-port unparser method to be more standard.
Chris Hanson [Wed, 11 Jan 2017 06:45:47 +0000 (22:45 -0800)]
Change textual-port unparser method to be more standard.

7 years agoDelete commented-out init code.
Chris Hanson [Wed, 11 Jan 2017 06:45:28 +0000 (22:45 -0800)]
Delete commented-out init code.

7 years agoAdd unparser method to binary ports.
Chris Hanson [Wed, 11 Jan 2017 06:44:04 +0000 (22:44 -0800)]
Add unparser method to binary ports.

7 years agoAnother round of cleanups and renames designed to simplify ports.
Chris Hanson [Wed, 11 Jan 2017 06:32:51 +0000 (22:32 -0800)]
Another round of cleanups and renames designed to simplify ports.

7 years agoImplement {input,output}-port-channel.
Chris Hanson [Wed, 11 Jan 2017 05:31:32 +0000 (21:31 -0800)]
Implement {input,output}-port-channel.

7 years agoTrim type checks from operations that are dispatched.
Chris Hanson [Wed, 11 Jan 2017 05:29:25 +0000 (21:29 -0800)]
Trim type checks from operations that are dispatched.

Also implement channel accessors.

7 years agoFix incorrect type checks in flush-output-port.
Chris Hanson [Wed, 11 Jan 2017 05:27:51 +0000 (21:27 -0800)]
Fix incorrect type checks in flush-output-port.

7 years agoInitial tests for binary ports.
Chris Hanson [Wed, 11 Jan 2017 05:14:19 +0000 (21:14 -0800)]
Initial tests for binary ports.

7 years agoRefactor port operations to be generic where that makes sense.
Chris Hanson [Wed, 11 Jan 2017 05:13:20 +0000 (21:13 -0800)]
Refactor port operations to be generic where that makes sense.

More work remains to clean this up.

7 years agoRename source/sink custom operations for export.
Chris Hanson [Wed, 11 Jan 2017 05:12:51 +0000 (21:12 -0800)]
Rename source/sink custom operations for export.

7 years agoReplace use of port/%FOO with port/FOO.
Chris Hanson [Wed, 11 Jan 2017 05:11:58 +0000 (21:11 -0800)]
Replace use of port/%FOO with port/FOO.

7 years agoThe binary-XXX-port? procedures aren't public.
Chris Hanson [Wed, 11 Jan 2017 03:36:50 +0000 (19:36 -0800)]
The binary-XXX-port? procedures aren't public.

7 years agoFix bugs exposed by testing.
Chris Hanson [Wed, 11 Jan 2017 03:36:33 +0000 (19:36 -0800)]
Fix bugs exposed by testing.

7 years agoImplement binary I/O ports.
Chris Hanson [Wed, 11 Jan 2017 01:18:43 +0000 (17:18 -0800)]
Implement binary I/O ports.

Tests to follow.
Existing ports are all "textual" ports according to R7RS, so some naming needs
to be shuffled around, as well as integration between the two.

7 years agoImplement support for converting legacy strings to bytevectors.
Chris Hanson [Mon, 9 Jan 2017 03:34:07 +0000 (19:34 -0800)]
Implement support for converting legacy strings to bytevectors.

7 years agoTweak pagination.
Chris Hanson [Mon, 9 Jan 2017 01:22:13 +0000 (17:22 -0800)]
Tweak pagination.

7 years agoGeneralize string primitives to accept bytevectors where that makes sense.
Chris Hanson [Sun, 8 Jan 2017 22:08:13 +0000 (14:08 -0800)]
Generalize string primitives to accept bytevectors where that makes sense.

This will be used to support more general strings in the runtime system.

7 years agoAdd dir-local variables for pagination and tweak one instance.
Chris Hanson [Sun, 8 Jan 2017 21:53:33 +0000 (13:53 -0800)]
Add dir-local variables for pagination and tweak one instance.

7 years agoEliminate all runtime support for external strings.
Chris Hanson [Sun, 8 Jan 2017 21:47:23 +0000 (13:47 -0800)]
Eliminate all runtime support for external strings.

7 years agoEliminate use of external strings in Edwin.
Chris Hanson [Sun, 8 Jan 2017 21:31:56 +0000 (13:31 -0800)]
Eliminate use of external strings in Edwin.

7 years agoDelete a large swath of obsolete code.
Chris Hanson [Sun, 8 Jan 2017 20:33:22 +0000 (12:33 -0800)]
Delete a large swath of obsolete code.

Includes all unsupported compiler back ends; pcsample; rcs; sicp; swat; wabbit.

7 years agoMove UTF-8 character encoding into char.scm and share with bytevector.
Chris Hanson [Sun, 8 Jan 2017 07:37:29 +0000 (23:37 -0800)]
Move UTF-8 character encoding into char.scm and share with bytevector.

7 years agoAdd basic tests for predicate dispatchers. More to come.
Chris Hanson [Sun, 8 Jan 2017 06:53:16 +0000 (22:53 -0800)]
Add basic tests for predicate dispatchers.  More to come.

7 years agoRename tagging to predicate-tagging to clarify its purpose.
Chris Hanson [Sun, 8 Jan 2017 06:43:41 +0000 (22:43 -0800)]
Rename tagging to predicate-tagging to clarify its purpose.

7 years agoImplement predicate dispatching (generics using predicates).
Chris Hanson [Sun, 8 Jan 2017 06:39:41 +0000 (22:39 -0800)]
Implement predicate dispatching (generics using predicates).

7 years agoAlways register a record predicate.
Chris Hanson [Sun, 8 Jan 2017 06:29:55 +0000 (22:29 -0800)]
Always register a record predicate.

7 years agoRegister record-type predicates.
Chris Hanson [Sun, 8 Jan 2017 05:30:05 +0000 (21:30 -0800)]
Register record-type predicates.

7 years agoFirst draft of predicate tagging support.
Chris Hanson [Sun, 8 Jan 2017 04:16:13 +0000 (20:16 -0800)]
First draft of predicate tagging support.

7 years agoEliminate use of vector-8b in chrset.scm.
Chris Hanson [Sat, 7 Jan 2017 10:04:41 +0000 (02:04 -0800)]
Eliminate use of vector-8b in chrset.scm.

(Except where needed for microcode compatibility.)

7 years agoEliminate use of vector-8b in char.
Chris Hanson [Sat, 7 Jan 2017 09:54:31 +0000 (01:54 -0800)]
Eliminate use of vector-8b in char.

* Arrange for bytevector to be available early in the cold load.
* Eliminate redundant type-checking on procedures that call char->integer.

7 years agoImplement bytevector-fill! and change arg order to match R7Rs.
Chris Hanson [Sat, 7 Jan 2017 09:19:48 +0000 (01:19 -0800)]
Implement bytevector-fill! and change arg order to match R7Rs.

7 years agoTest shift right/left using bytevector-copy!.
Chris Hanson [Sat, 7 Jan 2017 09:10:36 +0000 (01:10 -0800)]
Test shift right/left using bytevector-copy!.

7 years agoAdd tests for bytevectors.
Chris Hanson [Sat, 7 Jan 2017 04:57:38 +0000 (20:57 -0800)]
Add tests for bytevectors.

Still need to write UTF-8 conversion tests.

7 years agoImplement assert-range-error.
Chris Hanson [Sat, 7 Jan 2017 04:19:45 +0000 (20:19 -0800)]
Implement assert-range-error.

Also rename assert-wta-error to assert-type-error.

7 years agoFix fencepost errors in start indexes.
Chris Hanson [Sat, 7 Jan 2017 04:13:22 +0000 (20:13 -0800)]
Fix fencepost errors in start indexes.

7 years agoImplement bytevector=? and add bytevector support to equal?.
Chris Hanson [Sat, 7 Jan 2017 03:57:00 +0000 (19:57 -0800)]
Implement bytevector=? and add bytevector support to equal?.

7 years agoAdd boilerplate to new tests.
Chris Hanson [Sat, 7 Jan 2017 03:48:42 +0000 (19:48 -0800)]
Add boilerplate to new tests.

7 years agoAdd tests for predicates.
Chris Hanson [Sat, 7 Jan 2017 03:46:07 +0000 (19:46 -0800)]
Add tests for predicates.

7 years agoEnhance test framework with some useful utilities.
Chris Hanson [Sat, 7 Jan 2017 03:45:41 +0000 (19:45 -0800)]
Enhance test framework with some useful utilities.

7 years agoFix name change missed by previous edit.
Chris Hanson [Sat, 7 Jan 2017 03:44:44 +0000 (19:44 -0800)]
Fix name change missed by previous edit.

7 years agoAdd missing initialization.
Chris Hanson [Sat, 7 Jan 2017 03:37:02 +0000 (19:37 -0800)]
Add missing initialization.

7 years agoRegister parameter-binding?.
Chris Hanson [Fri, 6 Jan 2017 21:53:04 +0000 (13:53 -0800)]
Register parameter-binding?.

7 years agoImplement parametric predicates.
Chris Hanson [Fri, 6 Jan 2017 21:47:41 +0000 (13:47 -0800)]
Implement parametric predicates.

7 years agoImplement compound predicates.
Chris Hanson [Fri, 6 Jan 2017 21:31:10 +0000 (13:31 -0800)]
Implement compound predicates.

7 years agoImplement memoizers.
Chris Hanson [Fri, 6 Jan 2017 21:29:57 +0000 (13:29 -0800)]
Implement memoizers.

7 years agoFix dangling references to guarantee procedures.
Chris Hanson [Fri, 6 Jan 2017 21:21:42 +0000 (13:21 -0800)]
Fix dangling references to guarantee procedures.

7 years agoRegister equality-predicate?.
Chris Hanson [Fri, 6 Jan 2017 21:19:33 +0000 (13:19 -0800)]
Register equality-predicate?.

7 years agoCheck arguments to set-equality-predicate-hasher!.
Chris Hanson [Fri, 6 Jan 2017 21:18:40 +0000 (13:18 -0800)]
Check arguments to set-equality-predicate-hasher!.

7 years agoGeneralize procedure-arity-valid? to take an arbitrary arity.
Chris Hanson [Fri, 6 Jan 2017 21:16:06 +0000 (13:16 -0800)]
Generalize procedure-arity-valid? to take an arbitrary arity.

Also provide procedure-arity<=.

7 years agoImplement association between equality predicates and hash procedures.
Chris Hanson [Fri, 6 Jan 2017 20:52:59 +0000 (12:52 -0800)]
Implement association between equality predicates and hash procedures.

Also change hashtb.scm to use add-boot-init!.

7 years agoImplement unary-procedure? and binary-procedure?.
Chris Hanson [Fri, 6 Jan 2017 19:57:18 +0000 (11:57 -0800)]
Implement unary-procedure? and binary-procedure?.

7 years agoImplement non-empty-list?.
Chris Hanson [Fri, 6 Jan 2017 19:52:17 +0000 (11:52 -0800)]
Implement non-empty-list?.

7 years agoAllow register-predicate! to specify multiple supersets.
Chris Hanson [Fri, 6 Jan 2017 19:51:24 +0000 (11:51 -0800)]
Allow register-predicate! to specify multiple supersets.

7 years agoAdd some more predicate definitions.
Chris Hanson [Fri, 6 Jan 2017 07:39:59 +0000 (23:39 -0800)]
Add some more predicate definitions.

7 years agoEliminate boot-load implementation of register-predicate!.
Chris Hanson [Fri, 6 Jan 2017 07:32:46 +0000 (23:32 -0800)]
Eliminate boot-load implementation of register-predicate!.

Not needed now that boot-time registrations are being done manually.

7 years agoChange new files to use boot-init mechanism.
Chris Hanson [Fri, 6 Jan 2017 07:30:39 +0000 (23:30 -0800)]
Change new files to use boot-init mechanism.

Also change to use guarantee, and to register lots of standard predicates.

7 years agoTweak boot-init mechanism to only run when necessary.
Chris Hanson [Fri, 6 Jan 2017 06:40:31 +0000 (22:40 -0800)]
Tweak boot-init mechanism to only run when necessary.

Also eliminate never-used exports.

7 years agoFix definitions of legal code points.
Chris Hanson [Fri, 6 Jan 2017 04:03:07 +0000 (20:03 -0800)]
Fix definitions of legal code points.

7 years agoCompute tag's description lazily if not given.
Chris Hanson [Fri, 6 Jan 2017 03:28:47 +0000 (19:28 -0800)]
Compute tag's description lazily if not given.

7 years ago*mplement object-tagger.
Chris Hanson [Fri, 6 Jan 2017 03:23:35 +0000 (19:23 -0800)]
*mplement object-tagger.

7 years agoTweak pagination.
Chris Hanson [Fri, 6 Jan 2017 03:20:09 +0000 (19:20 -0800)]
Tweak pagination.

7 years agoChange tagged-object to be tagged with a predicate.
Chris Hanson [Fri, 6 Jan 2017 03:18:44 +0000 (19:18 -0800)]
Change tagged-object to be tagged with a predicate.

7 years agoImplement predicate lattice support.
Chris Hanson [Fri, 6 Jan 2017 03:13:29 +0000 (19:13 -0800)]
Implement predicate lattice support.

7 years agoTweak.
Chris Hanson [Fri, 6 Jan 2017 03:12:13 +0000 (19:12 -0800)]
Tweak.

7 years agoUpdate .gitignore.
Chris Hanson [Fri, 6 Jan 2017 01:23:22 +0000 (17:23 -0800)]
Update .gitignore.

7 years agoImplement support for predicates.
Chris Hanson [Fri, 6 Jan 2017 01:22:08 +0000 (17:22 -0800)]
Implement support for predicates.

7 years agoAdd support for tagged objects.
Chris Hanson [Thu, 5 Jan 2017 21:38:18 +0000 (13:38 -0800)]
Add support for tagged objects.

7 years agoAdd package comment to bytevector.scm.
Chris Hanson [Thu, 5 Jan 2017 21:37:12 +0000 (13:37 -0800)]
Add package comment to bytevector.scm.

7 years agoAdd open-coding support for bytevectors.
Chris Hanson [Thu, 5 Jan 2017 20:46:50 +0000 (12:46 -0800)]
Add open-coding support for bytevectors.

7 years agoFix thinko in previous change.
Chris Hanson [Thu, 5 Jan 2017 20:46:42 +0000 (12:46 -0800)]
Fix thinko in previous change.

7 years agoAdd bytevector primitives to SF transformation rules.
Chris Hanson [Thu, 5 Jan 2017 20:16:05 +0000 (12:16 -0800)]
Add bytevector primitives to SF transformation rules.

7 years agoImplement parsing of bytevectors.
Chris Hanson [Thu, 5 Jan 2017 20:06:25 +0000 (12:06 -0800)]
Implement parsing of bytevectors.

7 years agoImplement byte?.
Chris Hanson [Thu, 5 Jan 2017 20:06:15 +0000 (12:06 -0800)]
Implement byte?.

7 years agoImplement writing of bytevectors.
Chris Hanson [Thu, 5 Jan 2017 19:29:12 +0000 (11:29 -0800)]
Implement writing of bytevectors.

Also clean up pagination of unparse.scm.

7 years agoFix thinkos.
Chris Hanson [Thu, 5 Jan 2017 19:29:00 +0000 (11:29 -0800)]
Fix thinkos.

7 years agoSplit TC_BYTEVECTOR from TC_CHARACTER_STRING to simplify transition.
Chris Hanson [Thu, 5 Jan 2017 19:07:34 +0000 (11:07 -0800)]
Split TC_BYTEVECTOR from TC_CHARACTER_STRING to simplify transition.

7 years agoFirst draft of runtime support for bytevectors.
Chris Hanson [Thu, 5 Jan 2017 05:48:22 +0000 (21:48 -0800)]
First draft of runtime support for bytevectors.

Only lightly tested, still needs work.

7 years agoFix some bugs; implement bytevector-fill!.
Chris Hanson [Thu, 5 Jan 2017 05:48:07 +0000 (21:48 -0800)]
Fix some bugs; implement bytevector-fill!.

7 years agoUpdate copyright licenses for new year.
Chris Hanson [Thu, 5 Jan 2017 00:45:39 +0000 (16:45 -0800)]
Update copyright licenses for new year.

7 years agoEliminate byte_t.
Chris Hanson [Thu, 5 Jan 2017 00:39:09 +0000 (16:39 -0800)]
Eliminate byte_t.

7 years agoFirst draft of bytevector primitives.
Chris Hanson [Tue, 3 Jan 2017 22:16:16 +0000 (17:16 -0500)]
First draft of bytevector primitives.

7 years agoRename TC_CHARACTER_STRING to TC_BYTEVECTOR and TC_NULL to TC_FALSE.
Chris Hanson [Tue, 3 Jan 2017 20:48:45 +0000 (15:48 -0500)]
Rename TC_CHARACTER_STRING to TC_BYTEVECTOR and TC_NULL to TC_FALSE.

7 years agoImplement tagged-object type, a combination of a tag and an object.
Chris Hanson [Tue, 3 Jan 2017 20:26:29 +0000 (15:26 -0500)]
Implement tagged-object type, a combination of a tag and an object.

7 years agoMark intentionally ignored variables as such.
Taylor R Campbell [Mon, 2 Jan 2017 15:46:39 +0000 (15:46 +0000)]
Mark intentionally ignored variables as such.

7 years agoFix deinstall of multiplexer when a default exists.
Daniel White [Mon, 2 Jan 2017 14:20:21 +0000 (23:50 +0930)]
Fix deinstall of multiplexer when a default exists.

This copes with a somewhat subtle case where a default exists but the
last generator is removed. By inverting the checks, we can ensure we
only look at the cdr of the generator list when generators is actually a
pair.

The bug was originally exhibited by an error when removing the last
generator with remove-generic-procedure-generator on a generic procedure
with a default generator.

7 years agoAllow user to use external toolchain with TOOLCHAIN make variable.
Taylor R Campbell [Mon, 2 Jan 2017 15:41:20 +0000 (15:41 +0000)]
Allow user to use external toolchain with TOOLCHAIN make variable.

7 years agoSimplify mechanism to customize PP description for records.
Chris Hanson [Tue, 13 Dec 2016 06:09:16 +0000 (22:09 -0800)]
Simplify mechanism to customize PP description for records.

Also extend to entities with record "extra".

7 years agox11/x11-base.scm (key-event): typo. Fix Alt-Backspace -> #\M-DEL.
Matt Birkholz [Wed, 23 Nov 2016 20:10:36 +0000 (13:10 -0700)]
x11/x11-base.scm (key-event): typo.  Fix Alt-Backspace -> #\M-DEL.

7 years agox11 (event-name): Rename event-type-name and export (for debugging).
Matt Birkholz [Wed, 23 Nov 2016 17:45:54 +0000 (10:45 -0700)]
x11 (event-name): Rename event-type-name and export (for debugging).

7 years agomicrocode (OS_test_select_registry): Check for subprocess status
Matt Birkholz [Wed, 23 Nov 2016 17:38:21 +0000 (10:38 -0700)]
microcode (OS_test_select_registry): Check for subprocess status

changes when !blockp and the registry is empty.  This is most easily
done in OS_pause, where OS_process_any_status_change (if any) is
available.  Thus OS_pause gets a new param BLOCKP.

7 years agox11 plugin: Address warnings from new AM_CFLAGS.
Matt Birkholz [Thu, 17 Nov 2016 23:28:40 +0000 (16:28 -0700)]
x11 plugin: Address warnings from new AM_CFLAGS.

7 years agoruntime/thread.scm (handle-current-thread-events): Do not warn...
Matt Birkholz [Thu, 17 Nov 2016 22:12:20 +0000 (15:12 -0700)]
runtime/thread.scm (handle-current-thread-events): Do not warn...

...on stderr when there is no current thread.  Handle-current-thread-
events is only used by the after-gc-interrupt-handler, which may run
while there is no current thread.

7 years agoplugin Makefile.ams, configure.acs (AM_CFLAGS): Add many -W options.
Matt Birkholz [Thu, 17 Nov 2016 22:11:22 +0000 (15:11 -0700)]
plugin Makefile.ams, configure.acs (AM_CFLAGS): Add many -W options.

7 years agoplugin Makefile.ams, configure.acs: Do not install .bins.
Matt Birkholz [Sat, 12 Nov 2016 23:53:50 +0000 (16:53 -0700)]
plugin Makefile.ams, configure.acs: Do not install .bins.