mit-scheme.git
7 years agomicrocode/cmpauxmd/i386.m4: typo
Matt Birkholz [Tue, 19 Sep 2017 03:15:00 +0000 (20:15 -0700)]
microcode/cmpauxmd/i386.m4: typo

7 years agoruntime/syncproc: Eliminate spinning, and blocking.
Matt Birkholz [Sat, 16 Sep 2017 22:06:17 +0000 (15:06 -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 agomicrocode/cmpauxmd/x86-64.m4: Wordsmith commentary for specificity.
Matt Birkholz [Sat, 16 Sep 2017 22:37:22 +0000 (15:37 -0700)]
microcode/cmpauxmd/x86-64.m4: Wordsmith commentary for specificity.

7 years agomicrocode/debug: Add ustring support, Stack(), Print(), brevity.
Matt Birkholz [Sat, 16 Sep 2017 21:56:31 +0000 (14:56 -0700)]
microcode/debug: Add ustring support, Stack(), Print(), brevity.

Print is just the renamed Debug_Print, renamed for brevity in debugger
commands.  Rename do_printing to print_object and punt the detailed_p
parameter, and the gotos, and handled_p.  Move the bulky compiled
entry handling to a separate function: print_compiled_entry.  Punt
checking for a "closed" stack frame in verify_stack().

7 years agomicrocode: Do not save history_register locally.
Matt Birkholz [Sat, 16 Sep 2017 21:38:27 +0000 (14:38 -0700)]
microcode: Do not save history_register locally.

The required change to C_call_scheme is described but not implemented.
C_call_scheme has other problems(?).  Preferring a rotated history to
a broken history (broken by a GC during a callback) for now.

7 years agomicrocode: Restore frame pointer as well as stack pointer.
Matt Birkholz [Sat, 16 Sep 2017 21:36:58 +0000 (14:36 -0700)]
microcode: Restore frame pointer as well as stack pointer.

7 years agoffi: Follow example of C_call_scheme; eliminate aborts.
Matt Birkholz [Sat, 16 Sep 2017 22:19:27 +0000 (15:19 -0700)]
ffi: Follow example of C_call_scheme; eliminate aborts.

Keep callouts simple, fast.  Make callbacks save/restore machine state
(last_return_code, mainly) and use RC_END_OF_COMPUTATION instead of a
special primitive (return-to-c), like C_call_scheme.  Punt the
pop_return_p parameter of Interpret; instead, leave #f in EXP and
Re_Enter_Interpreter, also like C_call_scheme.  Add re_enter_scheme to
pop machine state pushed by abort_to_c (used when state cannot be
saved locally, as in the glib plugin's run_glib).

Add a gc-flip to the test callback.

7 years agoFix syncproc test to avoid bashism.
Taylor R Campbell [Tue, 12 Sep 2017 03:39:34 +0000 (03:39 +0000)]
Fix syncproc test to avoid bashism.

7 years agoAdd Keccak-f[1600] primitive operating on byte vectors.
Taylor R Campbell [Tue, 12 Sep 2017 03:34:42 +0000 (03:34 +0000)]
Add Keccak-f[1600] primitive operating on byte vectors.

Won't break any speed records with all the copying and byte order
conversion but will work at least and be handy for exploration.

7 years agoFix thinko in previous change.
Chris Hanson [Wed, 2 Aug 2017 02:31:22 +0000 (22:31 -0400)]
Fix thinko in previous change.

We want to close an I/O port when both channels are the same and the other one
is marked closed.

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 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 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 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 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 agoRewrite the regular expression section for Unicode-safe implementation.
Chris Hanson [Fri, 5 May 2017 07:09:14 +0000 (00:09 -0700)]
Rewrite the regular expression section for Unicode-safe implementation.

Also a few small updates here and there.

7 years agoDocument named arguments to char-set and char-set*.
Chris Hanson [Fri, 5 May 2017 07:08:47 +0000 (00:08 -0700)]
Document named arguments to char-set and char-set*.

7 years agoFix typo.
Chris Hanson [Fri, 5 May 2017 07:07:35 +0000 (00:07 -0700)]
Fix typo.

7 years agoChange string-trimmer to use general char matcher like string-delimiter.
Chris Hanson [Fri, 5 May 2017 06:50:10 +0000 (23:50 -0700)]
Change string-trimmer to use general char matcher like string-delimiter.

7 years agoFix missed regexp in mime-codec.
Chris Hanson [Wed, 3 May 2017 08:03:24 +0000 (01:03 -0700)]
Fix missed regexp in mime-codec.

7 years agoChange pgsql to use regsexp.
Chris Hanson [Wed, 3 May 2017 07:57:21 +0000 (00:57 -0700)]
Change pgsql to use regsexp.

7 years agoUse named char-set for whitespace.
Chris Hanson [Wed, 3 May 2017 07:56:57 +0000 (00:56 -0700)]
Use named char-set for whitespace.

7 years agoAdd named character sets.
Chris Hanson [Wed, 3 May 2017 07:50:33 +0000 (00:50 -0700)]
Add named character sets.

7 years agoAdd case-insensitive matching.
Chris Hanson [Wed, 3 May 2017 07:50:04 +0000 (00:50 -0700)]
Add case-insensitive matching.

7 years agoChange mime-coded to use regsexp.
Chris Hanson [Wed, 3 May 2017 07:17:18 +0000 (00:17 -0700)]
Change mime-coded to use regsexp.

7 years agoChange regsexp value to have values of groups instead of indices.
Chris Hanson [Wed, 3 May 2017 07:13:56 +0000 (00:13 -0700)]
Change regsexp value to have values of groups instead of indices.

This does weird things when a group is inside a repeat, but that's a bad idea so
DON'T DO THAT!

7 years agoChange groups implementation to segregate started groups from ended groups.
Chris Hanson [Wed, 3 May 2017 06:25:41 +0000 (23:25 -0700)]
Change groups implementation to segregate started groups from ended groups.

7 years agoChange groups abstraction to use message-passing style.
Chris Hanson [Wed, 3 May 2017 06:00:27 +0000 (23:00 -0700)]
Change groups abstraction to use message-passing style.

7 years agoChange position abstraction to use message-passing style.
Chris Hanson [Wed, 3 May 2017 05:16:01 +0000 (22:16 -0700)]
Change position abstraction to use message-passing style.

7 years agoImplement regsexp string search.
Chris Hanson [Tue, 2 May 2017 06:08:04 +0000 (23:08 -0700)]
Implement regsexp string search.

Also change the return value of regsexp match from the end index to a pair of
the start and end indices.

Fix unit tests, which weren't testing anything due to the use of run-sub-test.

7 years agoExport nfc-string?.
Chris Hanson [Tue, 2 May 2017 05:41:05 +0000 (22:41 -0700)]
Export nfc-string?.

7 years agoChange char-syntax rules to emphasize that they are legacy rules.
Chris Hanson [Tue, 2 May 2017 04:08:40 +0000 (21:08 -0700)]
Change char-syntax rules to emphasize that they are legacy rules.

7 years agoFix typo in rule that broke i386 build.
Chris Hanson [Tue, 2 May 2017 04:04:23 +0000 (21:04 -0700)]
Fix typo in rule that broke i386 build.

7 years agoImplement converter from regexp patterns to regsexp forms.
Chris Hanson [Mon, 1 May 2017 06:09:24 +0000 (23:09 -0700)]
Implement converter from regexp patterns to regsexp forms.

7 years agoAdd source files for ISO 8859 mappings and move converter to src/etc/.
Chris Hanson [Mon, 1 May 2017 01:13:02 +0000 (18:13 -0700)]
Add source files for ISO 8859 mappings and move converter to src/etc/.

7 years agoHam-handed elimination of legacy strings from win32 package.
Chris Hanson [Sun, 30 Apr 2017 08:03:51 +0000 (01:03 -0700)]
Ham-handed elimination of legacy strings from win32 package.

This package is probably broken now, but it's not obvious to me how to fix it in
a way consistent with our data types.

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Sun, 30 Apr 2017 07:42:36 +0000 (00:42 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

7 years agoEliminate last remnants of "octets" ports.
Chris Hanson [Sun, 30 Apr 2017 07:42:18 +0000 (00:42 -0700)]
Eliminate last remnants of "octets" ports.

7 years agoImplement string<->iso8859-1 converters.
Chris Hanson [Sun, 30 Apr 2017 07:23:14 +0000 (00:23 -0700)]
Implement string<->iso8859-1 converters.

7 years agoMinor cleanups to regexp code.
Chris Hanson [Sun, 30 Apr 2017 06:44:37 +0000 (23:44 -0700)]
Minor cleanups to regexp code.

7 years agoFix bugs in char-set->regexp rewrite.
Chris Hanson [Sun, 30 Apr 2017 06:44:01 +0000 (23:44 -0700)]
Fix bugs in char-set->regexp rewrite.

7 years agoAdd load-option to make sure regexp code is loaded for test.
Chris Hanson [Sun, 30 Apr 2017 06:42:09 +0000 (23:42 -0700)]
Add load-option to make sure regexp code is loaded for test.

7 years agoAllow option files to use boot-inits.
Chris Hanson [Sun, 30 Apr 2017 03:51:02 +0000 (20:51 -0700)]
Allow option files to use boot-inits.

7 years agoChange char-set->regexp to use string builder.
Chris Hanson [Sun, 30 Apr 2017 03:28:44 +0000 (20:28 -0700)]
Change char-set->regexp to use string builder.

7 years agoRewrite regexp compiler to use bytevectors. Also add test.
Chris Hanson [Sun, 30 Apr 2017 03:28:20 +0000 (20:28 -0700)]
Rewrite regexp compiler to use bytevectors.  Also add test.

7 years agoruntime/global (write-to-string): missing arg
Matt Birkholz [Sat, 29 Apr 2017 19:06:04 +0000 (12:06 -0700)]
runtime/global (write-to-string): missing arg

7 years agoEliminate legacy-string->bytevector call now primitive returns bytevector.
Chris Hanson [Sat, 29 Apr 2017 08:01:38 +0000 (01:01 -0700)]
Eliminate legacy-string->bytevector call now primitive returns bytevector.

7 years agoRefactor compressor/decompressor to use bytevectors and binary ports.
Chris Hanson [Sat, 29 Apr 2017 08:00:17 +0000 (01:00 -0700)]
Refactor compressor/decompressor to use bytevectors and binary ports.

7 years agoFix bug when calling {flush,synchronized}-output-port on a binary port.
Chris Hanson [Sat, 29 Apr 2017 07:59:20 +0000 (00:59 -0700)]
Fix bug when calling {flush,synchronized}-output-port on a binary port.

7 years agoRefactor host-adapter to detect the changes it needs to make.
Chris Hanson [Sat, 29 Apr 2017 04:12:14 +0000 (21:12 -0700)]
Refactor host-adapter to detect the changes it needs to make.

7 years agoMerge branch 'master' into sketch
Chris Hanson [Fri, 28 Apr 2017 07:10:35 +0000 (00:10 -0700)]
Merge branch 'master' into sketch

7 years agoRevert change to host-adapter that breaks self-build.
Chris Hanson [Fri, 28 Apr 2017 07:06:49 +0000 (00:06 -0700)]
Revert change to host-adapter that breaks self-build.

7 years agoRwrite to use bytevectors instead of strings.
Chris Hanson [Fri, 28 Apr 2017 06:35:10 +0000 (23:35 -0700)]
Rwrite to use bytevectors instead of strings.

7 years agoMove bytevector access macros into "object.h".
Chris Hanson [Fri, 28 Apr 2017 06:34:48 +0000 (23:34 -0700)]
Move bytevector access macros into "object.h".

7 years agoUpdate file encryption to work with binary or textual ports.
Chris Hanson [Fri, 28 Apr 2017 05:43:53 +0000 (22:43 -0700)]
Update file encryption to work with binary or textual ports.

7 years agoFix bug from recent change.
Chris Hanson [Fri, 28 Apr 2017 05:43:29 +0000 (22:43 -0700)]
Fix bug from recent change.

7 years agoFix typo in last change.
Chris Hanson [Fri, 28 Apr 2017 05:43:09 +0000 (22:43 -0700)]
Fix typo in last change.