Matt Birkholz [Sun, 1 Oct 2017 16:42:29 +0000 (09:42 -0700)]
devops/build: Caught up "host" procedure. Order of "plugin"...
...declarations matters not. Build hosts order builds by the
timestamps on the source distributions. A Debian native package has
no Debian revision number. Putting the package install script in a
bin/ writable by the build monkey is hardly an impediment to an evil
build monkey. Commented out unimplemented source checks (copyright
notice and manual deffns).
Matt Birkholz [Sun, 1 Oct 2017 16:39:02 +0000 (09:39 -0700)]
doc/user-manual: Typo: unnumbered/unnumberedsec. More hammering.
Actually made these sections, not unnumberedsecs. Moved mention of
"pucked" (mis)feature (and "experimental code") to end (after
"Experimental Changes"). And fixed a lingering "yakkety".
Matt Birkholz [Sat, 30 Sep 2017 09:17:31 +0000 (02:17 -0700)]
devops: Specify target Scheme arch; support cross-compiling to svm.
When a host's target arch is svm, do NOT build Debian packages.
Matt Birkholz [Sat, 30 Sep 2017 09:17:08 +0000 (02:17 -0700)]
doc/user: PostgreSQL plugin IS available. Use ~puck/. Whitespace.
Matt Birkholz [Thu, 21 Sep 2017 23:00:58 +0000 (16:00 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Thu, 21 Sep 2017 22:25:47 +0000 (15:25 -0700)]
x11: Ensure C strings are null terminated.
Matt Birkholz [Thu, 21 Sep 2017 22:21:15 +0000 (15:21 -0700)]
gdbm: Ensure filename for do_gdbm_open is null terminated.
Matt Birkholz [Wed, 20 Sep 2017 00:22:15 +0000 (17:22 -0700)]
src/Makefile.in: Use large heap when finishing cross-compilation.
Matt Birkholz [Tue, 19 Sep 2017 23:56:37 +0000 (16:56 -0700)]
microcode/debug.c: Avoid compiler warning; init in default case.
Matt Birkholz [Tue, 19 Sep 2017 03:19:30 +0000 (20:19 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Tue, 19 Sep 2017 03:15:00 +0000 (20:15 -0700)]
microcode/cmpauxmd/i386.m4: typo
Matt Birkholz [Sun, 17 Sep 2017 18:12:56 +0000 (11:12 -0700)]
devops/pucked.texi: FFI changes are now in master.
Matt Birkholz [Sat, 16 Sep 2017 22:43:31 +0000 (15:43 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Sat, 16 Sep 2017 22:06:17 +0000 (15:06 -0700)]
runtime/syncproc: Eliminate spinning, and blocking.
The run-shell-command spins when it is copying both stdin and stdout.
E.g.
(call-with-input-string "Lorem ipsum dolor sit amet\n"
(lambda (in)
(run-shell-command "sleep 10; cat" 'input in)))
will keep your machine busy for 10 seconds.
When it is not spinning, the procedure blocks for large bufferfuls.
During the evaluation of
(run-shell-command
"i=0; while [ $i -lt 5 ]; do echo $i; i=$[$i + 1]; sleep 1; done"
'redisplay-hook flush-output-port)
you will not see 5 lines of output, one each second, but all 5 lines
at once after 5 seconds, despite the redisplay hook [Linux 4.10.0
glibc 2.24].
This new copying process eliminates the blocking AND the spinning. It
keeps stdout in nonblocking mode and uses suspend-current-thread to
block. It handles short writes too. The ports sourcing/sinking
stdin/stdout are required to block.
Matt Birkholz [Sat, 16 Sep 2017 22:37:22 +0000 (15:37 -0700)]
microcode/cmpauxmd/x86-64.m4: Wordsmith commentary for specificity.
Matt Birkholz [Sat, 16 Sep 2017 21:56:31 +0000 (14:56 -0700)]
microcode/debug: Add ustring support, Stack(), Print(), brevity.
Print is just the renamed Debug_Print, renamed for brevity in debugger
commands. Rename do_printing to print_object and punt the detailed_p
parameter, and the gotos, and handled_p. Move the bulky compiled
entry handling to a separate function: print_compiled_entry. Punt
checking for a "closed" stack frame in verify_stack().
Matt Birkholz [Sat, 16 Sep 2017 21:38:27 +0000 (14:38 -0700)]
microcode: Do not save history_register locally.
The required change to C_call_scheme is described but not implemented.
C_call_scheme has other problems(?). Preferring a rotated history to
a broken history (broken by a GC during a callback) for now.
Matt Birkholz [Sat, 16 Sep 2017 21:36:58 +0000 (14:36 -0700)]
microcode: Restore frame pointer as well as stack pointer.
Matt Birkholz [Sat, 16 Sep 2017 22:19:27 +0000 (15:19 -0700)]
ffi: Follow example of C_call_scheme; eliminate aborts.
Keep callouts simple, fast. Make callbacks save/restore machine state
(last_return_code, mainly) and use RC_END_OF_COMPUTATION instead of a
special primitive (return-to-c), like C_call_scheme. Punt the
pop_return_p parameter of Interpret; instead, leave #f in EXP and
Re_Enter_Interpreter, also like C_call_scheme. Add re_enter_scheme to
pop machine state pushed by abort_to_c (used when state cannot be
saved locally, as in the glib plugin's run_glib).
Add a gc-flip to the test callback.
Matt Birkholz [Fri, 15 Sep 2017 04:40:55 +0000 (21:40 -0700)]
gtk/fix-demo: Set text color or it is sure to be white (invisible).
Matt Birkholz [Fri, 15 Sep 2017 00:07:40 +0000 (17:07 -0700)]
devops: log procedure does not coerce to string.
Matt Birkholz [Thu, 14 Sep 2017 23:10:12 +0000 (16:10 -0700)]
devops: Install the manpage.
Matt Birkholz [Thu, 14 Sep 2017 22:32:21 +0000 (15:32 -0700)]
devops: Punt abort->top-level (which just spins), hook/^G-interrupt.
Matt Birkholz [Thu, 14 Sep 2017 22:27:54 +0000 (15:27 -0700)]
devops: Prefer newer(?) repo version of src/devops/build.scm.
Matt Birkholz [Wed, 13 Sep 2017 08:01:29 +0000 (01:01 -0700)]
devops (host-scheme-architecture): Fix.
Matt Birkholz [Wed, 13 Sep 2017 07:42:41 +0000 (00:42 -0700)]
devops: Lengthen default reply timeout.
Matt Birkholz [Wed, 13 Sep 2017 07:36:32 +0000 (00:36 -0700)]
devops: Update documentation. Rename devops:build-status.
Matt Birkholz [Wed, 13 Sep 2017 07:00:59 +0000 (00:00 -0700)]
devops (with-output-log): Handle errors to ensure log is flushed.
Matt Birkholz [Wed, 13 Sep 2017 06:47:18 +0000 (23:47 -0700)]
pgsql: Include debian/ in dist.
Matt Birkholz [Wed, 13 Sep 2017 06:04:47 +0000 (23:04 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Tue, 12 Sep 2017 19:49:45 +0000 (12:49 -0700)]
gtk-screen: Punt unused, now missing gdk-window-process-updates.
Taylor R Campbell [Tue, 12 Sep 2017 03:39:34 +0000 (03:39 +0000)]
Fix syncproc test to avoid bashism.
Taylor R Campbell [Tue, 12 Sep 2017 03:34:42 +0000 (03:34 +0000)]
Add Keccak-f[1600] primitive operating on byte vectors.
Won't break any speed records with all the copying and byte order
conversion but will work at least and be handy for exploration.
Matt Birkholz [Tue, 12 Sep 2017 02:16:16 +0000 (19:16 -0700)]
devops: Specify just one (Debian) architecture in host declarations.
Matt Birkholz [Tue, 12 Sep 2017 02:07:14 +0000 (19:07 -0700)]
microcode: Do not save history_register for C_call_scheme.
Matt Birkholz [Tue, 12 Sep 2017 02:03:29 +0000 (19:03 -0700)]
ffi: Set last_return_code. Restore prev_restore_history_offset?
Matt Birkholz [Tue, 12 Sep 2017 02:00:01 +0000 (19:00 -0700)]
microcode/cmpauxmd/x86-64.m4: Restore frame pointer after callback.
Matt Birkholz [Tue, 12 Sep 2017 01:57:34 +0000 (18:57 -0700)]
microcode/cmpauxmd/x86-64.m4: Wordsmith commentary.
Matt Birkholz [Tue, 12 Sep 2017 01:40:44 +0000 (18:40 -0700)]
microcode/debug: Add ustring support, Stack(), Print(), brevity.
Print is just the renamed Debug_Print, renamed for brevity in debugger
commands. Rename do_printing to print_object and punt the detailed_p
parameter, and the gotos, and handled_p. Move the bulky compiled
entry handling to a separate function: print_compiled_entry. Punt
checking for a "closed" stack frame in verify_stack().
Matt Birkholz [Mon, 28 Aug 2017 21:07:19 +0000 (14:07 -0700)]
gtk (surface-ink-flush): New. Keep a glib-only copy of the surface.
The new flush procedure signals the glib thread to update its copy.
Matt Birkholz [Mon, 28 Aug 2017 19:47:11 +0000 (12:47 -0700)]
gtk: Add gdk-window-create-similar-surface and -image-surface.
Matt Birkholz [Mon, 28 Aug 2017 18:39:46 +0000 (11:39 -0700)]
gtk: Punt/replace functions deprecated in Gtk 3.22.
Matt Birkholz [Mon, 14 Aug 2017 20:57:49 +0000 (13:57 -0700)]
glib: Do not add time blocked in run_glib to glib-thread's run time.
Matt Birkholz [Mon, 28 Aug 2017 18:33:32 +0000 (11:33 -0700)]
x11: null terminate strings; punt unused optimization.
Matt Birkholz [Sat, 26 Aug 2017 16:15:48 +0000 (09:15 -0700)]
edwin/buffer: Add print procedure.
Matt Birkholz [Mon, 28 Aug 2017 18:27:54 +0000 (11:27 -0700)]
planetarium (make-tellurion): Name thread; return the object(!).
Matt Birkholz [Mon, 28 Aug 2017 18:25:44 +0000 (11:25 -0700)]
gtk: Name threads.
Matt Birkholz [Mon, 28 Aug 2017 18:24:44 +0000 (11:24 -0700)]
glib: Name thread.
Matt Birkholz [Mon, 28 Aug 2017 18:23:29 +0000 (11:23 -0700)]
edwin: Name threads. Punt thread "flags" for the world report.
Matt Birkholz [Mon, 14 Aug 2017 20:54:33 +0000 (13:54 -0700)]
world-report: Replace thread flags with a thread name.
Matt Birkholz [Mon, 14 Aug 2017 21:16:08 +0000 (14:16 -0700)]
Add thread-get and thread-put!.
Matt Birkholz [Mon, 14 Aug 2017 21:14:02 +0000 (14:14 -0700)]
glib: Use new re_enter_scheme instead of Interpret.
Matt Birkholz [Mon, 14 Aug 2017 21:12:10 +0000 (14:12 -0700)]
ffi: Add re_enter_scheme to work with abort_to_c for glib mainloop.
Matt Birkholz [Wed, 9 Aug 2017 23:03:08 +0000 (16:03 -0700)]
ffi: Simplify callback_run_kernel. Eliminate callback abort.
Matt Birkholz [Mon, 7 Aug 2017 01:16:52 +0000 (18:16 -0700)]
ffi: Follow example of C_call_scheme and eliminate aborts.
Punt pop_return_p parameter to Interpret; instead, leave #f in EXP and
Re_Enter_Interpreter, like C_call_scheme. Keep callouts simple, fast.
Make callbacks save/restore machine state (last_return_code,
C_Frame_Pointer, C_Stack_Pointer, LEXPR_ACTUALS and PRIMITIVE) and use
RC_END_OF_COMPUTATION, also like C_call_scheme.
Add a gc-flip to the test callback.
Matt Birkholz [Sun, 6 Aug 2017 21:24:27 +0000 (14:24 -0700)]
doc/ffi/: typos
Chris Hanson [Wed, 2 Aug 2017 02:31:22 +0000 (22:31 -0400)]
Fix thinko in previous change.
We want to close an I/O port when both channels are the same and the other one
is marked closed.
Matt Birkholz [Tue, 1 Aug 2017 22:21:01 +0000 (15:21 -0700)]
runtime/syncproc: Eliminate spinning, and blocking.
The run-shell-command spins when it is copying both stdin and stdout.
E.g.
(call-with-input-string "Lorem ipsum dolor sit amet\n"
(lambda (in)
(run-shell-command "sleep 10; cat" 'input in)))
will keep your machine busy for 10 seconds.
When it is not spinning, the procedure blocks for large bufferfuls.
During the evaluation of
(run-shell-command
"i=0; while [ $i -lt 5 ]; do echo $i; i=$[$i + 1]; sleep 1; done"
'redisplay-hook flush-output-port)
you will not see 5 lines of output, one each second, but all 5 lines
at once after 5 seconds, despite the redisplay hook [Linux 4.10.0
glibc 2.24].
This new copying process eliminates the blocking AND the spinning. It
keeps stdout in nonblocking mode and uses suspend-current-thread to
block. It handles short writes too. The ports sourcing/sinking
stdin/stdout are required to block.
Matt Birkholz [Tue, 1 Aug 2017 18:04:06 +0000 (11:04 -0700)]
Fix merge: add load-option to test-syncproc.scm.
Matt Birkholz [Mon, 31 Jul 2017 21:13:32 +0000 (14:13 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Sun, 30 Jul 2017 23:08:33 +0000 (16:08 -0700)]
tests/runtime/test-syncproc: Enabled, with 3 more basic tests.
Matt Birkholz [Sun, 30 Jul 2017 22:39:21 +0000 (15:39 -0700)]
runtime/binary-port (close-binary-output-port): Close output chan.
Close-binary-output-port was not closing the output channel of a
binary IO port when input and output channels were not the same
(e.g. when the port is the IO of a subprocess). Close-binary-input-
port seemed to have the same thinko.
Matt Birkholz [Wed, 26 Jul 2017 23:43:46 +0000 (16:43 -0700)]
pgsql plugin: Typos. Check script should warn (not die) w/o DB.
Matt Birkholz [Wed, 26 Jul 2017 23:05:54 +0000 (16:05 -0700)]
runtime/stringio (string-in/read-substring): Swap src/dst strings.
Matt Birkholz [Mon, 24 Jul 2017 18:01:28 +0000 (11:01 -0700)]
src/Makefile.in (install-auxdir-top): noclobber optiondb,plugins.scm
Matt Birkholz [Fri, 21 Jul 2017 17:52:51 +0000 (10:52 -0700)]
devops: Make plugin .changes read-only, like the rest.
Matt Birkholz [Fri, 21 Jul 2017 17:49:55 +0000 (10:49 -0700)]
devops/debian/doc-base: typo
Matt Birkholz [Fri, 21 Jul 2017 17:49:35 +0000 (10:49 -0700)]
Install .coms after .scms; avoid warning of newer source files.
Matt Birkholz [Fri, 21 Jul 2017 05:23:00 +0000 (22:23 -0700)]
devops: changes should be #f initially. Use empty tag message.
Matt Birkholz [Fri, 21 Jul 2017 05:01:17 +0000 (22:01 -0700)]
devops: Use regsexps, more parsed versions.
Matt Birkholz [Fri, 21 Jul 2017 01:30:11 +0000 (18:30 -0700)]
devops: Show unreleased commits instead of changed files.
Matt Birkholz [Fri, 21 Jul 2017 01:02:08 +0000 (18:02 -0700)]
devops: Fix version-comparator.
Matt Birkholz [Fri, 21 Jul 2017 01:40:24 +0000 (18:40 -0700)]
devops: Punt devops:full-status.
Matt Birkholz [Sun, 16 Jul 2017 20:31:40 +0000 (13:31 -0700)]
devops: Fixes, a hostname parameter for devops:build-status.
Added a read-reply procedure that should, eventually, detect error
messages from the build host. For now, use everywhere to simplify
requests/replies. Use it to check for the existence of the build
directory. Fix sorted-tags and use the latest regsexps (requiring 9.3
or a pucked 9.2).
Matt Birkholz [Wed, 12 Jul 2017 21:51:56 +0000 (14:51 -0700)]
gtk plugins: Expect c-peek-cstring to return a string, not bytes.
Matt Birkholz [Sat, 8 Jul 2017 03:30:25 +0000 (20:30 -0700)]
gtk: GtkScrolledView (and GtkPanedView) for 3.22.11 (Ubuntu 17.04).
Matt Birkholz [Fri, 7 Jul 2017 19:37:21 +0000 (12:37 -0700)]
pgsql: Pass check with warning when there is no default DB service.
Matt Birkholz [Fri, 7 Jul 2017 14:55:44 +0000 (07:55 -0700)]
gtk plugin: Apply bytes->string to value of c-peek-cstring.
Matt Birkholz [Sun, 2 Jul 2017 23:41:38 +0000 (16:41 -0700)]
gtk plugin: fix per new warning.
Matt Birkholz [Sun, 2 Jul 2017 23:40:20 +0000 (16:40 -0700)]
glib plugin: fix per new random warning.
Matt Birkholz [Sun, 2 Jul 2017 23:39:41 +0000 (16:39 -0700)]
gl plugin: fix per new warning.
Matt Birkholz [Sun, 2 Jul 2017 23:39:00 +0000 (16:39 -0700)]
devops (version=?): redundant definition.
Matt Birkholz [Sun, 2 Jul 2017 23:17:29 +0000 (16:17 -0700)]
pgsql plugin: update lost in the merge(?).
Matt Birkholz [Sun, 2 Jul 2017 22:18:19 +0000 (15:18 -0700)]
blowfish, gdbm plugins: Export to (). Remove (runtime blowfish).
Punt import-blowfish and import-gdbm2. Fix merged references to
GDBM2.
Matt Birkholz [Sun, 2 Jul 2017 22:07:23 +0000 (15:07 -0700)]
plugin READMEs: Update.
Punt mention of nonexistent microcode modules and conflicting bindings.
Punt import-blowfish and import-gdbm2. Fix stale references to GDBM2.
Matt Birkholz [Sun, 2 Jul 2017 22:03:33 +0000 (15:03 -0700)]
pgsql plugin: Added debian/; pucked.
Matt Birkholz [Sun, 2 Jul 2017 20:50:29 +0000 (13:50 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Sun, 2 Jul 2017 20:45:09 +0000 (13:45 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Sun, 2 Jul 2017 20:20:56 +0000 (13:20 -0700)]
pgsql plugin: New, from the pgsql microcode module.
Matt Birkholz [Sun, 2 Jul 2017 18:40:21 +0000 (11:40 -0700)]
ffi/build (read-html-title): Use core regsexp.
Also: write-direntry now just uses string search and un/compress-file
loads the synchronous-subprocess option quietly.
Taylor R Campbell [Mon, 29 May 2017 20:33:21 +0000 (20:33 +0000)]
Fix missing argument.
Noted by mejja.
Matt Birkholz [Thu, 25 May 2017 00:33:38 +0000 (17:33 -0700)]
devops: Myriad fixes and additions. Build docs for binary tarballz.
Set umask before installing. Add run-noerror for debugging. Fix
plugin-dirt? filter. Change sorted-tags to return the newest version
first. Replaced ubuntu? slot with an OS name string. Reimplement
host-ubuntu?. Add host-ubuntu-codename.
Matt Birkholz [Thu, 25 May 2017 00:25:32 +0000 (17:25 -0700)]
plugin NEWS, debian/changelog: Re-sync.
Matt Birkholz [Wed, 24 May 2017 18:31:32 +0000 (11:31 -0700)]
ffi/build: Use regsexp and quiet natter from add/remove-plugin.
Matt Birkholz [Wed, 24 May 2017 03:46:24 +0000 (20:46 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Wed, 24 May 2017 01:23:20 +0000 (18:23 -0700)]
x11-screen plugin: Update README, NEWS, version.
Matt Birkholz [Tue, 23 May 2017 23:44:55 +0000 (16:44 -0700)]
x11 plugin: Convert to iso8859-1 rather than utf8.
And avoid converting if the string is already ASCII. Also fix the
subsystem version number, and update README, NEWS, etc. following the
examples of the other plugins.
Matt Birkholz [Tue, 23 May 2017 23:43:28 +0000 (16:43 -0700)]
test-ffi-wrapper: c-peek-cstring can now return a legacy string.
Chris Hanson [Mon, 22 May 2017 05:31:50 +0000 (22:31 -0700)]
Move re-compile-char-set from rgxcmp to chrset.
This is a dependency of regsexp, which didn't work unless the regular-expression
option was loaded.
Matt Birkholz [Sat, 20 May 2017 22:50:49 +0000 (15:50 -0700)]
plugin debian/prerm.in: OMG /usr/local/bin is in the PATH!