Matt Birkholz [Fri, 5 Aug 2016 21:42:13 +0000 (14:42 -0700)]
edwin/process.scm (poll-process-for-output): allow for reading #f
Matt Birkholz [Fri, 5 Aug 2016 21:27:34 +0000 (14:27 -0700)]
edwin/process.scm: transposo (like a typo but larger)
Matt Birkholz [Sun, 31 Jul 2016 18:56:31 +0000 (11:56 -0700)]
x11-screen: Fix selection handling (cut/paste between X windows).
Cut/paste should now work with two minor fixes (typos, really), and
one kludge keeping non-unique alien objects in a weak-eq-hash-table.
The original xds (fixnums) are held as strongly as the new interned
symbols.
The xds were intended to be x-displays? Interned x-display objects
would be more appropriate keys for a weak-eq-hash-table.
Chris Hanson [Sat, 30 Jul 2016 01:39:21 +0000 (21:39 -0400)]
Fix typo.
Matt Birkholz [Fri, 29 Jul 2016 07:21:04 +0000 (00:21 -0700)]
plugin Makefile.ams (CLEANFILES): Add timestamp files.
Matt Birkholz [Fri, 29 Jul 2016 06:49:29 +0000 (23:49 -0700)]
edwin/intmod.scm: Call suspend-current-thread with events blocked.
Blocking thread events around these wait loops closes an interrupt
hole between testing and suspending.
Matt Birkholz [Fri, 29 Jul 2016 06:16:06 +0000 (23:16 -0700)]
x11: Fix x-display-process-events to return #f when all events read.
The plugin's version of x_display_process_events will return any
keypress even though some do not translate into any input (e.g. when
it IsModifier). X-display-process-events would return #f in that case
and preview-events think all events were read. Now x-display-process-
events returns #t and preview-events disregards it, continuing to read
events. Many callers must disregard these non-events.
Punt property-notify events in the previewer; do not queue them.
Matt Birkholz [Wed, 27 Jul 2016 04:53:56 +0000 (21:53 -0700)]
x11-screen: Backport "permanent" IO thread event from x-screen.
Matt Birkholz [Tue, 26 Jul 2016 23:32:20 +0000 (16:32 -0700)]
runtime/ed-ffi.scm: Update.
Matt Birkholz [Tue, 26 Jul 2016 23:16:07 +0000 (16:16 -0700)]
typo: with-openssl is not a configure option here
Matt Birkholz [Tue, 26 Jul 2016 23:13:07 +0000 (16:13 -0700)]
Add spawn-edwin procedure.
Matt Birkholz [Tue, 26 Jul 2016 22:02:26 +0000 (15:02 -0700)]
Restore interruptibility to Edwin commands when on an X display.
Commit
52eea88 (Do NOT use permanently-register-io-thread-event in
Edwin.) removed too much. Without an IO thread event registered to
preview X events, Edwin cannot be interrupted by a ^G key press.
Restore X event previewing using a custom, "permanently" registered IO
thread event that always consumes some input before re-registering
(i.e. withOUT the reading-event? variable that caused the spinning
previously). Now X events are read only in the previewer (and
wait-for-event). Keyboard operations only process queued events. And
the queue is used only by the previewer or with thread events (the
previewer) blocked.
Remove deregister-all-events from cmdl/start so that the "non-
permanent" IO thread event registered by the grab-editor wrapper is
not undone when the editor command level is started. Reversing the
order ("grab" the editor INSIDE the command level) makes the wrapper's
special operations unavailable when the command level is made. If
there is need for the aggressive decoupling of command levels as
rendered by deregister-all-events (which nevertheless did NOT remove
"permanent" IO event registrations), some mechanism will be needed to
set up the previewer after the command level is entered.
Matt Birkholz [Fri, 29 Jul 2016 06:56:49 +0000 (23:56 -0700)]
Fix suspend-current-thread to NOT leave events unblocked.
Allow thread events to run in %resume-current-thread if they were
blocked but the thread is suspended, and block them again when the
thread continues.
Matt Birkholz [Thu, 9 Jun 2016 00:07:07 +0000 (17:07 -0700)]
x11-screen/: Fix copyrights.
Matt Birkholz [Wed, 8 Jun 2016 23:54:09 +0000 (16:54 -0700)]
x11/: Fix copyrights.
Matt Birkholz [Wed, 8 Jun 2016 22:27:59 +0000 (15:27 -0700)]
x11/x11base.scm (x-get-window-property): Read entire string value.
The new char-ptr-to-prop-data-8 procedure reads the specified number
of bytes. (c-peek-cstringp stops at #\NULs.)
Matt Birkholz [Wed, 8 Jun 2016 22:27:04 +0000 (15:27 -0700)]
x11/x11base.scm (x-get-window-property): Init data-return.
Avoid freeing a bogus pointer when cleaning up.
Matt Birkholz [Wed, 8 Jun 2016 22:04:23 +0000 (15:04 -0700)]
x11/x11term.scm (xterm_open_window): Use 0 for NULL, not #f.
Matt Birkholz [Wed, 8 Jun 2016 22:02:55 +0000 (15:02 -0700)]
x11/x11base.c (x_get_window_property): Actually return values.
Matt Birkholz [Wed, 8 Jun 2016 22:01:07 +0000 (15:01 -0700)]
x11-screen/x11-screen-check.sh: Test read some X11 properties.
Matt Birkholz [Wed, 8 Jun 2016 21:57:17 +0000 (14:57 -0700)]
x11/x11-check.sh: Test read a 32bit X11 property.
Matt Birkholz [Tue, 7 Jun 2016 22:10:58 +0000 (15:10 -0700)]
x11/x11base.scm: Fix argument checking in x-get-window-property, ...
... x-change-property, x-delete-property and x-select-input. Add
similar checking to x-set-select-owner, x-convert-selection, and
x-send-selection-notify.
Matt Birkholz [Tue, 7 Jun 2016 19:44:25 +0000 (12:44 -0700)]
x11/x11base.scm: Fix the wrappings on some boolean args.
Matt Birkholz [Tue, 7 Jun 2016 18:31:46 +0000 (11:31 -0700)]
microcode/x11base.c (char_ptr_to_prop_data_32): Fix for 64bits.
Thanks to Patric Jonsson <patjon@kth.se>. 32bit property data, though
CARD32, is returned in an array of longs (64bit elements on 64bit
machinery).
Matt Birkholz [Tue, 7 Jun 2016 18:31:18 +0000 (11:31 -0700)]
x11-screen/Makefile.am (EXTRA_DIST): Add test script, optiondb.scm.
Matt Birkholz [Tue, 7 Jun 2016 18:28:31 +0000 (11:28 -0700)]
plugin Makefile.ams, configure.acs: Search for mit-scheme.h.
Matt Birkholz [Sun, 29 May 2016 17:02:40 +0000 (10:02 -0700)]
x11-screen.scm: Fix DISPLAY test.
Matt Birkholz [Sun, 29 May 2016 08:37:12 +0000 (01:37 -0700)]
runtime/Makefile-fragment: Install runtime/optiondb.scm.
Install runtime/optiondb.SCM so that standard-load-options can find it
when searching the library path.
Matt Birkholz [Sun, 29 May 2016 01:30:50 +0000 (18:30 -0700)]
dist/shared.sh: Add x11 and x11-screen to PLUGINS.
Matt Birkholz [Sun, 29 May 2016 01:29:36 +0000 (18:29 -0700)]
x11/Makefile.am: Add missing optiondb.scm to EXTRA_DIST.
Matt Birkholz [Sat, 28 May 2016 22:21:11 +0000 (15:21 -0700)]
plugin builds: Punt AC_PROG_LIBTOOL. Use MIT_SCHEME_LIBDIR.
AC_PROG_LIBTOOL is deprecated. MIT_SCHEME_LIBDIR replaces both
MIT_SCHEME_ARCH and the project name, allowing the latter to be more
easily changed.
Matt Birkholz [Fri, 27 May 2016 01:32:06 +0000 (18:32 -0700)]
New plugins x11 and x11-screen, to replace the x11 μmodule.
The "new" code is a translation of the x11 μmodule and associated
runtime Scheme code. The C code consing Scheme objects was translated
into Scheme/FFI code parsing C data. This removed the Scheme-specific
C code except for many calls to error_external_return, which are now
error status returns. Most of the error checking is intact. All C
data structures used by Scheme are protected from leaking by "GC
cleanups".
Matt Birkholz [Wed, 25 May 2016 23:14:32 +0000 (16:14 -0700)]
mhash/mhash.scm (remove*-context-cleanup): typos
Matt Birkholz [Wed, 25 May 2016 23:12:31 +0000 (16:12 -0700)]
gdbm/README: Update with automake build process.
Matt Birkholz [Wed, 25 May 2016 23:07:08 +0000 (16:07 -0700)]
plugin optiondb.scm: Further-load-options expects a thunk.
Matt Birkholz [Wed, 25 May 2016 22:09:45 +0000 (15:09 -0700)]
runtime/option.scm (library-file?): Search for the .scm file.
Library-file? is applied to optiondb pathnames with no type, but
system-library-pathname only searches for a matching type. Add a
"scm" type when searching the path and strip it again when looking for
a loadable.
Matt Birkholz [Wed, 25 May 2016 21:53:16 +0000 (14:53 -0700)]
runtime/pathnm.scm (system-library-pathname): Always search.
When not required?, system-library-pathname did not search the system-
library-path at all. It just merged with the first directory.
Matt Birkholz [Wed, 25 May 2016 21:50:41 +0000 (14:50 -0700)]
plugin Makefile.am: Do not ignore an error in compile.sh.
Matt Birkholz [Wed, 25 May 2016 21:22:37 +0000 (14:22 -0700)]
plugin AUTHORS: Credit the "MIT/GNU Scheme Team".
Chris Hanson [Sun, 15 May 2016 01:32:42 +0000 (18:32 -0700)]
Implement get-supported-features.
Matt Birkholz [Fri, 29 Apr 2016 21:16:44 +0000 (14:16 -0700)]
Handle GC events immediately, at end of after-gc interrupt.
Matt Birkholz [Fri, 29 Apr 2016 18:38:21 +0000 (11:38 -0700)]
runtime/ffi.scm: Avoid swapping threads during callbacks.
Block thread events during callouts.
Replace the callback error restart with an error handler that just
returns 0 from the callback. Until the debugger can run without-
interrupts (blocking for console IO instead of suspending for an IO
thread event) it may not run during a callback.
Matt Birkholz [Fri, 29 Apr 2016 18:22:04 +0000 (11:22 -0700)]
microcode/pruxffi.c: Punt problem callout optimization.
Chris Hanson [Sat, 23 Apr 2016 02:53:51 +0000 (19:53 -0700)]
Refactor merge-uris to simplify.
No longer requires an absolute base URI or defaults.
Returns an absolute URI if either base URI or defaults are absolute.
Otherwise returns a relative URI.
Chris Hanson [Sat, 23 Apr 2016 02:37:13 +0000 (19:37 -0700)]
Rename param:base-uri to uri-merge-defaults.
Chris Hanson [Sat, 23 Apr 2016 00:16:50 +0000 (17:16 -0700)]
Add support for a default base URI.
Matt Birkholz [Mon, 11 Apr 2016 15:53:58 +0000 (08:53 -0700)]
plugin Makefile.ams (tags): Punt ALL sources in TAGS.
Putting ALL Scheme source in TAGS allows tags-query-replace to find
all references, but drives etags a bit batty. M-x grep is more all-
inclusive anyway (e.g. finding references in documentation).
Matt Birkholz [Mon, 11 Apr 2016 04:19:44 +0000 (21:19 -0700)]
plugin Makefile.ams (dist): Add missing files to EXTRA_DIST.
Fix ./fix-tags.sh to take the package name as an argument, to support
building the dist in strangely named directories like mit-scheme-
blowfish-0.1/. Add a missing dependency of stamp-scheme on the .pkg
file.
Matt Birkholz [Sun, 10 Apr 2016 19:52:09 +0000 (12:52 -0700)]
plugin tags-fix.shs: typos
Matt Birkholz [Sun, 10 Apr 2016 19:34:07 +0000 (12:34 -0700)]
plugin Makefile.ams: remove generated -shim.c and -const.c from TAGS
Matt Birkholz [Fri, 8 Apr 2016 04:37:53 +0000 (21:37 -0700)]
plugin Makefile.ams: include ALL sources in TAGS
Chris Hanson [Wed, 6 Apr 2016 08:12:20 +0000 (01:12 -0700)]
Update indentation to include R7RS keywords.
Also delete obsolete MIT/GNU keywords.
Chris Hanson [Wed, 6 Apr 2016 07:52:05 +0000 (00:52 -0700)]
Add optional default-value to get-keyword-value.
Chris Hanson [Wed, 6 Apr 2016 01:11:47 +0000 (18:11 -0700)]
Add get-if-available operation to metadata.
Also add better error message to get operation.
Matt Birkholz [Tue, 29 Mar 2016 23:42:05 +0000 (16:42 -0700)]
runtime/world-report.scm (ticks->string): parameterize* a param.
Matt Birkholz [Tue, 29 Mar 2016 16:36:29 +0000 (09:36 -0700)]
plugin Makefile.ams: Fix multi-target rules. Punt install-html.
Chris Hanson [Sat, 26 Mar 2016 08:25:30 +0000 (01:25 -0700)]
Eliminate redundant call.
Chris Hanson [Sat, 26 Mar 2016 08:22:32 +0000 (01:22 -0700)]
Rework param:default-pathname-defaults yet again.
This time to guarantee that the value is a pathname object. Also using the new
parameter merger support to merge the new value with the old.
Chris Hanson [Sat, 26 Mar 2016 07:59:54 +0000 (00:59 -0700)]
Add support for value merging in (general) parameters.
Matt Birkholz [Fri, 25 Mar 2016 17:44:13 +0000 (10:44 -0700)]
plugin configure.acs: Prune unused AC_SUBST and, in gdbm, config.h.
Matt Birkholz [Fri, 25 Mar 2016 17:35:19 +0000 (10:35 -0700)]
cref/generate-trivial-constructor: Add optional parameter OS-TYPE.
Plugin installs do not include package descriptions for other OSes.
This causes cref/generate-trivial-constructor to emit warnings. The
argument #F for OS-TYPE now causes it to punt other OSes.
Chris Hanson [Wed, 23 Mar 2016 01:11:53 +0000 (18:11 -0700)]
Add delete! operation to metadata abstractions.
Chris Hanson [Tue, 15 Mar 2016 07:29:01 +0000 (00:29 -0700)]
Fix guarantee-uri and friends to correspond with their predicates.
Chris Hanson [Tue, 15 Mar 2016 06:59:00 +0000 (23:59 -0700)]
Eliminate unparser/standard-method.
* Allow name arg of simple-unparser-method and standard-unparser-method to be a
procedure that computes the name.
* Favor the use of simple-unparser-method where possible.
* Implement general-unparser-method and bracketed-unparser-method.
Chris Hanson [Tue, 15 Mar 2016 05:28:38 +0000 (22:28 -0700)]
Implement URI syntax #<...> that's readable.
Old syntax was too verbose with useless hash number.
Also this nicely reflects the standard way to write a URI <...>
Chris Hanson [Mon, 14 Mar 2016 06:28:06 +0000 (23:28 -0700)]
Eliminate all the OS/2 code.
Chris Hanson [Mon, 14 Mar 2016 05:34:52 +0000 (22:34 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Mon, 14 Mar 2016 05:32:33 +0000 (22:32 -0700)]
Don't auto-convert arguments to URI accessors.
Matt Birkholz [Fri, 11 Mar 2016 04:28:15 +0000 (21:28 -0700)]
doc/Makefile.in: Punt doc-config.scm. It is no longer used.
Matt Birkholz [Fri, 11 Mar 2016 04:19:34 +0000 (21:19 -0700)]
ffi/build.scm (update-html-index): Do not forget the .html suffix.
And dodge a bullet when there are no plugin manuals installed.
Matt Birkholz [Thu, 10 Mar 2016 23:08:49 +0000 (16:08 -0700)]
blowfish/make.scm: Fix subsystem name to match load-option name.
Matt Birkholz [Thu, 10 Mar 2016 22:37:26 +0000 (15:37 -0700)]
plugin Makefile.ams: Set infodir to the Scheme default.
Matt Birkholz [Thu, 10 Mar 2016 22:35:04 +0000 (15:35 -0700)]
plugin Makefile.ams: Add support for .texi. (No actual .texi yet.)
Matt Birkholz [Thu, 10 Mar 2016 22:07:54 +0000 (15:07 -0700)]
plugin Makefile.ams: rmdir the plugin subdirectory on uninstall.
Matt Birkholz [Thu, 10 Mar 2016 22:00:28 +0000 (15:00 -0700)]
plugin Makefile.ams: replace ALL -unx with -@MIT_SCHEME_OS_SUFFIX@.
Matt Birkholz [Thu, 10 Mar 2016 21:38:52 +0000 (14:38 -0700)]
ffi/build.scm (update-html-index): Do not strip the mit-scheme- prefix.
The plugin Makefile.ams install --no-split .html to the same name as
the .info by default. (The .info goes in a shared info/ directory and
thus needs the prefix.)
Matt Birkholz [Thu, 10 Mar 2016 20:02:49 +0000 (13:02 -0700)]
Quote here document in plugin test scripts.
Matt Birkholz [Thu, 10 Mar 2016 20:01:10 +0000 (13:01 -0700)]
When buiding plugins, do not cref/generate-constructors for 'ALL.
This simplifies cleaning.
Matt Birkholz [Tue, 8 Mar 2016 18:49:59 +0000 (11:49 -0700)]
Use new --prepend-library option to build and test the plugins.
Matt Birkholz [Tue, 8 Mar 2016 18:41:50 +0000 (11:41 -0700)]
Punt plugin -available? procedures.
Such procedures made sense in (runtime crypto), but make little sense
in a plugin where they are defined only after the plugin is installed
and loaded.
Matt Birkholz [Tue, 8 Mar 2016 18:38:11 +0000 (11:38 -0700)]
Punt with-system-library-directories.
This procedure made uninstalled FFIs visible while building or testing
plugins, but it works for one thread only. A test involving multiple
threads will fail if another thread tries to call out and cannot find
the uninstalled FFI's shim.
Matt Birkholz [Tue, 8 Mar 2016 18:36:47 +0000 (11:36 -0700)]
microcode/option.c: Add --prepend-library option.
Matt Birkholz [Tue, 8 Mar 2016 18:34:15 +0000 (11:34 -0700)]
microcode/option.c (string_copy_limited): Null-terminate result.
Matt Birkholz [Sun, 6 Mar 2016 18:00:51 +0000 (11:00 -0700)]
microcode: Show defaults for band and library-path in --help text.
Matt Birkholz [Thu, 3 Mar 2016 18:00:59 +0000 (11:00 -0700)]
Fix plugin testing, -available? predicates, install hooks.
Signal an error (not warning) if a plugin is not tested because it
appears to be unavailable.
Matt Birkholz [Wed, 2 Mar 2016 23:34:31 +0000 (16:34 -0700)]
ffi: Delete old reference to the XML option.
Matt Birkholz [Wed, 2 Mar 2016 23:22:40 +0000 (16:22 -0700)]
microcode/pruxffi.c: Pass flovecs as double*, not SCHEME_OBJECT*.
This reduces the need for adapter code, but assumes Scheme's flonums
are doubles.
The convenience functions flovec_loc and flovec_ref are thus made
superfluous.
Matt Birkholz [Wed, 2 Mar 2016 23:11:14 +0000 (16:11 -0700)]
tests/ffi/test-ffi.scm: Use new param:suppress-loading-message?.
Matt Birkholz [Wed, 2 Mar 2016 23:08:33 +0000 (16:08 -0700)]
runtime/ffi: Add plugin-available?. Eliminate free variable ref.
Matt Birkholz [Wed, 2 Mar 2016 22:59:22 +0000 (15:59 -0700)]
src/README.txt: Describe the latest plugins.
Matt Birkholz [Wed, 2 Mar 2016 22:58:27 +0000 (15:58 -0700)]
doc/index.html: Add list of plugin manuals.
Chris Hanson [Wed, 2 Mar 2016 09:50:42 +0000 (01:50 -0800)]
Apply swank patch from craven@gmx.net.
Chris Hanson [Tue, 1 Mar 2016 21:52:48 +0000 (13:52 -0800)]
Suppress output about passing tests.
Chris Hanson [Tue, 1 Mar 2016 21:52:36 +0000 (13:52 -0800)]
Clarify wording in notification line.
Chris Hanson [Tue, 1 Mar 2016 21:34:06 +0000 (13:34 -0800)]
Fix a test problem caused by make-parameter changing to unsettable.
Thanks to craven@gmx.net for finding this.
Chris Hanson [Tue, 1 Mar 2016 09:53:59 +0000 (01:53 -0800)]
Remove obsolete runtime-check directory.
Standard runtime enabled type and range checks long ago.
Chris Hanson [Tue, 1 Mar 2016 08:59:19 +0000 (00:59 -0800)]
Fix two typos; thanks to craven@gmx.net!
Chris Hanson [Mon, 29 Feb 2016 07:12:04 +0000 (23:12 -0800)]
If install-info is available, use it to update the info dir.
Chris Hanson [Mon, 29 Feb 2016 06:34:32 +0000 (22:34 -0800)]
Implement more R7RS string and vector procedures.
Chris Hanson [Mon, 29 Feb 2016 06:01:55 +0000 (22:01 -0800)]
Implement some R7RS string procedures.