mit-scheme.git
7 years agoedwin/buffer: Add print procedure.
Matt Birkholz [Sat, 26 Aug 2017 16:15:48 +0000 (09:15 -0700)]
edwin/buffer: Add print procedure.

7 years agoplanetarium (make-tellurion): Name thread; return the object(!).
Matt Birkholz [Mon, 28 Aug 2017 18:27:54 +0000 (11:27 -0700)]
planetarium (make-tellurion): Name thread; return the object(!).

7 years agogtk: Name threads.
Matt Birkholz [Mon, 28 Aug 2017 18:25:44 +0000 (11:25 -0700)]
gtk: Name threads.

7 years agoglib: Name thread.
Matt Birkholz [Mon, 28 Aug 2017 18:24:44 +0000 (11:24 -0700)]
glib: Name thread.

7 years agoedwin: Name threads. Punt thread "flags" for the world report.
Matt Birkholz [Mon, 28 Aug 2017 18:23:29 +0000 (11:23 -0700)]
edwin: Name threads.  Punt thread "flags" for the world report.

7 years agoworld-report: Replace thread flags with a thread name.
Matt Birkholz [Mon, 14 Aug 2017 20:54:33 +0000 (13:54 -0700)]
world-report: Replace thread flags with a thread name.

7 years agoAdd thread-get and thread-put!.
Matt Birkholz [Mon, 14 Aug 2017 21:16:08 +0000 (14:16 -0700)]
Add thread-get and thread-put!.

7 years agoglib: Use new re_enter_scheme instead of Interpret.
Matt Birkholz [Mon, 14 Aug 2017 21:14:02 +0000 (14:14 -0700)]
glib: Use new re_enter_scheme instead of Interpret.

7 years agoffi: Add re_enter_scheme to work with abort_to_c for glib mainloop.
Matt Birkholz [Mon, 14 Aug 2017 21:12:10 +0000 (14:12 -0700)]
ffi: Add re_enter_scheme to work with abort_to_c for glib mainloop.

7 years agoffi: Simplify callback_run_kernel. Eliminate callback abort.
Matt Birkholz [Wed, 9 Aug 2017 23:03:08 +0000 (16:03 -0700)]
ffi: Simplify callback_run_kernel.  Eliminate callback abort.

7 years agoffi: Follow example of C_call_scheme and eliminate aborts.
Matt Birkholz [Mon, 7 Aug 2017 01:16:52 +0000 (18:16 -0700)]
ffi: Follow example of C_call_scheme and eliminate aborts.

Punt pop_return_p parameter to Interpret; instead, leave #f in EXP and
Re_Enter_Interpreter, like C_call_scheme.  Keep callouts simple, fast.
Make callbacks save/restore machine state (last_return_code,
C_Frame_Pointer, C_Stack_Pointer, LEXPR_ACTUALS and PRIMITIVE) and use
RC_END_OF_COMPUTATION, also like C_call_scheme.

Add a gc-flip to the test callback.

7 years agodoc/ffi/: typos
Matt Birkholz [Sun, 6 Aug 2017 21:24:27 +0000 (14:24 -0700)]
doc/ffi/: typos

7 years agoruntime/syncproc: Eliminate spinning, and blocking.
Matt Birkholz [Tue, 1 Aug 2017 22:21:01 +0000 (15:21 -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.

7 years agoFix merge: add load-option to test-syncproc.scm.
Matt Birkholz [Tue, 1 Aug 2017 18:04:06 +0000 (11:04 -0700)]
Fix merge: add load-option to test-syncproc.scm.

7 years agoMerge branch 'master' into pucked.
Matt Birkholz [Mon, 31 Jul 2017 21:13:32 +0000 (14:13 -0700)]
Merge branch 'master' into pucked.

7 years agotests/runtime/test-syncproc: Enabled, with 3 more basic tests.
Matt Birkholz [Sun, 30 Jul 2017 23:08:33 +0000 (16:08 -0700)]
tests/runtime/test-syncproc: Enabled, with 3 more basic tests.

7 years agoruntime/binary-port (close-binary-output-port): Close output chan.
Matt Birkholz [Sun, 30 Jul 2017 22:39:21 +0000 (15:39 -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.

7 years agopgsql plugin: Typos. Check script should warn (not die) w/o DB.
Matt Birkholz [Wed, 26 Jul 2017 23:43:46 +0000 (16:43 -0700)]
pgsql plugin:  Typos.  Check script should warn (not die) w/o DB.

7 years agoruntime/stringio (string-in/read-substring): Swap src/dst strings.
Matt Birkholz [Wed, 26 Jul 2017 23:05:54 +0000 (16:05 -0700)]
runtime/stringio (string-in/read-substring): Swap src/dst strings.

7 years agosrc/Makefile.in (install-auxdir-top): noclobber optiondb,plugins.scm
Matt Birkholz [Mon, 24 Jul 2017 18:01:28 +0000 (11:01 -0700)]
src/Makefile.in (install-auxdir-top): noclobber optiondb,plugins.scm

7 years agodevops: Make plugin .changes read-only, like the rest.
Matt Birkholz [Fri, 21 Jul 2017 17:52:51 +0000 (10:52 -0700)]
devops: Make plugin .changes read-only, like the rest.

7 years agodevops/debian/doc-base: typo
Matt Birkholz [Fri, 21 Jul 2017 17:49:55 +0000 (10:49 -0700)]
devops/debian/doc-base: typo

7 years agoInstall .coms after .scms; avoid warning of newer source files.
Matt Birkholz [Fri, 21 Jul 2017 17:49:35 +0000 (10:49 -0700)]
Install .coms after .scms; avoid warning of newer source files.

7 years agodevops: changes should be #f initially. Use empty tag message.
Matt Birkholz [Fri, 21 Jul 2017 05:23:00 +0000 (22:23 -0700)]
devops: changes should be #f initially.  Use empty tag message.

7 years agodevops: Use regsexps, more parsed versions.
Matt Birkholz [Fri, 21 Jul 2017 05:01:17 +0000 (22:01 -0700)]
devops: Use regsexps, more parsed versions.

7 years agodevops: Show unreleased commits instead of changed files.
Matt Birkholz [Fri, 21 Jul 2017 01:30:11 +0000 (18:30 -0700)]
devops: Show unreleased commits instead of changed files.

7 years agodevops: Fix version-comparator.
Matt Birkholz [Fri, 21 Jul 2017 01:02:08 +0000 (18:02 -0700)]
devops: Fix version-comparator.

7 years agodevops: Punt devops:full-status.
Matt Birkholz [Fri, 21 Jul 2017 01:40:24 +0000 (18:40 -0700)]
devops: Punt devops:full-status.

7 years agodevops: Fixes, a hostname parameter for devops:build-status.
Matt Birkholz [Sun, 16 Jul 2017 20:31:40 +0000 (13:31 -0700)]
devops: Fixes, a hostname parameter for devops:build-status.

Added a read-reply procedure that should, eventually, detect error
messages from the build host.  For now, use everywhere to simplify
requests/replies.  Use it to check for the existence of the build
directory.  Fix sorted-tags and use the latest regsexps (requiring 9.3
or a pucked 9.2).

7 years agogtk plugins: Expect c-peek-cstring to return a string, not bytes.
Matt Birkholz [Wed, 12 Jul 2017 21:51:56 +0000 (14:51 -0700)]
gtk plugins: Expect c-peek-cstring to return a string, not bytes.

7 years agogtk: GtkScrolledView (and GtkPanedView) for 3.22.11 (Ubuntu 17.04).
Matt Birkholz [Sat, 8 Jul 2017 03:30:25 +0000 (20:30 -0700)]
gtk: GtkScrolledView (and GtkPanedView) for 3.22.11 (Ubuntu 17.04).

7 years agopgsql: Pass check with warning when there is no default DB service.
Matt Birkholz [Fri, 7 Jul 2017 19:37:21 +0000 (12:37 -0700)]
pgsql: Pass check with warning when there is no default DB service.

7 years agogtk plugin: Apply bytes->string to value of c-peek-cstring.
Matt Birkholz [Fri, 7 Jul 2017 14:55:44 +0000 (07:55 -0700)]
gtk plugin: Apply bytes->string to value of c-peek-cstring.

7 years agogtk plugin: fix per new warning.
Matt Birkholz [Sun, 2 Jul 2017 23:41:38 +0000 (16:41 -0700)]
gtk plugin: fix per new warning.

7 years agoglib plugin: fix per new random warning.
Matt Birkholz [Sun, 2 Jul 2017 23:40:20 +0000 (16:40 -0700)]
glib plugin: fix per new random warning.

7 years agogl plugin: fix per new warning.
Matt Birkholz [Sun, 2 Jul 2017 23:39:41 +0000 (16:39 -0700)]
gl plugin: fix per new warning.

7 years agodevops (version=?): redundant definition.
Matt Birkholz [Sun, 2 Jul 2017 23:39:00 +0000 (16:39 -0700)]
devops (version=?): redundant definition.

7 years agopgsql plugin: update lost in the merge(?).
Matt Birkholz [Sun, 2 Jul 2017 23:17:29 +0000 (16:17 -0700)]
pgsql plugin: update lost in the merge(?).

7 years agoblowfish, gdbm plugins: Export to (). Remove (runtime blowfish).
Matt Birkholz [Sun, 2 Jul 2017 22:18:19 +0000 (15:18 -0700)]
blowfish, gdbm plugins:  Export to ().  Remove (runtime blowfish).

Punt import-blowfish and import-gdbm2.  Fix merged references to
GDBM2.

7 years agoplugin READMEs: Update.
Matt Birkholz [Sun, 2 Jul 2017 22:07:23 +0000 (15:07 -0700)]
plugin READMEs: Update.

Punt mention of nonexistent microcode modules and conflicting bindings.
Punt import-blowfish and import-gdbm2.  Fix stale references to GDBM2.

7 years agopgsql plugin: Added debian/; pucked.
Matt Birkholz [Sun, 2 Jul 2017 22:03:33 +0000 (15:03 -0700)]
pgsql plugin: Added debian/; pucked.

7 years agoMerge branch 'master' into pucked.
Matt Birkholz [Sun, 2 Jul 2017 20:50:29 +0000 (13:50 -0700)]
Merge branch 'master' into pucked.

7 years agoMerge branch 'master' into pucked.
Matt Birkholz [Sun, 2 Jul 2017 20:45:09 +0000 (13:45 -0700)]
Merge branch 'master' into pucked.

7 years agopgsql plugin: New, from the pgsql microcode module.
Matt Birkholz [Sun, 2 Jul 2017 20:20:56 +0000 (13:20 -0700)]
pgsql plugin: New, from the pgsql microcode module.

7 years agoffi/build (read-html-title): Use core regsexp.
Matt Birkholz [Sun, 2 Jul 2017 18:40:21 +0000 (11:40 -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.

7 years agoFix missing argument.
Taylor R Campbell [Mon, 29 May 2017 20:33:21 +0000 (20:33 +0000)]
Fix missing argument.

Noted by mejja.

7 years agodevops: Myriad fixes and additions. Build docs for binary tarballz.
Matt Birkholz [Thu, 25 May 2017 00:33:38 +0000 (17:33 -0700)]
devops: Myriad fixes and additions.  Build docs for binary tarballz.

Set umask before installing.  Add run-noerror for debugging.  Fix
plugin-dirt? filter.  Change sorted-tags to return the newest version
first.  Replaced ubuntu? slot with an OS name string.  Reimplement
host-ubuntu?.  Add host-ubuntu-codename.

7 years agoplugin NEWS, debian/changelog: Re-sync.
Matt Birkholz [Thu, 25 May 2017 00:25:32 +0000 (17:25 -0700)]
plugin NEWS, debian/changelog: Re-sync.

7 years agoffi/build: Use regsexp and quiet natter from add/remove-plugin.
Matt Birkholz [Wed, 24 May 2017 18:31:32 +0000 (11:31 -0700)]
ffi/build: Use regsexp and quiet natter from add/remove-plugin.

7 years agoMerge branch 'master' into pucked.
Matt Birkholz [Wed, 24 May 2017 03:46:24 +0000 (20:46 -0700)]
Merge branch 'master' into pucked.

7 years agox11-screen plugin: Update README, NEWS, version.
Matt Birkholz [Wed, 24 May 2017 01:23:20 +0000 (18:23 -0700)]
x11-screen plugin: Update README, NEWS, version.

7 years agox11 plugin: Convert to iso8859-1 rather than utf8.
Matt Birkholz [Tue, 23 May 2017 23:44:55 +0000 (16:44 -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.

7 years agotest-ffi-wrapper: c-peek-cstring can now return a legacy string.
Matt Birkholz [Tue, 23 May 2017 23:43:28 +0000 (16:43 -0700)]
test-ffi-wrapper: c-peek-cstring can now return a legacy string.

7 years agoMove re-compile-char-set from rgxcmp to chrset.
Chris Hanson [Mon, 22 May 2017 05:31:50 +0000 (22:31 -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.

7 years agoplugin debian/prerm.in: OMG /usr/local/bin is in the PATH!
Matt Birkholz [Sat, 20 May 2017 22:50:49 +0000 (15:50 -0700)]
plugin debian/prerm.in: OMG /usr/local/bin is in the PATH!

7 years agogtk plugins: Add MIT_CFLAGS for maximal warnage.
Matt Birkholz [Fri, 19 May 2017 20:18:57 +0000 (13:18 -0700)]
gtk plugins: Add MIT_CFLAGS for maximal warnage.

7 years agouser.texinfo: Punt more multiarch. Change distribution. Edits.
Matt Birkholz [Fri, 19 May 2017 16:24:01 +0000 (09:24 -0700)]
user.texinfo: Punt more multiarch.  Change distribution.  Edits.

7 years agodist/shared.sh: Add devops plugin to the list.
Matt Birkholz [Fri, 19 May 2017 16:18:54 +0000 (09:18 -0700)]
dist/shared.sh: Add devops plugin to the list.

7 years agoFix merge.
Matt Birkholz [Sat, 20 May 2017 17:57:03 +0000 (10:57 -0700)]
Fix merge.

7 years agoMerge branch 'master' into pucked.
Matt Birkholz [Thu, 18 May 2017 03:26:59 +0000 (20:26 -0700)]
Merge branch 'master' into pucked.

7 years agoworld-report: missing PORT in call to write-string
Matt Birkholz [Thu, 18 May 2017 01:05:27 +0000 (18:05 -0700)]
world-report: missing PORT in call to write-string

7 years agodoc: Define PACKAGE_TARNAME (for docdir) in make-common too.
Matt Birkholz [Wed, 17 May 2017 23:56:59 +0000 (16:56 -0700)]
doc: Define PACKAGE_TARNAME (for docdir) in make-common too.

7 years agomcrypt-check.sh: Load-option for run-shell-command.
Matt Birkholz [Wed, 17 May 2017 23:13:47 +0000 (16:13 -0700)]
mcrypt-check.sh: Load-option for run-shell-command.

7 years agoruntime/crypto: Allow strings for module names; fix a string-append.
Matt Birkholz [Wed, 17 May 2017 23:12:22 +0000 (16:12 -0700)]
runtime/crypto: Allow strings for module names; fix a string-append.

7 years agoplugin READMEs: Suggest the new import procedures.
Matt Birkholz [Wed, 17 May 2017 23:10:33 +0000 (16:10 -0700)]
plugin READMEs: Suggest the new import procedures.

7 years agoplugin AUTHORS: generalize
Matt Birkholz [Wed, 17 May 2017 23:05:50 +0000 (16:05 -0700)]
plugin AUTHORS: generalize

7 years agoplugins: Re-sync with runtime; allow strings as well as bytevectors.
Matt Birkholz [Wed, 17 May 2017 23:01:12 +0000 (16:01 -0700)]
plugins: Re-sync with runtime; allow strings as well as bytevectors.

7 years agoplugins: Use add/remove-plugin procedures. Increment versions.
Matt Birkholz [Wed, 17 May 2017 22:47:01 +0000 (15:47 -0700)]
plugins: Use add/remove-plugin procedures.  Increment versions.

7 years agoAdd add-plugin and remove-plugin; maintain an Info index.
Matt Birkholz [Wed, 17 May 2017 22:37:59 +0000 (15:37 -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.

7 years agoffi: Accept and return legacy strings for backward compatibility.
Matt Birkholz [Wed, 17 May 2017 22:22:54 +0000 (15:22 -0700)]
ffi: Accept and return legacy strings for backward compatibility.

7 years agodoc: Define PACKAGE_TARNAME, part of the default docdir.
Matt Birkholz [Wed, 17 May 2017 22:11:35 +0000 (15:11 -0700)]
doc: Define PACKAGE_TARNAME, part of the default docdir.

Also define PROJECT to make it easier to change the project name.

7 years agouser-manual: Installing documentation. And use short @node lines.
Matt Birkholz [Wed, 17 May 2017 21:59:14 +0000 (14:59 -0700)]
user-manual: Installing documentation.  And use short @node lines.

7 years agoFix MAX_HALT_MESSAGE (after adding 3 more). Thanks to Joe Marshall.
Matt Birkholz [Wed, 17 May 2017 21:53:11 +0000 (14:53 -0700)]
Fix MAX_HALT_MESSAGE (after adding 3 more).  Thanks to Joe Marshall.

7 years agoFix string-for-primitive as pointed out by Matt.
Chris Hanson [Wed, 17 May 2017 02:38:10 +0000 (19:38 -0700)]
Fix string-for-primitive as pointed out by Matt.

7 years agodebian/changelogs: Change distribution to "birchwood".
Matt Birkholz [Tue, 16 May 2017 17:08:04 +0000 (10:08 -0700)]
debian/changelogs: Change distribution to "birchwood".

Else package tools balk at adding the Debian packages to a birchwood
repository.

7 years agoFix typo.
Chris Hanson [Mon, 15 May 2017 04:53:34 +0000 (21:53 -0700)]
Fix typo.

7 years agoImplement KMP backward search.
Chris Hanson [Fri, 12 May 2017 03:51:24 +0000 (20:51 -0700)]
Implement KMP backward search.

7 years agoImplement a basic test for testing string searches.
Chris Hanson [Fri, 12 May 2017 03:14:23 +0000 (20:14 -0700)]
Implement a basic test for testing string searches.

7 years agoAdd Knuth-Morris-Pratt search algorithm for forward searches.
Chris Hanson [Fri, 12 May 2017 03:13:38 +0000 (20:13 -0700)]
Add Knuth-Morris-Pratt search algorithm for forward searches.

Still need to implement for backward searches.

7 years agoUse more aggressive NFC memoization.
Chris Hanson [Tue, 9 May 2017 03:30:26 +0000 (20:30 -0700)]
Use more aggressive NFC memoization.

Could do the same for NFD but that would use the last available flag bit.

7 years agoFix inadvertent removal of primitive body. Thanks to Matt Birkholz.
Chris Hanson [Mon, 8 May 2017 20:20:53 +0000 (13:20 -0700)]
Fix inadvertent removal of primitive body.  Thanks to Matt Birkholz.

7 years agoUpdate test to get it working again.
Chris Hanson [Mon, 8 May 2017 20:14:12 +0000 (13:14 -0700)]
Update test to get it working again.

7 years agoMake write-xml port argument optional.
Chris Hanson [Sun, 7 May 2017 22:32:28 +0000 (15:32 -0700)]
Make write-xml port argument optional.

7 years agoChange UCD converter to ignore derived properties.
Chris Hanson [Sun, 7 May 2017 22:26:59 +0000 (15:26 -0700)]
Change UCD converter to ignore derived properties.

7 years agoAdd original ucd file for completeness.
Chris Hanson [Sun, 7 May 2017 21:43:15 +0000 (14:43 -0700)]
Add original ucd file for completeness.

7 years agoChange NFC normalization to use MAYBE values of NFC_QC.
Chris Hanson [Sun, 7 May 2017 20:39:06 +0000 (13:39 -0700)]
Change NFC normalization to use MAYBE values of NFC_QC.

7 years agoRevert earlier change and try a new approach for char-set predicates.
Chris Hanson [Sun, 7 May 2017 20:37:50 +0000 (13:37 -0700)]
Revert earlier change and try a new approach for char-set predicates.

7 years agoChange parser-buffer to return immutable strings.
Chris Hanson [Sat, 6 May 2017 22:31:27 +0000 (15:31 -0700)]
Change parser-buffer to return immutable strings.

7 years agoFix typo from previous change.
Chris Hanson [Sat, 6 May 2017 22:17:15 +0000 (15:17 -0700)]
Fix typo from previous change.

7 years agoChange XML output to use predicate dispatcher.
Chris Hanson [Sat, 6 May 2017 21:54:11 +0000 (14:54 -0700)]
Change XML output to use predicate dispatcher.

7 years agoFix typo in cached handler sets.
Chris Hanson [Sat, 6 May 2017 21:53:46 +0000 (14:53 -0700)]
Fix typo in cached handler sets.

7 years agoRegister char and char-set predicates.
Chris Hanson [Sat, 6 May 2017 21:53:35 +0000 (14:53 -0700)]
Register char and char-set predicates.

7 years agoAdd ability to register predicates earlier in the boot sequence.
Chris Hanson [Sat, 6 May 2017 21:53:19 +0000 (14:53 -0700)]
Add ability to register predicates earlier in the boot sequence.

7 years agoClarify some details about the regsexp implementation.
Chris Hanson [Sat, 6 May 2017 20:55:07 +0000 (13:55 -0700)]
Clarify some details about the regsexp implementation.

7 years agoFix bug: incorrect assumption of mutability.
Chris Hanson [Sat, 6 May 2017 06:18:16 +0000 (23:18 -0700)]
Fix bug: incorrect assumption of mutability.

7 years agoDocument return values from binary write operations.
Chris Hanson [Sat, 6 May 2017 05:27:14 +0000 (22:27 -0700)]
Document return values from binary write operations.

Also add text about non-blocking mode.

7 years agoAdd examples of regsexp patterns.
Chris Hanson [Sat, 6 May 2017 05:04:15 +0000 (22:04 -0700)]
Add examples of regsexp patterns.

7 years agoChange regsexp {,inverse-}char-set to char-{,not-}in.
Chris Hanson [Sat, 6 May 2017 04:28:21 +0000 (21:28 -0700)]
Change regsexp {,inverse-}char-set to char-{,not-}in.

7 years agoNew plugin: devops.
Matt Birkholz [Fri, 5 May 2017 19:38:36 +0000 (12:38 -0700)]
New plugin: devops.

7 years agodebian/README.Debian: Example plugins are no longer included.
Matt Birkholz [Fri, 5 May 2017 16:32:40 +0000 (09:32 -0700)]
debian/README.Debian: Example plugins are no longer included.