From 0cc21cd46adff9f0f8a427997ec3cdba693166b6 Mon Sep 17 00:00:00 2001 From: rmkaplan <69548581+rmkaplan@users.noreply.github.com> Date: Sun, 19 Jan 2025 11:31:26 -0800 Subject: [PATCH] IMAGEOBJ inspect macro pulls user props to the top level (#1934) Imageobj inspect macro pulls user props to the top level --- sources/INSPECT | 136 ++++++++++++++++++++++++++++++------------- sources/INSPECT.LCOM | Bin 52140 -> 53351 bytes 2 files changed, 95 insertions(+), 41 deletions(-) diff --git a/sources/INSPECT b/sources/INSPECT index a57ba7ab..0f4439cc 100644 --- a/sources/INSPECT +++ b/sources/INSPECT @@ -1,12 +1,13 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 4-Jul-2024 12:16:52" {WMEDLEY}INSPECT.;31 126551 +(FILECREATED "16-Jul-2024 18:28:42" {WMEDLEY}INSPECT.;33 129220 :EDIT-BY rmk - :CHANGES-TO (VARS INSPECTCOMS) + :CHANGES-TO (FNS IMAGEOBJ\PROPFETCHFN IMAGEOBJ\PROPSTOREFN) + (VARS INSPECTCOMS) - :PREVIOUS-DATE " 4-Jul-2024 11:11:46" {WMEDLEY}INSPECT.;30) + :PREVIOUS-DATE " 4-Jul-2024 12:16:52" {WMEDLEY}INSPECT.;31) (PRETTYCOMPRINT INSPECTCOMS) @@ -72,6 +73,11 @@ (FNS WINDOW\INSPECTPROPS WINDOW\PROPFETCHFN WINDOW\PROPSTOREFN) (ADDVARS (INSPECTMACROS (WINDOW WINDOW\INSPECTPROPS WINDOW\PROPFETCHFN WINDOW\PROPSTOREFN] + [COMS (* ; + "Show properties in the main window") + (FNS IMAGEOBJ\INSPECTPROPS IMAGEOBJ\PROPFETCHFN IMAGEOBJ\PROPSTOREFN) + (ADDVARS (INSPECTMACROS (IMAGEOBJ IMAGEOBJ\INSPECTPROPS IMAGEOBJ\PROPFETCHFN + IMAGEOBJ\PROPSTOREFN] (COMS (* ; "Hunk inspector") (FNS INSPECT/AS/BLOCKRECORD INSPECT/TYPELESS LIST-ALL-BLOCKRECORDS INSPECT/HUNK \INSPECT.DATATYPE.RAW.FETCH \INSPECT.FETCH.8 \INSPECT.FETCH.32 \INSPECT.FETCH.CHAR @@ -2090,6 +2096,53 @@ +(* ; "Show properties in the main window") + +(DEFINEQ + +(IMAGEOBJ\INSPECTPROPS + [LAMBDA (OBJ) (* ; "Edited 16-Jul-2024 15:01 by rmk") + (* ; "Edited 4-Jul-2024 00:03 by rmk") + (* ; "Edited 30-Jun-2024 09:04 by rmk") + + (* ;; "Stick the user properties at the end with --PROPS-- separator. INSPECTABLEFIELDNAMES does the sort for defined field names, the UFIELDS have to be sorted here.") + + (LET ([IFIELDS (REMOVE 'IMAGEOBJPLIST (INSPECTABLEFIELDNAMES (OR (RECLOOK 'IMAGEOBJ) + (SYSRECLOOK1 'IMAGEOBJ] + (PFIELDS (for X in (fetch (IMAGEOBJ IMAGEOBJPLIST) of OBJ) by (CDDR X) collect X))) + (CL:UNLESS (OR (EQ T INSPECTDONTSORTFIELDS) + (MEMB 'IMAGEOBJ INSPECTDONTSORTFIELDS)) + (SETQ PFIELDS (SORT PFIELDS))) + (APPEND IFIELDS (CONS '--PROPS--) + PFIELDS]) + +(IMAGEOBJ\PROPFETCHFN + [LAMBDA (OBJ PROPNAME) (* ; "Edited 16-Jul-2024 18:25 by rmk") + + (* ;; "Keep the main fields up front.") + + (* ;; + "This does not expand out all of the fields of the IMAGEFNS, they could be raised up at the bottom.") + + (SELECTQ PROPNAME + (OBJECTDATUM (fetch (IMAGEOBJ OBJECTDATUM) of OBJ)) + (IMAGEOBJFNS (fetch (IMAGEOBJ IMAGEOBJFNS) of OBJ)) + (--PROPS-- '------) + (IMAGEOBJPROP OBJ PROPNAME]) + +(IMAGEOBJ\PROPSTOREFN + [LAMBDA (OBJ PROPNAME VALUE) (* ; "Edited 16-Jul-2024 18:27 by rmk") + (* ; "Edited 30-Jun-2024 08:52 by rmk") + (SELECTQ PROPNAME + (--PROPS-- NIL) + (IMAGEOBJFNS (replace (IMAGEOBJ IMAGEOBJFNS) of OBJ with VALUE)) + (IMAGEOBJPROP OBJ PROPNAME VALUE]) +) + +(ADDTOVAR INSPECTMACROS (IMAGEOBJ IMAGEOBJ\INSPECTPROPS IMAGEOBJ\PROPFETCHFN IMAGEOBJ\PROPSTOREFN)) + + + (* ; "Hunk inspector") (DEFINEQ @@ -2258,42 +2311,43 @@ ("As Character array" '(8 \INSPECT.FETCH.CHAR \INSPECT.STORE.CHAR)) ("As Fat Character array" '(16 \INSPECT.FETCH.FATCHAR \INSPECT.STORE.FATCHAR]) (DECLARE%: DONTCOPY - (FILEMAP (NIL (7293 45646 (INSPECTW.CREATE 7303 . 12598) (INSPECTW.REPAINTFN 12600 . 18136) ( -INSPECTW.REDISPLAY 18138 . 27010) (\INSPECTW.VALUE.MARGIN 27012 . 27415) (INSPECTW.REPLACE 27417 . -28125) (INSPECTW.SELECTITEM 28127 . 29117) (\INSPECTW.REDISPLAYPROP 29119 . 31549) (INSPECTW.FETCH -31551 . 31974) (INSPECTW.PROPERTIES 31976 . 32617) (DECODE.WINDOW.ARG 32619 . 34347) ( -DEFAULT.INSPECTW.PROPCOMMANDFN 34349 . 36377) (DEFAULT.INSPECTW.VALUECOMMANDFN 36379 . 37795) ( -DEFAULT.INSPECTW.TITLECOMMANDFN 37797 . 41246) (\SELITEM.FROM.PROPERTY 41248 . 41690) ( -\INSPECT.COMPUTE.TITLE 41692 . 42976) (LEVELEDFORM 42978 . 43697) (MAKEWITHINREGION 43699 . 45644)) ( -45647 62952 (ITEMW.REPAINTFN 45657 . 46877) (\ITEM.WINDOW.BUTTON.HANDLER 46879 . 47298) ( -\ITEM.WINDOW.SELECTION.HANDLER 47300 . 49967) (\INSPECTW.COMMAND.HANDLER 49969 . 53970) ( -ITEM.WINDOW.SET.STACK.ARG 53972 . 56176) (REPLACESTKARG 56178 . 57277) (IN/ITEM? 57279 . 58161) ( -\ITEMW.DESELECTITEM 58163 . 58427) (\ITEMW.SELECTITEM 58429 . 58691) (\ITEMW.CLEARSELECTION 58693 . -59048) (\ITEMW.FLIPITEM 59050 . 59523) (PRINTANDBOX 59525 . 62034) (PRINTATBOX 62036 . 62553) ( -ITEMOFPROPERTYVALUE 62555 . 62950)) (62953 66694 (\ITEM.WINDOW.COPY.HANDLER 62963 . 64820) ( -\ITEMW.FLIPCOPY 64822 . 65281) (BKSYSBUF.GENERAL 65283 . 66692)) (67086 92001 (INSPECT 67096 . 71626) -(\APPLYINSPECTMACRO 71628 . 72689) (INSPECT/BITMAP 72691 . 73843) (INSPECT/DATATYPE 73845 . 77359) ( -INSPECTABLEFIELDNAMES 77361 . 78694) (REMOVEDUPS 78696 . 78901) (INSPECT/ARRAY 78903 . 79968) ( -INSPECT/TOP/LEVEL/LIST 79970 . 81087) (INSPECT/PROPLIST 81089 . 82177) (NONSYSPROPNAMES 82179 . 82475) - (INSPECT/LISTP 82477 . 82916) (ALISTP 82918 . 83127) (PROPLISTP 83129 . 83769) (INSPECT/ALIST 83771 - . 84247) (ASSOCGET 84249 . 84460) (/ASSOCPUT 84462 . 84727) (INSPECT/PLIST 84729 . 85213) ( -INSPECT/TYPERECORD 85215 . 85572) (INSPECT/AS/RECORD 85574 . 86811) (SELECT.LIST.INSPECTOR 86813 . -88864) (STANDARDEDITE 88866 . 89149) (NTHTOPLEVELELT 89151 . 89467) (SETNTHTOPLEVELELT 89469 . 90229) -(DEDITE 90231 . 90438) (FINDRECDECL 90440 . 91023) (FINDSYSRECDECL 91025 . 91426) ( -MAKE-INSPECTOR-PROFILE 91428 . 91813) (CONFIRM-SET 91815 . 91999)) (93825 102039 (INSPECT/ATOM 93835 - . 97940) (SELECT.ATOM.ASPECT 97942 . 99086) (INSPECT/AS/FUNCTION 99088 . 101374) (SELECT.FNS.EDITOR -101376 . 102037)) (102080 107505 (INSPECTCODE 102090 . 103242) (\TEDIT.INSPECTCODE 103244 . 105222) ( -\INSPECT/CODE/RESHAPEFN 105224 . 106763) (\INSPECT/CODE/REPAINTFN 106765 . 107503)) (107543 109149 ( -INSPECT/HARRAYP 107553 . 108301) (HARRAYKEYS 108303 . 108682) (INSPECTW.GETHASH 108684 . 108911) ( -INSPECTW.PUTHASH 108913 . 109147)) (109198 115407 (RDTBL\NONOTHERCODES 109208 . 110228) (GETSYNTAXPROP - 110230 . 111728) (SETSYNTAXPROP 111730 . 113457) (GETTTBLPROP 113459 . 114377) (SETTTBLPROP 114379 . -115405)) (115912 117362 (WINDOW\INSPECTPROPS 115922 . 116777) (WINDOW\PROPFETCHFN 116779 . 117133) ( -WINDOW\PROPSTOREFN 117135 . 117360)) (117491 126133 (INSPECT/AS/BLOCKRECORD 117501 . 118501) ( -INSPECT/TYPELESS 118503 . 119894) (LIST-ALL-BLOCKRECORDS 119896 . 120171) (INSPECT/HUNK 120173 . -122776) (\INSPECT.DATATYPE.RAW.FETCH 122778 . 123104) (\INSPECT.FETCH.8 123106 . 123255) ( -\INSPECT.FETCH.32 123257 . 123428) (\INSPECT.FETCH.CHAR 123430 . 123593) (\INSPECT.FETCH.FATCHAR -123595 . 123757) (\INSPECT.FETCH.PTR 123759 . 123930) (\INSPECT.STORE.8 123932 . 124238) ( -\INSPECT.STORE.16 124240 . 124540) (\INSPECT.STORE.32 124542 . 124977) (\INSPECT.STORE.CHAR 124979 . -125305) (\INSPECT.STORE.FATCHAR 125307 . 125629) (\INSPECT.STORE.PTR 125631 . 125978) ( -INSPECT/MAKE/CCODEP 125980 . 126131))))) + (FILEMAP (NIL (7776 46129 (INSPECTW.CREATE 7786 . 13081) (INSPECTW.REPAINTFN 13083 . 18619) ( +INSPECTW.REDISPLAY 18621 . 27493) (\INSPECTW.VALUE.MARGIN 27495 . 27898) (INSPECTW.REPLACE 27900 . +28608) (INSPECTW.SELECTITEM 28610 . 29600) (\INSPECTW.REDISPLAYPROP 29602 . 32032) (INSPECTW.FETCH +32034 . 32457) (INSPECTW.PROPERTIES 32459 . 33100) (DECODE.WINDOW.ARG 33102 . 34830) ( +DEFAULT.INSPECTW.PROPCOMMANDFN 34832 . 36860) (DEFAULT.INSPECTW.VALUECOMMANDFN 36862 . 38278) ( +DEFAULT.INSPECTW.TITLECOMMANDFN 38280 . 41729) (\SELITEM.FROM.PROPERTY 41731 . 42173) ( +\INSPECT.COMPUTE.TITLE 42175 . 43459) (LEVELEDFORM 43461 . 44180) (MAKEWITHINREGION 44182 . 46127)) ( +46130 63435 (ITEMW.REPAINTFN 46140 . 47360) (\ITEM.WINDOW.BUTTON.HANDLER 47362 . 47781) ( +\ITEM.WINDOW.SELECTION.HANDLER 47783 . 50450) (\INSPECTW.COMMAND.HANDLER 50452 . 54453) ( +ITEM.WINDOW.SET.STACK.ARG 54455 . 56659) (REPLACESTKARG 56661 . 57760) (IN/ITEM? 57762 . 58644) ( +\ITEMW.DESELECTITEM 58646 . 58910) (\ITEMW.SELECTITEM 58912 . 59174) (\ITEMW.CLEARSELECTION 59176 . +59531) (\ITEMW.FLIPITEM 59533 . 60006) (PRINTANDBOX 60008 . 62517) (PRINTATBOX 62519 . 63036) ( +ITEMOFPROPERTYVALUE 63038 . 63433)) (63436 67177 (\ITEM.WINDOW.COPY.HANDLER 63446 . 65303) ( +\ITEMW.FLIPCOPY 65305 . 65764) (BKSYSBUF.GENERAL 65766 . 67175)) (67569 92484 (INSPECT 67579 . 72109) +(\APPLYINSPECTMACRO 72111 . 73172) (INSPECT/BITMAP 73174 . 74326) (INSPECT/DATATYPE 74328 . 77842) ( +INSPECTABLEFIELDNAMES 77844 . 79177) (REMOVEDUPS 79179 . 79384) (INSPECT/ARRAY 79386 . 80451) ( +INSPECT/TOP/LEVEL/LIST 80453 . 81570) (INSPECT/PROPLIST 81572 . 82660) (NONSYSPROPNAMES 82662 . 82958) + (INSPECT/LISTP 82960 . 83399) (ALISTP 83401 . 83610) (PROPLISTP 83612 . 84252) (INSPECT/ALIST 84254 + . 84730) (ASSOCGET 84732 . 84943) (/ASSOCPUT 84945 . 85210) (INSPECT/PLIST 85212 . 85696) ( +INSPECT/TYPERECORD 85698 . 86055) (INSPECT/AS/RECORD 86057 . 87294) (SELECT.LIST.INSPECTOR 87296 . +89347) (STANDARDEDITE 89349 . 89632) (NTHTOPLEVELELT 89634 . 89950) (SETNTHTOPLEVELELT 89952 . 90712) +(DEDITE 90714 . 90921) (FINDRECDECL 90923 . 91506) (FINDSYSRECDECL 91508 . 91909) ( +MAKE-INSPECTOR-PROFILE 91911 . 92296) (CONFIRM-SET 92298 . 92482)) (94308 102522 (INSPECT/ATOM 94318 + . 98423) (SELECT.ATOM.ASPECT 98425 . 99569) (INSPECT/AS/FUNCTION 99571 . 101857) (SELECT.FNS.EDITOR +101859 . 102520)) (102563 107988 (INSPECTCODE 102573 . 103725) (\TEDIT.INSPECTCODE 103727 . 105705) ( +\INSPECT/CODE/RESHAPEFN 105707 . 107246) (\INSPECT/CODE/REPAINTFN 107248 . 107986)) (108026 109632 ( +INSPECT/HARRAYP 108036 . 108784) (HARRAYKEYS 108786 . 109165) (INSPECTW.GETHASH 109167 . 109394) ( +INSPECTW.PUTHASH 109396 . 109630)) (109681 115890 (RDTBL\NONOTHERCODES 109691 . 110711) (GETSYNTAXPROP + 110713 . 112211) (SETSYNTAXPROP 112213 . 113940) (GETTTBLPROP 113942 . 114860) (SETTTBLPROP 114862 . +115888)) (116395 117845 (WINDOW\INSPECTPROPS 116405 . 117260) (WINDOW\PROPFETCHFN 117262 . 117616) ( +WINDOW\PROPSTOREFN 117618 . 117843)) (117994 120023 (IMAGEOBJ\INSPECTPROPS 118004 . 119070) ( +IMAGEOBJ\PROPFETCHFN 119072 . 119602) (IMAGEOBJ\PROPSTOREFN 119604 . 120021)) (120160 128802 ( +INSPECT/AS/BLOCKRECORD 120170 . 121170) (INSPECT/TYPELESS 121172 . 122563) (LIST-ALL-BLOCKRECORDS +122565 . 122840) (INSPECT/HUNK 122842 . 125445) (\INSPECT.DATATYPE.RAW.FETCH 125447 . 125773) ( +\INSPECT.FETCH.8 125775 . 125924) (\INSPECT.FETCH.32 125926 . 126097) (\INSPECT.FETCH.CHAR 126099 . +126262) (\INSPECT.FETCH.FATCHAR 126264 . 126426) (\INSPECT.FETCH.PTR 126428 . 126599) ( +\INSPECT.STORE.8 126601 . 126907) (\INSPECT.STORE.16 126909 . 127209) (\INSPECT.STORE.32 127211 . +127646) (\INSPECT.STORE.CHAR 127648 . 127974) (\INSPECT.STORE.FATCHAR 127976 . 128298) ( +\INSPECT.STORE.PTR 128300 . 128647) (INSPECT/MAKE/CCODEP 128649 . 128800))))) STOP diff --git a/sources/INSPECT.LCOM b/sources/INSPECT.LCOM index 28bf2e26e4aa4af6a5ed155a3655133443b11aa3..38e847e6986ce7fdaba40cf87ea15cf4d10fb260 100644 GIT binary patch delta 1272 zcmbW0-)qxQ6vrF4Im|?+6F0>lhl;dS(>6bvwVA@wZ7+K(f=|MJJm~a45PTJU^3@mdrfK>EhJtx$Pwu@r-_QBpbGDvze1FyP z=w=@)GGq4^7%s{Qz{VvmE(vRMkySnfw7+eSlUPxTMg4HQlD|_bmJ18{9OUnpD@&Io z(9-e2(lR4fM6roCQ`O`?Z+3$g)vjm>Md>0A8Cror{YNJ791S z>eZ-5#&%@tkOROxY+GhK7@Zi4Xk$d*6RNGxc1jO zEYpqyy}n?qN#jtGEJBijLvrc2wD(OgET1op#0V zH<(oyDnP_L7Hrw|vn1J}I||1ZO*ZS4e^oI1ZfWg;C}7EW*VmCngOWL6GMFf8GC5{kAvU Vg>xSVuKk1G+dj~M>aqQo)F14{R2u*Q delta 323 zcmaF9fO*Yy<_Y1GA2Nzf%+;wk)KuV7QZUi=D$UU~GB7exFf_6Cc+kdjye)PdDhGbK$f z4L468SLYyC#}HQ+g~<;X#V7kS%BUCuEjBYXHB_*2b@2?*b&6Cd%FR}=a`tfab9W8a z4e?jd;F`RjQJ>uq=r$`8v&p`Ua*PI>MVYdfZeG4>yVPXcV>-eLo_@gruFfI)A&~*D zKCZ#R3S5(Gjs*zEK*jakTtl2a^o)&w;s%>UCVxI=jgSit@egv a8D!^*;{lsh&)YI?Ha+RUy7}h0K1Kj9PhV;P