Matt Birkholz [Tue, 9 Apr 2013 15:53:28 +0000 (08:53 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Tue, 9 Apr 2013 15:51:36 +0000 (08:51 -0700)]
planetarium: Fix snapshot.scm to syntax in correct environment.
Matt Birkholz [Mon, 8 Apr 2013 23:28:44 +0000 (16:28 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Mon, 8 Apr 2013 23:28:15 +0000 (16:28 -0700)]
Merge branch 'master' into Gtk
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
...)..."
Matt Birkholz [Mon, 8 Apr 2013 23:10:07 +0000 (16:10 -0700)]
tests: Replace : with / so progress notes are not errors to Emacs.
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.
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.
Matt Birkholz [Mon, 8 Apr 2013 16:43:28 +0000 (09:43 -0700)]
gtk-screen: Punt tests if errors or DISPLAY not set.
Matt Birkholz [Mon, 8 Apr 2013 04:23:54 +0000 (21:23 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Mon, 8 Apr 2013 04:22:18 +0000 (21:22 -0700)]
gtk: Punt tests if no errors or DISPLAY not set.
Matt Birkholz [Mon, 8 Apr 2013 03:02:32 +0000 (20:02 -0700)]
Merge branch 'Gtk' into Gtk-Screen
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.
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.
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.
Matt Birkholz [Sun, 7 Apr 2013 21:13:35 +0000 (14:13 -0700)]
gtk: Add gtk-graphics/make.
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.
Matt Birkholz [Sun, 7 Apr 2013 17:20:30 +0000 (10:20 -0700)]
Add no-window? parameter to gtk-graphics/open.
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.
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.
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.
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.
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.
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.
Matt Birkholz [Fri, 5 Apr 2013 17:12:47 +0000 (10:12 -0700)]
gtk: Add gtk-window-set-type-hint.
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.
Matt Birkholz [Mon, 25 Mar 2013 20:08:27 +0000 (13:08 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Tue, 19 Mar 2013 00:35:00 +0000 (17:35 -0700)]
gtk-screen: Customize scrollbar behavior.
Specialize the internal fix-layout-adjustment-parameters generic.
Matt Birkholz [Tue, 19 Mar 2013 00:32:10 +0000 (17:32 -0700)]
Merge branch 'Gtk' into Gtk-Screen
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.
Matt Birkholz [Tue, 19 Mar 2013 00:22:51 +0000 (17:22 -0700)]
gtk: load option SUBPROCESS, so main.scm can hook/subprocess-wait.
Matt Birkholz [Mon, 18 Mar 2013 20:33:10 +0000 (13:33 -0700)]
gtk-screen: Expose handler must not layout-line! during redraw-line!.
Renamed %layout-line! to emphasize that it should not be used without
interlocking with the expose handler, i.e. without without-interrupts.
Most calls are serialized by edwin-thread but the expose handler can
intervene (and likely WILL when running interpreted s-code), so all
calls should be without-interrupts, for now.
Punt exposing uninitialized lines.
Simplify the destruction of override text (a simple-text-ink) AND
ensure that it does not call %layout-line! via text-ink-pango-layout.
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.
Matt Birkholz [Tue, 12 Feb 2013 16:56:54 +0000 (09:56 -0700)]
Merge branch 'Gtk' into Gtk-Screen
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.
Matt Birkholz [Mon, 11 Feb 2013 22:50:11 +0000 (15:50 -0700)]
gtk-screen: Crude face support using pango-layout-set-markup.
Matt Birkholz [Tue, 5 Feb 2013 20:48:24 +0000 (13:48 -0700)]
gtk-screen: merge for pango-layout-set-markup
Matt Birkholz [Tue, 5 Feb 2013 20:47:22 +0000 (13:47 -0700)]
gtk: Added pango-layout-set-markup. Caught up documentation.
Matt Birkholz [Sun, 3 Feb 2013 01:43:15 +0000 (18:43 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Sun, 3 Feb 2013 01:42:52 +0000 (18:42 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Sun, 3 Feb 2013 01:39:15 +0000 (18:39 -0700)]
microcode: Quiet some unused-but-set-variable warnings.
Matt Birkholz [Sat, 2 Feb 2013 19:38:08 +0000 (12:38 -0700)]
gtk-screen: Name i/o procedures.
Rename a testing procedure to agree with a cousin in Gtk.
Matt Birkholz [Sat, 2 Feb 2013 19:34:15 +0000 (12:34 -0700)]
gtk-screen: Merge with Gtk.
Eliminate some diffs between the Gtk and Gtk-Screen branches.
Matt Birkholz [Sat, 2 Feb 2013 19:27:59 +0000 (12:27 -0700)]
gtk: Update the time-slice window BEFORE sleeping.
Thus when the toolkit flames out, the time-slice window stops on the
list of file descriptors Scheme IS waiting on (NOT the descriptors it
WAS waiting on).
Matt Birkholz [Sat, 2 Feb 2013 18:18:47 +0000 (11:18 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Sat, 2 Feb 2013 17:28:49 +0000 (10:28 -0700)]
gtk: Added gtk-paned-get-position, gtk-paned-set-position.
Matt Birkholz [Thu, 31 Jan 2013 16:46:53 +0000 (09:46 -0700)]
gtk-screen: Unset GtkPanedView positions when resizing windows.
Matt Birkholz [Thu, 31 Jan 2013 16:39:11 +0000 (09:39 -0700)]
gtk-screen: Use GtkPanedViews for horiz.&vert. resize handles.
Matt Birkholz [Wed, 30 Jan 2013 15:22:32 +0000 (08:22 -0700)]
gtk-screen: Update to Gtk+3.6.
Fixes for Gtk+3: Return a Schemely value from event handlers.
Grab-focus AFTER typein is mapped. Set modeline font. Eliminate
gtk-widget-set-size-request and fix-resizer. (Relying on natural
sizes to programmatically [re]size widgets.)
Matt Birkholz [Tue, 29 Jan 2013 21:20:06 +0000 (14:20 -0700)]
gtk-screen: simple test
Matt Birkholz [Tue, 29 Jan 2013 19:31:19 +0000 (12:31 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Tue, 29 Jan 2013 19:29:27 +0000 (12:29 -0700)]
gtk: Added GtkPanedView, a specialized GtkPaned.
Matt Birkholz [Tue, 29 Jan 2013 05:15:56 +0000 (22:15 -0700)]
gtk: Remove deprecated functions: g_value_get_char, g_thread_init...
Matt Birkholz [Tue, 29 Jan 2013 05:07:53 +0000 (22:07 -0700)]
gtk: Update to Gtk+3.6. Separate GtkScrolledWindow and GtkScrolledView.
Rename GtkScrollingWindow to GtkScrolledView and fix it to work with
Gtk+3.6.0 (in Ubuntu 12.10). Create distinct classes for
GtkScrolledWindow and GtkScrolledView. The former might be useful to
someone else, and substituting the latter for the former just invites
confusion.
Taylor R Campbell [Sat, 19 Jan 2013 05:07:42 +0000 (05:07 +0000)]
Report a meaningful error message if the TUTORIAL file is hosed.
Matt Birkholz [Wed, 19 Dec 2012 01:02:32 +0000 (18:02 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Wed, 19 Dec 2012 00:57:51 +0000 (17:57 -0700)]
Do not remove a gtk-paned's child if it is destroyed.
If it is destroyed, it has already been removed (from the list of
children).
Matt Birkholz [Wed, 19 Dec 2012 00:47:25 +0000 (17:47 -0700)]
Init a <fix-layout>'s viewport size before it is realized.
Punt redundant code in the realize callback. Initializing the size
early allows the view (scroll position) to be set whether the widget
is realized or not.
Matt Birkholz [Wed, 19 Dec 2012 00:45:09 +0000 (17:45 -0700)]
Fixed the Gtk tests to access the final malloced-aliens list.
Matt Birkholz [Wed, 19 Dec 2012 00:39:05 +0000 (17:39 -0700)]
Added gtk-widget-queue-resize and gtk-widget-queue-resize-no-redraw.
Matt Birkholz [Wed, 19 Dec 2012 00:20:07 +0000 (17:20 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Wed, 19 Dec 2012 00:11:44 +0000 (17:11 -0700)]
Support callout struct and union parameter and return types.
Requested by Peter Feigl <craven@gmx.net>.
Matt Birkholz [Tue, 18 Dec 2012 23:58:56 +0000 (16:58 -0700)]
Update old "package: (ffi syntax)" comments.
Matt Birkholz [Tue, 18 Dec 2012 23:56:53 +0000 (16:56 -0700)]
Do not setsid() just because of --batch-mode.
Commit
6b474c5 has turned --batch-mode into something like a
--background option, ensuring that setsid() is called. Re-worked the
logic so that tty interrupt characters are not frobbed in batch-mode
AND setsid() is not called (except according to the curious but
ancient heuristic/default: when there is no tty on stdin, stderr and
stdout and no --emacs option).
Taylor R Campbell [Wed, 12 Dec 2012 06:10:18 +0000 (06:10 +0000)]
Work around broken IMAP servers that give bogus responses to FETCH.
Taylor R Campbell [Wed, 12 Dec 2012 06:06:39 +0000 (06:06 +0000)]
Tidy up local declarations in DEFINE_BIT_COUNT.
`static' is pointless (and causes `gcc -O0' to actually allocate
static storage for them), and using uintmax_t rather than TYPE is
overkill.
Taylor R Campbell [Wed, 12 Dec 2012 05:56:45 +0000 (05:56 +0000)]
Fix some ignored variable warnings in swank.scm.
Taylor R Campbell [Tue, 11 Dec 2012 20:35:13 +0000 (20:35 +0000)]
Add BIT, BITS, SHIFTIN, and SHIFTOUT, for handily hacking bit fields.
Taylor R Campbell [Tue, 11 Dec 2012 20:16:28 +0000 (20:16 +0000)]
Fix READ-PACKET in swank.scm to cope with partial reads.
Thanks, ecraven.
Matt Birkholz [Thu, 29 Nov 2012 19:13:00 +0000 (12:13 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Matt Birkholz [Thu, 29 Nov 2012 18:39:45 +0000 (11:39 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Thu, 29 Nov 2012 18:28:23 +0000 (11:28 -0700)]
Punt deprecated gdk_window_get_pointer.
Matt Birkholz [Thu, 29 Nov 2012 17:07:32 +0000 (10:07 -0700)]
Added <gtk-paned>, gtk-grid-attach-next-to. Punted fix-resizer.
Also added gtk-orientable-get-orientation, just for completeness, and
documented cairo-clip-extents.
Chris Hanson [Mon, 12 Nov 2012 05:54:19 +0000 (21:54 -0800)]
Support new location of Xcode 4.3 and later; just warn if can't find SDKs directory.
Matt Birkholz [Tue, 23 Oct 2012 23:15:55 +0000 (16:15 -0700)]
Merge branch 'Gtk' into Gtk-Screen
Joe Marshall [Fri, 19 Oct 2012 20:34:20 +0000 (13:34 -0700)]
Integrate CALLER argument in guarantees.
Matt Birkholz [Fri, 19 Oct 2012 19:14:24 +0000 (12:14 -0700)]
gtk: Fix layout-draw-callback's level 2 trace report of cairo clip.
String-append don't take no numbers.
Matt Birkholz [Fri, 19 Oct 2012 19:11:57 +0000 (12:11 -0700)]
Remove handle-subprocess-status-change from nonblocking/subprocess-
wait. Block-on-process-status-change has just continued because
handle-subprocess-status-change was just called; don't call it again.
Matt Birkholz [Fri, 19 Oct 2012 18:56:20 +0000 (11:56 -0700)]
Move maybe-signal-io-thread-events apply out of yield-thread.
Moved the call to yield-current-thread. It is otherwise redundant
with all the i/o and timer event polling in thread-timer-interrupt-
handler, the other caller of yield-thread.
Matt Birkholz [Fri, 19 Oct 2012 18:52:04 +0000 (11:52 -0700)]
Fix test-select-descriptor, test-select-registry.
Both test-select- primitives (in uxio.c) now return 0 only if there
are no INTERRUPTs nor PROCESS-STATUS-CHANGEs pending. A previous
attempt at this was incomplete or wrong (e.g. not spinning on
interrupted calls when interrupts are masked).
Matt Birkholz [Fri, 19 Oct 2012 18:48:59 +0000 (11:48 -0700)]
gtk: Vanquish spinning gtk-thread evil (again).
tests/runtime/test-gtk spins like crazy again. With a gtk-thread
always ready to run and no thread waiting for io, wait-for-io is never
called and maybe-signal-io-thread-events never blocks. Unfortunately
test-select-registry always returned INTERRUPT for non-blocking
selects with an empty registry. It needs to return PROCESS-STATUS-
CHANGE when there is a pending process status change so that handle-
subprocess-status-change runs. Thus OS_pause got a new argument:
blockp. In uxio.c it can call OS_process_any_status_change and
return PROCESS-STATUS-CHANGE when necessary.
Matt Birkholz [Thu, 18 Oct 2012 21:00:40 +0000 (14:00 -0700)]
Merge branch 'master' into Gtk
Joe Marshall [Wed, 17 Oct 2012 17:47:16 +0000 (10:47 -0700)]
Remove last remnants of SEQUENCE-3. Rename return code for sequence-2 to sequence-continue.
Joe Marshall [Wed, 17 Oct 2012 15:22:52 +0000 (08:22 -0700)]
Remove last vestiges of IN-PACKAGE.
Joe Marshall [Sun, 7 Oct 2012 19:55:57 +0000 (12:55 -0700)]
Make LOCAL-DECLARE a macro.
Joe Marshall [Sun, 7 Oct 2012 19:53:24 +0000 (12:53 -0700)]
Spelling correction.
Matt Birkholz [Wed, 26 Sep 2012 20:27:01 +0000 (13:27 -0700)]
Fix recent typo in User Manual (again).
Matt Birkholz [Wed, 26 Sep 2012 20:24:41 +0000 (13:24 -0700)]
Fix recent typos in User Manual.
Joe Marshall [Mon, 17 Sep 2012 20:43:54 +0000 (13:43 -0700)]
Export flo:modulo
Joe Marshall [Mon, 17 Sep 2012 20:25:22 +0000 (13:25 -0700)]
Add flo:modulo
Matt Birkholz [Fri, 7 Sep 2012 17:24:50 +0000 (10:24 -0700)]
Merge branch 'master' into Gtk
Matt Birkholz [Thu, 6 Sep 2012 18:25:36 +0000 (11:25 -0700)]
Use internal-time/seconds->ticks in thread-queue/*-no-hang.
Moved test procedure to tests/runtime/test-thread-queue.scm.
Matt Birkholz [Thu, 6 Sep 2012 15:58:24 +0000 (08:58 -0700)]
Fix OS_pause on Unix to correctly restore the sigmask.
Matt Birkholz [Wed, 5 Sep 2012 19:39:21 +0000 (12:39 -0700)]
Use sigsuspend in new OS_pause, else wait-for-io must spin.
The test-select-registry primitive now calls OS_pause instead of
OS_test_select_registry to block with an empty registry.
Matt Birkholz [Tue, 4 Sep 2012 23:37:07 +0000 (16:37 -0700)]
ffi: Replaced serror with swarn, so syntaxing can continue.
Transform bogus syntax into a call to error.
Taylor R Campbell [Mon, 3 Sep 2012 19:34:13 +0000 (19:34 +0000)]
Use pollts if it is available but ppoll is not.
Also change all references to the poll/select variants to use the UX_
names.
All four ways -- select, select & pselect, poll, poll & pollts --
tested on a NetBSD 6.99.4 kernel running a NetBSD 5.1 userland by
tweaking config.h by hand.
Matt Birkholz [Mon, 3 Sep 2012 06:38:12 +0000 (23:38 -0700)]
Use ppoll() and pselect() when available.
Use them only when a test-select- primitive should block. The old
poll()/select() functions continue to be used when not blocking,
e.g. in uxsock.c's do_connect().
Matt Birkholz [Mon, 3 Sep 2012 05:57:08 +0000 (22:57 -0700)]
edwin: Fixed arrow keys in xterms.
Added ts-enter/exit-keypad-mode and used them in console-enter/exit!.
Matt Birkholz [Fri, 31 Aug 2012 00:38:18 +0000 (17:38 -0700)]
Added --args and -- option parsers, and a command-line procedure.
Matt Birkholz [Thu, 30 Aug 2012 20:28:29 +0000 (13:28 -0700)]
gtk: Avoid computing window-intersection when widget is destroyed.