Merge branch 'master' into pucked.
authorMatt Birkholz <matt@birchwood-abbey.net>
Wed, 24 May 2017 03:46:24 +0000 (20:46 -0700)
committerMatt Birkholz <matt@birchwood-abbey.net>
Wed, 24 May 2017 03:46:24 +0000 (20:46 -0700)
1  2 
src/runtime/runtime.pkg
src/x11-screen/NEWS
src/x11-screen/configure.ac
src/x11-screen/make.scm
src/x11/Makefile.am
src/x11/NEWS
src/x11/README
src/x11/make.scm
src/x11/x11.pkg

Simple merge
index b4033dfa11144c0d7c5c91a8ef81424b830339e3,bd6073b4d9f121b4d145b2133a3cca2d87a91e0f..db12acbbb080817ca1938abdf2316adb29197446
@@@ -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.
index 99a31bdf0ba2665266d22901bf63d7c6a7fe3a8c,d51589161b65e7bd4fa7107423c08d48164a3183..c215ded7077562d75dfcfaed0de6aa6637a8e68d
@@@ -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(
index e27451b443b334b53942d82f20720d173ccdaca6,5c4a6f1e15b580611375dd02fad937b1e1fafbab..3ea839ae9df9c7ea4064ac772ee20807df2cc2c3
@@@ -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))
Simple merge
diff --cc src/x11/NEWS
index eb82f8687d9a4a2e56a97c0d5b9afa5b9beddb83,a0dec5c33b9f868a64590e9abedcb5c6d055786e..e51788f46e9843f88fef2e631acd27476aa65d80
@@@ -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 9c84224b6b4ccbd3c7a3f733346297751fc02317,e58025ab86930e2b656baba4dec16f26168c701f..fda45ea36f3bf7bd865a61ef2304d96f3c420946
@@@ -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:
  
index cb02af5e5ca469ef6af6a6b0069aeb2ecd4b9dbc,e565d66d37887b4b8bdd86d460190b001912f4b8..9c7ef6f2b3bf5776db698022a3d6727fd08c6dc7
@@@ -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 157cd9f968472567e8e1512af43497f1f75104c3,071ba2e4c2d5d2eb071e5d1c5c0b195ab6373060..f9e0137d81b446d8d60564a24690ffca008ddc76
@@@ -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