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.
Chris Hanson [Thu, 1 Nov 2018 01:55:47 +0000 (18:55 -0700)]
Fix problem with building and installing x11 plugin from native dist.
Chris Hanson [Tue, 30 Oct 2018 04:30:33 +0000 (21:30 -0700)]
Don't assume that it's possible to run MIT_SCHEME_EXE during configuration.
This won't work with a native distribution, since there may not be a working
scheme on the host. Instead use other ways to do the necessary work.
Chris Hanson [Tue, 30 Oct 2018 01:43:02 +0000 (18:43 -0700)]
Bump revision to 10.1.1 to fix stupid bug.
Chris Hanson [Sun, 28 Oct 2018 23:08:29 +0000 (16:08 -0700)]
Reduce default heap size for 32-bit systems.
During build was getting sporadic "unable to mmap heap" errors.
Chris Hanson [Sun, 28 Oct 2018 22:10:02 +0000 (15:10 -0700)]
Fix typo in previous change.
Taylor R Campbell [Sun, 28 Oct 2018 19:56:35 +0000 (19:56 +0000)]
Eliminate flo:epsilon.
The name is confusing. It means two different things: the distance
from 1 to the next positive floating-point number, and the maximum
relative error of rounding to the nearest floating-point number.
Provide the separate names flo:ulp-of-one and flo:error-bound for
these so that you're not even tempted to be confused by the name
`epsilon'.
(But continue to say `eps' in the proofs in the comments where it's
obvious that we're talking about relative error bounds and a short
name for that is essential for legibility.)
Taylor R Campbell [Sun, 28 Oct 2018 04:13:26 +0000 (04:13 +0000)]
Tidy up error analysis of logit and logistic.
Add (logit1/2+ p) = (logit (+ 1/2 p)) and (logistic-1/2 x) = (-
(logistic x) 1/2), for reasons like log1p and expm1. Add some
trivial tests of the edge cases they cover where logit and logistic
are ill-conditioned.
Chris Hanson [Sun, 28 Oct 2018 03:43:38 +0000 (20:43 -0700)]
Merge branch 'release-10'
Chris Hanson [Fri, 26 Oct 2018 02:02:51 +0000 (19:02 -0700)]
No need to separately configure plugins.
Chris Hanson [Fri, 26 Oct 2018 02:02:36 +0000 (19:02 -0700)]
Change "module" to "plugin".
Chris Hanson [Sun, 28 Oct 2018 03:41:15 +0000 (20:41 -0700)]
Eliminate compiler warning.
Chris Hanson [Sat, 27 Oct 2018 23:49:09 +0000 (16:49 -0700)]
Use create-dmg script to automate building of macOS image.
Chris Hanson [Sat, 27 Oct 2018 22:40:58 +0000 (15:40 -0700)]
Fix a couple of compiler warnings from 32-bit system.
Chris Hanson [Sat, 27 Oct 2018 05:20:16 +0000 (22:20 -0700)]
Merge branch 'release-10' of git.sv.gnu.org:/srv/git/mit-scheme into release-10
Chris Hanson [Sat, 27 Oct 2018 05:19:58 +0000 (22:19 -0700)]
Fix thinko.
Chris Hanson [Sat, 27 Oct 2018 05:19:42 +0000 (22:19 -0700)]
Eliminate unavailable (and unused) load option.
Taylor R Campbell [Sat, 27 Oct 2018 02:45:23 +0000 (02:45 +0000)]
Forgot to define this. Ummm, I guess cref accidentally made it work?
Taylor R Campbell [Sat, 27 Oct 2018 02:37:06 +0000 (02:37 +0000)]
Expose flo:radix = 2 too, just for good measure, and for assertions.
Taylor R Campbell [Sat, 27 Oct 2018 02:21:06 +0000 (02:21 +0000)]
Export primitive flonum-denormalize as flo:ldexp and flo:scalbn.
These are the familiar -- and when FLT_RADIX = 2, equivalent -- names
for the operation in libm.
`Denormalize' is not right: neither does it turn a normal number into
a subnormal, nor does it put anything into a canonical interval like
[1/2, 1) or [1, 2). I personally favour `shift' -- it is, in Z, the
same as the bitwise shift operation. But unless anyone else wants to
join me against this windmill I'll just stay with the familiar if
ugly libm names.
Taylor R Campbell [Sat, 27 Oct 2018 02:11:27 +0000 (02:11 +0000)]
Disable errno checking in libm functions.
If there's a floating-point exception, we have a mechanism for
dealing with it -- and continuing without a trap if the user so
desires.
Leave in the restriction on flo:log1p and flo:expm1 because those are
implementation limitations in the i386 compiler; the full functions
are implemented in the runtime.
Taylor R Campbell [Sat, 27 Oct 2018 02:11:14 +0000 (02:11 +0000)]
log1pexp(x) is never exactly x even if that's the best approximation.
Taylor R Campbell [Sat, 27 Oct 2018 02:05:18 +0000 (02:05 +0000)]
Tabify.
Taylor R Campbell [Sat, 27 Oct 2018 02:04:17 +0000 (02:04 +0000)]
Use named constants rather than magic numbers.
Taylor R Campbell [Sat, 27 Oct 2018 01:39:58 +0000 (01:39 +0000)]
Define and export some more floating-point parameters.
Chris Hanson [Sat, 27 Oct 2018 00:52:46 +0000 (17:52 -0700)]
Fix typo.
Chris Hanson [Sat, 27 Oct 2018 00:38:36 +0000 (17:38 -0700)]
Update make-doc-files to work with plugins.
Taylor R Campbell [Sat, 27 Oct 2018 00:37:54 +0000 (00:37 +0000)]
test-driver is autocrud too.
Chris Hanson [Sat, 27 Oct 2018 00:38:05 +0000 (17:38 -0700)]
Change way that plugins are registered so that lib and doc are separate.
This is needed when building just the documentation, as for the release.
Taylor R Campbell [Sat, 27 Oct 2018 00:23:12 +0000 (00:23 +0000)]
Simple-minded criterion to compute x^-y by 1/x^y was too simple.
For any |x| > 1, we can't do this without comparing the size of
log(x) and y well enough to discern what might yield subnormal, so
might as well just compute the general case then.
Taylor R Campbell [Sat, 27 Oct 2018 00:03:42 +0000 (00:03 +0000)]
Omit unnecessary case for logistic. Add a test for this case.
The relative error is small in naive evaluation of 1/(1 + e^{-x})
even if x is very negative.
Chris Hanson [Fri, 26 Oct 2018 23:47:16 +0000 (16:47 -0700)]
Fix potential shell portability issues.
Taylor R Campbell [Fri, 26 Oct 2018 23:41:39 +0000 (23:41 +0000)]
Extend expt to generate subnormals with exact integer exponents.
Taylor R Campbell [Fri, 26 Oct 2018 23:32:37 +0000 (23:32 +0000)]
Expose the minimum and maximum finite normal floating-point exponents.
Taylor R Campbell [Fri, 26 Oct 2018 16:53:13 +0000 (16:53 +0000)]
Add some .gitignore files so I can use git status.
Taylor R Campbell [Fri, 26 Oct 2018 16:20:09 +0000 (16:20 +0000)]
New primitives for ChaCha stream cipher core.
Should maybe provide a version that produces many blocks of output,
and perhaps xor's them into an existing message, but this will do for
my needs now. Plan to use this for a PRNG.
Taylor R Campbell [Fri, 26 Oct 2018 16:17:41 +0000 (16:17 +0000)]
Fix unparser->print method fallout.
Taylor R Campbell [Fri, 26 Oct 2018 16:17:10 +0000 (16:17 +0000)]
Avoid using uninitialized stack garbage.
Taylor R Campbell [Fri, 26 Oct 2018 16:15:28 +0000 (16:15 +0000)]
clock() returns (clock_t)-1 on error, not necessarily negative.
If clock_t is unsigned, n < 0 is always false. Compare for equality
with (clock_t)-1.
Chris Hanson [Fri, 26 Oct 2018 03:15:52 +0000 (20:15 -0700)]
Add plugin docs to doc files.
Chris Hanson [Fri, 26 Oct 2018 03:15:40 +0000 (20:15 -0700)]
More version numbers.
Chris Hanson [Fri, 26 Oct 2018 03:15:26 +0000 (20:15 -0700)]
Remove no-longer-needed args to configure.
Chris Hanson [Fri, 26 Oct 2018 02:20:04 +0000 (19:20 -0700)]
More version numbers.
Chris Hanson [Fri, 26 Oct 2018 02:06:25 +0000 (19:06 -0700)]
Update some version numbers.
Chris Hanson [Fri, 26 Oct 2018 02:02:51 +0000 (19:02 -0700)]
No need to separately configure plugins.
Chris Hanson [Fri, 26 Oct 2018 02:02:36 +0000 (19:02 -0700)]
Change "module" to "plugin".
Chris Hanson [Thu, 25 Oct 2018 21:21:08 +0000 (14:21 -0700)]
Bug reported by Arthur: case-fold-string was dropping tail of string.
Chris Hanson [Thu, 25 Oct 2018 20:59:31 +0000 (13:59 -0700)]
Add --no-init-file to those places that might be calls to 9.2.
This isn't needed any more since --no-init-file is implied by --batch-mode, and
can be removed after the next release.