Matt Birkholz [Mon, 1 May 2017 05:58:14 +0000 (22:58 -0700)]
plugin debian/postinst.in: OMG /usr/local/bin is in the PATH?
Matt Birkholz [Mon, 1 May 2017 05:05:33 +0000 (22:05 -0700)]
ffi/build: Fix add/remove-plugin handling of compressed files.
Matt Birkholz [Sun, 30 Apr 2017 01:41:45 +0000 (18:41 -0700)]
Fix merge.
Matt Birkholz [Sat, 29 Apr 2017 20:50:14 +0000 (13:50 -0700)]
Merge branch 'master' into pucked.
Ported changes in src/runtime/crypto.scm to the md5, mhash and mcrypt
plugins.
Matt Birkholz [Sat, 29 Apr 2017 19:06:04 +0000 (12:06 -0700)]
runtime/global (write-to-string): missing arg
Chris Hanson [Sat, 29 Apr 2017 08:01:38 +0000 (01:01 -0700)]
Eliminate legacy-string->bytevector call now primitive returns bytevector.
Chris Hanson [Sat, 29 Apr 2017 08:00:17 +0000 (01:00 -0700)]
Refactor compressor/decompressor to use bytevectors and binary ports.
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.
Chris Hanson [Sat, 29 Apr 2017 04:12:14 +0000 (21:12 -0700)]
Refactor host-adapter to detect the changes it needs to make.
Chris Hanson [Fri, 28 Apr 2017 07:10:35 +0000 (00:10 -0700)]
Merge branch 'master' into sketch
Chris Hanson [Fri, 28 Apr 2017 07:06:49 +0000 (00:06 -0700)]
Revert change to host-adapter that breaks self-build.
Chris Hanson [Fri, 28 Apr 2017 06:35:10 +0000 (23:35 -0700)]
Rwrite to use bytevectors instead of strings.
Chris Hanson [Fri, 28 Apr 2017 06:34:48 +0000 (23:34 -0700)]
Move bytevector access macros into "object.h".
Chris Hanson [Fri, 28 Apr 2017 05:43:53 +0000 (22:43 -0700)]
Update file encryption to work with binary or textual ports.
Chris Hanson [Fri, 28 Apr 2017 05:43:29 +0000 (22:43 -0700)]
Fix bug from recent change.
Chris Hanson [Fri, 28 Apr 2017 05:43:09 +0000 (22:43 -0700)]
Fix typo in last change.
Chris Hanson [Fri, 28 Apr 2017 05:42:43 +0000 (22:42 -0700)]
Use index procedures to simplify read-bytevector!.
Chris Hanson [Fri, 28 Apr 2017 05:42:24 +0000 (22:42 -0700)]
Fix bug in textual->binary-port.
Chris Hanson [Fri, 28 Apr 2017 04:49:23 +0000 (21:49 -0700)]
Change crypto support to use bytevectors.
Interface changes:
* X-substring eliminated in favor of X-string with optional args.
* Hash codes are now bytevectors.
* Ports are assumed to be binary.
Chris Hanson [Fri, 28 Apr 2017 04:48:43 +0000 (21:48 -0700)]
Be more careful examining results of I/O operations.
Chris Hanson [Fri, 28 Apr 2017 04:48:09 +0000 (21:48 -0700)]
Implement conversions between integers and bytevectors.
Matt Birkholz [Thu, 27 Apr 2017 20:29:12 +0000 (13:29 -0700)]
debian/control: Bump required mit-scheme to 9.2.2.
The new version includes microcode-id/operating-system-suffix which is
used by plugin Makefile.ams. Plugin binaries should be built by the
pucked core they will run in but, with this support, their source
distributions may be built by mit-scheme. Plugin Makefile.ams also
expect mit-scheme.h to be installed, but the Debian packages for 9.2.1
did not include it. 9.2.2-1 should fix that.
Matt Birkholz [Thu, 27 Apr 2017 20:28:45 +0000 (13:28 -0700)]
user.texinfo: Add instructions for verifying downloads.
Matt Birkholz [Thu, 27 Apr 2017 20:28:11 +0000 (13:28 -0700)]
Wordsmithing.
Chris Hanson [Wed, 26 Apr 2017 07:35:00 +0000 (00:35 -0700)]
Change blowfish support to use bytevectors.
Chris Hanson [Wed, 26 Apr 2017 07:34:32 +0000 (00:34 -0700)]
Implement textual->binary-port.
Chris Hanson [Wed, 26 Apr 2017 07:34:04 +0000 (00:34 -0700)]
Implement named char codecs.
Chris Hanson [Wed, 26 Apr 2017 06:33:12 +0000 (23:33 -0700)]
Tweak.
Chris Hanson [Wed, 26 Apr 2017 05:52:53 +0000 (22:52 -0700)]
Implement bytevector I/O for XML.
Chris Hanson [Wed, 26 Apr 2017 05:51:31 +0000 (22:51 -0700)]
Eliminate "output-octets" instance.
Chris Hanson [Wed, 26 Apr 2017 05:51:11 +0000 (22:51 -0700)]
Apply rename.
Chris Hanson [Wed, 26 Apr 2017 05:50:24 +0000 (22:50 -0700)]
Change HTTP message body to be bytevector.
Chris Hanson [Wed, 26 Apr 2017 05:50:02 +0000 (22:50 -0700)]
Change definition of content-md5 header to be a bytevector.
Chris Hanson [Wed, 26 Apr 2017 05:49:26 +0000 (22:49 -0700)]
Eliminate more low-hanging deprecations.
Chris Hanson [Wed, 26 Apr 2017 05:46:22 +0000 (22:46 -0700)]
Implement binary->textual-port.
Also change make-generic-i/o-port to take a binary port as argument.
Chris Hanson [Wed, 26 Apr 2017 05:44:46 +0000 (22:44 -0700)]
Implement accessors for binary-port source/sink.
Chris Hanson [Wed, 26 Apr 2017 05:06:25 +0000 (22:06 -0700)]
Fix typo.
Matt Birkholz [Wed, 26 Apr 2017 04:40:01 +0000 (21:40 -0700)]
dist/make-src-files: Try harder to remove plugins from core source.
Matt Birkholz [Wed, 26 Apr 2017 02:09:23 +0000 (19:09 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Wed, 26 Apr 2017 01:38:51 +0000 (18:38 -0700)]
More fun (less morbid) Latin valedictions.
Matt Birkholz [Tue, 25 Apr 2017 21:16:06 +0000 (14:16 -0700)]
microcode/uxsig.c: Handle SIGTERM, SIGQUIT and SIGHUP as if a C-g.
Thus Scheme has a chance to clean up after a `kill %mit-scheme` or
disconnect.
Matt Birkholz [Tue, 25 Apr 2017 21:10:56 +0000 (14:10 -0700)]
runtime/load (standard-library-directory-pathname): Simplify.
Just use the last directory in the path. When microcode modules go
away, so will the lib/ subdirectory that previously distinguished the
"standard" options' directory.
Matt Birkholz [Tue, 25 Apr 2017 23:55:13 +0000 (16:55 -0700)]
Add option-loaded?.
Matt Birkholz [Tue, 25 Apr 2017 21:03:38 +0000 (14:03 -0700)]
Add with-temporary-file.
This is basically call-with-temporary-file-pathname except it takes
the pathname and does not touch the file (allowing e.g. open-
exclusive-output-file to create it). Also, optimize deallocate-
temporary-file for the case when the temporary file is already gone
(e.g. renamed into place).
Matt Birkholz [Tue, 25 Apr 2017 20:54:45 +0000 (13:54 -0700)]
cref/make.scm: Increment version for deprecated binding support.
Matt Birkholz [Tue, 25 Apr 2017 23:36:09 +0000 (16:36 -0700)]
Add close procedure before output bytevectors' custom stuff.
Matt Birkholz [Tue, 25 Apr 2017 20:55:39 +0000 (13:55 -0700)]
Set sign bit in DOUBLE-NEGATIVE-INFINITY-IS-INFINITE test.
Matt Birkholz [Tue, 25 Apr 2017 21:01:30 +0000 (14:01 -0700)]
ffi: Restore casefulness of .cdecl files.
Matt Birkholz [Tue, 25 Apr 2017 20:56:00 +0000 (13:56 -0700)]
runtime/host-adapter: Add string-foldcase. Train any 9.2 release.
Matt Birkholz [Tue, 25 Apr 2017 22:36:58 +0000 (15:36 -0700)]
microcode/makegen/makegen.scm: Revert recent change.
9.2 has a different write-string. Use the deprecated write-substring
just a little longer.
Chris Hanson [Tue, 25 Apr 2017 06:26:29 +0000 (23:26 -0700)]
Eliminate the low-hangin references to deprecated bindings.
Chris Hanson [Tue, 25 Apr 2017 03:56:02 +0000 (20:56 -0700)]
Fix usages of now-binary MIME codecs, by appropriate conversions.
Chris Hanson [Tue, 25 Apr 2017 03:55:15 +0000 (20:55 -0700)]
Fix previous change to add close operation to non-channel sink.
Also add support for sources.
Chris Hanson [Mon, 24 Apr 2017 07:23:47 +0000 (00:23 -0700)]
Update MIME codecs to use bytevectors rather than legacy strings.
**** NOTE ****
Although I modified the tests to pass, they don't test all the codecs. Please
let me know if I broken something.
Chris Hanson [Mon, 24 Apr 2017 07:23:22 +0000 (00:23 -0700)]
Add a "close" operation to non-channel output sinks.
Chris Hanson [Mon, 24 Apr 2017 00:49:25 +0000 (17:49 -0700)]
Add test for bytevector-builder.
Chris Hanson [Mon, 24 Apr 2017 00:15:05 +0000 (17:15 -0700)]
Refactor make-sequence-builder and add vector-builder.
Chris Hanson [Mon, 24 Apr 2017 00:14:28 +0000 (17:14 -0700)]
Tweak.
Matt Birkholz [Sun, 23 Apr 2017 21:06:47 +0000 (14:06 -0700)]
user.texinfo: Short @nodes. Release notes.
Matt Birkholz [Sun, 23 Apr 2017 21:05:09 +0000 (14:05 -0700)]
Set sign bit in DOUBLE-NEGATIVE-INFINITY-IS-INFINITE test.
Matt Birkholz [Sun, 23 Apr 2017 21:04:50 +0000 (14:04 -0700)]
runtime/host-adapter: Add string-foldcase. Train any 9.2 release.
Matt Birkholz [Sun, 23 Apr 2017 21:03:42 +0000 (14:03 -0700)]
ffi/cdecls: Restore casefulness of .cdecl files.
Matt Birkholz [Sun, 23 Apr 2017 18:06:34 +0000 (11:06 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Sun, 23 Apr 2017 18:02:55 +0000 (11:02 -0700)]
Give example (Ubuntu) developer packages for a few plugin READMEs.
Matt Birkholz [Sun, 23 Apr 2017 17:47:42 +0000 (10:47 -0700)]
pango/debian/control: trailing whitespace
Matt Birkholz [Sun, 23 Apr 2017 17:46:17 +0000 (10:46 -0700)]
planetarium.texi: lower case.
Chris Hanson [Sun, 23 Apr 2017 06:55:22 +0000 (23:55 -0700)]
Rewrite the strings chapter to account for immutability and normalization.
Chris Hanson [Sun, 23 Apr 2017 06:54:55 +0000 (23:54 -0700)]
Check that string-find-X-index args are in NFC?
Chris Hanson [Sun, 23 Apr 2017 06:06:24 +0000 (23:06 -0700)]
Convert string to NFC prior to hashing.
Chris Hanson [Sun, 23 Apr 2017 05:57:42 +0000 (22:57 -0700)]
Change symbol->string and symbol-name to return immutable strings.
Chris Hanson [Sun, 23 Apr 2017 04:18:21 +0000 (21:18 -0700)]
Update to reflect minor changes to string operations.
Much more work is needed to recraft this chapter to cover immutability.
Chris Hanson [Sun, 23 Apr 2017 04:18:04 +0000 (21:18 -0700)]
Export mutable/immutable predicates.
Chris Hanson [Sun, 23 Apr 2017 04:15:24 +0000 (21:15 -0700)]
In substring, only return arg string if it's in NFC.
Chris Hanson [Sun, 23 Apr 2017 04:12:59 +0000 (21:12 -0700)]
Change substring? to call string->nfc on its arguments.
Chris Hanson [Sun, 23 Apr 2017 04:08:26 +0000 (21:08 -0700)]
Change string-match and string-search to require NFC inputs.
This is because comparison requires that the strings be in the same
normalization form, and these procedures return indices into the strings. We
can't normalize them after the call, because then the returned indices will
refer to strings that are potentially different from the arguments.
Since nearly all strings are in NFC by default this should not be a serious
drawback.
Additionally, the -ci versions of these procedures have been eliminated,
basically for the same reason. If the caller needs that functionality they
should call string-foldcase themselves.
Note that this doesn't affect comparisons that don't return indices.
Chris Hanson [Sun, 23 Apr 2017 03:41:11 +0000 (20:41 -0700)]
Change default result of string-builder to be NFC.
* Eliminate string-canonical-foldcase since string-foldcase now returns NFC.
* Don't return NFC strings from list->string and vector->string, instead return
verbatim strings.
Chris Hanson [Sun, 23 Apr 2017 03:01:15 +0000 (20:01 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Sun, 23 Apr 2017 01:45:49 +0000 (18:45 -0700)]
Redefine substring as different from string-copy.
They are different in only one respect: string-copy always returns a mutable
string, while substring always returns an immutable string.
Chris Hanson [Sun, 23 Apr 2017 01:17:37 +0000 (18:17 -0700)]
Convert list->string, vector->string to use string-builder.
Chris Hanson [Sun, 23 Apr 2017 01:14:39 +0000 (18:14 -0700)]
Fix call to string-builder that was missed.
Chris Hanson [Sun, 23 Apr 2017 00:54:10 +0000 (17:54 -0700)]
Simplify string, string*, string-append, string-append*.
Chris Hanson [Sun, 23 Apr 2017 00:53:53 +0000 (17:53 -0700)]
Fix typo causing memory corruption.
Taylor R Campbell [Sat, 22 Apr 2017 14:27:44 +0000 (14:27 +0000)]
Fix typo.
XXX Obviously this needs an automatic test!
From mejja.
Chris Hanson [Sat, 22 Apr 2017 07:20:30 +0000 (00:20 -0700)]
Change string-copy to return legacy string only if arg is also legacy.
Chris Hanson [Sat, 22 Apr 2017 07:17:19 +0000 (00:17 -0700)]
Move NFC marking from canonical-composition to string->nfc.
Chris Hanson [Sat, 22 Apr 2017 07:05:56 +0000 (00:05 -0700)]
Significantly simplify string-builder.
* Eliminate options; now just optional buffer-length.
* Result type is specified at build rather than up front.
* Eliminate never-exported make-string-builder.
Chris Hanson [Fri, 21 Apr 2017 23:48:44 +0000 (16:48 -0700)]
Change string->nfc to return immutable value, and optimize a bit.
Chris Hanson [Fri, 21 Apr 2017 23:48:03 +0000 (16:48 -0700)]
Support TEST environment variable in "make check".
Also clean up output slightly.
Chris Hanson [Fri, 21 Apr 2017 23:22:11 +0000 (16:22 -0700)]
string->nfd: also convert mutable strings already in NFD.
Chris Hanson [Fri, 21 Apr 2017 23:03:18 +0000 (16:03 -0700)]
Change string->nfd to return immutable value.
Chris Hanson [Fri, 21 Apr 2017 22:33:19 +0000 (15:33 -0700)]
Change builder options to distinguish between mutable and legacy results.
Chris Hanson [Fri, 21 Apr 2017 22:04:17 +0000 (15:04 -0700)]
Rearrange and optimize. Also make ustring1 be zero-terminated.
Chris Hanson [Fri, 21 Apr 2017 22:03:49 +0000 (15:03 -0700)]
Mark ignored binding.
Chris Hanson [Fri, 21 Apr 2017 07:22:29 +0000 (00:22 -0700)]
Change Edwin's implementation of strings to work for all "string-ish" types.
Chris Hanson [Fri, 21 Apr 2017 07:21:41 +0000 (00:21 -0700)]
Add tagging support for unicode-string.
Also generate better error for unknown type codes.
Chris Hanson [Fri, 21 Apr 2017 07:21:14 +0000 (00:21 -0700)]
Change string primitives to uniformly support all "string-ish" types.
Chris Hanson [Fri, 21 Apr 2017 05:32:27 +0000 (22:32 -0700)]
Change string-builder to generate immutable strings by default.
Also fix bug in string->list assumed mutable inputs.
Chris Hanson [Thu, 20 Apr 2017 06:00:54 +0000 (23:00 -0700)]
Now that legacy string has the same layout as ustring1, merge handling of both.
Chris Hanson [Thu, 20 Apr 2017 00:44:44 +0000 (17:44 -0700)]
Allow string operations to take Unicode strings with 1 byte per CP.
Chris Hanson [Wed, 19 Apr 2017 05:18:24 +0000 (22:18 -0700)]
Change string comparisons to normalize to NFC prior to comparing.
The procedures that return index values have not been updated since it's not
obvious what to do with them. Comparison is meaningless for non-normalized
strings, so it's necessary that all comparisons be done between normalized
strings. This means either (a) require compared strings to be normalized before
calling the comparator, or (b) have the comparator do normalization on the
arguments. If (b) is chosen, then the returned index value will be wrong in the
case where the arguments aren't normalized, as it will refer to the normalized
strings, not the arguments.
I'm considering choosing (b) and changing the definitions of these procedures to
return a slice into the normalized strings instead of an index. However, the
upcoming implementation of immutable strings may make it simple for every
immutable string to be normalized, which may make (a) feasible.
For now I'm going to ignore this, which is fine as long as only ASCII strings
are compared.