Matt Birkholz [Sun, 5 Nov 2017 23:35:01 +0000 (16:35 -0700)]
Increment version.
Matt Birkholz [Sun, 5 Nov 2017 23:34:10 +0000 (16:34 -0700)]
Do not install an empty plugins.scm during an upgrade.
Create it when the first plugin is installed and remove it only when
removing (not upgrading!) the core package.
Matt Birkholz [Sun, 5 Nov 2017 22:45:38 +0000 (15:45 -0700)]
debian/mit-scheme-pucked.menu: Removed in favor of the .desktop.
Matt Birkholz [Sun, 5 Nov 2017 18:43:18 +0000 (11:43 -0700)]
x11-screen: Increment version.
Matt Birkholz [Sun, 5 Nov 2017 18:42:59 +0000 (11:42 -0700)]
Increment version.
Matt Birkholz [Sun, 5 Nov 2017 09:46:41 +0000 (02:46 -0700)]
user-manual: Further simplify the add-apt-repository command line.
This changes the distribution from birchwood to the release code name.
Matt Birkholz [Sun, 5 Nov 2017 09:36:06 +0000 (02:36 -0700)]
x11-screen: Use new window class to avoid confusion with Emacs.
Borrow .desktop and icon files from core. Specify new window class
when creating x11-screens, and in the StartupWMClass key in the
.desktop file. Also fixed the .desktop file per complaints from
desktop-file-validate, deciding on one main category.
Matt Birkholz [Sat, 4 Nov 2017 00:10:29 +0000 (17:10 -0700)]
devops: Punt checking wrong version in .desktop file.
Matt Birkholz [Fri, 3 Nov 2017 23:20:16 +0000 (16:20 -0700)]
devops: Add codename for 17.10, host-ubuntu-version, devops:main.
Matt Birkholz [Fri, 3 Nov 2017 17:58:02 +0000 (10:58 -0700)]
blowfish plugin: Fix merged texinfo.
Matt Birkholz [Fri, 3 Nov 2017 08:24:11 +0000 (01:24 -0700)]
user.texinfo: Update apt-add-repository command line.
Explain how package and system upgrades are intended to work.
Matt Birkholz [Fri, 3 Nov 2017 08:23:10 +0000 (01:23 -0700)]
devops.texi: Punt empty @detailmenu.
Matt Birkholz [Fri, 3 Nov 2017 08:18:13 +0000 (01:18 -0700)]
debian/mit-scheme-pucked.desktop: Fix version.
Matt Birkholz [Fri, 3 Nov 2017 08:15:19 +0000 (01:15 -0700)]
pgsql/configure.ac: typo
Matt Birkholz [Fri, 3 Nov 2017 08:13:47 +0000 (01:13 -0700)]
Merge branch 'master' into pucked.
Matt Birkholz [Thu, 2 Nov 2017 23:56:48 +0000 (16:56 -0700)]
blowfish plugin: Add texinfo manual, scraped from OpenSSL manpages.
Matt Birkholz [Thu, 2 Nov 2017 16:12:30 +0000 (09:12 -0700)]
x11/x11-base (->cstring): Convert 0 to the null pointer.
Matt Birkholz [Thu, 2 Nov 2017 16:06:05 +0000 (09:06 -0700)]
pgsql plugin: typos, e.g. banish vagrant scminfodir.
Matt Birkholz [Thu, 2 Nov 2017 16:00:09 +0000 (09:00 -0700)]
ustring (string-trim): Handle strings trimmed to nothing.
Also added tests for string-trim. Thanks to Peter <craven@gmx.net>.
Taylor R Campbell [Thu, 26 Oct 2017 22:13:56 +0000 (22:13 +0000)]
Add common integer bit string ffs, fls, ctz, and clz.
(ffs x): find first set, 1-indexed with 0 for 0
(fls x): find last set, 1-indexed with 0 for 0 (same as integer-length)
(ctz x): count trailing zeros (same as ffs)
((clz n) x): count leading zeros in n-bit word x
Taylor R Campbell [Mon, 16 Oct 2017 14:35:03 +0000 (14:35 +0000)]
Fix typo: port/state should give the state, not the type.
Noted by ecraven.
Chris Hanson [Sun, 8 Oct 2017 00:41:40 +0000 (17:41 -0700)]
Eliminate no-longer-used conditional.
Chris Hanson [Fri, 6 Oct 2017 23:56:24 +0000 (16:56 -0700)]
Fix typo when reading symbols without #!fold-case.
Matt Birkholz [Mon, 2 Oct 2017 01:13:45 +0000 (18:13 -0700)]
doc/ref-manual: Do not include detailmenu in HTML, which has a TOC.
Matt Birkholz [Sun, 1 Oct 2017 17:24:42 +0000 (10:24 -0700)]
devops: Prefix status report sections with a blank line.
Matt Birkholz [Sun, 1 Oct 2017 17:22:39 +0000 (10:22 -0700)]
devops: Check version in mit-scheme-pucked.desktop.
Matt Birkholz [Sun, 1 Oct 2017 17:14:10 +0000 (10:14 -0700)]
README.Debian: Add PGSQL.
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.