From: Matt Birkholz Date: Wed, 24 May 2017 03:46:24 +0000 (-0700) Subject: Merge branch 'master' into pucked. X-Git-Tag: mit-scheme-pucked-9.2.12~124 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=40a6216151d036772f3a7dc662f0d32e1b851191;p=mit-scheme.git Merge branch 'master' into pucked. --- 40a6216151d036772f3a7dc662f0d32e1b851191 diff --cc src/x11-screen/NEWS index b4033dfa1,bd6073b4d..db12acbbb --- a/src/x11-screen/NEWS +++ b/src/x11-screen/NEWS @@@ -23,10 -19,17 +25,17 @@@ General Public License for more details You should have received a copy of the GNU General Public License along with MIT/GNU Scheme; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - 02110-1301, USA. + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, + USA. + -mit-scheme-x11-screen 0.2 - Matt Birkholz, 2017-05-23 -===================================================== ++mit-scheme-pucked-x11-screen 0.2.1 - Matt Birkholz, 2017-05-23 ++============================================================== + -Updated to use new string procedures, with help from Chris Hanson. ++New upstream using new string procedures. -mit-scheme-x11-screen 0.1 - Matt Birkholz, 2016-05-25 -===================================================== +mit-scheme-pucked-x11-screen 0.1.1 - Matt Birkholz, 2017-03-01 +============================================================== - * Stolen from MIT/GNU Scheme. + The Edwin display type x11-screen is now a separately buildable and + installable automake package. It requires MIT/GNU Scheme with an x11 + plugin to build and operate. diff --cc src/x11-screen/configure.ac index 99a31bdf0,d51589161..c215ded70 --- a/src/x11-screen/configure.ac +++ b/src/x11-screen/configure.ac @@@ -1,9 -1,9 +1,9 @@@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([MIT/GNU Scheme Edwin X11 Screen plugin], - [0.2], - [bug-mit-scheme@gnu.org], - [mit-scheme-x11-screen]) +AC_INIT([MIT/GNU Scheme Pucked Edwin X11 Screen plugin], - [0.1.1], ++ [0.2.1], + [matt@birchwood-abbey.net], + [mit-scheme-pucked-x11-screen]) AC_CONFIG_SRCDIR([x11-screen.pkg]) AC_COPYRIGHT( diff --cc src/x11-screen/make.scm index e27451b44,5c4a6f1e1..3ea839ae9 --- a/src/x11-screen/make.scm +++ b/src/x11-screen/make.scm @@@ -7,4 -7,70 +7,4 @@@ Load the X11-Screen option. | (with-loader-base-uri (system-library-uri "x11-screen/") (lambda () (load-package-set "x11-screen"))) - (add-subsystem-identification! "X11-Screen" '(0 1)) -(add-subsystem-identification! "X11-Screen" '(0 2)) - -;; Reassign (edwin x-commands) bindings created by the define- -;; primitives form. Reassign them to their replacements in the (x11) -;; package. -(let ((xcom (->environment '(edwin x-commands))) - (x11 (->environment '(x11)))) - (for-each (lambda (name) - (environment-assign! xcom name (environment-lookup x11 name))) - '(x-list-fonts - x-set-default-font - x-window-clear - x-window-get-position - x-window-get-size - x-window-lower - x-window-raise - x-window-set-background-color - x-window-set-border-color - x-window-set-border-width - x-window-set-cursor-color - x-window-set-font - x-window-set-foreground-color - x-window-set-internal-border-width - x-window-set-mouse-color - x-window-set-mouse-shape - x-window-set-position - x-window-set-size - x-window-x-size - x-window-y-size - xterm-reconfigure - xterm-set-size - xterm-x-size - xterm-y-size))) - -;; Reassign (edwin screen x-screen) bindings exported to (edwin). -(let ((edwin (->environment '(edwin))) - (x11 (->environment '(edwin screen x11-screen)))) - (for-each (lambda (name) - (environment-assign! edwin name (environment-lookup x11 name))) - '(edwin-variable$x-cut-to-clipboard - edwin-variable$x-paste-from-clipboard - os/interprogram-cut - os/interprogram-paste - x-root-window-size - x-screen-ignore-focus-button? - x-selection-timeout - xterm-screen/flush! - xterm-screen/grab-focus!))) - -;; Reassign (edwin screen x-screen) bindings exported to (edwin x-commands). -(let ((edwin (->environment '(edwin x-commands))) - (x11 (->environment '(edwin screen x11-screen)))) - (for-each (lambda (name) - (environment-assign! edwin name (environment-lookup x11 name))) - '(screen-display - screen-xterm - xterm-screen/set-icon-name - xterm-screen/set-name))) - -;; Remove the X display type. If it stays on the list, its available? -;; operation will load the prx11 microcode module which contains -;; conflicting definitions for symbols like xterm_open_window. -(let ((env (->environment '(edwin display-type)))) - (set! (access display-types env) - (filter (lambda (display-type) - (not (eq? 'X ((access display-type/name env) display-type)))) - (access display-types env)))) ++(add-subsystem-identification! "X11-Screen" '(0 2 1)) diff --cc src/x11/NEWS index eb82f8687,a0dec5c33..e51788f46 --- a/src/x11/NEWS +++ b/src/x11/NEWS @@@ -26,15 -22,16 +26,15 @@@ along with MIT/GNU Scheme; if not, writ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. -mit-scheme-x11 0.2 - Matt Birkholz, 2017-05-23 -============================================== +mit-scheme-pucked-x11 0.2.1 - Matt Birkholz, 2017-03-18 +======================================================= - * New upstream converts strings (atom names and xterm content) to UTF8 - bytes for the foreign library. This should be transparent if you - were using standard ASCII property names and writing only ASCII - graphical characters to your xterms. -Use new Unicode support. Convert (restrict) strings (atom names and -xterm content) to iso8859-1. This should be transparent if you were -using standard Latin1 property names and writing only Latin1 graphical ++New upstream converts (restricts) strings (atom names and xterm ++content) to iso8859-1. This should be transparent if you were using ++standard Latin1 property names and writing only Latin1 graphical + characters to your xterms. -mit-scheme-x11 0.1 - Matt Birkholz, 2016-02-19 -============================================== +mit-scheme-pucked-x11 0.1.1 - Matt Birkholz, 2017-03-01 +======================================================= - * Stolen from MIT/GNU Scheme. -Converted to a libtool plugin. Moved X11 data parsing -(x_event_to_object) to Scheme/FFI code. ++* Stole v0.1 from MIT/GNU Scheme. diff --cc src/x11/README index 9c84224b6,e58025ab8..fda45ea36 --- a/src/x11/README +++ b/src/x11/README @@@ -1,20 -1,19 +1,18 @@@ The X11 option. - This plugin creates an (x11) package emulating the primitives of the - old x11 microcode module. Its (x11 device) package registers a - graphics device type named X11, an exact replacement for the micro- - module based X graphics type. When this option is loaded, with the - DISPLAY environment variable set, make-graphics-device will display an - X11 window by default. - - This plugin is built in the customary GNU way: -This plugin creates an (x11) package, a drop-in replacement for the -microcode module based (runtime x-graphics) package. It is built in -the customary GNU way: ++This plugin creates an (x11) package that registers a graphics device ++type named X11, an exact replacement for the microcode module based X ++graphics device type. The plugin is built in the customary GNU way: ./configure ... make all check install To load: - (load-option 'X11) + (load-option 'x11) + -Loading this plugin re-assigns the bindings in (runtime x-graphics). -Any existing X graphics devices will stop working, and make-graphics- -device will begin creating X11 graphics devices instead. ++If the DISPLAY environment variable set, make-graphics-device will ++create an X11 window by default. To import into a CREF package set, add this to your .pkg file: diff --cc src/x11/make.scm index cb02af5e5,e565d66d3..9c7ef6f2b --- a/src/x11/make.scm +++ b/src/x11/make.scm @@@ -5,4 -5,113 +5,4 @@@ Load the X11 option. | (with-loader-base-uri (system-library-uri "x11/") (lambda () (load-package-set "x11"))) - (add-subsystem-identification! "X11" '(0 1)) -(add-subsystem-identification! "X11" '(0 2)) - -;; Until the microcode module based X Graphics system is removed, -;; reassign the define-primitives bindings in (runtime x-graphics) to -;; their replacements in (x11). -(let ((x-graphics (->environment '(runtime x-graphics))) - (x11 (->environment '(x11)))) - (for-each (lambda (name) - (environment-assign! x-graphics name - (environment-lookup x11 name))) - '( - x-close-all-displays - x-display-descriptor - x-display-get-default - x-display-process-events - x-font-structure - x-window-beep - x-window-clear - x-window-colormap - x-window-depth - x-window-event-mask - x-window-flush - x-window-iconify - x-window-id - x-window-lower - x-window-map - x-window-query-pointer - x-window-raise - x-window-set-background-color - x-window-set-border-color - x-window-set-border-width - x-window-set-cursor-color - x-window-set-event-mask - x-window-set-font - x-window-set-foreground-color - x-window-set-icon-name - x-window-set-input-hint - x-window-set-internal-border-width - x-window-set-mouse-color - x-window-set-mouse-shape - x-window-set-name - x-window-set-position - x-window-set-size - ;; x-window-starbase-filename No such primitive! - x-window-visual - x-window-withdraw - x-window-x-size - x-window-y-size - x-graphics-copy-area - x-graphics-drag-cursor - x-graphics-draw-arc - x-graphics-draw-line - x-graphics-draw-lines - x-graphics-draw-point - x-graphics-draw-points - x-graphics-draw-string - x-graphics-draw-image-string - x-graphics-fill-polygon - x-graphics-map-x-coordinate - x-graphics-map-y-coordinate - x-graphics-move-cursor - x-graphics-open-window - x-graphics-reconfigure - x-graphics-reset-clip-rectangle - x-graphics-set-clip-rectangle - x-graphics-set-dashes - x-graphics-set-fill-style - x-graphics-set-function - x-graphics-set-line-style - x-graphics-set-vdc-extent - x-graphics-vdc-extent - x-bytes-into-image - x-create-image - x-destroy-image - x-display-image - x-get-pixel-from-image - x-set-pixel-in-image - x-allocate-color - x-create-colormap - x-free-colormap - x-query-color - x-set-window-colormap - x-store-color - x-store-colors - x-visual-deallocate))) - -;; Check that these (integrated!) constants DO "match" the C -;; constants, just because we can (with the FFI's help). -(let ((x-graphics (->environment '(runtime x-graphics))) - (x11 (->environment '(x11)))) - (for-each (lambda (name) - (if (not (equal? (environment-lookup x-graphics name) - (environment-lookup x11 name))) - (warn "Incorrect C constant in (runtime x-graphics):" name))) - '(event-type:button-down - event-type:button-up - event-type:configure - event-type:enter - event-type:focus-in - event-type:focus-out - event-type:key-press - event-type:leave - event-type:motion - event-type:expose - event-type:delete-window - event-type:map - event-type:unmap - event-type:take-focus - event-type:visibility - number-of-event-types))) ++(add-subsystem-identification! "X11" '(0 2 1)) diff --cc src/x11/x11.pkg index 157cd9f96,071ba2e4c..f9e0137d8 --- a/src/x11/x11.pkg +++ b/src/x11/x11.pkg @@@ -33,8 -33,10 +33,12 @@@ Inc., 51 Franklin St, Fifth Floor, Bost (define-package (x11 base) (files "x11-base") (parent (x11)) + (export () + x-close-all-displays) + (import (runtime ustring) + cp1-ref + ustring-cp-size + ustring?) (export (x11) x-visual-deallocate x-close-display