Chris Hanson [Sat, 10 Aug 2019 21:31:04 +0000 (14:31 -0700)]
Add missing definition of exact as noticed by GJS.
Also update the text of inexact and exact to match R7RS.
Chris Hanson [Sat, 10 Aug 2019 21:04:08 +0000 (14:04 -0700)]
Fix thinko in previous change.
Chris Hanson [Sat, 10 Aug 2019 05:42:22 +0000 (22:42 -0700)]
Change write to use datum labels only when cycles are present.
This is required by R7RS but was not understood earlier.
Chris Hanson [Mon, 5 Aug 2019 05:05:54 +0000 (22:05 -0700)]
Implement bundle delegation using a more general combinator mechanism.
Matt Birkholz [Sun, 11 Nov 2018 19:05:48 +0000 (12:05 -0700)]
runtime/http-io: request body can be #f
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.
Chris Hanson [Sat, 20 Jul 2019 08:33:47 +0000 (04:33 -0400)]
Implement bytevector<?.
Chris Hanson [Sat, 20 Jul 2019 02:08:00 +0000 (22:08 -0400)]
Don't unread #f as if it were a character.
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.
Chris Hanson [Fri, 19 Jul 2019 01:33:43 +0000 (21:33 -0400)]
Teach pp to respect custom print methods for tagged vectors.
Manual cherry pick of
c1c65b0b455d94e9932d2a01fd588d58e12841b5.
Chris Hanson [Thu, 18 Jul 2019 18:43:01 +0000 (14:43 -0400)]
Make sure that host-adapter is loaded when compiling external modules.
This is necessary now because it modifies SF.
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.
Chris Hanson [Thu, 18 Jul 2019 01:24:29 +0000 (21:24 -0400)]
Tweak Makefile to ensure that SF is loaded prior to host-adapter.
This is necessary for the time being and might be needed in the future.
Chris Hanson [Thu, 18 Jul 2019 00:53:01 +0000 (20:53 -0400)]
Update version number for release.
Chris Hanson [Wed, 17 Jul 2019 23:46:54 +0000 (19:46 -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.
Manual cherry-pick of
8ab22a695b3801e59c5067fb065e7dfad4e59c96.
Chris Hanson [Wed, 17 Jul 2019 23:35:00 +0000 (19:35 -0400)]
Implement a delegation protocol for bundles.
Manual cherry-pick of
1afe2dabb341a1247754dbce14cb70cf81f38d54.
Chris Hanson [Tue, 9 Jul 2019 23:53:32 +0000 (19:53 -0400)]
Fix stupid typo in reader.
Chris Hanson [Tue, 9 Jul 2019 03:28:20 +0000 (23:28 -0400)]
Fix screw-up in previous host-adapter change.
Chris Hanson [Wed, 17 Jul 2019 23:28:36 +0000 (19:28 -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.
Manual cherry-pick of
d41c8338f7eaaadcdd96b9cf20364bd76a3d7ed9.
Chris Hanson [Wed, 17 Jul 2019 23:17:24 +0000 (19:17 -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.
Manual cherry-pick of
9b94290f82a99dfdb63ae94defcc8a92f2c0514d.
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.
Chris Hanson [Sun, 9 Jun 2019 20:02:39 +0000 (13:02 -0700)]
Update version number for release.
Chris Hanson [Sun, 9 Jun 2019 19:52:07 +0000 (12:52 -0700)]
Add "adapters" to list of source files.
Chris Hanson [Sun, 9 Jun 2019 02:20:02 +0000 (19:20 -0700)]
Update make-upload-files to new version.
Chris Hanson [Sat, 8 Jun 2019 21:23:48 +0000 (14:23 -0700)]
Fix incorrect edit.
Chris Hanson [Sat, 8 Jun 2019 05:13:30 +0000 (22:13 -0700)]
Update version number for release.
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.
Chris Hanson [Fri, 7 Jun 2019 06:10:07 +0000 (23:10 -0700)]
Make sure that ports use ISO 8859-1 coding.
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.
Chris Hanson [Mon, 3 Jun 2019 01:13:01 +0000 (18:13 -0700)]
Update version number for release.
Taylor R Campbell [Wed, 7 Nov 2018 16:27:15 +0000 (16:27 +0000)]
Need "osentropy.h" for OS_get_entropy.
Taylor R Campbell [Wed, 7 Nov 2018 16:27:01 +0000 (16:27 +0000)]
Use "config.h" to get uint8_t. No more need of <stddef.h> for size_t.
Taylor R Campbell [Wed, 29 May 2019 21:14:09 +0000 (21:14 +0000)]
Fix bug that caused redrawing whole display on paren flash.
(cherry picked from commit
5ae9aa0dbfd5160ca639af31ccda32366a99173d)
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.
(cherry picked from commit
e4efa02c98e06c00a3541f56a1e5dce94c45e925)
Taylor R Campbell [Wed, 29 May 2019 20:47:35 +0000 (20:47 +0000)]
Tighten encode-cache-namestring.
(cherry picked from commit
d958ab7ac94413d954a2f15a23c7a317ac0bf075)
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.
(cherry picked from commit
19232fbaabd6a24a30eb53d6dacb5199b3fc7d2d)
Taylor R Campbell [Sat, 24 Nov 2018 03:53:29 +0000 (03:53 +0000)]
Default os/interprogram-paste needs to return #f or string.
(cherry picked from commit
b682db1256a2741e0610f0a77bb62c0ab584cd84)
Taylor R Campbell [Wed, 29 May 2019 16:14:43 +0000 (16:14 +0000)]
Make number of topmost frames with expressions shown configurable.
(cherry picked from commit
40b38b004302f7f23024f0ea220e8bad3fa00688)
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*.
(cherry picked from commit
eefd86a6e67babba7d4c4eaa0fc80bd91b992f52)
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.
(cherry picked from commit
6748a3cf190f5232d25483f15a833e8a61e706be)
Taylor R Campbell [Wed, 29 May 2019 04:57:53 +0000 (04:57 +0000)]
Use number->string directly; skip dispatch through write-to-string.
(cherry picked from commit
214cee1229fd10f3a4303cb4613af03a3915d5fe)
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.
(cherry picked from commit
c9608c1efcd247ed84b2a2afafa523a7b599648c)
Taylor R Campbell [Sun, 6 Jan 2019 04:14:15 +0000 (04:14 +0000)]
Can't see why I chose to discard recent samples a decade ago.
(cherry picked from commit
c8e355ff3c0666d79a4c4863fd0a2c72ca34669a)
Taylor R Campbell [Sun, 6 Jan 2019 04:14:01 +0000 (04:14 +0000)]
Dust off stack sampler.
Use of compiled-code-address? will be needed by the
riastrah-
20181220-closentry{...} branch.
(cherry picked from commit
de3dd56418b9e124aa9a51e4bd6bbcc6ba30aee7)
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.
(cherry picked from commit
9a3417ac7a5f294fbbda397086d890029d45343a)
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.
(cherry picked from commit
aec466572291046f0dde041eb29a8330ffc7ab8f)
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.
(cherry picked from commit
b0b11d54bc0d0cf639ca7205fc8e3396e4fd6807)
Taylor R Campbell [Wed, 29 May 2019 00:53:14 +0000 (00:53 +0000)]
Integrate some subroutines that turn up hot in profiles.
(cherry picked from commit
8f4e491fd35266b0c052866a1476c57d4a292a68)
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.
(cherry picked from commit
c4109d9287476d1f432fc411a040d24ce92a8675)
Matt Birkholz [Fri, 17 May 2019 16:33:16 +0000 (09:33 -0700)]
Fix enumerate-graphics-types per documentation.
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.
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.
Matt Birkholz [Mon, 29 Apr 2019 20:34:18 +0000 (13:34 -0700)]
x-graphics-draw-arc: Add missing parameters.
Taylor R Campbell [Wed, 7 Nov 2018 16:28:59 +0000 (16:28 +0000)]
Check for fenv.h and ieeefp.h functions only if the header is there.
Makes it easier to disable these and test our own version by just
setting ac_cv_header_fenv_h=no ac_cv_header_ieeefp_h=no.
(cherry picked from commit
28ab7305af256228eaf9c65a56e7539826045fb1)
Taylor R Campbell [Wed, 7 Nov 2018 16:26:23 +0000 (16:26 +0000)]
Fix prototypes for x87_read/write_environment.
(cherry picked from commit
418c23c14e4aeefee3d6d4ec7788ffde1d88c724)
Taylor R Campbell [Wed, 7 Nov 2018 07:52:46 +0000 (07:52 +0000)]
New primitive (get-entropy bv) randomly fills a 32-byte vector.
(cherry picked from commit
478d7736541b1e0dcc686d94f923d33041ba6b78)
Taylor R Campbell [Sun, 6 Jan 2019 17:01:34 +0000 (17:01 +0000)]
Teach cref and sf about separate source and object directories.
(cherry picked from commit
54c7276771c16f19ae9b077402a32333271ef06b)
Taylor R Campbell [Tue, 11 Dec 2018 15:52:07 +0000 (15:52 +0000)]
Teach cross-SF/CREF to dump/load in .nib, .txe, .dkp.
These correspond to .bin, .ext, .pkd. LOAD-OPTION still loads from
.bin, .ext, .pkd (and .com) for libraries that are installed and are
not macro definitions of subsystems being cross-compiled.
This backwards suffix business is getting a little out of hand.
Possible partial alternatives:
- .xbin/.xext/.xpkd
- invent a static linker in the toolchain that can run on the cross
host rather than using make.scm and disk-save in the cross target
- devise a portable fasload that sf/cref can use in the cross host
- use a machine-independent file format for .bin/.ext/.pkd
(cherry picked from commit
dc21a9094a5107ca7e2c8645cb5ebef8da70dd19)
Chris Hanson [Sat, 16 Mar 2019 08:15:41 +0000 (01:15 -0700)]
Update version numbers for release.
Chris Hanson [Sat, 16 Mar 2019 05:27:01 +0000 (22:27 -0700)]
Fix bug in printing of string slices.
Chris Hanson [Sat, 16 Mar 2019 05:15:58 +0000 (22:15 -0700)]
Remove cleverness for SIGTERM and SIGHUP.
SIGTERM shouldn't be caught; instead just leave the default behavior. SIGHUP is
sent by Emacs when the *scheme* buffer is killed; it must kill the process or
we're left with a detached process.
Chris Hanson [Sun, 10 Feb 2019 22:04:07 +0000 (14:04 -0800)]
Eliminate potentially-problematic use of delay for char-set-predicate.
Chris Hanson [Sun, 10 Feb 2019 00:20:33 +0000 (16:20 -0800)]
Put char-set microcode table back in data structure. Edwin needs this.
Chris Hanson [Sat, 26 Jan 2019 23:50:14 +0000 (15:50 -0800)]
Update version numbers for release.
Chris Hanson [Sat, 26 Jan 2019 23:21:33 +0000 (15:21 -0800)]
Change param:reader-fold-case? to be settable.
(cherry picked from commit
cd38101be3c58a4b4361e5715375fc87a9eff4dd)
Matt Birkholz [Thu, 24 Jan 2019 19:42:24 +0000 (12:42 -0700)]
x11: Fix declaration of x_graphics_set_clip_rectangle.
(cherry picked from commit
8bdee68690a0a8e70b4f9c6183cf80f668f0cad4)
Matt Birkholz [Wed, 23 Jan 2019 21:42:19 +0000 (14:42 -0700)]
x11 version 1.3
(cherry picked from commit
e847e7db3cd5cff37b1d19ef9c50338fa09fae82)
Matt Birkholz [Wed, 23 Jan 2019 21:57:20 +0000 (14:57 -0700)]
x11: Punt import-x11.
(cherry picked from commit
69096876b4974242b86582f180d4eb6be0a4656f)
Matt Birkholz [Wed, 23 Jan 2019 21:08:18 +0000 (14:08 -0700)]
runtime.pkg: Trim old, unnecessary package exports.
The (runtime x-graphics) package doesn't use have-select? nor (lately)
make-image-type. (The (x11 device) package imports make-image-type.)
(cherry picked from commit
51fecb2c8c30855b71b73572b1203dfc1cb6d625)
Matt Birkholz [Wed, 23 Jan 2019 20:46:35 +0000 (13:46 -0700)]
x11: Link to deprecated (runtime x-graphics) bindings when loaded.
(cherry picked from commit
b0ea100a310b3b09134a162aca42e16c1c71bda6)
Matt Birkholz [Wed, 23 Jan 2019 20:44:17 +0000 (13:44 -0700)]
x11: Rename device type to "x".
(cherry picked from commit
63d7afa5222d1b0bd6cb79e20ec0738287ceb9f0)
Chris Hanson [Mon, 21 Jan 2019 04:22:28 +0000 (20:22 -0800)]
Don't return open block at top level when syntaxing a single form.
(cherry picked from commit
71d9d70415cc836d245175a22bf9b937ae26ab15)
Matt Birkholz [Sun, 20 Jan 2019 19:38:04 +0000 (11:38 -0800)]
x11: Fix x-graphics-vdc-extent and x-graphics-set-clip-rectangle.
x-graphics-vdc-extent should have had one argument and returned a
vector, and x-graphics-set-clip-rectangle needed to accept floats.
(cherry picked from commit
cc175b7ef75231a0220d7f384e4fc1c1dd80df67)
Chris Hanson [Sun, 6 Jan 2019 02:28:40 +0000 (18:28 -0800)]
Allow alist->bundle to accept #F as predicate.
Also beef up bundle tests a bit.
Chris Hanson [Sun, 6 Jan 2019 02:12:26 +0000 (18:12 -0800)]
Fix problem with using bundle? as a bundle predicate.
Chris Hanson [Sun, 6 Jan 2019 01:52:10 +0000 (17:52 -0800)]
New printer parameter param:print-hash-number-in-objects?.
Chris Hanson [Fri, 4 Jan 2019 05:16:54 +0000 (00:16 -0500)]
Tweak equality-predicate-property to accept a default-value argument.
Chris Hanson [Fri, 4 Jan 2019 04:44:26 +0000 (23:44 -0500)]
Don't use general predicate relations for record predicates.
Taylor R Campbell [Wed, 2 Jan 2019 05:50:59 +0000 (05:50 +0000)]
Use runtime's string ports.
Also read file in one swell foop, rather than character by character
in a slow painful chain of indirections thousands of times slower.
We'll use legacy strings here because this code was all written under
the assumption that `string' meant byte vector, and legacy strings
still have that semantics.
Eventually this should all be adapted to use bytevectors instead for
storage, and interpret things as strings only as necessary for text
processing beyond mail data formats.
Taylor R Campbell [Wed, 2 Jan 2019 05:50:16 +0000 (05:50 +0000)]
Implement position for string input ports.
Taylor R Campbell [Wed, 2 Jan 2019 05:50:06 +0000 (05:50 +0000)]
Export binary-port-length too.
Taylor R Campbell [Sat, 8 Dec 2018 14:19:46 +0000 (14:19 +0000)]
Fix binary-port-position for output ports.
Not sure if it'll DTRT for combined i/o ports; need more tests!
Taylor R Campbell [Sat, 8 Dec 2018 14:10:14 +0000 (14:10 +0000)]
Export binary-port-position and set-binary-port-position!.
Currently busted for output ports.
Chris Hanson [Wed, 2 Jan 2019 06:30:06 +0000 (01:30 -0500)]
Fix problem with crashing in Emacs interface.
Taylor R Campbell [Wed, 2 Jan 2019 02:16:36 +0000 (02:16 +0000)]
Integrate string operations for order of magnitude speedup.
Taylor R Campbell [Wed, 2 Jan 2019 02:16:28 +0000 (02:16 +0000)]
ucd-slc-value &c. return chars, not fixnums.
Chris Hanson [Fri, 2 Nov 2018 05:07:12 +0000 (22:07 -0700)]
Don't use upper-case symbols in loader.
The system might be in a non-case-fold mode.
Chris Hanson [Sun, 6 Jan 2019 07:15:22 +0000 (23:15 -0800)]
Update version to 10.1.4.
Chris Hanson [Sun, 6 Jan 2019 07:09:12 +0000 (23:09 -0800)]
Do the annual copyright update.
Chris Hanson [Fri, 23 Nov 2018 00:48:20 +0000 (16:48 -0800)]
Explicitly prevent native releases from assuming a scheme exists.
Chris Hanson [Fri, 23 Nov 2018 00:46:54 +0000 (16:46 -0800)]
Revise unix installation notes to be more specific.
Taylor R Campbell [Fri, 16 Nov 2018 17:00:10 +0000 (17:00 +0000)]
Make flo:integer? answer true only for finite inputs.
Chris Hanson [Tue, 20 Nov 2018 03:57:38 +0000 (19:57 -0800)]
Pass IS_NATIVE_RELEASE to microcode during configuration.
Chris Hanson [Tue, 20 Nov 2018 03:50:37 +0000 (19:50 -0800)]
Fix create-makefiles.sh to use arch consistently.
Chris Hanson [Tue, 20 Nov 2018 00:33:44 +0000 (16:33 -0800)]
Change configure.ac to gobble up arch from ".native-release-marker".
Chris Hanson [Mon, 19 Nov 2018 02:45:00 +0000 (18:45 -0800)]
Change .native-release-marker to contain arch.
Chris Hanson [Sat, 17 Nov 2018 04:51:33 +0000 (20:51 -0800)]
Update version to 10.1.3.
Matt Birkholz [Sun, 11 Nov 2018 16:03:49 +0000 (09:03 -0700)]
mcrypt/configure.ac: typo
Matt Birkholz [Sat, 10 Nov 2018 19:56:47 +0000 (12:56 -0700)]
ffi/build: typo, free variable
Chris Hanson [Thu, 1 Nov 2018 05:41:45 +0000 (22:41 -0700)]
Make macos dmg file read only.