mit-scheme.git
5 years agoAdd shim source glibio.c (lost in the merge).
Matt Birkholz [Fri, 26 Jul 2019 06:18:38 +0000 (01:18 -0500)]
Add shim source glibio.c (lost in the merge).

5 years agoplanetarium: fix google elevations job
Matt Birkholz [Thu, 25 Jul 2019 22:08:34 +0000 (17:08 -0500)]
planetarium: fix google elevations job

Thanks to Dave <dgray@iesl.forth.gr>.

5 years agogdbm: doco typo
Matt Birkholz [Thu, 25 Jul 2019 22:08:08 +0000 (17:08 -0500)]
gdbm: doco typo

5 years agoNew tags-fix.sh for every plugin.
Matt Birkholz [Thu, 25 Jul 2019 20:48:51 +0000 (15:48 -0500)]
New tags-fix.sh for every plugin.

5 years agoMerge branch 'master' into pucked.
Matt Birkholz [Thu, 25 Jul 2019 20:32:23 +0000 (15:32 -0500)]
Merge branch 'master' into pucked.

5 years agoAdd subprocess-binary-i/o-port.
Matt Birkholz [Sun, 14 Jul 2019 20:40:41 +0000 (13:40 -0700)]
Add subprocess-binary-i/o-port.

5 years agoPlugin Makefile.am improvements.
Matt Birkholz [Thu, 25 Jul 2019 13:31:43 +0000 (08:31 -0500)]
Plugin Makefile.am improvements.

These were backported from recent improvements to x11/Makefile.am.

  + Use EXEEXT where appropriate.
  + Add MOSTLYCLEANFILES and mostlyclean-local.
  + Use TAGS_FILES and punt the ETAGS_ARGS misuse.
  + Add -adapter.lo to _shim_la_OBJECTS, not _shim_la_LIBADD.
  + Eliminate trailing whitespace.
  + Correct the copyright notices for x11 and x11-screen.
  + Punt stamp-scheme's dependence on -const.bin (redundant to the
    dependence on stamp-shim).

5 years agoSilence autogen.shs, which blabber error messages (to Emacs's eye).
Matt Birkholz [Thu, 25 Jul 2019 13:27:59 +0000 (08:27 -0500)]
Silence autogen.shs, which blabber error messages (to Emacs's eye).

5 years agogdbm: Downcase constants to match case in package descriptions.
Matt Birkholz [Sun, 14 Jul 2019 20:22:47 +0000 (13:22 -0700)]
gdbm: Downcase constants to match case in package descriptions.

5 years agoChange symbol<? to delegate to bytevector<?.
Chris Hanson [Sat, 20 Jul 2019 08:33:57 +0000 (04:33 -0400)]
Change symbol<? to delegate to bytevector<?.

This is much faster than string comparison, which matters since symbols should
be fast.  The downside is that symbols and strings will sort somewhat
differently, but that shouldn't matter since someone can always sort them using
symbol->string.

5 years agoImplement bytevector<?.
Chris Hanson [Sat, 20 Jul 2019 08:33:47 +0000 (04:33 -0400)]
Implement bytevector<?.

5 years agoDon't unread #f as if it were a character.
Chris Hanson [Sat, 20 Jul 2019 02:08:00 +0000 (22:08 -0400)]
Don't unread #f as if it were a character.

5 years agoEdwin: force subprocess I/O ports to use iso-8859-1 coding.
Chris Hanson [Fri, 19 Jul 2019 03:26:56 +0000 (23:26 -0400)]
Edwin: force subprocess I/O ports to use iso-8859-1 coding.

There may still be a problem with synchronous subprocesses, since we don't have
a way to get at those ports.  If the process writes UTF-8, then the I/O copier
will try to write unicode chars to a buffer, and I'm not sure what will happen
in that case.  It might just ignore the upper bits.

5 years agoTreat keyword-only syntax environments differently from runtime environments.
Chris Hanson [Wed, 17 Jul 2019 22:54:49 +0000 (18:54 -0400)]
Treat keyword-only syntax environments differently from runtime environments.

The former are those created by let-syntax and the like; the latter are models
of runtime environments as created by lambda.

This fixes a bug when let-syntax contains a bunch of definitions, which should
be defined in the parent environment of the let-syntax, because it's meaningless
to define them in the let-syntax environment itself.  This was previously worked
around by heuristic means, but this change makes the definitions appear in the
correct syntactic environment corresponding to the runtime environment.

5 years agoImplement a delegation protocol for bundles.
Chris Hanson [Wed, 17 Jul 2019 19:55:48 +0000 (15:55 -0400)]
Implement a delegation protocol for bundles.

5 years agoFix stupid typo in reader.
Chris Hanson [Tue, 9 Jul 2019 23:53:32 +0000 (19:53 -0400)]
Fix stupid typo in reader.

5 years agoFix screw-up in previous host-adapter change.
Chris Hanson [Tue, 9 Jul 2019 03:28:20 +0000 (23:28 -0400)]
Fix screw-up in previous host-adapter change.

5 years agoEliminate unused variable from typo.
Chris Hanson [Tue, 9 Jul 2019 03:10:10 +0000 (23:10 -0400)]
Eliminate unused variable from typo.

5 years agoFix a bunch of problems caused by the call-with-values/values change.
Chris Hanson [Tue, 9 Jul 2019 02:51:41 +0000 (22:51 -0400)]
Fix a bunch of problems caused by the call-with-values/values change.

First, SF was open-coding these, so that the compiled code wasn't using the new
convention.  This caused problems at the boundary between interpreted code and
compiled code, and of course the compiled code was now incorrect.  This is fixed
but requires stuff in host-adapter to make it work.

Second, eliminating the open-coding exposed a couple of places that would no
longer initialize correctly during the cold load because they were initialized
prior to the loading of the multiple-values procedures.  This is fixed by
rewriting those to not use multiple values and have been marked with comments.

Finally, because the host-adapter file is now changing SF, SF must be loaded
prior to loading the host adapter.  There was one case in the make file that
needed to be tweaked to make this guarantee.

5 years agoDon't choose the flo:+inf.0/flo:-inf.0 implementations at cold load.
Chris Hanson [Tue, 9 Jul 2019 02:48:43 +0000 (22:48 -0400)]
Don't choose the flo:+inf.0/flo:-inf.0 implementations at cold load.

This is wrong because in our public distributions, the cold load is done on
Ubuntu, but the code is supposed to run on any appropriate unix system.

The fix is to make the selection when the band is restored, guaranteeing that
it's running on the target system.

5 years agoAdd procedure-arity-intersection.
Chris Hanson [Mon, 8 Jul 2019 19:35:03 +0000 (15:35 -0400)]
Add procedure-arity-intersection.

5 years agoChange multiple-value return to be slighly closer to correct.
Chris Hanson [Mon, 8 Jul 2019 19:34:09 +0000 (15:34 -0400)]
Change multiple-value return to be slighly closer to correct.

It's never going to be correct, but this at least permits mixing single values
and multiple values a bit.

5 years agoDon't use +inf.0 because it throws an exception on macos.
Chris Hanson [Mon, 8 Jul 2019 19:33:23 +0000 (15:33 -0400)]
Don't use +inf.0 because it throws an exception on macos.

This will need to be fixed but right now it prevents compilation.

5 years agoPlot the new math functions and their condition numbers.
Taylor R Campbell [Mon, 8 Jul 2019 00:57:25 +0000 (00:57 +0000)]
Plot the new math functions and their condition numbers.

Plots are done purely in PostScript, so no additional tools required
on top of the existing PostScript/PDF stack we essentially already
depended on.  Plots are cubic spline interpolations computed by a
little automatic differentiation library in PostScript.

Fix some mistakes in the prose characterizations of the condition
numbers that I had written.

5 years agodevops 0.12 mit-scheme-pucked-devops-0.12
Matt Birkholz [Thu, 4 Jul 2019 20:42:52 +0000 (13:42 -0700)]
devops 0.12

5 years agodevops: Update documentation slightly. Downcase a couple symbols.
Matt Birkholz [Thu, 4 Jul 2019 20:33:15 +0000 (13:33 -0700)]
devops: Update documentation slightly.  Downcase a couple symbols.

5 years agodevops: New svm architectures svm1-{32,64}{b,l}e.
Matt Birkholz [Thu, 4 Jul 2019 03:32:21 +0000 (20:32 -0700)]
devops: New svm architectures svm1-{32,64}{b,l}e.

5 years agodevops: Add 19.04 and its code name "disco".
Matt Birkholz [Thu, 4 Jul 2019 03:30:36 +0000 (20:30 -0700)]
devops: Add 19.04 and its code name "disco".

5 years agodevops: Tolerate make check failures.
Matt Birkholz [Thu, 4 Jul 2019 03:29:01 +0000 (20:29 -0700)]
devops: Tolerate make check failures.

5 years agodevops: Use string*.
Matt Birkholz [Thu, 4 Jul 2019 03:28:04 +0000 (20:28 -0700)]
devops: Use string*.

5 years agoplanetarium 0.9 mit-scheme-pucked-planetarium-0.9
Matt Birkholz [Thu, 4 Jul 2019 03:24:20 +0000 (20:24 -0700)]
planetarium 0.9

5 years agogl 0.9 mit-scheme-pucked-gl-0.9
Matt Birkholz [Wed, 3 Jul 2019 23:18:31 +0000 (16:18 -0700)]
gl 0.9

5 years agogtk-screen 0.7 mit-scheme-pucked-gtk-screen-0.7
Matt Birkholz [Wed, 3 Jul 2019 23:18:05 +0000 (16:18 -0700)]
gtk-screen 0.7

5 years agogtk 0.11 mit-scheme-pucked-gtk-0.11
Matt Birkholz [Wed, 3 Jul 2019 23:17:32 +0000 (16:17 -0700)]
gtk 0.11

5 years agocairo 0.11 mit-scheme-pucked-cairo-0.11
Matt Birkholz [Wed, 3 Jul 2019 23:17:13 +0000 (16:17 -0700)]
cairo 0.11

5 years agopango 0.11 mit-scheme-pucked-pango-0.11
Matt Birkholz [Wed, 3 Jul 2019 23:16:52 +0000 (16:16 -0700)]
pango 0.11

5 years agoglib 0.12 mit-scheme-pucked-glib-0.12
Matt Birkholz [Wed, 3 Jul 2019 23:16:33 +0000 (16:16 -0700)]
glib 0.12

5 years agoimail 1.22.5 mit-scheme-pucked-imail-1.22.5
Matt Birkholz [Wed, 3 Jul 2019 23:16:11 +0000 (16:16 -0700)]
imail 1.22.5

5 years agox11-screen 1.0.4 mit-scheme-pucked-x11-screen-1.0.4
Matt Birkholz [Wed, 3 Jul 2019 23:15:40 +0000 (16:15 -0700)]
x11-screen 1.0.4

5 years agoedwin 3.117.5 mit-scheme-pucked-edwin-3.117.5
Matt Birkholz [Wed, 3 Jul 2019 23:15:18 +0000 (16:15 -0700)]
edwin 3.117.5

5 years agox11 1.3.2 mit-scheme-pucked-x11-1.3.2
Matt Birkholz [Wed, 3 Jul 2019 23:14:47 +0000 (16:14 -0700)]
x11 1.3.2

5 years agopgsql 1.0.4 mit-scheme-pucked-pgsql-1.0.4
Matt Birkholz [Wed, 3 Jul 2019 23:14:16 +0000 (16:14 -0700)]
pgsql 1.0.4

5 years agomcrypt 1.0.4 mit-scheme-pucked-mcrypt-1.0.4
Matt Birkholz [Wed, 3 Jul 2019 23:13:51 +0000 (16:13 -0700)]
mcrypt 1.0.4

5 years agogdbm 1.0.4 mit-scheme-pucked-gdbm-1.0.4
Matt Birkholz [Wed, 3 Jul 2019 23:13:20 +0000 (16:13 -0700)]
gdbm 1.0.4

5 years agoblowfish 1.1.4 mit-scheme-pucked-blowfish-1.1.4
Matt Birkholz [Wed, 3 Jul 2019 23:12:38 +0000 (16:12 -0700)]
blowfish 1.1.4

5 years agoSilence autoreconf in the FFI test. mit-scheme-pucked-10.1.11
Matt Birkholz [Wed, 3 Jul 2019 23:09:42 +0000 (16:09 -0700)]
Silence autoreconf in the FFI test.

5 years agocairo/compile.sh: typo
Matt Birkholz [Wed, 3 Jul 2019 22:14:10 +0000 (15:14 -0700)]
cairo/compile.sh: typo

5 years agoSilence autoreconf in the autogen.sh scripts.
Matt Birkholz [Wed, 3 Jul 2019 22:11:01 +0000 (15:11 -0700)]
Silence autoreconf in the autogen.sh scripts.

5 years agoDowncase many symbols.
Matt Birkholz [Wed, 3 Jul 2019 20:14:36 +0000 (13:14 -0700)]
Downcase many symbols.

5 years agocore 10.1.11
Matt Birkholz [Mon, 1 Jul 2019 15:01:29 +0000 (08:01 -0700)]
core 10.1.11

5 years agoFix typo.
Taylor R Campbell [Mon, 1 Jul 2019 00:22:21 +0000 (00:22 +0000)]
Fix typo.

5 years agoClarify the non-significance of the total ordering.
Taylor R Campbell [Mon, 1 Jul 2019 00:16:04 +0000 (00:16 +0000)]
Clarify the non-significance of the total ordering.

5 years agoTweak some text strength.
Taylor R Campbell [Mon, 1 Jul 2019 00:13:38 +0000 (00:13 +0000)]
Tweak some text strength.

5 years agoDon't call NaN a number.
Taylor R Campbell [Mon, 1 Jul 2019 00:11:44 +0000 (00:11 +0000)]
Don't call NaN a number.

5 years agoFix pasto.
Taylor R Campbell [Mon, 1 Jul 2019 00:00:31 +0000 (00:00 +0000)]
Fix pasto.

5 years agoFlesh out an example and fix a typo.
Taylor R Campbell [Sun, 30 Jun 2019 23:44:16 +0000 (23:44 +0000)]
Flesh out an example and fix a typo.

5 years agoAdd flo:signed-lgamma.
Taylor R Campbell [Sun, 30 Jun 2019 23:28:06 +0000 (23:28 +0000)]
Add flo:signed-lgamma.

5 years agoNote a few more flonum operations.
Taylor R Campbell [Sun, 30 Jun 2019 23:08:24 +0000 (23:08 +0000)]
Note a few more flonum operations.

5 years agoUpdate random number generation section of manual.
Taylor R Campbell [Sun, 30 Jun 2019 22:48:30 +0000 (22:48 +0000)]
Update random number generation section of manual.

5 years agoUse a trailing 0 for text clarity.
Taylor R Campbell [Sun, 30 Jun 2019 22:48:08 +0000 (22:48 +0000)]
Use a trailing 0 for text clarity.

5 years agoDocument floating-point environment, exceptions, rounding modes.
Taylor R Campbell [Sun, 30 Jun 2019 21:59:43 +0000 (21:59 +0000)]
Document floating-point environment, exceptions, rounding modes.

5 years agoUpdate documentation for floating-point operations.
Taylor R Campbell [Sun, 30 Jun 2019 20:52:56 +0000 (20:52 +0000)]
Update documentation for floating-point operations.

5 years agoFix flo:ulp on NaN.
Taylor R Campbell [Sun, 30 Jun 2019 19:50:12 +0000 (19:50 +0000)]
Fix flo:ulp on NaN.

5 years agoflo:ulp is busted on NaN.
Taylor R Campbell [Sun, 30 Jun 2019 19:49:19 +0000 (19:49 +0000)]
flo:ulp is busted on NaN.

5 years agoDocument copysign.
Taylor R Campbell [Sun, 30 Jun 2019 19:06:04 +0000 (19:06 +0000)]
Document copysign.

5 years agoCouple more logsumexp tests.
Taylor R Campbell [Sun, 30 Jun 2019 18:58:54 +0000 (18:58 +0000)]
Couple more logsumexp tests.

5 years agoDocument some loggy numerical functions.
Taylor R Campbell [Sun, 30 Jun 2019 04:39:33 +0000 (04:39 +0000)]
Document some loggy numerical functions.

5 years agoRepair mistakes in proofs of some error bounds.
Taylor R Campbell [Sun, 30 Jun 2019 04:30:24 +0000 (04:30 +0000)]
Repair mistakes in proofs of some error bounds.

While here:

- Spell out some magic constants.
- Handle and test some edge cases in log1pexp and log1mexp.
- Paginate.

5 years agoExpect some failures to signal errors on fp exception traps on arm64.
Taylor R Campbell [Thu, 30 May 2019 05:29:56 +0000 (05:29 +0000)]
Expect some failures to signal errors on fp exception traps on arm64.

5 years agoMerge branch 'master' into pucked.
Matt Birkholz [Sat, 29 Jun 2019 22:52:04 +0000 (15:52 -0700)]
Merge branch 'master' into pucked.

5 years agoFix calls to read-bytevector! that weren't aware of EOF values.
Chris Hanson [Sat, 29 Jun 2019 21:21:52 +0000 (14:21 -0700)]
Fix calls to read-bytevector! that weren't aware of EOF values.

5 years agoMerge branch 'master' into pucked.
Matt Birkholz [Sat, 15 Jun 2019 00:23:27 +0000 (17:23 -0700)]
Merge branch 'master' into pucked.

5 years agoAdd "adapters" to list of source files.
Chris Hanson [Sun, 9 Jun 2019 19:52:07 +0000 (12:52 -0700)]
Add "adapters" to list of source files.

5 years agoSuggest use of macOS command line developer tools rather than Xcode.
Chris Hanson [Sun, 9 Jun 2019 04:07:54 +0000 (21:07 -0700)]
Suggest use of macOS command line developer tools rather than Xcode.

5 years agoUpdate make-upload-files to new version.
Chris Hanson [Sun, 9 Jun 2019 02:20:02 +0000 (19:20 -0700)]
Update make-upload-files to new version.

5 years agoFix incorrect edit.
Chris Hanson [Sat, 8 Jun 2019 21:23:48 +0000 (14:23 -0700)]
Fix incorrect edit.

5 years agoTeach reader to find and respect "coding" attribute.
Chris Hanson [Sat, 8 Jun 2019 05:02:39 +0000 (22:02 -0700)]
Teach reader to find and respect "coding" attribute.

This allows a file to override the default utf-8 coding.

5 years agoMake sure that ports use ISO 8859-1 coding.
Chris Hanson [Fri, 7 Jun 2019 06:10:07 +0000 (23:10 -0700)]
Make sure that ports use ISO 8859-1 coding.

5 years agoModify CREF to show references to inherited bindings.
Chris Hanson [Fri, 7 Jun 2019 05:25:29 +0000 (22:25 -0700)]
Modify CREF to show references to inherited bindings.

This will help track down which parts of the string abstraction need to be
replaced.

5 years agolisppaste is dead.
Taylor R Campbell [Wed, 29 May 2019 22:17:25 +0000 (22:17 +0000)]
lisppaste is dead.

5 years agoFix bug that caused redrawing whole display on paren flash.
Taylor R Campbell [Wed, 29 May 2019 21:14:09 +0000 (21:14 +0000)]
Fix bug that caused redrawing whole display on paren flash.

5 years agoHold strong reference to message header while writing summary line.
Taylor R Campbell [Wed, 29 May 2019 20:47:46 +0000 (20:47 +0000)]
Hold strong reference to message header while writing summary line.

This way the GC won't be inclined to eat it from under us when we're
just going to parse it again in a moment for the date or subject.

5 years agoTighten encode-cache-namestring.
Taylor R Campbell [Wed, 29 May 2019 20:47:35 +0000 (20:47 +0000)]
Tighten encode-cache-namestring.

5 years agoUse channel I/O directly for file->string and string->file.
Taylor R Campbell [Wed, 29 May 2019 20:43:55 +0000 (20:43 +0000)]
Use channel I/O directly for file->string and string->file.

Here a string is an octet sequence, always in US-ASCII or UTF-8, so
we don't need the rigmarole of text I/O.

5 years agoMake number of topmost frames with expressions shown configurable.
Taylor R Campbell [Wed, 29 May 2019 16:14:43 +0000 (16:14 +0000)]
Make number of topmost frames with expressions shown configurable.

5 years agoUse the Edwin-private %string-append.
Taylor R Campbell [Wed, 29 May 2019 16:13:50 +0000 (16:13 +0000)]
Use the Edwin-private %string-append.

No need to pay the cost of wide stuff with string-append*.

5 years agoLet SIGALRM do its thing even if we're on the right millisecond.
Taylor R Campbell [Wed, 29 May 2019 16:10:52 +0000 (16:10 +0000)]
Let SIGALRM do its thing even if we're on the right millisecond.

If we request a timer interrupt now in logic that closes a lot of
files, which runs through %deregister-io-descriptor, it looks like
_all_ the time is spent in closing files even if it's merely the case
that at least one file is closed every millisecond.

If we instead let SIGALRM do its thing, unless the interrupt is
_overdue_, then the profiler can discriminate at sub-millisecond
resolution where the time is spent which is what I really want.

5 years agoLine break between #; and multiline expression.
Taylor R Campbell [Wed, 29 May 2019 14:33:29 +0000 (14:33 +0000)]
Line break between #; and multiline expression.

Otherwise Emacs gets confused.

5 years agoUse number->string directly; skip dispatch through write-to-string.
Taylor R Campbell [Wed, 29 May 2019 04:57:53 +0000 (04:57 +0000)]
Use number->string directly; skip dispatch through write-to-string.

5 years agoBlock interrupts, _then_ lock.
Taylor R Campbell [Wed, 29 May 2019 04:24:40 +0000 (04:24 +0000)]
Block interrupts, _then_ lock.

Otherwise an interrupt might try to acquire the lock while we already
hold it, leading to deadlock.

5 years agoRework profiler to be more useful.
Taylor R Campbell [Wed, 29 May 2019 04:12:04 +0000 (04:12 +0000)]
Rework profiler to be more useful.

Just make a histogram of stacks and print that.

5 years agoFix check for arity of hash: must be binary, not unary.
Taylor R Campbell [Wed, 29 May 2019 04:11:52 +0000 (04:11 +0000)]
Fix check for arity of hash: must be binary, not unary.

5 years agoProcess pending thread events when unblocking them.
Taylor R Campbell [Wed, 29 May 2019 04:10:57 +0000 (04:10 +0000)]
Process pending thread events when unblocking them.

Partly fixes bug where profiler never got a chance to run when the
program was doing most of its work in short routines that block and
unblock thread events, like opening and closing files.

Only partly, because it seems something else unblocks thread events
without processing them -- until we do another block/unblock cycle as
in channel-close.  Verified that very little time is actually spent
in channel-close; haven't yet tracked down who the culprit is.

5 years agoIntegrate some subroutines that turn up hot in profiles.
Taylor R Campbell [Wed, 29 May 2019 00:53:14 +0000 (00:53 +0000)]
Integrate some subroutines that turn up hot in profiles.

5 years agoMerge branch 'riastradh-20190527-unicodereplacechar'
Taylor R Campbell [Tue, 28 May 2019 13:46:11 +0000 (13:46 +0000)]
Merge branch 'riastradh-20190527-unicodereplacechar'

5 years agoImplement character replacement on ill-formed octet sequences.
Taylor R Campbell [Mon, 27 May 2019 16:21:08 +0000 (16:21 +0000)]
Implement character replacement on ill-formed octet sequences.

- (utf8->string bv start end #t) now replaces by U+FFFD.

  Existing behaviour of (utf8->string bv [start end]) is unchanged so
  that utf8->string will fail noisily rather than quietly fail to be
  invertible by string->utf8 on certain inputs.

- Generic I/O input now replaces ill-formed octet sequences by U+FFFD.

  TODO: Add (port/set-coding-error port <action>) for <action> =
  replace or <action> = error, perhaps.

TODO: This does not exactly implement the replacement algorithm
recommended as a best practice by Unicode 9, ยง3.9, pp. 127-129.  That
algorithm is inconveneint because our decoder is factored into (a)
claiming a length based on the first code unit, and then (b)
consuming exactly that many bytes; the algorithm requires us to
refactor it so that part (b) can say `never mind' and consume fewer
bytes than (a) requeste.

5 years agoSet port coding to ISO-8859-1 for IMAP.
Taylor R Campbell [Mon, 27 May 2019 17:54:34 +0000 (17:54 +0000)]
Set port coding to ISO-8859-1 for IMAP.

This is a sleazy workaround: sometimes the input is really encoded as
UTF-8, but passing it through Scheme `strings' as ISO-8859-1 works
out to approximately the not-wrong thing.  Really we should be
operating on octets, not on characters-as-if-they-were-octets.

5 years agoFix enumerate-graphics-types per documentation.
Matt Birkholz [Fri, 17 May 2019 16:33:16 +0000 (09:33 -0700)]
Fix enumerate-graphics-types per documentation.

5 years agoTreat strings returned from primitives as UTF-8 coded.
Chris Hanson [Wed, 8 May 2019 06:50:48 +0000 (23:50 -0700)]
Treat strings returned from primitives as UTF-8 coded.

In particular, make sure that filenames are treated this way, because this is
normal for modern unix systems.  This change mostly affects filenames, but also
environment variables and command-line strings.

This is necessary because strings passed to primitives are converted to UTF-8
bytevectors.  Otherwise, a non-ASCII filename returned by a primitive won't be
converted back to the same bytes when passed to another primitive.

5 years agoOn macOS, support building without Xcode installed.
Chris Hanson [Wed, 8 May 2019 05:58:06 +0000 (22:58 -0700)]
On macOS, support building without Xcode installed.

However, command line tools must be installed.