mit-scheme.git
11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Mon, 3 Jun 2013 16:44:50 +0000 (09:44 -0700)]
Merge branch 'master' into Gtk

11 years agoFix for fix for bug #36887: return '() from IGNORABLE parser.
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.

11 years agoFix for bug #36887: Ignore a free variable and sf fails.
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).

11 years agoDon't setsid Scheme.
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.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Sun, 2 Jun 2013 03:43:55 +0000 (20:43 -0700)]
Merge branch 'master' into Gtk

11 years agocompiler: Don't let continuation-analysis add a cycle...
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.

11 years agoMissed a dependency: edwin needs win32 syntaxed first.
Taylor R Campbell [Fri, 31 May 2013 03:53:55 +0000 (03:53 +0000)]
Missed a dependency: edwin needs win32 syntaxed first.

11 years agoPut build-ffis back in the native build.
Matt Birkholz [Thu, 30 May 2013 04:35:45 +0000 (21:35 -0700)]
Put build-ffis back in the native build.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Thu, 30 May 2013 00:13:07 +0000 (17:13 -0700)]
Merge branch 'master' into Gtk

11 years agoRevert tterm.c changes.
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.

11 years agoAdd configure option `--without-termcap'.
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!

11 years agoMerge branch 'make-jobs'
Taylor R Campbell [Wed, 29 May 2013 14:25:00 +0000 (14:25 +0000)]
Merge branch 'make-jobs'

11 years agoReduce loading verbiage in compile-imail and compile-xml targets.
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.

11 years agoSplit compile-edwin target into syntax-edwin/compile-edwin.
Taylor R Campbell [Wed, 29 May 2013 14:07:14 +0000 (14:07 +0000)]
Split compile-edwin target into syntax-edwin/compile-edwin.

11 years agoSplit compile-runtime target into syntax-runtime and compile-runtime.
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.

11 years agoGenerate an intermediate lib/compiler.com.
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.

11 years agoFirst stab at making top-level makefile jobs-safe for native builds.
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.

11 years agodoc: open-tcp-stream-socket
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.

11 years agodoc: accommodate texinfo 5.1
Matt Birkholz [Tue, 28 May 2013 18:03:43 +0000 (11:03 -0700)]
doc: accommodate texinfo 5.1

Thanks to Charles Moss <czm>.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Tue, 28 May 2013 05:02:03 +0000 (22:02 -0700)]
Merge branch 'master' into Gtk

11 years agoTemporarily: inform older hosts about new type code SEQUENCE.
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. ?

11 years agoDon't add empty arguments to -I and -L if pg_config fails.
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.

11 years agoplanetarium: Replace old filenames, redundant code in mit-make.scm.
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(?).

11 years agoplanetarium: Use r3rs-number->string, just with (int) format.
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.

11 years agoplanetarium: Rename fancy-... to r3rs-...
Matt Birkholz [Sun, 28 Apr 2013 00:48:31 +0000 (17:48 -0700)]
planetarium: Rename fancy-... to r3rs-...

11 years agoplanetarium: Abbreviate filenames from mit-scheme-... to mit-...
Matt Birkholz [Sun, 28 Apr 2013 00:46:44 +0000 (17:46 -0700)]
planetarium: Abbreviate filenames from mit-scheme-... to mit-...

11 years agoplanetarium: Rename *all* MIT-specific files with "mit-" prefix.
Matt Birkholz [Sun, 28 Apr 2013 00:44:19 +0000 (17:44 -0700)]
planetarium: Rename *all* MIT-specific files with "mit-" prefix.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Sat, 27 Apr 2013 21:20:41 +0000 (14:20 -0700)]
Merge branch 'master' into Gtk

11 years agoruntime: Make it nicer to (ge '(R3RS)).
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.

11 years agoplanetarium: Cool it with the integration and other declarations.
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)!

11 years agoplanetarium: Create an (r3rs) package and use it.
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?

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Wed, 24 Apr 2013 16:52:52 +0000 (09:52 -0700)]
Merge branch 'master' into Gtk

11 years agocref: one more place must allow #f for a package's parent.
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.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Wed, 24 Apr 2013 02:01:01 +0000 (19:01 -0700)]
Merge branch 'master' into Gtk

11 years agoffi: Temporay hack is no longer needed.
Matt Birkholz [Wed, 24 Apr 2013 00:49:31 +0000 (17:49 -0700)]
ffi: Temporay hack is no longer needed.

11 years agocref: Support (parent #f) packages. Punt system-global-package.
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.

11 years agogtk: Fix documentation and tests.
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.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Fri, 19 Apr 2013 19:37:11 +0000 (12:37 -0700)]
Merge branch 'master' into Gtk

11 years agoAdd (unused) attribute to Rdl.
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!

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Wed, 17 Apr 2013 16:10:34 +0000 (09:10 -0700)]
Merge branch 'master' into Gtk

11 years agoTypo: thread-queue/dequeue-until!.
Matt Birkholz [Wed, 17 Apr 2013 16:07:28 +0000 (09:07 -0700)]
Typo: thread-queue/dequeue-until!.

11 years agoRevert this commit when the release can build without it.
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.

11 years agoRemove all trace of type codes COMBINATION-2, PCOMB0, etc.
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.

11 years agoFix Gtk doc xrefs. Add cairo-move-to, cairo-new-sub-path.
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.

11 years agoCatch up Gtk documentation. Fix typo in ref-manual/graphics.texi.
Matt Birkholz [Sat, 13 Apr 2013 17:49:32 +0000 (10:49 -0700)]
Catch up Gtk documentation.  Fix typo in ref-manual/graphics.texi.

11 years agogtk: Export surface-ink?, set-surface-ink-position!.
Matt Birkholz [Sat, 13 Apr 2013 17:48:40 +0000 (10:48 -0700)]
gtk: Export surface-ink?, set-surface-ink-position!.

Removed (renamed) set-surface-ink!.

11 years agoAdded new, Gtk3 window type hints to gtk-window-set-type-hint.
Matt Birkholz [Sat, 13 Apr 2013 17:47:58 +0000 (10:47 -0700)]
Added new, Gtk3 window type hints to gtk-window-set-type-hint.

11 years agoplanetarium: Replace "tellurian" with "tellurion".
Matt Birkholz [Tue, 9 Apr 2013 21:39:51 +0000 (14:39 -0700)]
planetarium: Replace "tellurian" with "tellurion".

11 years agoplanetarium: Fix snapshot.scm to syntax in correct environment.
Matt Birkholz [Tue, 9 Apr 2013 15:51:36 +0000 (08:51 -0700)]
planetarium: Fix snapshot.scm to syntax in correct environment.

11 years agoFix argument order in HASH-TABLE/MODIFY! documentation.
Taylor R Campbell [Tue, 9 Apr 2013 02:46:16 +0000 (02:46 +0000)]
Fix argument order in HASH-TABLE/MODIFY! documentation.

11 years agoFix tabification in (runtime hash-table) package description.
Taylor R Campbell [Tue, 9 Apr 2013 02:45:36 +0000 (02:45 +0000)]
Fix tabification in (runtime hash-table) package description.

11 years agoMerge Alexey's hash table documentation and tweaks from ages ago.
Taylor R Campbell [Tue, 9 Apr 2013 02:42:12 +0000 (02:42 +0000)]
Merge Alexey's hash table documentation and tweaks from ages ago.

There was some little issue but I forget what it was.

11 years agoWarn that weak references are scary and hard to get right.
Alexey Radul [Fri, 27 May 2011 21:04:45 +0000 (22:04 +0100)]
Warn that weak references are scary and hard to get right.

Redirect to provided higher-level abstractions.

11 years agoUpdate hash-table/count for multiple entry types.
Alexey Radul [Sun, 29 May 2011 22:22:41 +0000 (23:22 +0100)]
Update hash-table/count for multiple entry types.

11 years agoRecord the reason for the restrictions in hash-table/modify!
Alexey Radul [Sun, 29 May 2011 22:06:42 +0000 (23:06 +0100)]
Record the reason for the restrictions in hash-table/modify!

I found this non-obvious when I was writing the documentation, so it
seems appropriate to record it somewhere.  On the other hand, it does
not seem appropriate to burden the user with having to read it ---
just obey the restriction and you'll be fine.  Will anyone ever read
comments in the source of the manual?  Is there a better place to
record this knowledge?

11 years agoAdd some concept index entries that seem reasonable.
Alexey Radul [Sun, 29 May 2011 21:56:34 +0000 (22:56 +0100)]
Add some concept index entries that seem reasonable.

11 years agoUpdate the documentation of hash-table/clean!
Alexey Radul [Sun, 29 May 2011 21:48:26 +0000 (22:48 +0100)]
Update the documentation of hash-table/clean!

11 years agoDeprecate {strong/weak}-hash-table/constructor.
Alexey Radul [Sun, 29 May 2011 21:47:49 +0000 (22:47 +0100)]
Deprecate {strong/weak}-hash-table/constructor.

Flush the detailed description of what they do as having been copied
into the description of HASH-TABLE/CONSTRUCTOR.

11 years agoRewrite the hash table constructors section with more weakness options.
Alexey Radul [Sun, 29 May 2011 21:37:59 +0000 (22:37 +0100)]
Rewrite the hash table constructors section with more weakness options.

Define and export key-ephemeral-eq and key-ephemeral-eqv tables as
replacements for the key-weak versions.

Punt descriptions of old hash table constructor procedures to the
bottom of the section and say they are for backward compatibility.

One may object to MAKE-KEY-EPHEMERAL-EQ-HASH-TABLE on the grounds that
it invites a combinatorial explosion of names:
make-key/datum-weak-eqv-hash-table
make-datum-ephemeral-string-hash-table
make-key&datum-ephemeral-equal-hash-table (!?)
and so on ad nauseam.

Where will it end?  The criterion I used to decide which names to
export and document and which names to leave alone and defer to the
general HASH-TABLE/CONSTRUCTOR mechanism was simply to update the
existing documentation.  The manual already listed
MAKE-WEAK-EQ-HASH-TABLE.  It is now named MAKE-KEY-WEAK-EQ-HASH-TABLE,
so that name is included.  But really, a key-weak table is just a
performance optimization over a key-ephemeral table, to save work when
you know the data will not hold the keys strongly.  So
MAKE-KEY-EPHEMERAL-EQ-HASH-TABLE is in; it was, in fact, the reason I
wanted Taylor to implement ephemerons in the first place.
MAKE-KEY-EPHEMERAL-EQV-HASH-TABLE is in to preserve the symmetry
between eq? and eqv? that was already present in the manual.  But the
rest of them are out, because they weren't there before.  If
datum-weak tables were so important that their constructor really must
be given a name here, then (arguably) why were they not already
implemented and documented?  The fact that MIT Scheme only supported
strong and key-weak tables for a long time suggests that those kinds
are the most common, and therefore the most deserving of slots in the
name space.

11 years agoRelocate and update the examples of defining hash table contructors.
Alexey Radul [Sun, 29 May 2011 20:48:27 +0000 (21:48 +0100)]
Relocate and update the examples of defining hash table contructors.

Now in terms of HASH-TABLE/CONSTRUCTOR and entry types.

11 years agoDraft documentation of HASH-TABLE/CONSTRUCTOR and all the entry types.
Alexey Radul [Fri, 27 May 2011 22:56:42 +0000 (23:56 +0100)]
Draft documentation of HASH-TABLE/CONSTRUCTOR and all the entry types.

Will adjust the surrounding text to fit it in in a separate commit.

11 years agoRedirect cross reference to Weak References
Alexey Radul [Fri, 27 May 2011 20:42:38 +0000 (21:42 +0100)]
Redirect cross reference to Weak References

on the grounds that that is now the landing page for the discussion of
strength and weakness.

11 years agoImprove documentation of hash-table/{modify,intern}!
Alexey Radul [Fri, 27 May 2011 08:31:28 +0000 (09:31 +0100)]
Improve documentation of hash-table/{modify,intern}!

By the mechanism of implementing Taylor's suggestions.  Also add
sentences about average running times.

11 years agoDeparenthesize.
Alexey Radul [Thu, 26 May 2011 11:05:25 +0000 (12:05 +0100)]
Deparenthesize.

11 years agoCollect "Weak Pairs" and "Ephemerons" into a section called "Weak References".
Alexey Radul [Thu, 26 May 2011 11:03:25 +0000 (12:03 +0100)]
Collect "Weak Pairs" and "Ephemerons" into a section called "Weak References".

State the common motivation, define the common terminology, and
describe the contrasts between weak pairs and ephemerons in the common
section, and tighten the "Weak Pairs" and "Ephemerons" sections
themselves back to just describing their data structures.

11 years agoRewrite the description of intricacies with ephemeron-broken? per
Alexey Radul [Thu, 26 May 2011 08:48:10 +0000 (09:48 +0100)]
Rewrite the description of intricacies with ephemeron-broken? per
Taylor's recommendation to name the ephemeron explicitly and use more
active language.

11 years agoDocumenting hash-table/modify! and hash-table/intern!. Also slightly
Alexey Radul [Tue, 24 May 2011 22:39:06 +0000 (23:39 +0100)]
Documenting hash-table/modify! and hash-table/intern!.  Also slightly
reworded the introduction to hash-table/lookup, to make it more
positive.

11 years agoDocumenting the fact that MIT Scheme implements SRFI 69, the
Alexey Radul [Tue, 24 May 2011 12:13:07 +0000 (13:13 +0100)]
Documenting the fact that MIT Scheme implements SRFI 69, the
relationship between the MIT Scheme native hash table API and the one
specified by SRFI 69, and the reason why it is appropriate to provide
both (it's not pure backwards compatibility).  This includes
documenting the bugs in SRFI 69.

11 years agoGrammar.
Alexey Radul [Tue, 24 May 2011 09:39:49 +0000 (10:39 +0100)]
Grammar.

11 years agoPointing out what ephemerons are for; emphasizing the special feature
Alexey Radul [Mon, 23 May 2011 11:27:14 +0000 (12:27 +0100)]
Pointing out what ephemerons are for; emphasizing the special feature
of ephemerons, and the distinction between ephemerons and weak pairs.

11 years agoClarifying that ephemeron-broken? indicates that an ephemeron is whole by returning #f.
Alexey Radul [Mon, 23 May 2011 11:24:59 +0000 (12:24 +0100)]
Clarifying that ephemeron-broken? indicates that an ephemeron is whole by returning #f.

11 years agoCorrecting a typo.
Alexey Radul [Mon, 23 May 2011 11:23:10 +0000 (12:23 +0100)]
Correcting a typo.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Mon, 8 Apr 2013 23:28:15 +0000 (16:28 -0700)]
Merge branch 'master' into Gtk

11 years agoUndo commit 93d3d5c so that "out of memory" need not be The End...
Matt Birkholz [Mon, 8 Apr 2013 23:17:12 +0000 (16:17 -0700)]
Undo commit 93d3d5c so that "out of memory" need not be The End...

...even in batch-mode.  The effect of 93d3d5c can be had more
elegantly, as pointed out in 6b3f8e0: "Always wrap stdin in a (begin
...)..."

11 years agotests: Replace : with / so progress notes are not errors to Emacs.
Matt Birkholz [Mon, 8 Apr 2013 23:10:07 +0000 (16:10 -0700)]
tests: Replace : with / so progress notes are not errors to Emacs.

11 years agoAdd thread-queue/dequeue-no-hang!, rm peek-until, fix -no-hang.
Matt Birkholz [Mon, 8 Apr 2013 22:59:42 +0000 (15:59 -0700)]
Add thread-queue/dequeue-no-hang!, rm peek-until, fix -no-hang.

Fix when-non-empty-before, which did not append! to waiting-dequeuers,
and thus would only time out.

Un-export peek-until.  Its TIME argument is... weird -- not universal.
Swat can import it.

11 years agoFinish replacing type code SEQUENCE-2 with SEQUENCE.
Matt Birkholz [Mon, 8 Apr 2013 22:39:17 +0000 (15:39 -0700)]
Finish replacing type code SEQUENCE-2 with SEQUENCE.

Hack runtime.sf to inform older hosts about new type code.

11 years agogtk: Punt tests if no errors or DISPLAY not set.
Matt Birkholz [Mon, 8 Apr 2013 04:22:18 +0000 (21:22 -0700)]
gtk: Punt tests if no errors or DISPLAY not set.

11 years agogtk: Replace leftover references to gtk+-2.0 with gtk+-3.0.
Matt Birkholz [Mon, 8 Apr 2013 03:01:27 +0000 (20:01 -0700)]
gtk: Replace leftover references to gtk+-2.0 with gtk+-3.0.

11 years agogtk: Use gtk-graphics/make in planetarium/snapshot.
Matt Birkholz [Sun, 7 Apr 2013 21:16:20 +0000 (14:16 -0700)]
gtk: Use gtk-graphics/make in planetarium/snapshot.

Gtk-graphics/make doesn't care if DISPLAY is set.

11 years agogtk: Only warn if DISPLAY not set.
Matt Birkholz [Sun, 7 Apr 2013 21:14:01 +0000 (14:14 -0700)]
gtk: Only warn if DISPLAY not set.

Some of the Gtk libraries are useful without a DISPLAY.

11 years agogtk: Add gtk-graphics/make.
Matt Birkholz [Sun, 7 Apr 2013 21:13:35 +0000 (14:13 -0700)]
gtk: Add gtk-graphics/make.

11 years agoAdd src/planetarium/snapshot, tweaks, TODO list.
Matt Birkholz [Sun, 7 Apr 2013 17:43:13 +0000 (10:43 -0700)]
Add src/planetarium/snapshot, tweaks, TODO list.

Factor draw-tellurian out of run-tellurian for snapshot.scm.  Tweak
position of lat/long text.  Use default fore/background.

11 years agoAdd no-window? parameter to gtk-graphics/open.
Matt Birkholz [Sun, 7 Apr 2013 17:20:30 +0000 (10:20 -0700)]
Add no-window? parameter to gtk-graphics/open.

11 years agoAdd cairo-surface-write-to-png.
Matt Birkholz [Sun, 7 Apr 2013 17:18:56 +0000 (10:18 -0700)]
Add cairo-surface-write-to-png.

This should really use cairo_surface_write_to_png_stream.

11 years agogtk: Add src/planetarium/, which works with a simple graphics device.
Matt Birkholz [Fri, 5 Apr 2013 23:31:25 +0000 (16:31 -0700)]
gtk: Add src/planetarium/, which works with a simple graphics device.

Just half a tellurian for now -- a drawing of Earth showing the
position of the Sun.  On a simple (or even an X11) graphics device
just the terminator is drawn.  The light and dark sides of Earth are
undistinguished.  On a Gtk graphics device, the dark side is shaded
light gray.

11 years agogtk: Update fix-demo.scm's copyright notice. Turn the ball blue.
Matt Birkholz [Fri, 5 Apr 2013 23:28:34 +0000 (16:28 -0700)]
gtk: Update fix-demo.scm's copyright notice.  Turn the ball blue.

11 years agogtk: Add gtk-graphics device type.
Matt Birkholz [Fri, 5 Apr 2013 23:19:44 +0000 (16:19 -0700)]
gtk: Add gtk-graphics device type.

Just the simple operations plus fill-polygon-list, draw-circle,
set-foreground-color and set-background-color.

11 years agogtk: Add Cairo <surface-ink>. Use it in fix-layout demo.
Matt Birkholz [Fri, 5 Apr 2013 17:40:43 +0000 (10:40 -0700)]
gtk: Add Cairo <surface-ink>.  Use it in fix-layout demo.

Adjust demo for a smaller drawing size.

11 years agogtk: Add many cairo- wrappers: cairo-image-surface-create...
Matt Birkholz [Fri, 5 Apr 2013 17:20:45 +0000 (10:20 -0700)]
gtk: Add many cairo- wrappers: cairo-image-surface-create...

... cairo-pattern-create-linear, cairo-pattern-create-radial,
cairo-pattern-add-color-stop, cairo-create, cairo-translate,
cairo-scale, cairo-set-source, cairo-set-source-color, cairo-arc,
cairo-paint, cairo-fill, cairo-stroke, cairo-set-font-matrix,
cairo-matrix, cairo-surface-destroy, cairo-surface-flush, and
cairo-pattern-destroy.

11 years agogtk: Add gtk-window-set-type-hint.
Matt Birkholz [Fri, 5 Apr 2013 17:12:47 +0000 (10:12 -0700)]
gtk: Add gtk-window-set-type-hint.

11 years agogtk: Add thread-queue/dequeue-no-hang!, rm peek-until, fix -no-hang.
Matt Birkholz [Fri, 5 Apr 2013 17:03:45 +0000 (10:03 -0700)]
gtk: Add thread-queue/dequeue-no-hang!, rm peek-until, fix -no-hang.

Fix when-non-empty-before, which did not append! to waiting-dequeuers,
and thus would only time out.

Not exporting peek-until.  Its TIME argument is... weird -- not
universal.  Swat can import it.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Mon, 25 Mar 2013 20:08:27 +0000 (13:08 -0700)]
Merge branch 'master' into Gtk

11 years agogtk: Allow for specialization of fix-layout scrollbar behavior.
Matt Birkholz [Tue, 19 Mar 2013 00:26:13 +0000 (17:26 -0700)]
gtk: Allow for specialization of fix-layout scrollbar behavior.

The new generic procedure fix-layout-adjustment-parameters allows
Edwin to customize scrolling.

11 years agogtk: load option SUBPROCESS, so main.scm can hook/subprocess-wait.
Matt Birkholz [Tue, 19 Mar 2013 00:22:51 +0000 (17:22 -0700)]
gtk: load option SUBPROCESS, so main.scm can hook/subprocess-wait.

11 years agoUnparse the symbol whose name is `.' as `|.|'.
Taylor R Campbell [Mon, 18 Feb 2013 15:11:04 +0000 (15:11 +0000)]
Unparse the symbol whose name is `.' as `|.|'.

Add a trivial test for it.

Found by Pavel Panchekha.

11 years agogtk: Document pango-layout-set-markup. Fix many @brefs.
Matt Birkholz [Mon, 11 Feb 2013 23:49:10 +0000 (16:49 -0700)]
gtk: Document pango-layout-set-markup.  Fix many @brefs.

Define @bref{}'s as actual references ONLY in the HTML version, where
they can be hyperlinks to a binding's documentation.  Otherwise they
are just hyphenated names in @code style, except in Info.  In Info,
even single-quotes around these names is really too much.

11 years agogtk: Added pango-layout-set-markup. Caught up documentation.
Matt Birkholz [Tue, 5 Feb 2013 20:47:22 +0000 (13:47 -0700)]
gtk: Added pango-layout-set-markup.  Caught up documentation.

11 years agoMerge branch 'master' into Gtk
Matt Birkholz [Sun, 3 Feb 2013 01:42:52 +0000 (18:42 -0700)]
Merge branch 'master' into Gtk

11 years agomicrocode: Quiet some unused-but-set-variable warnings.
Matt Birkholz [Sun, 3 Feb 2013 01:39:15 +0000 (18:39 -0700)]
microcode: Quiet some unused-but-set-variable warnings.