From 2e73901c3e680381c683b2fae1035f6a3f5630f2 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Wed, 22 Dec 2021 10:59:08 -0800 Subject: [PATCH] WINDOWOBJ: COPYINSERT now uniformly allows lists of objects It was incomplete. --- sources/WINDOWOBJ | 148 +++++++++++++++++++++-------------------- sources/WINDOWOBJ.LCOM | Bin 10717 -> 10802 bytes 2 files changed, 76 insertions(+), 72 deletions(-) diff --git a/sources/WINDOWOBJ b/sources/WINDOWOBJ index 9d24a1a0..5bc8a14c 100644 --- a/sources/WINDOWOBJ +++ b/sources/WINDOWOBJ @@ -1,37 +1,37 @@ -(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP") -(FILECREATED "19-Jan-93 11:26:14" {DSK}lde>lispcore>sources>WINDOWOBJ.;3 27891 +(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) - changes to%: (RECORDS IMAGEOBJ IMAGEFNS IMAGEBOX) +(FILECREATED "20-Dec-2021 23:47:45" {DSK}kaplan>Local>medley3.5>my-medley>sources>WINDOWOBJ.;5 27781 - previous date%: " 5-Jan-93 09:53:15" {DSK}lde>lispcore>sources>WINDOWOBJ.;2) + :CHANGES-TO (FNS COPYINSERT) + + :PREVIOUS-DATE "18-Dec-2021 20:09:33" +{DSK}kaplan>Local>medley3.5>my-medley>sources>WINDOWOBJ.;3) (* ; " -Copyright (c) 1986, 1987, 1990, 1991, 1993 by Venue & Xerox Corporation. All rights reserved. +Copyright (c) 1986-1987, 1990-1991, 1993 by Venue & Xerox Corporation. ") (PRETTYCOMPRINT WINDOWOBJCOMS) -(RPAQQ WINDOWOBJCOMS [(COMS (* ; - "Image object support - here so that DEDIT can use it without needing TEDIT to be loaded.") - (RECORDS IMAGEOBJ IMAGEFNS IMAGEBOX) - (FNS COPYINSERT IMAGEBOX IMAGEFNSCREATE IMAGEFNSP IMAGEOBJCREATE - IMAGEOBJP IMAGEOBJPROP \IMAGEUSERPROP HPRINT.IMAGEOBJ - COPYIMAGEOBJ READIMAGEOBJ WRITEIMAGEOBJ) - (ADDVARS (HPRINTMACROS (IMAGEOBJ . WRITEIMAGEOBJ))) - (GLOBALVARS (IMAGEOBJTYPES NIL) - (IMAGEOBJGETFNS NIL))) - (COMS (* ; - "For encapsulating unknown-type IMAGEOBJs.") - (FNS ENCAPSULATEDOBJ.BUTTONEVENTINFN ENCAPSULATEDOBJ.PUTFN - ENCAPSULATEDOBJ.DISPLAYFN ENCAPSULATEDOBJ.IMAGEBOXFN - ENCAPSULATEDIMAGEFNS) - (INITVARS ENCAPSULATEDIMAGEFNS) - (GLOBALVARS ENCAPSULATEDIMAGEFNS)) - (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS - (ADDVARS (NLAMA) - (NLAML) - (LAMA IMAGEOBJPROP]) +(RPAQQ WINDOWOBJCOMS + [(COMS (* ; + "Image object support - here so that DEDIT can use it without needing TEDIT to be loaded.") + (RECORDS IMAGEOBJ IMAGEFNS IMAGEBOX) + (FNS COPYINSERT IMAGEBOX IMAGEFNSCREATE IMAGEFNSP IMAGEOBJCREATE IMAGEOBJP IMAGEOBJPROP + \IMAGEUSERPROP HPRINT.IMAGEOBJ COPYIMAGEOBJ READIMAGEOBJ WRITEIMAGEOBJ) + (ADDVARS (HPRINTMACROS (IMAGEOBJ . WRITEIMAGEOBJ))) + (GLOBALVARS (IMAGEOBJTYPES NIL) + (IMAGEOBJGETFNS NIL))) + (COMS (* ; + "For encapsulating unknown-type IMAGEOBJs.") + (FNS ENCAPSULATEDOBJ.BUTTONEVENTINFN ENCAPSULATEDOBJ.PUTFN ENCAPSULATEDOBJ.DISPLAYFN + ENCAPSULATEDOBJ.IMAGEBOXFN ENCAPSULATEDIMAGEFNS) + (INITVARS ENCAPSULATEDIMAGEFNS) + (GLOBALVARS ENCAPSULATEDIMAGEFNS)) + (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) + (NLAML) + (LAMA IMAGEOBJPROP]) @@ -40,35 +40,35 @@ Copyright (c) 1986, 1987, 1990, 1991, 1993 by Venue & Xerox Corporation. All ri (DECLARE%: EVAL@COMPILE (DATATYPE IMAGEOBJ (OBJECTDATUM IMAGEOBJPLIST IMAGEOBJFNS) - (SYSTEM)) + (SYSTEM)) -(DATATYPE IMAGEFNS (DISPLAYFN (* ; - "FN called to display the object's image") - IMAGEBOXFN (* ; "To tell how big it is") - PUTFN (* ; "To write it onto a file") - GETFN (* ; "To read it back from the file") - COPYFN (* ; "To make a copy of the object") - BUTTONEVENTINFN (* ; - "Called when the mouse goes down over the object") - COPYBUTTONEVENTINFN (* ; - "Called when the MIDDLE mouse button goes down over the object") - WHENMOVEDFN (* ; - "Called when the object is moved within a document or other environment") - WHENINSERTEDFN (* ; - "Called when the object is inserted into a context") - WHENDELETEDFN (* ; - "Called when the object is removed from a context") - WHENCOPIEDFN (* ; - "Called when the object is copied within a context") - WHENOPERATEDONFN (* ; - "Called when something interesting happens to the object") - PREPRINTFN IMAGECLASSNAME (* ; - "LITATOM unique name by which this kind of IMAGEOBJ is to be known to the world.") - ) - (SYSTEM)) +(DATATYPE IMAGEFNS (DISPLAYFN (* ; + "FN called to display the object's image") + IMAGEBOXFN (* ; "To tell how big it is") + PUTFN (* ; "To write it onto a file") + GETFN (* ; "To read it back from the file") + COPYFN (* ; "To make a copy of the object") + BUTTONEVENTINFN (* ; + "Called when the mouse goes down over the object") + COPYBUTTONEVENTINFN (* ; + "Called when the MIDDLE mouse button goes down over the object") + WHENMOVEDFN (* ; + "Called when the object is moved within a document or other environment") + WHENINSERTEDFN (* ; + "Called when the object is inserted into a context") + WHENDELETEDFN (* ; + "Called when the object is removed from a context") + WHENCOPIEDFN (* ; + "Called when the object is copied within a context") + WHENOPERATEDONFN (* ; + "Called when something interesting happens to the object") + PREPRINTFN IMAGECLASSNAME (* ; + "LITATOM unique name by which this kind of IMAGEOBJ is to be known to the world.") + ) + (SYSTEM)) (RECORD IMAGEBOX (XSIZE YSIZE YDESC XKERN) - (SYSTEM)) + (SYSTEM)) ) (/DECLAREDATATYPE 'IMAGEOBJ '(POINTER POINTER POINTER) @@ -98,7 +98,11 @@ Copyright (c) 1986, 1987, 1990, 1991, 1993 by Venue & Xerox Corporation. All ri (DEFINEQ (COPYINSERT - [LAMBDA (IMAGEOBJ) (* ; "Edited 17-Sep-90 13:19 by jds") + [LAMBDA (IMAGEOBJ) + + (* ;; "Edited 20-Dec-2021 23:47 by rmk: IMAGEOBJ can now also be a list of objects in the COPYINSERTFN case") + + (* ;; "Edited 17-Sep-90 13:19 by jds") (* ;;; "inserts IMAGEOBJ into the window that currently has the tty. If this window has a COPYINSERTFN property, that is called, otherwise BKSYSBUF is called.") @@ -106,22 +110,22 @@ Copyright (c) 1986, 1987, 1990, 1991, 1993 by Venue & Xerox Corporation. All ri INSERTFN) (COND ((SETQ INSERTFN (WINDOWPROP TTYW 'COPYINSERTFN)) - (APPLY* INSERTFN IMAGEOBJ TTYW)) + (for IMOBJ inside IMAGEOBJ do (APPLY* INSERTFN IMOBJ TTYW))) (T (* ; - "IMAGEOBJ can be a list of things too.") + "IMAGEOBJ can be a list of things too.") (for IMOBJ inside IMAGEOBJ do (BKSYSBUF (OR (COND - [(IMAGEOBJP IMOBJ) - (COND - ((SETQ INSERTFN (IMAGEOBJPROP IMOBJ 'PREPRINTFN)) - (APPLY* INSERTFN IMOBJ)) - (T (IMAGEOBJPROP IMOBJ 'OBJECTDATUM] - (T IMOBJ)) - "") - T - (PROCESS.EVAL (TTY.PROCESS) - '(GETREADTABLE) - T]) + [(IMAGEOBJP IMOBJ) + (COND + ((SETQ INSERTFN (IMAGEOBJPROP IMOBJ 'PREPRINTFN)) + (APPLY* INSERTFN IMOBJ)) + (T (IMAGEOBJPROP IMOBJ 'OBJECTDATUM] + (T IMOBJ)) + "") + T + (PROCESS.EVAL (TTY.PROCESS) + '(GETREADTABLE) + T]) (IMAGEBOX [LAMBDA (OBJ STREAM MODE) (* jds " 8-Feb-84 10:48") @@ -527,11 +531,11 @@ Either delete this image object or load its support files." IMAGEOBJ) ) (PUTPROPS WINDOWOBJ COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1990 1991 1993)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (5088 21106 (COPYINSERT 5098 . 6542) (IMAGEBOX 6544 . 6724) (IMAGEFNSCREATE 6726 . 7921) - (IMAGEFNSP 7923 . 8164) (IMAGEOBJCREATE 8166 . 8711) (IMAGEOBJP 8713 . 8954) (IMAGEOBJPROP 8956 . -14848) (\IMAGEUSERPROP 14850 . 15444) (HPRINT.IMAGEOBJ 15446 . 16035) (COPYIMAGEOBJ 16037 . 16780) ( -READIMAGEOBJ 16782 . 19752) (WRITEIMAGEOBJ 19754 . 21104)) (21320 27527 ( -ENCAPSULATEDOBJ.BUTTONEVENTINFN 21330 . 22466) (ENCAPSULATEDOBJ.PUTFN 22468 . 23583) ( -ENCAPSULATEDOBJ.DISPLAYFN 23585 . 25198) (ENCAPSULATEDOBJ.IMAGEBOXFN 25200 . 26088) ( -ENCAPSULATEDIMAGEFNS 26090 . 27525))))) + (FILEMAP (NIL (4895 20996 (COPYINSERT 4905 . 6432) (IMAGEBOX 6434 . 6614) (IMAGEFNSCREATE 6616 . 7811) + (IMAGEFNSP 7813 . 8054) (IMAGEOBJCREATE 8056 . 8601) (IMAGEOBJP 8603 . 8844) (IMAGEOBJPROP 8846 . +14738) (\IMAGEUSERPROP 14740 . 15334) (HPRINT.IMAGEOBJ 15336 . 15925) (COPYIMAGEOBJ 15927 . 16670) ( +READIMAGEOBJ 16672 . 19642) (WRITEIMAGEOBJ 19644 . 20994)) (21210 27417 ( +ENCAPSULATEDOBJ.BUTTONEVENTINFN 21220 . 22356) (ENCAPSULATEDOBJ.PUTFN 22358 . 23473) ( +ENCAPSULATEDOBJ.DISPLAYFN 23475 . 25088) (ENCAPSULATEDOBJ.IMAGEBOXFN 25090 . 25978) ( +ENCAPSULATEDIMAGEFNS 25980 . 27415))))) STOP diff --git a/sources/WINDOWOBJ.LCOM b/sources/WINDOWOBJ.LCOM index f6164d86f7087d94ab344a5d5288f484b1c5d2a8..353cf8d8c665f69f9a6ad41aa80e62a4a553b2a9 100644 GIT binary patch delta 1156 zcmb7?O>7fa5XZ9)4($Sgd|)Ynobd)byP`JUwT+z>by$1fCNJ5n&F(r%kV-MOX(0{{ z2}lG~ao~V*g5=R2t2Ueq5fMnh0deBW38|_OoIo77_Ul4tL)17@d&uSY=FPnSdo%Oq zm2=;Xh&nN-MWO~ZNt9Yf0fI#>KdKE85UAx6+oVoWSnTMT%4rS(IWF5hvHJMhEDFH;G(wLq(Td!52aUKNVuj^NCn0J3Sx$v|%r}?rSLt1bJZNZaJx@5~`9A;Phfz+FV!ue+t`r9l$H;bVdd>Kdf0p#EH5E z5Dm*|N?8K6Xp?bTC^=Cb+lnb>HY!)*YJ5OVVC7rtVs@@^X|}>%a_yZ7iErwUs%Loi zI~Q+T-qzB>ea61<38DL;V;vo>BMB>7c;UjqV zN8i5VsWjw9ok=HGGC)o#P_zqq;y5ufu3^uUGPv$!Y~2a6as=oY&Ql>bg1#b-P{j#&X2JdttUBt_3*X@j^o)Q{~+=&|4rmV+m{%4 z-j?xm{L;>4^xWC`5P4$P3i@}n|K`Kx-JUY)R%z!4PoD0c!p)s-@HVt_KYP8`Q~VI9 zp!@H@Ax{zMxzUQt-2>-5VNbB+oo)1nkc+)F@?+1bMyhH1chqiA)@{k+JZ8_VdB~Cu=Dj zT{DdJz^!l`t!LpA$ODnDkXIr}*h+iWwh}AW_i@g`U d*kMW8&Wmvp delta 1040 zcmZ{iOH30{6ozRFB~b?h6nqrnaB1mGNSk@I(2ljWj{yfuTRT%DDu&WlDbx;9G$F+3 zg7}E9n7c7CVd2iiL?ek?HpYb;W8%Vu=uQ)3+`IHlL5wEO;=BKubIv{g+&eGzPa4Z6 zl~FaVct_Qg;#Je58R*R^v7{c0rxYM+T32!@Rm+lx?Oo?MhBeC)SfDFOAmXrhyioIo zf*?q8ARtRY0xT&S7Z)nkatVwY5MWl4+VQL5Ql&m0F(F3gO7$hfsMaIZq7I+3< zu`Ky`dfnoD#$_FWnh_{lE~ze8qgHCszS1QKkdcz5(2?T!6;X`sjl7+y|f&6Dq zhsZIBOmWAWaaI5nwy#|)3jnGyB-}qR<){o+cs{{XIACRbQ3;?iOO!1 z4Q#x4+QbTyAL7TgNiCiq1wjl!HkU~#n&wkZ#!?{g5~vfgF(nfp$3zx_{=ef9flk>} zH=dm!1mUc%Px`hu0K9SRQWAPHrspSMBt+lZoQJ{xR~0tmR0-HIMc?_QI6QF?2;N9z zc06-x>l@pf7cI>CYV&Q2g`sWsC^Bt-fc$Jff{C8iU<(HMJx`F~b|>v*9;15Byujpi z+olzlaC-rp*Vj6Jn0wrH%wzD=0cNn);iUfVSE#;s7x8sw-;mj{a^R*77u%sZv$58j zH)~(_^&`Lbm60hpk6edo{dAmlVie;#=`w3hdc&3)v4ciA)6ps?wlZuk8#@uD1=3}Q Pw3_139G7olP%^&&fJGK5