Matt Birkholz [Mon, 26 Aug 2013 01:32:20 +0000 (18:32 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Mon, 26 Aug 2013 01:32:01 +0000 (18:32 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Sat, 24 Aug 2013 22:03:06 +0000 (15:03 -0700)]
svm: Add lost flonum-pred-2-args rule.
The "new" rule escaped the copying from i386/rulflo.scm(?). Also
added symlink src/lib/compiler, useful when debugging a broken build.
Matt Birkholz [Fri, 23 Aug 2013 07:07:49 +0000 (00:07 -0700)]
gtk-screen: DISPLAY need not be set when compiling.
Matt Birkholz [Fri, 23 Aug 2013 07:04:36 +0000 (00:04 -0700)]
gtk-screen: Add gtk-faces to ed-ffi.scm; fix its copyright notice.
Matt Birkholz [Fri, 23 Aug 2013 07:00:49 +0000 (00:00 -0700)]
gtk-screen: New valid value for create-editor-args: (gtk).
Matt Birkholz [Fri, 23 Aug 2013 06:50:50 +0000 (23:50 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Fri, 23 Aug 2013 06:47:27 +0000 (23:47 -0700)]
planetarium: Added dependence on matrices.scm for earth, tellurion.
Matt Birkholz [Fri, 23 Aug 2013 06:46:35 +0000 (23:46 -0700)]
Merge branch 'master' into Gtk
Taylor R Campbell [Sat, 10 Aug 2013 21:11:17 +0000 (21:11 +0000)]
Remove logic to lock IMAIL's IMAP folder cache.
Keep WITH-FOLDER-LOCKED as an empty stub so we might use it later to
let the user control whether to use a cache at all.
There are no invariants that need to be preserved, so locking only
slows us down and reduces concurrency. Two clients fetching the same
item may collide, but the collision is harmless -- unless the server
is bogus, they will be writing the same data. Adding an entry to the
cache is already atomic (unless the system fails before the blocks
have hit the disk) through the use of a temporary directory.
Matt Birkholz [Thu, 11 Jul 2013 20:46:44 +0000 (13:46 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Thu, 11 Jul 2013 20:24:14 +0000 (13:24 -0700)]
Get my Happy Happy Joy Joy back again.
Matt Birkholz [Thu, 11 Jul 2013 20:23:29 +0000 (13:23 -0700)]
Merge branch 'master' into Gtk
Taylor R Campbell [Mon, 1 Jul 2013 15:15:25 +0000 (15:15 +0000)]
Don't assume there is a current thread when interrupted.
Fixes error `No current thread!' when the thread timer interrupt
handler tries to find the interrupted thread's floating-point
environment and there is no current thread.
Taylor R Campbell [Mon, 1 Jul 2013 14:23:47 +0000 (14:23 +0000)]
Fix makefile's IMAIL rule: Edwin must be loaded first.
Chris Hanson [Sun, 23 Jun 2013 07:14:30 +0000 (00:14 -0700)]
Apply patch updating list of windows OS versions.
Taylor R Campbell [Thu, 20 Jun 2013 23:42:40 +0000 (23:42 +0000)]
Fix MIT Scheme's web site URI in the user manual.
From Richard M. Loveland.
Taylor R Campbell [Thu, 20 Jun 2013 15:46:19 +0000 (15:46 +0000)]
Merge branch 'lazy-floenv'
Taylor R Campbell [Thu, 20 Jun 2013 15:45:51 +0000 (15:45 +0000)]
Tweak floenv tests so they preserve the floating-point environment.
Taylor R Campbell [Wed, 29 May 2013 03:10:52 +0000 (03:10 +0000)]
Implement lazy switching of thread floating-point environments.
Should reduce the overhead of thread switching and avoid
platform-dependent objects in threads that don't mess with the
floating-point environment so that they can be dumped in bands.
Taylor R Campbell [Thu, 20 Jun 2013 15:32:16 +0000 (15:32 +0000)]
Use WITH-LIMITED-INTERRUPTS, not WITH-INTERRUPT-MASK, for IMAP update.
Taylor R Campbell [Thu, 20 Jun 2013 15:18:19 +0000 (15:18 +0000)]
Pass RTLD_NOW, not RTLD_LAZY, to dlopen.
Let dlopen fail recoverably if there are missing symbols, rather than
aborting the hapless process when it tries to use them later.
Matt Birkholz [Fri, 14 Jun 2013 17:37:12 +0000 (10:37 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Fri, 14 Jun 2013 17:36:36 +0000 (10:36 -0700)]
Merge branch 'master' into Gtk
Taylor R Campbell [Wed, 12 Jun 2013 20:09:02 +0000 (20:09 +0000)]
Put a space after the colon when reporting an undefined command.
Taylor R Campbell [Tue, 11 Jun 2013 16:17:32 +0000 (16:17 +0000)]
Fix typo in i386/rulflo.scm signed zero test.
Missed these typos because although I checked for (constant 0.) and
(constant -0.) in the RTL, I didn't check whether they were being
immediately passed to OBJECT->FLOAT...
Taylor R Campbell [Tue, 4 Jun 2013 20:52:23 +0000 (20:52 +0000)]
The gdbm error handler takes a const char *, not a char *.
Chris Hanson [Sun, 9 Jun 2013 08:05:26 +0000 (01:05 -0700)]
Update copyrights to 2013.
Chris Hanson [Sun, 9 Jun 2013 07:25:33 +0000 (00:25 -0700)]
Don't allow AC_CHECK_DECL([__x86_64__]) to override user-specified cpu spec.
Chris Hanson [Sun, 9 Jun 2013 07:24:05 +0000 (00:24 -0700)]
Some tweaks while debugging a problem.
Chris Hanson [Sun, 9 Jun 2013 00:37:36 +0000 (17:37 -0700)]
Fix typo.
Taylor R Campbell [Tue, 4 Jun 2013 17:19:21 +0000 (17:19 +0000)]
Syntax and compile win32 separately in the top-level makefile.
Taylor R Campbell [Tue, 4 Jun 2013 17:18:36 +0000 (17:18 +0000)]
Make NUMBER->STRING give negative flonum zero a minus sign.
Taylor R Campbell [Tue, 4 Jun 2013 17:18:11 +0000 (17:18 +0000)]
Make EQV? distinguish signed flonum zeros.
Taylor R Campbell [Tue, 4 Jun 2013 17:17:28 +0000 (17:17 +0000)]
Fix i386 and amd64 lapgen rules to load negative zero correctly.
Taylor R Campbell [Tue, 4 Jun 2013 08:50:24 +0000 (08:50 +0000)]
Fix floating-point underflow tests with a suggestion from Bill Kahan.
Taylor R Campbell [Tue, 4 Jun 2013 08:47:43 +0000 (08:47 +0000)]
Disregard ERANGE from libm log when x = 0.
This enables log to usefully raise the IEEE 754 divide-by-zero
exception when the divide-by-zero exception is untrapped.
Taylor R Campbell [Tue, 4 Jun 2013 05:29:03 +0000 (05:29 +0000)]
Add some tests for floating-point comparison screw cases.
Taylor R Campbell [Tue, 4 Jun 2013 05:27:11 +0000 (05:27 +0000)]
Add unordered branches for NaN cases to amd64 comparison trampolines.
Taylor R Campbell [Tue, 4 Jun 2013 05:22:42 +0000 (05:22 +0000)]
Fix various infinity and NaN screw cases for <, MIN, MAX, *, and /.
Behaviour is as prescribed by IEEE 754. Most of the changes that
involve FLO:NAN? use it only in mixed-exactness branches, which are
not particularly performance-critical anyway. Eventually we ought to
make FLO:NAN? and FLO:FINITE? open-codable primitives, and add
FLO:INFINITE?, FLO:NORMAL?, and FLO:SUBNORMAL? likewise.
Taylor R Campbell [Mon, 3 Jun 2013 19:17:41 +0000 (19:17 +0000)]
On Mac OS X, use mmap(MAP_FIXED) only for i386.
Taylor R Campbell [Mon, 3 Jun 2013 17:53:59 +0000 (17:53 +0000)]
Rework heap mmapping once more.
- Ensure that if we pass mmap a nonzero address, we are requesting
MAP_FIXED or MAP_TRYFIXED.
- Try grovelling through /proc/self/maps on NetBSD too -- it might be
there.
Taylor R Campbell [Sun, 2 Jun 2013 22:31:19 +0000 (22:31 +0000)]
Fix thinko in BITS.
Matt Birkholz [Mon, 3 Jun 2013 16:46:00 +0000 (09:46 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Mon, 3 Jun 2013 16:45:29 +0000 (09:45 -0700)]
Document gtk-graphics/clear.
Matt Birkholz [Mon, 3 Jun 2013 16:44:50 +0000 (09:44 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Mon, 3 Jun 2013 16:40:57 +0000 (09:40 -0700)]
Fix for fix for bug #36887: return '() from IGNORABLE parser.
The tail expr was accidentally deleted in the previous commit.
Matt Birkholz [Mon, 3 Jun 2013 15:33:57 +0000 (08:33 -0700)]
Fix for bug #36887: Ignore a free variable and sf fails.
Ignoring a free variable now just causes a warning (and names the variable).
Matt Birkholz [Sun, 2 Jun 2013 23:34:11 +0000 (16:34 -0700)]
tests/gtk-screen: missed reference to maliens
Taylor R Campbell [Sun, 2 Jun 2013 15:33:41 +0000 (15:33 +0000)]
Don't setsid Scheme.
If you want to detach from the controlling terminal, use a trivial
wrapper program that calls setsid and then exec (e.g., pgrphack from
daemontools), or add a primitive to Scheme to daemonize without race
conditions.
Hitting ^C at the terminal now works to interrupt Scheme in batch
mode, e.g. when run under make during the build.
Matt Birkholz [Sun, 2 Jun 2013 03:44:15 +0000 (20:44 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Sun, 2 Jun 2013 03:43:55 +0000 (20:43 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Sun, 2 Jun 2013 01:53:24 +0000 (18:53 -0700)]
compiler: Don't let continuation-analysis add a cycle...
...to the block tree, which it would do (causing a "maximum recursion
depth exceeded" abort during block->dbg-block) when compiling crazy
code like:
(define (fubar param)
(define (closure) param)
(define (loop)
(closure)
(loop)
;; It doesn't break without this
(tail-call)))
(fubar sumpn)
This patch checks that the "Acceptable substitute" for a block's
stack-link is not inside the block.
Taylor R Campbell [Fri, 31 May 2013 03:53:55 +0000 (03:53 +0000)]
Missed a dependency: edwin needs win32 syntaxed first.
Matt Birkholz [Thu, 30 May 2013 04:37:21 +0000 (21:37 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Thu, 30 May 2013 04:35:45 +0000 (21:35 -0700)]
Put build-ffis back in the native build.
Matt Birkholz [Thu, 30 May 2013 00:13:07 +0000 (17:13 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Wed, 29 May 2013 22:56:48 +0000 (15:56 -0700)]
Revert tterm.c changes.
tterm.c is not used when not USE_TERMCAP, so these old changes are
unnecessary... and potentially confusing.
Matt Birkholz [Wed, 29 May 2013 22:50:34 +0000 (15:50 -0700)]
Add configure option `--without-termcap'.
Punt the termcap primitives (all of microcode/tterm.c!) if configured
--with-termpcap=no. The console port ops like clear and x-size were
already equipped with useful(?) defaults. In fact Edwin (on X11)
still works!
Taylor R Campbell [Wed, 29 May 2013 14:25:00 +0000 (14:25 +0000)]
Merge branch 'make-jobs'
Taylor R Campbell [Wed, 29 May 2013 14:10:05 +0000 (14:10 +0000)]
Reduce loading verbiage in compile-imail and compile-xml targets.
Their respective compile.scm scripts load everything anyway.
Taylor R Campbell [Wed, 29 May 2013 14:07:14 +0000 (14:07 +0000)]
Split compile-edwin target into syntax-edwin/compile-edwin.
Taylor R Campbell [Wed, 29 May 2013 14:06:05 +0000 (14:06 +0000)]
Split compile-runtime target into syntax-runtime and compile-runtime.
Dependents of runtime-*.pkd for cref need only syntax-runtime.
Increases parallelism.
Taylor R Campbell [Wed, 29 May 2013 14:04:37 +0000 (14:04 +0000)]
Generate an intermediate lib/compiler.com.
We stopped installing this ages ago and hence stopped building it,
but now that each subdirectory is built in a separate process, it's
useful to avoid reloading the compiler repeatedly during the build.
Taylor R Campbell [Wed, 29 May 2013 13:45:38 +0000 (13:45 +0000)]
First stab at making top-level makefile jobs-safe for native builds.
This enables coarse-grained parallelization of the build. There's a
nontrivial amount of crap encoded in the makefile about how to do the
build, but that's better than the nontrivial amount of dependency
crap implied by the total ordering in etc/compile.scm, most of which
can go away once the liarc and svm builds are converted similarly.
This does not restructure the build; we still have various bootstrap
and staging botches going on which we need to get rid of. Fixing
those nicely will require some changes to liar and sf so that we can
compile a fresh compiler into a subdirectory, say `boot', using the
host compiler, and then use that to compile the system. Liarc
approximates that with the `boot-root' installation prefix, but that
kludge breaks incremental builds which means we never, ever try to
touch the liarc build because the turnaround time is too painful.
Matt Birkholz [Tue, 28 May 2013 18:17:41 +0000 (11:17 -0700)]
doc: open-tcp-stream-socket
This procedure no longer has buffer-size and line-translation parameters.
Thanks to nick.f.russell@gmail.com for noticing this.
Matt Birkholz [Tue, 28 May 2013 18:03:43 +0000 (11:03 -0700)]
doc: accommodate texinfo 5.1
Thanks to Charles Moss <czm>.
Matt Birkholz [Tue, 28 May 2013 05:02:22 +0000 (22:02 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Tue, 28 May 2013 05:02:03 +0000 (22:02 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Tue, 28 May 2013 02:07:19 +0000 (19:07 -0700)]
Temporarily: inform older hosts about new type code SEQUENCE.
Like
d4d8ea1 this patch allows the released 9.1.1 (LIAR/C
distribution) to compile the compiler. Without it, make-liarc-dist.sh
fails. It seems the hack in
d4d8ea1 is saved in a native
x-runtime.com but not in a LIAR/C-based x-runtime.com. ?
Taylor R Campbell [Mon, 27 May 2013 21:44:26 +0000 (21:44 +0000)]
Don't add empty arguments to -I and -L if pg_config fails.
Matt Birkholz [Sun, 28 Apr 2013 21:03:15 +0000 (14:03 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Sun, 28 Apr 2013 20:54:34 +0000 (13:54 -0700)]
planetarium: Replace old filenames, redundant code in mit-make.scm.
Use load-package-set to load the tellurion. Add graphics.scm and load
it before its users, to ensure they all link to the same binding(?).
Matt Birkholz [Sun, 28 Apr 2013 01:02:22 +0000 (18:02 -0700)]
planetarium: Use r3rs-number->string, just with (int) format.
Only integers formatted per the (int) specification are supported.
Matt Birkholz [Sun, 28 Apr 2013 00:48:31 +0000 (17:48 -0700)]
planetarium: Rename fancy-... to r3rs-...
Matt Birkholz [Sun, 28 Apr 2013 00:46:44 +0000 (17:46 -0700)]
planetarium: Abbreviate filenames from mit-scheme-... to mit-...
Matt Birkholz [Sun, 28 Apr 2013 00:44:19 +0000 (17:44 -0700)]
planetarium: Rename *all* MIT-specific files with "mit-" prefix.
Matt Birkholz [Sat, 27 Apr 2013 21:20:41 +0000 (14:20 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Sat, 27 Apr 2013 21:16:13 +0000 (14:16 -0700)]
runtime: Make it nicer to (ge '(R3RS)).
The default parser and unparser expect to find bindings for
e.g. *parser-table* in any given environment, but there are no such
bindings in a package with parent #f (unless you import them). If you
don't, executing (ge '(R3RS)) puts the REPL into a tight little error
loop. This patch makes the parser and unparser consult the (USER)
package if they don't find these bindings in the current environment.
Once "in" a package like (r3rs) it is tricky to get out(!). Entering
(ge '(USER)) will just produce an error: unbound variable GE. Thus
the default/repl-eval now looks for an unquoted expression and
evaluates it in the (USER) package, so you can enter ,(ge '(USER)) to
get back.
Matt Birkholz [Wed, 24 Apr 2013 18:26:14 +0000 (11:26 -0700)]
planetarium: Cool it with the integration and other declarations.
Internal (declare)s are still used, but top-level declarations
(usual-integrations) and (integrate-external) are already made by
compile-file, so are just another barrier to portabimini.
Procedures like project and make-x-rotation-matrix need not be inlined
as they already use flo:vectors to pass 2, 3 and 9 flonums around
efficiently. Not inlining these reduces matrices.scm to zero
integrable definitions (no .ext file)!
Matt Birkholz [Wed, 24 Apr 2013 17:41:52 +0000 (10:41 -0700)]
planetarium: Create an (r3rs) package and use it.
Fix planetarium.pkg. Putting files into separate packages requires
some changes. Move read-cil-file to an MIT-Scheme-specific
package/file; move cil-file to load before mit-scheme-cil.scm. Add
explicit clear-graphics and flush-graphics exports from the graphics
packages. Why did geometry.scm have to be changed?
Matt Birkholz [Wed, 24 Apr 2013 16:52:52 +0000 (09:52 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Wed, 24 Apr 2013 16:52:13 +0000 (09:52 -0700)]
cref: one more place must allow #f for a package's parent.
Matt Birkholz [Wed, 24 Apr 2013 02:01:01 +0000 (19:01 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Wed, 24 Apr 2013 00:49:31 +0000 (17:49 -0700)]
ffi: Temporay hack is no longer needed.
Matt Birkholz [Wed, 24 Apr 2013 00:48:31 +0000 (17:48 -0700)]
cref: Support (parent #f) packages. Punt system-global-package.
The package-structure<? sort did not ensure that BOTH a package's
parent-in-name and parent-environment were created first. An easier
sort ensures only that the parent-environment is created first. The
parent-in-name was only needed to hang the "child" on a tree. This
patch replaces the tree with a list: *packages*. Thus a
parent-in-name is not needed and the only parent/child tree is the
environment tree.
To catch out old code searching for packages via package/children (as
in swank.scm) the system-global-package binding was removed, as was
package/child. Package/add-child! seems popular and so is supported
(with only minor trouble, i.e. no APPENDing during the cold load).
Package creation by other means is... not supported.
Matt Birkholz [Fri, 19 Apr 2013 19:52:15 +0000 (12:52 -0700)]
gtk: Fix documentation and tests.
Match @deffnx and symbol names containing : and /. Document
gtk-graphics/make; punt gtk-graphics-device-type. Fix old spelling of
tellurion in tests.
Matt Birkholz [Fri, 19 Apr 2013 19:37:11 +0000 (12:37 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Fri, 19 Apr 2013 19:26:54 +0000 (12:26 -0700)]
Add (unused) attribute to Rdl.
This eliminates LAIR/C build log noise to the tune of 70,000 lines!
Matt Birkholz [Wed, 17 Apr 2013 16:10:54 +0000 (09:10 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Wed, 17 Apr 2013 16:10:34 +0000 (09:10 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Wed, 17 Apr 2013 16:07:28 +0000 (09:07 -0700)]
Typo: thread-queue/dequeue-until!.
Matt Birkholz [Wed, 17 Apr 2013 16:04:28 +0000 (09:04 -0700)]
Revert this commit when the release can build without it.
These last vestiges of TC_COMBINATION_1, TC_COMBINATION_2, TC_PCOMB0,
TC_PCOMB1, and TC_PCOMB2 remain only to allow building directly from
release 9.1.
Matt Birkholz [Wed, 17 Apr 2013 15:42:50 +0000 (08:42 -0700)]
Remove all trace of type codes COMBINATION-2, PCOMB0, etc.
This finishes what
3fc580e started. The resulting system runs but
does not build with the released version 9.1. That version puts old
combinations in .exts that cannot be fasloaded by this new version.
As the old combination types are no longer compilable nor even
interpretable, it seems the build process loads them but does not use
them.
The following commit will put just the gc handlers back, which is
sufficient to allow building directly from 9.1.
Matt Birkholz [Mon, 15 Apr 2013 05:36:37 +0000 (22:36 -0700)]
gtk-screen: Add spawn-edit.
Matt Birkholz [Mon, 15 Apr 2013 05:34:35 +0000 (22:34 -0700)]
gtk-screen: Punt horizontal scrollbars on typein window.
Move vertical scrollbars to left side(s).
Matt Birkholz [Sat, 13 Apr 2013 18:29:13 +0000 (11:29 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Sat, 13 Apr 2013 18:24:58 +0000 (11:24 -0700)]
Fix Gtk doc xrefs. Add cairo-move-to, cairo-new-sub-path.
Matt Birkholz [Sat, 13 Apr 2013 17:50:31 +0000 (10:50 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Sat, 13 Apr 2013 17:49:32 +0000 (10:49 -0700)]
Catch up Gtk documentation. Fix typo in ref-manual/graphics.texi.