Merge branch 'master' into rmk140--Sketch-font-cleanup
This commit is contained in:
commit
e55bd3b5c7
@ -1,12 +1,13 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|
||||
|
||||
(FILECREATED "16-Oct-2025 16:55:27" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;22| 7104
|
||||
(FILECREATED " 5-Nov-2025 09:04:36" |{DSK}<Users>larry>il>MEDLEY>INTERNAL>loadups>LOADUP-LISP.;2| 7333
|
||||
|
||||
:EDIT-BY |rmk|
|
||||
:EDIT-BY "lmm"
|
||||
|
||||
:CHANGES-TO (FNS LOADUP-LISP)
|
||||
|
||||
:PREVIOUS-DATE "18-Aug-2025 12:09:49" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;21|)
|
||||
:PREVIOUS-DATE "16-Oct-2025 16:55:27"
|
||||
|{DSK}<Users>larry>il>MEDLEY>INTERNAL>loadups>LOADUP-LISP.;1|)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT LOADUP-LISPCOMS)
|
||||
@ -19,7 +20,8 @@
|
||||
(DEFINEQ
|
||||
|
||||
(LOADUP-LISP
|
||||
(LAMBDA (DRIBBLEFILE) (* \; "Edited 16-Oct-2025 16:55 by rmk")
|
||||
(LAMBDA (DRIBBLEFILE) (* \; "Edited 5-Nov-2025 09:01 by lmm")
|
||||
(* \; "Edited 16-Oct-2025 16:55 by rmk")
|
||||
(* \; "Edited 18-Aug-2025 12:08 by rmk")
|
||||
(* \; "Edited 15-Jun-2025 14:39 by rmk")
|
||||
(* \; "Edited 24-May-2025 10:20 by rmk")
|
||||
@ -126,7 +128,10 @@
|
||||
|
||||
(* |;;| " Added late, LOAD late to avoid any dependencies")
|
||||
|
||||
(* |;;| "prevent medley from pinning CPU")
|
||||
|
||||
(LOADUP '(XCL-LOOP XCL-HASH-LOOP))
|
||||
(LOADUP '(BACKGROUND-YIELD))
|
||||
|
||||
(* |;;| " networking code -- should make it optional but too many cross dependencies")
|
||||
|
||||
@ -144,5 +149,5 @@
|
||||
(GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST)
|
||||
)
|
||||
(DECLARE\: DONTCOPY
|
||||
(FILEMAP (NIL (640 6898 (LOADUP-LISP 650 . 6896)))))
|
||||
(FILEMAP (NIL (675 7127 (LOADUP-LISP 685 . 7125)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "25-Oct-2025 10:33:08" {WMEDLEY}<library>TEDIT>TEDIT-WINDOW.;878 230780
|
||||
(FILECREATED "15-Nov-2025 01:27:38" {WMEDLEY}<library>TEDIT>TEDIT-WINDOW.;881 231034
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS \TEDIT.WINDOW.GETREGION)
|
||||
:CHANGES-TO (FNS \TEDIT.WINDOW.CREATE)
|
||||
|
||||
:PREVIOUS-DATE "24-Oct-2025 09:11:52" {WMEDLEY}<library>tedit>TEDIT-WINDOW.;874)
|
||||
:PREVIOUS-DATE "25-Oct-2025 10:33:08" {WMEDLEY}<library>TEDIT>TEDIT-WINDOW.;878)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT TEDIT-WINDOWCOMS)
|
||||
@ -354,7 +354,8 @@
|
||||
(DEFINEQ
|
||||
|
||||
(\TEDIT.WINDOW.CREATE
|
||||
[LAMBDA (WINDOW TSTREAM PROPS) (* ; "Edited 23-Oct-2025 18:22 by rmk")
|
||||
[LAMBDA (WINDOW TSTREAM PROPS) (* ; "Edited 15-Nov-2025 01:27 by rmk")
|
||||
(* ; "Edited 23-Oct-2025 18:22 by rmk")
|
||||
(* ; "Edited 21-Jul-2025 11:55 by rmk")
|
||||
(* ; "Edited 9-May-2025 12:11 by rmk")
|
||||
(* ; "Edited 25-Apr-2025 21:24 by rmk")
|
||||
@ -377,24 +378,26 @@
|
||||
|
||||
(LET ((TEXTOBJ (FTEXTOBJ TSTREAM))
|
||||
(PHEIGHT 0)
|
||||
TITLE REGIONTYPE PROMPTPROP REGION FILE PWINDOW PREPROMPT WTEXTOBJ)
|
||||
REGIONTYPE PROMPTPROP REGION FILE PWINDOW PREPROMPT)
|
||||
(SETQ FILE (GETTOBJ TEXTOBJ TXTFILE))
|
||||
(CL:WHEN (WINDOWP WINDOW)
|
||||
(CL:WHEN (GETTSTR (fetch (TEXTWINDOW WTEXTSTREAM) of WINDOW)
|
||||
TEXTOBJ)
|
||||
|
||||
(* ;; " %"Reusing an existing Tedit window, kill the old process, undo its splits and restore its shape.%" ")
|
||||
(* ;; " %"Reusing an existing Tedit window, kill the old process, undo its splits and restore its shape. Make sure it has a title%" ")
|
||||
|
||||
(TEDIT.KILL WINDOW)
|
||||
(\TEDIT.CLOSESPLITS (fetch (TEXTWINDOW WTEXTSTREAM) of WINDOW)
|
||||
T))
|
||||
[SETQ TITLE (OR (LISTGET PROPS 'TITLE)
|
||||
(WINDOWPROP WINDOW 'TITLE])
|
||||
|
||||
(* ;; "Every tedit window has a title bar, maybe one that it had already?")
|
||||
|
||||
(WINDOWPROP WINDOW 'TITLE (OR (LISTGET PROPS 'TITLE)
|
||||
(WINDOWPROP WINDOW 'TITLE)
|
||||
(\TEDIT.DEFAULT.TITLE FILE PROPS))))
|
||||
(SETQ REGIONTYPE (OR (GETTEXTPROP TEXTOBJ 'REGION-TYPE)
|
||||
(AND (LITATOM WINDOW)
|
||||
WINDOW)))
|
||||
(SETQ FILE (GETTOBJ TEXTOBJ TXTFILE))
|
||||
(CL:UNLESS TITLE
|
||||
(SETQ TITLE (\TEDIT.DEFAULT.TITLE FILE PROPS)))
|
||||
(SETQ PROMPTPROP (GETTEXTPROP TEXTOBJ 'PROMPTWINDOW))
|
||||
|
||||
(* ;; "All this prompt-height calculation would be unnecessary if the attachment in GETPROMPTWINDOW does the proper shrinking of the main window.")
|
||||
@ -421,7 +424,8 @@
|
||||
REGION))
|
||||
(add (fetch (REGION HEIGHT) of REGION)
|
||||
(IMINUS PHEIGHT))
|
||||
(SETQ WINDOW (CREATEW REGION TITLE NIL NIL PROPS))
|
||||
(SETQ WINDOW (CREATEW REGION (\TEDIT.DEFAULT.TITLE FILE PROPS)
|
||||
NIL NIL PROPS))
|
||||
|
||||
(* ;; "If we grabbed a typed-region, (maybe just a Tedit region by default. We stash it back onto the window so it will be remembered for next time.")
|
||||
|
||||
@ -451,7 +455,6 @@
|
||||
|
||||
(FSETTOBJ TEXTOBJ PRIMARYPANE (\TEDIT.MINIMAL.WINDOW.SETUP WINDOW TSTREAM PROPS))
|
||||
(* ; "This should be PANE")
|
||||
(WINDOWPROP WINDOW 'TITLE TITLE)
|
||||
WINDOW])
|
||||
|
||||
(\TEDIT.WINDOW.GETREGION
|
||||
@ -3659,36 +3662,36 @@
|
||||
(RPAQ? TEDIT.TITLED.ICON.TEMPLATE (create TITLEDICON ICON _ TEDITICON MASK _ TEDITMASK TITLEREG _
|
||||
TEDIT.ICON.TITLE.REGION))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (17103 17999 (TEDIT.DEFER.UPDATES 17113 . 17997)) (18000 44835 (\TEDIT.WINDOW.CREATE
|
||||
18010 . 24616) (\TEDIT.WINDOW.GETREGION 24618 . 29322) (\TEDIT.WINDOW.SETUP 29324 . 33654) (
|
||||
\TEDIT.MINIMAL.WINDOW.SETUP 33656 . 41467) (\TEDIT.CLEARPANE 41469 . 42186) (\TEDIT.FILL.PANES 42188
|
||||
. 44833)) (44836 68537 (\TEDIT.CURSORMOVEDFN 44846 . 50456) (\TEDIT.CURSOROUTFN 50458 . 51146) (
|
||||
\TEDIT.ACTIVE.WINDOWP 51148 . 52218) (\TEDIT.EXPANDFN 52220 . 52783) (\TEDIT.MAINW 52785 . 54065) (
|
||||
\TEDIT.MAINSTREAM 54067 . 54401) (\TEDIT.PRIMARYPANE 54403 . 55173) (\TEDIT.PANELIST 55175 . 55671) (
|
||||
\TEDIT.NEWREGIONFN 55673 . 58189) (\TEDIT.SET.WINDOW.EXTENT 58191 . 63173) (\TEDIT.SHRINK.ICONCREATE
|
||||
63175 . 65908) (\TEDIT.SHRINKFN 65910 . 66319) (\TEDIT.PANEREGION 66321 . 68535)) (68569 101615 (
|
||||
\TEDIT.BUTTONEVENTFN 68579 . 81552) (\TEDIT.BUTTONEVENTFN.DOOPERATION 81554 . 88817) (
|
||||
\TEDIT.BUTTONEVENTFN.GETOPERATION 88819 . 90661) (\TEDIT.BUTTONEVENTFN.CURSEL.INIT 90663 . 94333) (
|
||||
\TEDIT.BUTTONEVENTFN.INACTIVE 94335 . 96765) (\TEDIT.BUTTONEVENTFN.INTITLE 96767 . 98602) (
|
||||
\TEDIT.COPYINSERTFN 98604 . 99736) (\TEDIT.FOREIGN.COPY 99738 . 101613)) (101616 119179 (
|
||||
\TEDIT.PANE.SPLIT 101626 . 105574) (\TEDIT.SPLITW 105576 . 113635) (\TEDIT.UNSPLITW 113637 . 117836) (
|
||||
\TEDIT.LINKPANES 117838 . 118601) (\TEDIT.UNLINKPANE 118603 . 119177)) (120613 121504 (TEDITWINDOWP
|
||||
120623 . 121502)) (121541 124644 (TEDIT.GETINPUT 121551 . 123994) (\TEDIT.MAKEFILENAME 123996 . 124642
|
||||
)) (124693 132343 (TEDIT.PROMPTWINDOW 124703 . 125017) (TEDIT.PROMPTPRINT 125019 . 127646) (
|
||||
TEDIT.PROMPTCLEAR 127648 . 129390) (TEDIT.PROMPTFLASH 129392 . 130650) (\TEDIT.PROMPT.PAGEFULLFN
|
||||
130652 . 132341)) (132581 143159 (\TEDIT.FILENAME 132591 . 133363) (\TEDIT.DEFAULT.TITLE 133365 .
|
||||
135744) (\TEDIT.WINDOW.TITLE 135746 . 137915) (\TEDIT.LIKELY.FILENAME 137917 . 140641) (
|
||||
\TEDIT.UPDATE.TITLE 140643 . 143157)) (143202 155686 (TEDIT.DEACTIVATE.WINDOW 143212 . 148785) (
|
||||
\TEDIT.RESHAPEFN 148787 . 150872) (\TEDIT.REPAINTFN 150874 . 151098) (\TEDIT.CLOSESPLITS 151100 .
|
||||
153545) (\TEDIT.CLOSEPANE 153547 . 155684)) (155687 198486 (\TEDIT.SCROLLFN 155697 . 157928) (
|
||||
\TEDIT.SCROLLCH.TOP 157930 . 160041) (\TEDIT.SCROLLCH.BOTTOM 160043 . 164373) (\TEDIT.SCROLLUP 164375
|
||||
. 170101) (\TEDIT.TOPLINE.YTOP 170103 . 171772) (\TEDIT.SCROLLDOWN 171774 . 178813) (
|
||||
\TEDIT.SCROLL.CARET 178815 . 181653) (\TEDIT.VISIBLECARETP 181655 . 183949) (\TEDIT.VISIBLECHARP
|
||||
183951 . 185042) (\TEDIT.BITMAPLINES 185044 . 188964) (\TEDIT.SETPANE.TOPLINE 188966 . 189578) (
|
||||
\TEDIT.SHIFTLINES 189580 . 198484)) (198487 209356 (\TEDIT.ONSCREEN? 198497 . 203048) (
|
||||
\TEDIT.ONSCREEN.REGION 203050 . 206701) (\TEDIT.AFTERMOVEFN 206703 . 207600) (OFFSCREENP 207602 .
|
||||
209354)) (209398 212212 (\TEDIT.PROCIDLEFN 209408 . 211068) (\TEDIT.PROCENTRYFN 211070 . 211515) (
|
||||
\TEDIT.PROCEXITFN 211517 . 212210)) (212291 225516 (\TEDIT.DOWNCARET 212301 . 213094) (
|
||||
\TEDIT.FLASHCARET 213096 . 215207) (\TEDIT.UPCARET 215209 . 216313) (TEDIT.NORMALIZECARET 216315 .
|
||||
219533) (\TEDIT.SETCARET 219535 . 224886) (\TEDIT.CARET 224888 . 225514)))))
|
||||
(FILEMAP (NIL (17100 17996 (TEDIT.DEFER.UPDATES 17110 . 17994)) (17997 45089 (\TEDIT.WINDOW.CREATE
|
||||
18007 . 24870) (\TEDIT.WINDOW.GETREGION 24872 . 29576) (\TEDIT.WINDOW.SETUP 29578 . 33908) (
|
||||
\TEDIT.MINIMAL.WINDOW.SETUP 33910 . 41721) (\TEDIT.CLEARPANE 41723 . 42440) (\TEDIT.FILL.PANES 42442
|
||||
. 45087)) (45090 68791 (\TEDIT.CURSORMOVEDFN 45100 . 50710) (\TEDIT.CURSOROUTFN 50712 . 51400) (
|
||||
\TEDIT.ACTIVE.WINDOWP 51402 . 52472) (\TEDIT.EXPANDFN 52474 . 53037) (\TEDIT.MAINW 53039 . 54319) (
|
||||
\TEDIT.MAINSTREAM 54321 . 54655) (\TEDIT.PRIMARYPANE 54657 . 55427) (\TEDIT.PANELIST 55429 . 55925) (
|
||||
\TEDIT.NEWREGIONFN 55927 . 58443) (\TEDIT.SET.WINDOW.EXTENT 58445 . 63427) (\TEDIT.SHRINK.ICONCREATE
|
||||
63429 . 66162) (\TEDIT.SHRINKFN 66164 . 66573) (\TEDIT.PANEREGION 66575 . 68789)) (68823 101869 (
|
||||
\TEDIT.BUTTONEVENTFN 68833 . 81806) (\TEDIT.BUTTONEVENTFN.DOOPERATION 81808 . 89071) (
|
||||
\TEDIT.BUTTONEVENTFN.GETOPERATION 89073 . 90915) (\TEDIT.BUTTONEVENTFN.CURSEL.INIT 90917 . 94587) (
|
||||
\TEDIT.BUTTONEVENTFN.INACTIVE 94589 . 97019) (\TEDIT.BUTTONEVENTFN.INTITLE 97021 . 98856) (
|
||||
\TEDIT.COPYINSERTFN 98858 . 99990) (\TEDIT.FOREIGN.COPY 99992 . 101867)) (101870 119433 (
|
||||
\TEDIT.PANE.SPLIT 101880 . 105828) (\TEDIT.SPLITW 105830 . 113889) (\TEDIT.UNSPLITW 113891 . 118090) (
|
||||
\TEDIT.LINKPANES 118092 . 118855) (\TEDIT.UNLINKPANE 118857 . 119431)) (120867 121758 (TEDITWINDOWP
|
||||
120877 . 121756)) (121795 124898 (TEDIT.GETINPUT 121805 . 124248) (\TEDIT.MAKEFILENAME 124250 . 124896
|
||||
)) (124947 132597 (TEDIT.PROMPTWINDOW 124957 . 125271) (TEDIT.PROMPTPRINT 125273 . 127900) (
|
||||
TEDIT.PROMPTCLEAR 127902 . 129644) (TEDIT.PROMPTFLASH 129646 . 130904) (\TEDIT.PROMPT.PAGEFULLFN
|
||||
130906 . 132595)) (132835 143413 (\TEDIT.FILENAME 132845 . 133617) (\TEDIT.DEFAULT.TITLE 133619 .
|
||||
135998) (\TEDIT.WINDOW.TITLE 136000 . 138169) (\TEDIT.LIKELY.FILENAME 138171 . 140895) (
|
||||
\TEDIT.UPDATE.TITLE 140897 . 143411)) (143456 155940 (TEDIT.DEACTIVATE.WINDOW 143466 . 149039) (
|
||||
\TEDIT.RESHAPEFN 149041 . 151126) (\TEDIT.REPAINTFN 151128 . 151352) (\TEDIT.CLOSESPLITS 151354 .
|
||||
153799) (\TEDIT.CLOSEPANE 153801 . 155938)) (155941 198740 (\TEDIT.SCROLLFN 155951 . 158182) (
|
||||
\TEDIT.SCROLLCH.TOP 158184 . 160295) (\TEDIT.SCROLLCH.BOTTOM 160297 . 164627) (\TEDIT.SCROLLUP 164629
|
||||
. 170355) (\TEDIT.TOPLINE.YTOP 170357 . 172026) (\TEDIT.SCROLLDOWN 172028 . 179067) (
|
||||
\TEDIT.SCROLL.CARET 179069 . 181907) (\TEDIT.VISIBLECARETP 181909 . 184203) (\TEDIT.VISIBLECHARP
|
||||
184205 . 185296) (\TEDIT.BITMAPLINES 185298 . 189218) (\TEDIT.SETPANE.TOPLINE 189220 . 189832) (
|
||||
\TEDIT.SHIFTLINES 189834 . 198738)) (198741 209610 (\TEDIT.ONSCREEN? 198751 . 203302) (
|
||||
\TEDIT.ONSCREEN.REGION 203304 . 206955) (\TEDIT.AFTERMOVEFN 206957 . 207854) (OFFSCREENP 207856 .
|
||||
209608)) (209652 212466 (\TEDIT.PROCIDLEFN 209662 . 211322) (\TEDIT.PROCENTRYFN 211324 . 211769) (
|
||||
\TEDIT.PROCEXITFN 211771 . 212464)) (212545 225770 (\TEDIT.DOWNCARET 212555 . 213348) (
|
||||
\TEDIT.FLASHCARET 213350 . 215461) (\TEDIT.UPCARET 215463 . 216567) (TEDIT.NORMALIZECARET 216569 .
|
||||
219787) (\TEDIT.SETCARET 219789 . 225140) (\TEDIT.CARET 225142 . 225768)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "28-Jul-2023 09:49:24" {DSK}<home>larry>il>medley>lispusers>BACKGROUND-YIELD.;2 1770
|
||||
(FILECREATED " 9-Nov-2025 11:52:07" {DSK}<Users>larry>il>MEDLEY>LISPUSERS>BACKGROUND-YIELD.;2 1882
|
||||
|
||||
:EDIT-BY "lmm"
|
||||
|
||||
:CHANGES-TO (FNS BACKGROUND-YIELD)
|
||||
|
||||
:PREVIOUS-DATE "14-Nov-2021 22:05:58" {DSK}<home>larry>il>medley>lispusers>BACKGROUND-YIELD.;1
|
||||
:PREVIOUS-DATE "28-Jul-2023 09:49:24" {DSK}<Users>larry>il>MEDLEY>LISPUSERS>BACKGROUND-YIELD.;1
|
||||
)
|
||||
|
||||
|
||||
@ -26,13 +26,14 @@
|
||||
(DEFINEQ
|
||||
|
||||
(BACKGROUND-YIELD
|
||||
[LAMBDA NIL (* ; "Edited 28-Jul-2023 09:11 by lmm")
|
||||
[LAMBDA NIL (* ; "Edited 9-Nov-2025 11:50 by lmm")
|
||||
(* ; "Edited 28-Jul-2023 09:11 by lmm")
|
||||
(* ; "Edited 20-Sep-2021 11:37 by larry")
|
||||
(LET ((\BACKGROUND T))
|
||||
(DECLARE (SPECVARS \BACKGROUND))
|
||||
(DECLARE (SPECVARS \BACKGROUND)
|
||||
(GLOBALVARS BACKGROUND-YIELD))
|
||||
(IF (FIXP BACKGROUND-YIELD)
|
||||
THEN (SUBRCALL YIELD BACKGROUND-YIELD)
|
||||
(SUBRCALL CAUSE-INTERRUPT])
|
||||
THEN (SUBRCALL YIELD BACKGROUND-YIELD])
|
||||
|
||||
(INIT-YIELD
|
||||
[LAMBDA (ONP) (* ; "Edited 19-Sep-2021 13:32 by larry")
|
||||
@ -51,5 +52,5 @@
|
||||
|
||||
(RPAQQ BACKGROUND-YIELD 833333)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (806 1655 (BACKGROUND-YIELD 816 . 1271) (INIT-YIELD 1273 . 1653)))))
|
||||
(FILEMAP (NIL (808 1767 (BACKGROUND-YIELD 818 . 1383) (INIT-YIELD 1385 . 1765)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "25-Oct-2025 23:59:24" {MEDLEY}<lispusers>COMPAREDIRECTORIES.;2 135376
|
||||
(FILECREATED " 8-Nov-2025 13:07:39" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;285 138536
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS CDBROWSER-COPY)
|
||||
:CHANGES-TO (FNS CD-MENUFN CDBROWSER-COPY)
|
||||
|
||||
:PREVIOUS-DATE "22-Oct-2025 08:32:01" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;272)
|
||||
:PREVIOUS-DATE "28-Oct-2025 14:52:05" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;280)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT COMPAREDIRECTORIESCOMS)
|
||||
@ -1707,6 +1707,8 @@
|
||||
(CDBROWSER
|
||||
[LAMBDA (CDVALUE TITLE COLHEADINGS BROWSERPROPS SEPARATEDIRECTIONS MENUITEMS)
|
||||
|
||||
(* ;; "Edited 28-Oct-2025 14:49 by rmk")
|
||||
|
||||
(* ;; "Edited 28-Jan-2022 17:01 by rmk: a table browser for the differences in CDVALUE.")
|
||||
|
||||
(* ;; "Creates a table browser for the differences in CDVALUE.")
|
||||
@ -1752,7 +1754,7 @@
|
||||
[SETQ BROWSER (TB.MAKE.BROWSER (FOR PAIR IN STRINGS COLLECT (CD.TABLEITEM PAIR))
|
||||
WINDOW
|
||||
`(PRINTFN CD.TABLEITEM.PRINTFN COPYFN CD.TABLEITEM.COPYFN USERDATA
|
||||
,(APPEND BROWSERPROPS (LIST 'CDVALUE CDVALUE]
|
||||
(,@BROWSERPROPS (CDVALUE ,@CDVALUE]
|
||||
(ATTACHMENU (CREATE MENU
|
||||
TITLE _ " CD commands "
|
||||
MENUFONT _ DEFAULTFONT
|
||||
@ -1893,7 +1895,8 @@
|
||||
'DON'T])
|
||||
|
||||
(CD.COMMANDSELECTEDFN
|
||||
[LAMBDA (MENUITEM MENU KEY) (* ; "Edited 6-Mar-2022 19:52 by rmk")
|
||||
[LAMBDA (MENUITEM MENU KEY) (* ; "Edited 28-Oct-2025 14:34 by rmk")
|
||||
(* ; "Edited 6-Mar-2022 19:52 by rmk")
|
||||
(* ; "Edited 24-Feb-2022 19:52 by rmk")
|
||||
(* ; "Edited 5-Feb-2022 17:23 by rmk")
|
||||
(* ; "Edited 27-Jan-2022 17:46 by rmk")
|
||||
@ -1944,7 +1947,8 @@
|
||||
(LABEL1 (OR (CAR LABELS)
|
||||
FILE1))
|
||||
(LABEL2 (OR (CADR LABELS)
|
||||
FILE2)))
|
||||
FILE2))
|
||||
TEMP)
|
||||
(DECLARE (SPECVARS . T))
|
||||
|
||||
(* ;;
|
||||
@ -1958,6 +1962,16 @@
|
||||
OF (FETCH (CDENTRY INFO2)
|
||||
OF CDENTRY)))
|
||||
(SETQ FILE2 NIL))
|
||||
(CL:WHEN (SETQ TEMP (SGETMULTI (fetch (TABLEBROWSER
|
||||
TBUSERDATA)
|
||||
of CDBROWSER)
|
||||
'ORIGINALFILES FILE1))
|
||||
(SETQ FILE1 TEMP))
|
||||
(CL:WHEN (SETQ TEMP (SGETMULTI (fetch (TABLEBROWSER
|
||||
TBUSERDATA)
|
||||
of CDBROWSER)
|
||||
'ORIGINALFILES FILE2))
|
||||
(SETQ FILE2 TEMP))
|
||||
|
||||
(* ;; "If USERDATA contains a LABELFN, then it is applied to the files and the rest of the USERDATA to produce abbreviated labels for titles and headers.")
|
||||
|
||||
@ -1969,6 +1983,10 @@
|
||||
(CD-MENUFN
|
||||
[LAMBDA (TBITEM MENUITEM CDBROWSER KEY)
|
||||
|
||||
(* ;; "Edited 8-Nov-2025 13:06 by rmk")
|
||||
|
||||
(* ;; "Edited 28-Oct-2025 17:35 by rmk")
|
||||
|
||||
(* ;; "Edited 26-Mar-2025 09:39 by rmk")
|
||||
|
||||
(* ;; "Edited 18-Feb-2025 23:36 by rmk")
|
||||
@ -1996,7 +2014,8 @@
|
||||
(Compare (IF (AND FILE1 FILE2)
|
||||
THEN (CD-COMPARE-FILES FILE1 FILE2 LABEL1 LABEL2 TYPE (WINDOWPROP
|
||||
WINDOW
|
||||
'REGION))
|
||||
'REGION)
|
||||
CDBROWSER)
|
||||
ELSE (FLASHWINDOW T)
|
||||
(PRIN3 "Only one file" T)))
|
||||
(See% left (IF FILE1
|
||||
@ -2060,18 +2079,20 @@
|
||||
NIL))))
|
||||
(Copy% -> (CDBROWSER-COPY CDBROWSER TBITEM 'LEFT))
|
||||
(Copy% <- (CDBROWSER-COPY CDBROWSER TBITEM 'RIGHT))
|
||||
(Delete% <- (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT T))
|
||||
(Delete% <- (CDBROWSER-DELETE-FILE CDBROWSER TBITEM KEY 'LEFT T))
|
||||
(|Delete ALL <-|
|
||||
(CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT NIL))
|
||||
(Delete% -> (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT T))
|
||||
(CDBROWSER-DELETE-FILE CDBROWSER TBITEM KEY 'LEFT NIL))
|
||||
(Delete% -> (CDBROWSER-DELETE-FILE CDBROWSER TBITEM KEY 'RIGHT T))
|
||||
(|Delete ALL ->|
|
||||
(CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT NIL))
|
||||
(CDBROWSER-DELETE-FILE CDBROWSER TBITEM KEY 'RIGHT NIL))
|
||||
(SHOULDNT)))
|
||||
(CLOSEWITH CHILDREN WINDOW)
|
||||
(MOVEWITH CHILDREN WINDOW])
|
||||
|
||||
(CD-COMPARE-FILES
|
||||
[LAMBDA (FILE1 FILE2 LABEL1 LABEL2 TYPE PARENTREGION) (* ; "Edited 22-May-2022 14:41 by rmk")
|
||||
[LAMBDA (FILE1 FILE2 LABEL1 LABEL2 TYPE PARENTREGION CDBROWSER)
|
||||
(* ; "Edited 28-Oct-2025 10:42 by rmk")
|
||||
(* ; "Edited 22-May-2022 14:41 by rmk")
|
||||
(PROG NIL
|
||||
(SETQ FILE1 (OR (STREAMP FILE1)
|
||||
(INFILEP FILE1)))
|
||||
@ -2094,7 +2115,7 @@
|
||||
`(,PARENTREGION 0.125)
|
||||
(IPLUS (FETCH (REGION BOTTOM) OF PARENTREGION
|
||||
)
|
||||
20)
|
||||
70)
|
||||
NIL))))
|
||||
(COMPILED (FLASHWINDOW T)
|
||||
(PRIN3 "Cannot compare compiled files" T))
|
||||
@ -2123,7 +2144,8 @@
|
||||
NIL])
|
||||
|
||||
(CDBROWSER-COPY
|
||||
[LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 25-Oct-2025 23:58 by rmk")
|
||||
[LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 28-Oct-2025 17:39 by rmk")
|
||||
(* ; "Edited 25-Oct-2025 23:58 by rmk")
|
||||
(* ; "Edited 24-May-2022 15:49 by rmk")
|
||||
(* ; "Edited 25-Apr-2022 09:24 by rmk")
|
||||
(* ; "Edited 5-Feb-2022 17:27 by rmk")
|
||||
@ -2137,7 +2159,7 @@
|
||||
(* ;; "Returns NIL if the copy fails.")
|
||||
|
||||
(CL:UNLESS (TB.ITEM.DELETED? CDBROWSER TBITEM)
|
||||
(PROG* ((CDVALUE (LISTGET (TB.USERDATA CDBROWSER)
|
||||
(PROG* ((CDVALUE (GETMULTI (TB.USERDATA CDBROWSER)
|
||||
'CDVALUE))
|
||||
(SOURCEDIR (FETCH (CDVALUE CDDIR1) OF CDVALUE))
|
||||
(DESTDIR (FETCH (CDVALUE CDDIR2) OF CDVALUE))
|
||||
@ -2178,7 +2200,9 @@
|
||||
(CL:UNLESS DESTFILE
|
||||
(SETQ DESTFILE (CD-SWAPDIRS SOURCEFILE SOURCEDIR DESTDIR)))
|
||||
[SETQ RESULT (if UNIXDEST
|
||||
then [PSEUDOFILENAME (PACKFILENAME 'HOST 'DSK 'BODY
|
||||
then (SPUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER)
|
||||
'ORIGINALFILES DESTFILE (COPYFILE DESTFILE '{NODIRCORE))
|
||||
[PSEUDOFILENAME (PACKFILENAME 'HOST 'DSK 'BODY
|
||||
(COPYFILE SOURCEFILE (PACKFILENAME
|
||||
'HOST
|
||||
'UNIX
|
||||
@ -2197,7 +2221,8 @@
|
||||
(RETURN RESULT)))])
|
||||
|
||||
(CDBROWSER-DELETE-FILE
|
||||
[LAMBDA (CDBROWSER TBITEM SIDE ONLYONE SAVE) (* ; "Edited 25-Apr-2022 09:06 by rmk")
|
||||
[LAMBDA (CDBROWSER TBITEM KEY SIDE ONLYONE SAVE DONTMARK) (* ; "Edited 28-Oct-2025 13:30 by rmk")
|
||||
(* ; "Edited 25-Apr-2022 09:06 by rmk")
|
||||
(* ; "Edited 5-Feb-2022 17:46 by rmk")
|
||||
(* ; "Edited 18-Jan-2022 23:02 by rmk")
|
||||
(* ; "Edited 19-Dec-2021 23:33 by rmk")
|
||||
@ -2210,38 +2235,58 @@
|
||||
|
||||
(* ;; "If SAVE, then the files are renamed to a deleted directory, not actually expunged, so that they can be restored if needed. The deleted directory is defined by sticking deleted> on the front of FILE's directory.")
|
||||
|
||||
(DECLARE (USEDFREE LABEL1 LABEL2 PWINDOW))
|
||||
(CL:UNLESS (TB.ITEM.DELETED? CDBROWSER TBITEM)
|
||||
[LET ((CDENTRY (CADR (FETCH TIDATA OF TBITEM)))
|
||||
FILE OTHERFILE)
|
||||
(SETQ FILE (FETCH (CDINFO FULLNAME) OF (FETCH (CDENTRY INFO1) OF CDENTRY)))
|
||||
(SETQ OTHERFILE (FETCH (CDINFO FULLNAME) OF (FETCH (CDENTRY INFO2) OF CDENTRY)))
|
||||
(CL:WHEN (EQ SIDE 'RIGHT)
|
||||
(SWAP FILE OTHERFILE))
|
||||
(CL:WHEN FILE
|
||||
(FOR F INSIDE (IF (FILENAMEFIELD.STRING FILE 'VERSION)
|
||||
THEN [IF ONLYONE
|
||||
THEN FILE
|
||||
ELSE (DREVERSE (FILDIR (PACKFILENAME.STRING 'VERSION "*"
|
||||
'BODY FILE]
|
||||
ELSE FILE)
|
||||
COLLECT
|
||||
[LET
|
||||
((CDENTRY (CADR (fetch TIDATA of TBITEM)))
|
||||
FILE OTHERFILE DELFILES)
|
||||
(SETQ FILE (fetch (CDINFO FULLNAME) of (fetch (CDENTRY INFO1) of CDENTRY)))
|
||||
(SETQ OTHERFILE (fetch (CDINFO FULLNAME) of (fetch (CDENTRY INFO2) of CDENTRY)))
|
||||
(CL:WHEN (EQ SIDE 'RIGHT)
|
||||
(SWAP FILE OTHERFILE)
|
||||
(SWAP LABEL1 LABEL2))
|
||||
(SETQ DELFILES (if (FILENAMEFIELD.STRING FILE 'VERSION)
|
||||
then [if ONLYONE
|
||||
then (MKLIST FILE)
|
||||
else (DREVERSE (FILDIR (PACKFILENAME.STRING 'VERSION "*"
|
||||
'BODY FILE]
|
||||
else FILE))
|
||||
(CL:WHEN DELFILES
|
||||
(GIVE.TTY.PROCESS PWINDOW)
|
||||
(CLEARW T)
|
||||
(FLASHWINDOW T)
|
||||
(CL:WHEN [OR (EQ KEY 'MIDDLE)
|
||||
(EQ 'Y (ASKUSER NIL 'N (CONCAT "Delete " (CL:IF (CDR DELFILES)
|
||||
"ALL versions of "
|
||||
"")
|
||||
LABEL1 " ? "]
|
||||
(for F in DELFILES
|
||||
collect
|
||||
|
||||
(* ;; "Delete the earlier ones first, if it goes bad, you don't want them to persist. This preserves the original version numbers, maybe it should start fresh from 1 (or from whatever might have been deleted before).")
|
||||
|
||||
(IF SAVE
|
||||
THEN (CL:UNLESS (RENAMEFILE F (PACKFILENAME.STRING
|
||||
'DIRECTORY
|
||||
(CONCAT "deleted>" (FILENAMEFIELD.STRING
|
||||
F
|
||||
'DIRECTORY))
|
||||
'BODY F))
|
||||
(ERROR "Could not delete " F))
|
||||
ELSE (DELFILE FILE))
|
||||
F FINALLY
|
||||
(* ;; "Save copies locally in this browser, for potential Undelete. Undelete would have to match all of the versions")
|
||||
|
||||
(CL:UNLESS (if SAVE
|
||||
then (PUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER
|
||||
)
|
||||
'ORIGINALFILES
|
||||
(RENAMEFILE F (PACKFILENAME.STRING
|
||||
'DIRECTORY
|
||||
(CONCAT "deleted>"
|
||||
(FILENAMEFIELD.STRING
|
||||
F
|
||||
'DIRECTORY))
|
||||
'BODY F)))
|
||||
else (PUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER)
|
||||
'ORIGINALFILES FILE (COPYFILE FILE '{NODIRCORE}))
|
||||
(DELFILE FILE))
|
||||
(ERROR "Could not delete " F))
|
||||
F finally
|
||||
|
||||
(* ;; "Perhaps only mark it as deleted if both files are gone?")
|
||||
|
||||
(TB.DELETE.ITEM CDBROWSER TBITEM)))])])
|
||||
(CL:UNLESS DONTMARK (TB.DELETE.ITEM CDBROWSER TBITEM)))))])])
|
||||
|
||||
(CD-SWAPDIRS
|
||||
[LAMBDA (FILE FROMDIR TODIR KEEPVERSION) (* ; "Edited 2-Feb-2022 19:10 by rmk")
|
||||
@ -2258,38 +2303,43 @@
|
||||
|
||||
(RPAQ? CD-LINELENGTH NIL)
|
||||
|
||||
(RPAQQ CDTABLEBROWSER.MENUITEMS ((Compare CD-MENUFN)
|
||||
(Copy% -> CD-MENUFN)
|
||||
(Copy% <- CD-MENUFN)
|
||||
(See% left CD-MENUFN)
|
||||
(See% right CD-MENUFN)
|
||||
(See% both CD-MENUFN)
|
||||
(See CD-MENUFN)))
|
||||
(RPAQQ CDTABLEBROWSER.MENUITEMS
|
||||
((Compare CD-MENUFN)
|
||||
(Copy% -> CD-MENUFN)
|
||||
(Copy% <- CD-MENUFN)
|
||||
(See% left CD-MENUFN)
|
||||
(See% right CD-MENUFN)
|
||||
(See% both CD-MENUFN)
|
||||
(See CD-MENUFN)
|
||||
(Delete% <- CD-MENUFN)
|
||||
(|Delete ALL <-| CD-MENUFN)
|
||||
(Delete% -> CD-MENUFN)
|
||||
(|Delete ALL ->| CD-MENUFN)))
|
||||
|
||||
(FILESLOAD (SYSLOAD)
|
||||
COMPARESOURCES COMPARETEXT)
|
||||
|
||||
(MOVD? 'NILL 'TEDIT.FILEDATE)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (2655 23634 (COMPAREDIRECTORIES 2665 . 8000) (COMPAREDIRECTORIES.INFOS 8002 . 11231) (
|
||||
COMPAREDIRECTORIES.CANDIDATES 11233 . 14618) (CDENTRIES.SELECT 14620 . 19522) (
|
||||
COMPAREDIRECTORIES.INFOS.TYPE 19524 . 20868) (MATCHNAME 20870 . 21550) (CD.INSURECDVALUE 21552 . 23166
|
||||
) (CD.UPDATEWIDTHS 23168 . 23632)) (23635 34340 (CDFILES 23645 . 29742) (CDFILES.MATCH 29744 . 31369)
|
||||
(CDFILES.PATS 31371 . 34338)) (34341 52359 (CDPRINT 34351 . 36868) (CDPRINT.HEADER 36870 . 37767) (
|
||||
CDPRINT.LINE 37769 . 41198) (CDPRINT.MAXWIDTHS 41200 . 45315) (CDPRINT.COLHEADERS 45317 . 46602) (
|
||||
CDPRINT.COLUMNS 46604 . 51724) (CDTEDIT 51726 . 52357)) (52360 61481 (CDMAP 52370 . 53802) (CDENTRY
|
||||
53804 . 54113) (CDSUBSET 54115 . 55554) (CDMERGE 55556 . 59540) (CDMERGE.COMMON 59542 . 60857) (
|
||||
CD.SORT 60859 . 61479)) (61482 69020 (BINCOMP 61492 . 65781) (EOLTYPE 65783 . 68345) (EOLTYPE.SHOW
|
||||
68347 . 69018)) (69548 82075 (FIND-UNCOMPILED-FILES 69558 . 73201) (FIND-UNSOURCED-FILES 73203 . 75587
|
||||
) (FIND-SOURCE-FILES 75589 . 77327) (FIND-COMPILED-FILES 77329 . 79206) (FIND-UNLOADED-FILES 79208 .
|
||||
80061) (FIND-LOADED-FILES 80063 . 80491) (FIND-MULTICOMPILED-FILES 80493 . 82073)) (82076 90507 (
|
||||
CREATED-AS 82086 . 86883) (SOURCE-FOR-COMPILED-P 86885 . 89812) (COMPILE-SOURCE-DATE-DIFF 89814 .
|
||||
90505)) (90508 101271 (FIX-DIRECTORY-DATES 90518 . 93968) (FIX-EQUIV-DATES 93970 . 95495) (
|
||||
COPY-COMPARED-FILES 95497 . 97318) (COPY-MISSING-FILES 97320 . 99477) (COMPILED-ON-SAME-SOURCE 99479
|
||||
. 101269)) (101465 109303 (CDBROWSER 101475 . 105402) (CDBROWSER.STRINGS 105404 . 109301)) (109465
|
||||
111201 (CD.TABLEITEM 109475 . 109695) (CD.TABLEITEM.PRINTFN 109697 . 109896) (CD.TABLEITEM.COPYFN
|
||||
109898 . 110956) (CDTABLEBROWSER.HEADING.REPAINTFN 110958 . 111199)) (111202 134851 (
|
||||
CDTABLEBROWSER.WHENSELECTEDFN 111212 . 111680) (CD.COMMANDSELECTEDFN 111682 . 116783) (CD-MENUFN
|
||||
116785 . 123011) (CD-COMPARE-FILES 123013 . 126365) (CDBROWSER-COPY 126367 . 131115) (
|
||||
CDBROWSER-DELETE-FILE 131117 . 134330) (CD-SWAPDIRS 134332 . 134849)))))
|
||||
(FILEMAP (NIL (2668 23647 (COMPAREDIRECTORIES 2678 . 8013) (COMPAREDIRECTORIES.INFOS 8015 . 11244) (
|
||||
COMPAREDIRECTORIES.CANDIDATES 11246 . 14631) (CDENTRIES.SELECT 14633 . 19535) (
|
||||
COMPAREDIRECTORIES.INFOS.TYPE 19537 . 20881) (MATCHNAME 20883 . 21563) (CD.INSURECDVALUE 21565 . 23179
|
||||
) (CD.UPDATEWIDTHS 23181 . 23645)) (23648 34353 (CDFILES 23658 . 29755) (CDFILES.MATCH 29757 . 31382)
|
||||
(CDFILES.PATS 31384 . 34351)) (34354 52372 (CDPRINT 34364 . 36881) (CDPRINT.HEADER 36883 . 37780) (
|
||||
CDPRINT.LINE 37782 . 41211) (CDPRINT.MAXWIDTHS 41213 . 45328) (CDPRINT.COLHEADERS 45330 . 46615) (
|
||||
CDPRINT.COLUMNS 46617 . 51737) (CDTEDIT 51739 . 52370)) (52373 61494 (CDMAP 52383 . 53815) (CDENTRY
|
||||
53817 . 54126) (CDSUBSET 54128 . 55567) (CDMERGE 55569 . 59553) (CDMERGE.COMMON 59555 . 60870) (
|
||||
CD.SORT 60872 . 61492)) (61495 69033 (BINCOMP 61505 . 65794) (EOLTYPE 65796 . 68358) (EOLTYPE.SHOW
|
||||
68360 . 69031)) (69561 82088 (FIND-UNCOMPILED-FILES 69571 . 73214) (FIND-UNSOURCED-FILES 73216 . 75600
|
||||
) (FIND-SOURCE-FILES 75602 . 77340) (FIND-COMPILED-FILES 77342 . 79219) (FIND-UNLOADED-FILES 79221 .
|
||||
80074) (FIND-LOADED-FILES 80076 . 80504) (FIND-MULTICOMPILED-FILES 80506 . 82086)) (82089 90520 (
|
||||
CREATED-AS 82099 . 86896) (SOURCE-FOR-COMPILED-P 86898 . 89825) (COMPILE-SOURCE-DATE-DIFF 89827 .
|
||||
90518)) (90521 101284 (FIX-DIRECTORY-DATES 90531 . 93981) (FIX-EQUIV-DATES 93983 . 95508) (
|
||||
COPY-COMPARED-FILES 95510 . 97331) (COPY-MISSING-FILES 97333 . 99490) (COMPILED-ON-SAME-SOURCE 99492
|
||||
. 101282)) (101478 109356 (CDBROWSER 101488 . 105455) (CDBROWSER.STRINGS 105457 . 109354)) (109518
|
||||
111254 (CD.TABLEITEM 109528 . 109748) (CD.TABLEITEM.PRINTFN 109750 . 109949) (CD.TABLEITEM.COPYFN
|
||||
109951 . 111009) (CDTABLEBROWSER.HEADING.REPAINTFN 111011 . 111252)) (111255 138020 (
|
||||
CDTABLEBROWSER.WHENSELECTEDFN 111265 . 111733) (CD.COMMANDSELECTEDFN 111735 . 117908) (CD-MENUFN
|
||||
117910 . 124301) (CD-COMPARE-FILES 124303 . 127830) (CDBROWSER-COPY 127832 . 132894) (
|
||||
CDBROWSER-DELETE-FILE 132896 . 137499) (CD-SWAPDIRS 137501 . 138018)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "25-Oct-2025 10:24:30" {WMEDLEY}<lispusers>EXAMINEDEFS.;59 17123
|
||||
(FILECREATED "28-Oct-2025 14:24:17" {WMEDLEY}<lispusers>EXAMINEDEFS.;60 17313
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS EXAMINEDEFS)
|
||||
:CHANGES-TO (FNS EXAMINEFILES)
|
||||
|
||||
:PREVIOUS-DATE " 6-Apr-2025 23:54:50" {WMEDLEY}<lispusers>EXAMINEDEFS.;57)
|
||||
:PREVIOUS-DATE "25-Oct-2025 10:24:30" {WMEDLEY}<lispusers>EXAMINEDEFS.;59)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT EXAMINEDEFSCOMS)
|
||||
@ -173,7 +173,8 @@
|
||||
(EDITE DEF2])
|
||||
|
||||
(EXAMINEFILES
|
||||
[LAMBDA (FILE1 FILE2 TITLE1 TITLE2 REGION) (* ; "Edited 19-Jul-2023 13:48 by rmk")
|
||||
[LAMBDA (FILE1 FILE2 TITLE1 TITLE2 REGION) (* ; "Edited 28-Oct-2025 14:23 by rmk")
|
||||
(* ; "Edited 19-Jul-2023 13:48 by rmk")
|
||||
(* ; "Edited 1-Feb-2022 23:15 by rmk")
|
||||
(* ; "Edited 25-Jan-2022 10:08 by rmk")
|
||||
(* ; "Edited 2-Jan-2022 23:15 by rmk")
|
||||
@ -183,7 +184,8 @@
|
||||
|
||||
(CL:UNLESS REGION
|
||||
(SETQ REGION (GETREGION)))
|
||||
(LIST (AND (INFILEP FILE1)
|
||||
(LIST (AND (OR (STREAMP FILE1)
|
||||
(INFILEP FILE1))
|
||||
(TEDIT-SEE FILE1 (RELCREATEREGION `(,REGION 0.5 -1)
|
||||
REGION
|
||||
'RIGHT
|
||||
@ -191,7 +193,8 @@
|
||||
`(,REGION 0.5)
|
||||
(FETCH (REGION TOP) OF REGION))
|
||||
NIL TITLE1))
|
||||
(AND (INFILEP FILE2)
|
||||
(AND (OR (STREAMP FILE2)
|
||||
(INFILEP FILE2))
|
||||
(TEDIT-SEE FILE2 (RELCREATEREGION `(,REGION 0.5 1)
|
||||
REGION
|
||||
'LEFT
|
||||
@ -284,6 +287,6 @@
|
||||
(FILESLOAD (SYSLOAD)
|
||||
COMPARETEXT VERSIONDEFS)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (665 16892 (EXAMINEDEFS 675 . 11290) (EXAMINEFILES 11292 . 12774) (TEDITDEF 12776 .
|
||||
15098) (EXVV 15100 . 16890)))))
|
||||
(FILEMAP (NIL (666 17082 (EXAMINEDEFS 676 . 11291) (EXAMINEFILES 11293 . 12964) (TEDITDEF 12966 .
|
||||
15288) (EXVV 15290 . 17080)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
156
lispusers/GITFNS
156
lispusers/GITFNS
@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "26-Oct-2025 00:01:44" {WMEDLEY}<lispusers>GITFNS.;565 135222
|
||||
(FILECREATED "28-Oct-2025 14:10:06" {WMEDLEY}<lispusers>GITFNS.;569 131593
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS GIT-WORKING-COMPARE-DIRECTORIES GIT-CD-MENUFN GIT-MAKE-PROJECT GIT-CLONEP)
|
||||
:CHANGES-TO (FNS GIT-WORKING-COMPARE-DIRECTORIES GIT-BRANCHES-COMPARE-DIRECTORIES)
|
||||
|
||||
:PREVIOUS-DATE "25-Oct-2025 10:37:40" {WMEDLEY}<lispusers>GITFNS.;562)
|
||||
:PREVIOUS-DATE "28-Oct-2025 13:32:16" {WMEDLEY}<lispusers>GITFNS.;568)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT GITFNSCOMS)
|
||||
@ -59,7 +59,7 @@
|
||||
(* ;; "File correspondents")
|
||||
|
||||
(FNS ALLSUBDIRS MEDLEYSUBDIRS GITSUBDIRS)
|
||||
(FNS TOGIT FROMGIT GIT-DELETE-FILE MYMEDLEY-DELETE-FILES)
|
||||
(FNS TOGIT FROMGIT)
|
||||
(FNS MYMEDLEYSUBDIR GITSUBDIR STRIPDIR STRIPHOST STRIPNAME STRIPWHERE)
|
||||
(FNS GFILE4MFILE MFILE4GFILE GIT-REPO-FILENAME)
|
||||
|
||||
@ -720,46 +720,6 @@
|
||||
(CONCAT GF " cannot be copied"))
|
||||
T)
|
||||
DEST])
|
||||
|
||||
(GIT-DELETE-FILE
|
||||
[LAMBDA (FILE PROJECT) (* ; "Edited 8-May-2022 09:27 by rmk")
|
||||
(* ; "Edited 18-Jan-2022 23:07 by rmk")
|
||||
(* ; "Edited 19-Dec-2021 16:11 by rmk")
|
||||
(* ; "Edited 16-Dec-2021 13:00 by rmk")
|
||||
|
||||
(* ;; "This deletes a file in the local checkout git directory {UNIX}... FILE has to already be a full file name, for safety.")
|
||||
|
||||
(* ;; "Since git files are on UNIX, we don't have to worry about older version numbers. ")
|
||||
|
||||
(* ;; "We could make this undoable by copying it to deleted/, but git also can restore.")
|
||||
|
||||
(GIT-CLONEP FILE NIL T)
|
||||
(DELFILE FILE])
|
||||
|
||||
(MYMEDLEY-DELETE-FILES
|
||||
[LAMBDA (FILE PROJECT) (* ; "Edited 13-May-2022 10:40 by rmk")
|
||||
(* ; "Edited 8-May-2022 23:31 by rmk")
|
||||
|
||||
(* ;; "FILE is presumably the latest version of a file in the MyMedley directory, and we are presumably removing all versions of that file. If we left older versions, we would really trash ourselves.")
|
||||
|
||||
(* ;; "But to guard against mistakes, %"deletion%" consists of moving all versions of the file from its current location to a deleted/ subdirectory of MEDLEYDIR, one that does not correspond to a git subdirectory.")
|
||||
|
||||
(SETQ FILE (CONTRACT.PH FILE (FETCH WHOST OF PROJECT)))
|
||||
(CL:WHEN (EQ (FILENAMEFIELD (FETCH WHOST OF PROJECT)
|
||||
'HOST)
|
||||
(FILENAMEFIELD FILE 'HOST))
|
||||
(FOR F IN (DREVERSE (FILDIR (PACKFILENAME 'VERSION '* 'BODY FILE)))
|
||||
COLLECT
|
||||
|
||||
(* ;;
|
||||
"Delete the earlier ones first, if it goes bad, you don't want them to persist")
|
||||
|
||||
(CL:UNLESS (RENAMEFILE F (PACKFILENAME 'DIRECTORY (CONCAT "deleted>"
|
||||
(FILENAMEFIELD F
|
||||
'DIRECTORY))
|
||||
'BODY F))
|
||||
(ERROR "Could not delete " F))
|
||||
F))])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
@ -1846,7 +1806,8 @@
|
||||
(LIST DIR1 DIR2 MAPPINGS))])
|
||||
|
||||
(GIT-BRANCHES-COMPARE-DIRECTORIES
|
||||
[LAMBDA (BRANCH1 BRANCH2 LOCAL PROJECT) (* ; "Edited 2-Oct-2025 23:12 by rmk")
|
||||
[LAMBDA (BRANCH1 BRANCH2 LOCAL PROJECT) (* ; "Edited 28-Oct-2025 14:01 by rmk")
|
||||
(* ; "Edited 2-Oct-2025 23:12 by rmk")
|
||||
(* ; "Edited 12-Jun-2024 22:52 by mth")
|
||||
(* ; "Edited 10-Jun-2024 18:42 by mth")
|
||||
(* ; "Edited 1-May-2024 14:58 by rmk")
|
||||
@ -1938,8 +1899,10 @@
|
||||
(LENGTH (fetch (CDVALUE CDENTRIES) of CDVALUE))
|
||||
" files")
|
||||
(LIST SHORT1 SHORT2)
|
||||
`(LABELFN GIT-CD-LABELFN BRANCH1 ,BRANCH1 BRANCH2 ,BRANCH2 PROJECT
|
||||
,PROJECT)
|
||||
`((LABELFN . GIT-CD-LABELFN)
|
||||
(BRANCH1 ,@BRANCH1)
|
||||
(BRANCH2 ,@BRANCH2)
|
||||
(PROJECT ,@PROJECT))
|
||||
GIT-CDBROWSER-SEPARATE-DIRECTIONS
|
||||
`(Compare See))
|
||||
(SETQ NENTRIES (LENGTH (fetch (CDVALUE CDENTRIES) of CDVALUE)))
|
||||
@ -1952,6 +1915,8 @@
|
||||
(GIT-WORKING-COMPARE-DIRECTORIES
|
||||
[LAMBDA (SUBDIRS SELECT EXCLUDEDFILES FIXDIRECTORYDATES UPDATE PROJECT)
|
||||
|
||||
(* ;; "Edited 28-Oct-2025 14:00 by rmk")
|
||||
|
||||
(* ;; "Edited 25-Oct-2025 23:32 by rmk")
|
||||
|
||||
(* ;; "Edited 29-Apr-2025 15:14 by rmk")
|
||||
@ -2031,9 +1996,12 @@
|
||||
do (SETQ TITLE (CONCAT WPROJ " vs. " BRANCH2 " " SUBDIR " "
|
||||
(LENGTH (fetch (CDVALUE CDENTRIES) of CDVAL))
|
||||
" files"))
|
||||
[CDBROWSER CDVAL TITLE `(,WPROJ ,BRANCH2)
|
||||
`(BRANCH1 ,WPROJ BRANCH2 ,BRANCH2 SUBDIR ,SUBDIR LABELFN
|
||||
GIT-CD-LABELFN PROJECT ,PROJECT)
|
||||
[CDBROWSER CDVAL TITLE `(,WPROJ ,@BRANCH2)
|
||||
`((BRANCH1 ,@WPROJ)
|
||||
(BRANCH2 ,@BRANCH2)
|
||||
(SUBDIR ,@SUBDIR)
|
||||
(LABELFN . GIT-CD-LABELFN)
|
||||
(PROJECT ,@PROJECT))
|
||||
GIT-CDBROWSER-SEPARATE-DIRECTIONS
|
||||
`(Compare See "" Copy% <- (|Delete ALL <-| GIT-CD-MENUFN)
|
||||
,@(CL:UNLESS (GIT-MAINBRANCH? BRANCH2 PROJECT T)
|
||||
@ -2213,7 +2181,8 @@
|
||||
(OR LABEL2 FILE2])
|
||||
|
||||
(GIT-CD-MENUFN
|
||||
[LAMBDA (TBITEM MENUITEM CDBROWSER KEY) (* ; "Edited 25-Oct-2025 23:44 by rmk")
|
||||
[LAMBDA (TBITEM MENUITEM CDBROWSER KEY) (* ; "Edited 28-Oct-2025 11:50 by rmk")
|
||||
(* ; "Edited 25-Oct-2025 23:44 by rmk")
|
||||
(* ; "Edited 21-Sep-2022 21:34 by rmk")
|
||||
(* ; "Edited 22-May-2022 19:13 by rmk")
|
||||
(* ; "Edited 8-May-2022 09:26 by rmk")
|
||||
@ -2221,35 +2190,9 @@
|
||||
|
||||
(* ;; "MENUITEM is of the form (display-atom <this function> . extrainfo). The selector for the selectq is either the CAR of the extrainfo or the display atom")
|
||||
|
||||
(DECLARE (USEDFREE FILE1 FILE2 LABEL2 TYPE CDENTRY))
|
||||
(DECLARE (USEDFREE FILE1 FILE2 LABEL2 TYPE CDENTRY USERDATA PWINDOW))
|
||||
(SELECTQ (OR (CADDR MENUITEM)
|
||||
(CAR MENUITEM))
|
||||
(Delete% -> (FLASHWINDOW PWINDOW)
|
||||
(GIVE.TTY.PROCESS PWINDOW)
|
||||
(CL:WHEN [OR (EQ KEY 'MIDDLE)
|
||||
(EQ 'Y (ASKUSER NIL 'N (CONCAT "Delete " LABEL2 " ? "]
|
||||
(GIT-DELETE-FILE FILE2 (LISTGET USERDATA 'PROJECT))
|
||||
(TB.DELETE.ITEM CDBROWSER TBITEM)))
|
||||
(|Delete ALL <-|
|
||||
(FLASHWINDOW PWINDOW)
|
||||
(GIVE.TTY.PROCESS PWINDOW)
|
||||
(if (NAMEFIELD LABEL1 T)
|
||||
then (CL:WHEN [OR (EQ KEY 'MIDDLE)
|
||||
(EQ 'Y (ASKUSER NIL 'N (CONCAT "Delete ALL versions of "
|
||||
(NAMEFIELD LABEL1 T)
|
||||
" ? "]
|
||||
(MYMEDLEY-DELETE-FILES FILE1 (LISTGET USERDATA 'PROJECT))
|
||||
(TB.DELETE.ITEM CDBROWSER TBITEM))
|
||||
else (PRINTOUT T "Nothing to delete")))
|
||||
(Delete% BOTH (FLASHWINDOW PWINDOW)
|
||||
(GIVE.TTY.PROCESS PWINDOW)
|
||||
(CL:WHEN (EQ 'Y (ASKUSER NIL 'N (CONCAT
|
||||
"Delete all Medley and git versions of "
|
||||
(NAMEFIELD LABEL1 T)
|
||||
" ? ")))
|
||||
(GIT-DELETE-FILE FILE2 (LISTGET USERDATA 'PROJECT))
|
||||
(MYMEDLEY-DELETE-FILES FILE1 (LISTGET USERDATA 'PROJECT))
|
||||
(TB.DELETE.ITEM CDBROWSER TBITEM)))
|
||||
(Copy% -> (CDBROWSER-COPY CDBROWSER TBITEM 'LEFT (CADDDR MENUITEM)))
|
||||
(SHOULDNT])
|
||||
|
||||
@ -2451,33 +2394,32 @@
|
||||
|
||||
(PUTPROPS GITFNS FILETYPE :TCOMPL)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (4243 21049 (GIT-CLONEP 4253 . 5684) (GIT-INIT 5686 . 6316) (GIT-MAKE-PROJECT 6318 .
|
||||
14107) (GIT-GET-PROJECT 14109 . 16034) (GIT-PUT-PROJECT-FIELD 16036 . 17677) (GIT-PROJECT-PATH 17679
|
||||
. 18723) (FIND-ANCESTOR-DIRECTORY 18725 . 19074) (GIT-FIND-CLONE 19076 . 20157) (GIT-MAINBRANCH 20159
|
||||
. 20554) (GIT-MAINBRANCH? 20556 . 21047)) (26512 31441 (PRC-COMMAND 26522 . 31439)) (31497 34285 (
|
||||
ALLSUBDIRS 31507 . 32793) (MEDLEYSUBDIRS 32795 . 33488) (GITSUBDIRS 33490 . 34283)) (34286 39076 (
|
||||
TOGIT 34296 . 35702) (FROMGIT 35704 . 36685) (GIT-DELETE-FILE 36687 . 37533) (MYMEDLEY-DELETE-FILES
|
||||
37535 . 39074)) (39077 42080 (MYMEDLEYSUBDIR 39087 . 39543) (GITSUBDIR 39545 . 39988) (STRIPDIR 39990
|
||||
. 40361) (STRIPHOST 40363 . 40603) (STRIPNAME 40605 . 41358) (STRIPWHERE 41360 . 42078)) (42081 44316
|
||||
(GFILE4MFILE 42091 . 42787) (MFILE4GFILE 42789 . 43358) (GIT-REPO-FILENAME 43360 . 44314)) (44365
|
||||
54620 (GIT-COMMIT 44375 . 45201) (GIT-PUSH 45203 . 45963) (GIT-PULL 45965 . 46717) (GIT-APPROVAL 46719
|
||||
. 47068) (GIT-GET-FILE 47070 . 48985) (GIT-FILE-EXISTS? 48987 . 49261) (GIT-REMOTE-UPDATE 49263 .
|
||||
50098) (GIT-REMOTE-ADD 50100 . 50407) (GIT-FILE-DATE 50409 . 51456) (GIT-FILE-HISTORY 51458 . 53392) (
|
||||
GIT-PRINT-FILE-HISTORY 53394 . 54444) (GIT-FETCH 54446 . 54618)) (54650 66130 (GIT-BRANCH-DIFF 54660
|
||||
. 61549) (GIT-COMMIT-DIFFS 61551 . 62442) (GIT-BRANCH-RELATIONS 62444 . 66128)) (66175 84914 (
|
||||
GIT-BRANCH-NUM 66185 . 66758) (GIT-CHECKOUT 66760 . 68046) (GIT-WHICH-BRANCH 68048 . 68455) (
|
||||
GIT-MAKE-BRANCH 68457 . 71036) (GIT-BRANCHES 71038 . 73633) (GIT-BRANCH-EXISTS? 73635 . 74506) (
|
||||
GIT-PICK-BRANCH 74508 . 74998) (GIT-BRANCH-MENU 75000 . 75881) (GIT-BRANCH-WHENSELECTEDFN 75883 .
|
||||
77422) (GIT-PULL-REQUESTS 77424 . 81295) (GIT-SHORT-BRANCH-NAME 81297 . 81588) (GIT-LONG-NAME 81590 .
|
||||
81907) (GIT-PRC-BRANCHES 81909 . 84912)) (84944 88392 (GIT-MY-CURRENT-BRANCH 84954 . 85324) (
|
||||
GIT-MY-BRANCHP 85326 . 85944) (GIT-MY-NEXT-BRANCH 85946 . 86440) (GIT-MY-BRANCHES 86442 . 88390)) (
|
||||
88438 92513 (GIT-ADD-WORKTREE 88448 . 90055) (GIT-REMOVE-WORKTREE 90057 . 90987) (GIT-LIST-WORKTREES
|
||||
90989 . 91793) (WORKTREEDIR 91795 . 92511)) (92561 126762 (GIT-GET-DIFFERENT-FILES 92571 . 99479) (
|
||||
GIT-BRANCHES-COMPARE-DIRECTORIES 99481 . 106920) (GIT-WORKING-COMPARE-DIRECTORIES 106922 . 112559) (
|
||||
GIT-COMPARE-WORKTREE 112561 . 116539) (GITCDOBJBUTTONFN 116541 . 121031) (GIT-CD-LABELFN 121033 .
|
||||
122115) (GIT-CD-MENUFN 122117 . 124743) (GIT-WORKING-COMPARE-FILES 124745 . 125365) (
|
||||
GIT-BRANCHES-COMPARE-FILES 125367 . 126531) (GIT-PR-COMPARE 126533 . 126760)) (126832 135155 (CDGITDIR
|
||||
126842 . 127529) (GIT-COMMAND 127531 . 129089) (GITORIGIN 129091 . 129788) (GIT-INITIALS 129790 .
|
||||
130094) (GIT-COMMAND-TO-FILE 130096 . 133581) (GIT-RESULT-TO-LINES 133583 . 134488) (STRIPLOCAL 134490
|
||||
. 135153)))))
|
||||
(FILEMAP (NIL (4196 21002 (GIT-CLONEP 4206 . 5637) (GIT-INIT 5639 . 6269) (GIT-MAKE-PROJECT 6271 .
|
||||
14060) (GIT-GET-PROJECT 14062 . 15987) (GIT-PUT-PROJECT-FIELD 15989 . 17630) (GIT-PROJECT-PATH 17632
|
||||
. 18676) (FIND-ANCESTOR-DIRECTORY 18678 . 19027) (GIT-FIND-CLONE 19029 . 20110) (GIT-MAINBRANCH 20112
|
||||
. 20507) (GIT-MAINBRANCH? 20509 . 21000)) (26465 31394 (PRC-COMMAND 26475 . 31392)) (31450 34238 (
|
||||
ALLSUBDIRS 31460 . 32746) (MEDLEYSUBDIRS 32748 . 33441) (GITSUBDIRS 33443 . 34236)) (34239 36640 (
|
||||
TOGIT 34249 . 35655) (FROMGIT 35657 . 36638)) (36641 39644 (MYMEDLEYSUBDIR 36651 . 37107) (GITSUBDIR
|
||||
37109 . 37552) (STRIPDIR 37554 . 37925) (STRIPHOST 37927 . 38167) (STRIPNAME 38169 . 38922) (
|
||||
STRIPWHERE 38924 . 39642)) (39645 41880 (GFILE4MFILE 39655 . 40351) (MFILE4GFILE 40353 . 40922) (
|
||||
GIT-REPO-FILENAME 40924 . 41878)) (41929 52184 (GIT-COMMIT 41939 . 42765) (GIT-PUSH 42767 . 43527) (
|
||||
GIT-PULL 43529 . 44281) (GIT-APPROVAL 44283 . 44632) (GIT-GET-FILE 44634 . 46549) (GIT-FILE-EXISTS?
|
||||
46551 . 46825) (GIT-REMOTE-UPDATE 46827 . 47662) (GIT-REMOTE-ADD 47664 . 47971) (GIT-FILE-DATE 47973
|
||||
. 49020) (GIT-FILE-HISTORY 49022 . 50956) (GIT-PRINT-FILE-HISTORY 50958 . 52008) (GIT-FETCH 52010 .
|
||||
52182)) (52214 63694 (GIT-BRANCH-DIFF 52224 . 59113) (GIT-COMMIT-DIFFS 59115 . 60006) (
|
||||
GIT-BRANCH-RELATIONS 60008 . 63692)) (63739 82478 (GIT-BRANCH-NUM 63749 . 64322) (GIT-CHECKOUT 64324
|
||||
. 65610) (GIT-WHICH-BRANCH 65612 . 66019) (GIT-MAKE-BRANCH 66021 . 68600) (GIT-BRANCHES 68602 . 71197
|
||||
) (GIT-BRANCH-EXISTS? 71199 . 72070) (GIT-PICK-BRANCH 72072 . 72562) (GIT-BRANCH-MENU 72564 . 73445) (
|
||||
GIT-BRANCH-WHENSELECTEDFN 73447 . 74986) (GIT-PULL-REQUESTS 74988 . 78859) (GIT-SHORT-BRANCH-NAME
|
||||
78861 . 79152) (GIT-LONG-NAME 79154 . 79471) (GIT-PRC-BRANCHES 79473 . 82476)) (82508 85956 (
|
||||
GIT-MY-CURRENT-BRANCH 82518 . 82888) (GIT-MY-BRANCHP 82890 . 83508) (GIT-MY-NEXT-BRANCH 83510 . 84004)
|
||||
(GIT-MY-BRANCHES 84006 . 85954)) (86002 90077 (GIT-ADD-WORKTREE 86012 . 87619) (GIT-REMOVE-WORKTREE
|
||||
87621 . 88551) (GIT-LIST-WORKTREES 88553 . 89357) (WORKTREEDIR 89359 . 90075)) (90125 123133 (
|
||||
GIT-GET-DIFFERENT-FILES 90135 . 97043) (GIT-BRANCHES-COMPARE-DIRECTORIES 97045 . 104672) (
|
||||
GIT-WORKING-COMPARE-DIRECTORIES 104674 . 110470) (GIT-COMPARE-WORKTREE 110472 . 114450) (
|
||||
GITCDOBJBUTTONFN 114452 . 118942) (GIT-CD-LABELFN 118944 . 120026) (GIT-CD-MENUFN 120028 . 121114) (
|
||||
GIT-WORKING-COMPARE-FILES 121116 . 121736) (GIT-BRANCHES-COMPARE-FILES 121738 . 122902) (
|
||||
GIT-PR-COMPARE 122904 . 123131)) (123203 131526 (CDGITDIR 123213 . 123900) (GIT-COMMAND 123902 .
|
||||
125460) (GITORIGIN 125462 . 126159) (GIT-INITIALS 126161 . 126465) (GIT-COMMAND-TO-FILE 126467 .
|
||||
129952) (GIT-RESULT-TO-LINES 129954 . 130859) (STRIPLOCAL 130861 . 131524)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@ -1,17 +1,19 @@
|
||||
(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE "BDF" (USE "XCL" "LISP") (EXPORT "READ-BDF"
|
||||
"WRITE-BDF-TO-DISPLAYFONT-FILES") (IMPORT \AVGCHARWIDTH \FGETWIDTH \FONTFACE \FONTFILENAME
|
||||
\FSETOFFSET \FSETWIDTH \FONTSYMBOL \GETSTREAM \INSTALLCHARSETINFO \PUTBASE BITBLT BITMAPCREATE
|
||||
BITMAPHEIGHT BITMAPWIDTH BLACKSHADE BLTSHADE BOLD CONDENSED CHARSETINFO DISPLAY FONTDESCRIPTOR FONTP
|
||||
FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITESTRIKEFONTFILE))
|
||||
READTABLE "XCL" BASE 10)
|
||||
"WRITE-BDF-TO-DISPLAYFONT-FILES") (IMPORT-FROM "IL" "BITBLT" "BITMAPCREATE" "BITMAPHEIGHT"
|
||||
"BITMAPWIDTH" "BLACKSHADE" "BLTSHADE" "BOLD" "COMPRESSED" "CHARSETINFO" "DISPLAY" "FONTDESCRIPTOR"
|
||||
"FONTP" "FONTPROP" "INPUT" "ITALIC" "LIGHT" "LRSH" "MEDIUM" "REGULAR" "TCONC" "UTOMCODE" "UTOMCODE?"
|
||||
"WRITESTRIKEFONTFILE")) READTABLE "XCL" BASE 10)
|
||||
|
||||
(IL:FILECREATED "30-Apr-2025 13:20:10" IL:|{DSK}<home>matt>Interlisp>medley>lispusers>READ-BDF.;61| 47500
|
||||
(IL:FILECREATED " 6-Nov-2025 23:10:51" IL:|{DSK}<home>matt>Interlisp>medley>lispusers>READ-BDF.;13| 49101
|
||||
|
||||
:EDIT-BY "mth"
|
||||
|
||||
:CHANGES-TO (IL:FUNCTIONS GET-FAMILY-FACE-SIZE-FROM-NAME)
|
||||
:CHANGES-TO (IL:FUNCTIONS BDF-TO-FONTDESCRIPTOR BDF-TO-CHARSETINFO READ-GLYPH
|
||||
WRITE-BDF-TO-DISPLAYFONT-FILES)
|
||||
(FILE-ENVIRONMENTS "READ-BDF")
|
||||
(IL:VARS IL:READ-BDFCOMS)
|
||||
|
||||
:PREVIOUS-DATE "25-Apr-2025 10:10:08" IL:|{DSK}<home>matt>Interlisp>medley>lispusers>READ-BDF.;60|
|
||||
:PREVIOUS-DATE " 6-Nov-2025 22:43:21" IL:|{DSK}<home>matt>Interlisp>medley>lispusers>READ-BDF.;9|
|
||||
)
|
||||
|
||||
|
||||
@ -23,8 +25,10 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(IL:FUNCTIONS BDF-TO-CHARSETINFO BDF-TO-FONTDESCRIPTOR GET-FAMILY-FACE-SIZE-FROM-NAME
|
||||
GLYPHS-BY-CHARSET PACKFILENAME.STRING READ-BDF READ-DELIMITED-LIST-FROM-STRING
|
||||
READ-GLYPH SPLIT-FONT-NAME WRITE-BDF-TO-DISPLAYFONT-FILES)
|
||||
(IL:DECLARE\: IL:EVAL@COMPILE IL:DONTCOPY (IL:FILES (IL:LOADCOMP)
|
||||
IL:FONT))
|
||||
(IL:DECLARE\: IL:EVAL@COMPILE IL:DONTCOPY (IL:FILES (IL:SYSLOAD)
|
||||
IL:SYSEDIT)
|
||||
(IL:FILES (IL:LOADCOMP)
|
||||
IL:FONT))
|
||||
(FILE-ENVIRONMENTS "READ-BDF")
|
||||
(IL:PROP (IL:DATABASE)
|
||||
IL:READ-BDF)))
|
||||
@ -40,10 +44,10 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(SLUG NIL :TYPE GLYPH))
|
||||
|
||||
(DEFSTRUCT GLYPH
|
||||
"This is an individual BDF glyph. Includes some values calculted for creating CHARSETINFO"
|
||||
"This is an individual BDF glyph. Includes some values calculated for creating CHARSETINFO"
|
||||
(NAME NIL :TYPE STRING)
|
||||
ENCODING SWIDTH DWIDTH SWIDTH1 DWIDTH1 VVECTOR BBW BBH BBXOFF0 BBYOFF0 BITMAP
|
||||
(XCODE 0 :TYPE INTEGER)
|
||||
(MCODE 0 :TYPE INTEGER)
|
||||
(WIDTH 0 :TYPE INTEGER)
|
||||
(ASCENT 0 :TYPE INTEGER)
|
||||
(DESCENT 0 :TYPE INTEGER))
|
||||
@ -55,6 +59,7 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(DEFCONSTANT NOMAPPINGCHARSET (1+ MAXCHARSET))
|
||||
|
||||
(DEFUN BDF-TO-CHARSETINFO (FONT CSET SLUG-OR-WIDTH &OPTIONAL MAP-UNKNOWN-TO-PRIVATE)
|
||||
(IL:* IL:\; "Edited 6-Nov-2025 17:30 by mth")
|
||||
(IL:* IL:\; "Edited 23-Apr-2025 17:53 by mth")
|
||||
(IL:* IL:\; "Edited 21-Apr-2025 16:23 by mth")
|
||||
(IL:* IL:\; "Edited 30-Jan-2025 16:40 by mth")
|
||||
@ -98,7 +103,7 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
((INTEGERP SLUG-OR-WIDTH)
|
||||
(SETQ SLUGWIDTH SLUG-OR-WIDTH))
|
||||
(T (ERROR "Invalid SLUG-OR-WIDTH: ~S" SLUG-OR-WIDTH)))
|
||||
(SETQ CSGLYPHS (LOOP :FOR XGL :IN CSGLYPHS :COLLECT (LET* ((XCODE (CAR XGL))
|
||||
(SETQ CSGLYPHS (LOOP :FOR XGL :IN CSGLYPHS :COLLECT (LET* ((MCODE (CAR XGL))
|
||||
(GL (CDR XGL))
|
||||
(GWIDTH (GLYPH-WIDTH
|
||||
GL))
|
||||
@ -112,13 +117,13 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
|
||||
"Is the above statement actually true?")
|
||||
|
||||
(SETF (GLYPH-XCODE GL)
|
||||
XCODE)
|
||||
(SETF (GLYPH-MCODE GL)
|
||||
MCODE)
|
||||
(SETQ FIRSTCHAR
|
||||
(MIN FIRSTCHAR XCODE
|
||||
(MIN FIRSTCHAR MCODE
|
||||
))
|
||||
(SETQ LASTCHAR
|
||||
(MAX LASTCHAR XCODE)
|
||||
(MAX LASTCHAR MCODE)
|
||||
)
|
||||
(INCF TOTAL-WIDTH GWIDTH)
|
||||
(SETQ ASCENT
|
||||
@ -133,13 +138,13 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(IL:* IL:|;;|
|
||||
"Initialize the offsets to the TOTAL-WIDTH (without the SLUG. It will be added later)")
|
||||
|
||||
(IL:|for| I IL:|from| 0 IL:|to| (+ MAXTHINCHAR 2) IL:|do| (\\FSETOFFSET OFFSETS I
|
||||
(IL:|for| I IL:|from| 0 IL:|to| (+ MAXTHINCHAR 2) IL:|do| (IL:\\FSETOFFSET OFFSETS I
|
||||
TOTAL-WIDTH))
|
||||
(SETQ WIDTHS (IL:|fetch| (CHARSETINFO IL:WIDTHS) IL:|of| CSINFO))
|
||||
|
||||
(IL:* IL:|;;| "Initialize the widths to SLUGWIDTH")
|
||||
|
||||
(IL:|for| I IL:|from| 0 IL:|to| (+ MAXTHINCHAR 2) IL:|do| (\\FSETWIDTH WIDTHS I
|
||||
(IL:|for| I IL:|from| 0 IL:|to| (+ MAXTHINCHAR 2) IL:|do| (IL:\\FSETWIDTH WIDTHS I
|
||||
SLUGWIDTH))
|
||||
(IL:|replace| (CHARSETINFO IL:IMAGEWIDTHS) IL:|of| CSINFO IL:|with| WIDTHS)
|
||||
|
||||
@ -151,19 +156,19 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(SETQ BMAP (BITMAPCREATE (+ TOTAL-WIDTH SLUGWIDTH)
|
||||
HEIGHT 1))
|
||||
(IL:|replace| (CHARSETINFO IL:CHARSETBITMAP) IL:|of| CSINFO IL:|with| BMAP)
|
||||
(LOOP :FOR GL :IN CSGLYPHS :WITH GLBM :WITH GLW :WITH XCODE :DO (SETQ GLBM
|
||||
(LOOP :FOR GL :IN CSGLYPHS :WITH GLBM :WITH GLW :WITH MCODE :DO (SETQ GLBM
|
||||
(GLYPH-BITMAP
|
||||
GL))
|
||||
(SETQ GLW (GLYPH-WIDTH GL))
|
||||
(SETQ XCODE (GLYPH-XCODE GL))
|
||||
(SETQ MCODE (GLYPH-MCODE GL))
|
||||
(BITBLT GLBM 0 0 BMAP (+ DLEFT (MAX 0 (GLYPH-BBXOFF0 GL)))
|
||||
(+ DESCENT (GLYPH-BBYOFF0 GL))
|
||||
(BITMAPWIDTH GLBM)
|
||||
(BITMAPHEIGHT GLBM)
|
||||
'INPUT
|
||||
'IL:REPLACE)
|
||||
(\\FSETOFFSET OFFSETS XCODE DLEFT)
|
||||
(\\FSETOFFSET WIDTHS XCODE GLW)
|
||||
(IL:\\FSETOFFSET OFFSETS MCODE DLEFT)
|
||||
(IL:\\FSETOFFSET WIDTHS MCODE GLW)
|
||||
(INCF DLEFT GLW))
|
||||
|
||||
(IL:* IL:|;;| "Now insert the SLUG glyph into the BMAP, or make a slug (block)")
|
||||
@ -185,6 +190,7 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
|
||||
(DEFUN BDF-TO-FONTDESCRIPTOR (BDFONT FAMILY SIZE FACE ROTATION DEVICE &OPTIONAL
|
||||
MAP-UNKNOWN-TO-PRIVATE RAW-UNICODE-MAPPING)
|
||||
(IL:* IL:\; "Edited 5-Nov-2025 16:09 by mth")
|
||||
(IL:* IL:\; "Edited 21-Apr-2025 16:03 by mth")
|
||||
(IL:* IL:\; "Edited 30-Jan-2025 21:27 by mth")
|
||||
(WHEN (AND (BDF-FONT-P BDFONT)
|
||||
@ -200,18 +206,22 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(OR DEVICE (FONTPROP FAMILY 'IL:DEVICE))
|
||||
MAP-UNKNOWN-TO-PRIVATE)))
|
||||
(WHEN (LISTP FAMILY)
|
||||
(RETURN (BDF-TO-FONTDESCRIPTOR BDFONT (FIRST FAMILY)
|
||||
(OR (SECOND FAMILY)
|
||||
|
||||
(IL:* IL:|;;| "Assume this is a FONTSPEC")
|
||||
|
||||
(RETURN (BDF-TO-FONTDESCRIPTOR BDFONT (IL:|fetch| (IL:FONTSPEC IL:FSFAMILY)
|
||||
IL:|of| FAMILY)
|
||||
(OR (IL:|fetch| (IL:FONTSPEC IL:FSSIZE) IL:|of| FAMILY)
|
||||
SIZE)
|
||||
(OR (THIRD FAMILY)
|
||||
(OR (IL:|fetch| (IL:FONTSPEC IL:FSFACE) IL:|of| FAMILY)
|
||||
FACE "MRR")
|
||||
(OR (FOURTH FAMILY)
|
||||
(OR (IL:|fetch| (IL:FONTSPEC IL:FSROTATION) IL:|of| FAMILY)
|
||||
ROTATION 0)
|
||||
(OR (FIFTH FAMILY)
|
||||
(OR (IL:|fetch| (IL:FONTSPEC IL:FSDEVICE) IL:|of| FAMILY)
|
||||
DEVICE
|
||||
'DISPLAY)
|
||||
MAP-UNKNOWN-TO-PRIVATE)))
|
||||
(SETQ FAMILY (\\FONTSYMBOL FAMILY))
|
||||
(SETQ FAMILY (IL:\\FONTSYMBOL FAMILY))
|
||||
(UNLESS (AND (INTEGERP SIZE)
|
||||
(PLUSP SIZE))
|
||||
(ERROR "Invalid SIZE: ~S~%" SIZE))
|
||||
@ -236,7 +246,7 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(INTERN (STRING-UPCASE DEVICE)
|
||||
"IL"))
|
||||
(T (IL:\\ILLEGAL.ARG DEVICE))))
|
||||
(SETQ FACE (\\FONTFACE FACE NIL DEV))
|
||||
(SETQ FACE (IL:\\FONTFACE FACE NIL DEV))
|
||||
(SETQ GBCSL (GLYPHS-BY-CHARSET BDFONT MAP-UNKNOWN-TO-PRIVATE RAW-UNICODE-MAPPING))
|
||||
(UNLESS SLUGWIDTH
|
||||
|
||||
@ -268,15 +278,16 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
GBCS CSET (OR SLUG (1+
|
||||
SLUGWIDTH
|
||||
))))
|
||||
(\\INSTALLCHARSETINFO FONTDESC CSINFO CSET)
|
||||
(IL:\\INSTALLCHARSETINFO FONTDESC CSINFO CSET
|
||||
)
|
||||
(LIST CSET)))))
|
||||
(LIST FONTDESC CHARSETS))))
|
||||
(RETURN (VALUES-LIST (NCONC (GBCS-TO-FONTDESC (FIRST GBCSL)
|
||||
FAMILY)
|
||||
(GBCS-TO-FONTDESC (SECOND GBCSL)
|
||||
(\\FONTSYMBOL (CONCATENATE 'STRING
|
||||
(SYMBOL-NAME FAMILY)
|
||||
"-UNMAPPED")))
|
||||
(IL:\\FONTSYMBOL (CONCATENATE 'STRING
|
||||
(SYMBOL-NAME FAMILY)
|
||||
"-UNMAPPED")))
|
||||
(LIST (ASSOC NOMAPPINGCHARSET (FIRST GBCSL)
|
||||
:TEST
|
||||
#'EQL)))))))))
|
||||
@ -311,8 +322,8 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
'((#\R . REGULAR)
|
||||
(#\N . REGULAR)
|
||||
(#\B . BOLD)
|
||||
(#\S . CONDENSED)
|
||||
(#\C . CONDENSED)))))
|
||||
(#\S . COMPRESSED)
|
||||
(#\C . COMPRESSED)))))
|
||||
'REGULAR)) (IL:* IL:\;
|
||||
"S is for \"SemiCondensed\", Assuming \"Condensed\"")
|
||||
|
||||
@ -336,17 +347,19 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(FIRST (BF-SIZE BDFONT))))))
|
||||
|
||||
(DEFUN GLYPHS-BY-CHARSET (FONT &OPTIONAL MAP-UNKNOWN-TO-PRIVATE RAW-UNICODE-MAPPING)
|
||||
(IL:* IL:\; "Edited 6-Nov-2025 18:11 by mth")
|
||||
(IL:* IL:\; "Edited 5-Nov-2025 16:18 by mth")
|
||||
(IL:* IL:\; "Edited 21-Apr-2025 15:48 by mth")
|
||||
(IL:* IL:\; "Edited 9-Jan-2025 11:23 by mth")
|
||||
(LET* ((NCSETS (+ MAXCHARSET 2))
|
||||
(CSETS (MAKE-ARRAY NCSETS :INITIAL-CONTENTS (LOOP :REPEAT NCSETS :COLLECT (CONS NIL))))
|
||||
(UTOXFN (COND
|
||||
(UTOMFN (COND
|
||||
(RAW-UNICODE-MAPPING #'IDENTITY)
|
||||
(MAP-UNKNOWN-TO-PRIVATE #'UTOXCODE)
|
||||
(T #'UTOXCODE?)))
|
||||
(MAP-UNKNOWN-TO-PRIVATE #'UTOMCODE)
|
||||
(T #'UTOMCODE?)))
|
||||
(SLUG (BF-SLUG FONT))
|
||||
(SLUGWIDTH (AND SLUG (GLYPH-WIDTH SLUG)))
|
||||
NOMAPPINGCSETS ENC XCODE XCS)
|
||||
NOMAPPINGCSETS ENC MCODE MCS)
|
||||
(UNLESS (OR MAP-UNKNOWN-TO-PRIVATE RAW-UNICODE-MAPPING)
|
||||
(SETQ NOMAPPINGCSETS (MAKE-ARRAY NCSETS :INITIAL-CONTENTS (LOOP :REPEAT NCSETS :COLLECT
|
||||
(CONS NIL)))))
|
||||
@ -358,7 +371,7 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
:UNLESS
|
||||
(EQ GL SLUG)
|
||||
:DO
|
||||
(SETQ XCS NIL)
|
||||
(SETQ MCS NIL)
|
||||
(SETQ ENC (GLYPH-ENCODING GL))
|
||||
(WHEN (LISTP ENC)
|
||||
|
||||
@ -372,9 +385,9 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
"The -1 case of the (OR ...) shouldn't happen. The (EQ GL SLUG) test above should have caught it")
|
||||
|
||||
)
|
||||
(SETQ XCODE (AND (INTEGERP ENC)
|
||||
(SETQ MCODE (AND (INTEGERP ENC)
|
||||
(PLUSP ENC)
|
||||
(FUNCALL UTOXFN ENC)))
|
||||
(FUNCALL UTOMFN ENC)))
|
||||
(IF RAW-UNICODE-MAPPING
|
||||
(COND
|
||||
((> ENC 65535)
|
||||
@ -394,7 +407,15 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(CONS ENC GL)))
|
||||
(T (PUT-GLYPH-IN-CHARSET-ARRAY ENC GL CSETS)))
|
||||
(COND
|
||||
((NULL XCODE)
|
||||
((AND (ZEROP (GLYPH-BBW GL))
|
||||
(ZEROP (FIRST (GLYPH-DWIDTH GL))))
|
||||
|
||||
(IL:* IL:|;;|
|
||||
"This has zero-width \"image\" with zero-width \"escapement\", put it in the NOMAPPINGCHARSET")
|
||||
|
||||
(TCONC (AREF CSETS NOMAPPINGCHARSET)
|
||||
(CONS ENC GL)))
|
||||
((NULL MCODE)
|
||||
|
||||
(IL:* IL:|;;| "These assoc with the Unicode encoding")
|
||||
|
||||
@ -408,37 +429,37 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(TCONC (AREF CSETS NOMAPPINGCHARSET)
|
||||
(CONS ENC GL)))
|
||||
(T (PUT-GLYPH-IN-CHARSET-ARRAY ENC GL NOMAPPINGCSETS))))
|
||||
((AND (INTEGERP XCODE)
|
||||
(<= 0 XCODE 65535))
|
||||
((AND (INTEGERP MCODE)
|
||||
(<= 0 MCODE 65535))
|
||||
|
||||
(IL:* IL:|;;|
|
||||
"These assoc with the 8 bit character code within the charset")
|
||||
|
||||
(PUT-GLYPH-IN-CHARSET-ARRAY XCODE GL CSETS)
|
||||
(PUT-GLYPH-IN-CHARSET-ARRAY MCODE GL CSETS)
|
||||
|
||||
(IL:* IL:|;;| "Default SLUG width is width of A.")
|
||||
|
||||
(WHEN (AND (NOT SLUGWIDTH)
|
||||
(= ENC (CHAR-CODE #\A)))
|
||||
|
||||
(IL:* IL:|;;| "A is the same code in XCCS and UNICODE ")
|
||||
(IL:* IL:|;;| "A is the same code in MCCS and UNICODE ")
|
||||
|
||||
(IL:* IL:|;;|
|
||||
"Comparing with ENC, not XCODE, to look only in charset 0")
|
||||
"Comparing with ENC, not MCODE, to look only in charset 0")
|
||||
|
||||
(SETQ SLUGWIDTH (GLYPH-WIDTH GL))))
|
||||
((LISTP XCODE)
|
||||
((LISTP MCODE)
|
||||
|
||||
(IL:* IL:|;;|
|
||||
"These assoc with the 8 bit character code within the charset (like above)")
|
||||
|
||||
(LOOP :FOR XC :IN XCODE :WITH CS :UNLESS (MEMBER (SETQ CS
|
||||
(LRSH XC 8))
|
||||
XCS)
|
||||
(LOOP :FOR MC :IN MCODE :WITH CS :UNLESS (MEMBER (SETQ CS
|
||||
(LRSH MC 8))
|
||||
MCS)
|
||||
:DO
|
||||
(PUSH CS XCS)
|
||||
(PUT-GLYPH-IN-CHARSET-ARRAY XC GL CSETS)))
|
||||
(T (ERROR "Invalid XCODE: ~A~%"))))))
|
||||
(PUSH CS MCS)
|
||||
(PUT-GLYPH-IN-CHARSET-ARRAY MC GL CSETS)))
|
||||
(T (ERROR "Invalid MCODE: ~A~%"))))))
|
||||
|
||||
(IL:* IL:|;;| "Extract the lists from the TCONC pointers")
|
||||
|
||||
@ -488,7 +509,8 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
X))
|
||||
Y))))
|
||||
|
||||
(DEFUN READ-BDF (PATH &OPTIONAL VERBOSE) (IL:* IL:\; "Edited 24-Apr-2025 00:44 by mth")
|
||||
(DEFUN READ-BDF (PATH &OPTIONAL VERBOSE) (IL:* IL:\; "Edited 30-Apr-2025 13:37 by mth")
|
||||
(IL:* IL:\; "Edited 24-Apr-2025 00:44 by mth")
|
||||
(IL:* IL:\; "Edited 17-Apr-2025 15:10 by mth")
|
||||
(IL:* IL:\; "Edited 12-Jul-2024 23:02 by mth")
|
||||
(LET
|
||||
@ -603,15 +625,15 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(SETF (BF-SLUG FONT)
|
||||
GL))))))
|
||||
(ENDFONT (SETQ FONT-COMPLETE T))))))))
|
||||
(WHEN VERBOSE
|
||||
(DESTRUCTURING-BIND (FAMILY (WEIGHT SLANT EXPANSION)
|
||||
SIZE)
|
||||
(GET-FAMILY-FACE-SIZE-FROM-NAME FONT)
|
||||
(DESTRUCTURING-BIND (FAMILY (WEIGHT SLANT EXPANSION)
|
||||
SIZE)
|
||||
(GET-FAMILY-FACE-SIZE-FROM-NAME FONT)
|
||||
(WHEN VERBOSE
|
||||
(FORMAT *STANDARD-OUTPUT*
|
||||
"Name: ~A~%Family: ~A~%Size: ~A~%Weight: ~A~%Slant: ~A~%Expansion: ~A~%"
|
||||
(BF-NAME FONT)
|
||||
FAMILY SIZE WEIGHT SLANT EXPANSION)))
|
||||
FONT)))
|
||||
FAMILY SIZE WEIGHT SLANT EXPANSION))
|
||||
(VALUES FONT FAMILY WEIGHT SLANT EXPANSION SIZE)))))
|
||||
|
||||
(DEFUN READ-DELIMITED-LIST-FROM-STRING (INPUT-STRING &OPTIONAL (DELIMIT #\]))
|
||||
(IL:* IL:\; "Edited 20-Aug-2024 16:46 by mth")
|
||||
@ -699,7 +721,7 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(SETQ WORDINDEX (* BITROW BM.RASTERWIDTH))
|
||||
(SETQ BYTEPOS (* 16 (1- NWORDS)))
|
||||
(LOOP :REPEAT NWORDS :DO
|
||||
(\\PUTBASE BM.BASE WORDINDEX
|
||||
(IL:\\PUTBASE BM.BASE WORDINDEX
|
||||
(LDB (BYTE 16 BYTEPOS)
|
||||
BITS))
|
||||
(INCF WORDINDEX)
|
||||
@ -744,12 +766,13 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(CHAR-SETS T)
|
||||
MAP-UNKNOWN-TO-PRIVATE WRITE-UNMAPPED
|
||||
RAW-UNICODE-MAPPING)
|
||||
(IL:* IL:\; "Edited 5-Nov-2025 23:06 by mth")
|
||||
(IL:* IL:\; "Edited 25-Apr-2025 10:08 by mth")
|
||||
(IL:* IL:\; "Edited 24-Apr-2025 00:09 by mth")
|
||||
(IL:* IL:\; "Edited 21-Apr-2025 16:03 by mth")
|
||||
(IL:* IL:\; "Edited 3-Feb-2025 23:18 by mth")
|
||||
(UNLESS (TYPEP BDFONT 'BDF-FONT)
|
||||
(ERROR "Not a BDF-FONT: ~S~%" BDFONT))
|
||||
(ERROR "Not a BDF-FONT: ~S ~%" BDFONT))
|
||||
(COND
|
||||
((EQ CHAR-SETS T) (IL:* IL:\; "This means ALL charsets")
|
||||
)
|
||||
@ -769,7 +792,7 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(GET-FAMILY-FACE-SIZE-FROM-NAME BDFONT)
|
||||
(SETQ FAMILY (OR FAMILY FN-FAMILY))
|
||||
(WHEN RAW-UNICODE-MAPPING
|
||||
(SETQ FAMILY (\\FONTSYMBOL (CONCATENATE 'STRING "RAW-" (STRING FAMILY)))))
|
||||
(SETQ FAMILY (IL:\\FONTSYMBOL (CONCATENATE 'STRING "RAW-" (STRING FAMILY)))))
|
||||
(SETQ FACE (OR FACE FN-FACE))
|
||||
(SETQ SIZE (OR SIZE FN-SIZE))
|
||||
(MULTIPLE-VALUE-BIND (FONTDESC CSETS UNMAPPED-FONTDESC UNICODE-CSETS UNMAPPEDGLYPHS)
|
||||
@ -780,16 +803,16 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(SETQ UNICODE-CSETS (INTERSECTION CHAR-SETS UNICODE-CSETS)))
|
||||
(LOOP :FOR CS :IN CSETS :DO (WRITESTRIKEFONTFILE FONTDESC CS
|
||||
(PACKFILENAME.STRING :BODY DEST-DIR :NAME
|
||||
(\\FONTFILENAME FAMILY SIZE FACE
|
||||
(IL:\\FONTFILENAME FAMILY SIZE FACE
|
||||
"DISPLAYFONT" CS))))
|
||||
(IF WRITE-UNMAPPED
|
||||
(LOOP :FOR CS :IN UNICODE-CSETS :DO (WRITESTRIKEFONTFILE
|
||||
UNMAPPED-FONTDESC CS
|
||||
(PACKFILENAME.STRING
|
||||
:BODY DEST-DIR :NAME
|
||||
(\\FONTFILENAME (FONTPROP
|
||||
UNMAPPED-FONTDESC
|
||||
'IL:FAMILY)
|
||||
(IL:\\FONTFILENAME (FONTPROP
|
||||
UNMAPPED-FONTDESC
|
||||
'IL:FAMILY)
|
||||
SIZE FACE "DISPLAYFONT" CS))))
|
||||
(SETQ UNICODE-CSETS NIL))
|
||||
|
||||
@ -801,6 +824,10 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(VALUES FONTDESC CSETS UNMAPPED-FONTDESC UNICODE-CSETS UNMAPPEDGLYPHS))))
|
||||
(IL:DECLARE\: IL:EVAL@COMPILE IL:DONTCOPY
|
||||
|
||||
(IL:FILESLOAD (IL:SYSLOAD)
|
||||
IL:SYSEDIT)
|
||||
|
||||
|
||||
(IL:FILESLOAD (IL:LOADCOMP)
|
||||
IL:FONT)
|
||||
)
|
||||
@ -808,25 +835,23 @@ FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM REGULAR TCONC UTOXCODE UTOXCODE? WRITEST
|
||||
(DEFINE-FILE-ENVIRONMENT "READ-BDF" :PACKAGE (DEFPACKAGE "BDF" (:USE "XCL" "LISP")
|
||||
(:EXPORT "READ-BDF"
|
||||
"WRITE-BDF-TO-DISPLAYFONT-FILES")
|
||||
(:IMPORT \\AVGCHARWIDTH \\FGETWIDTH \\FONTFACE
|
||||
\\FONTFILENAME \\FSETOFFSET \\FSETWIDTH
|
||||
\\FONTSYMBOL \\GETSTREAM
|
||||
\\INSTALLCHARSETINFO \\PUTBASE BITBLT
|
||||
BITMAPCREATE BITMAPHEIGHT BITMAPWIDTH
|
||||
BLACKSHADE BLTSHADE BOLD CONDENSED
|
||||
CHARSETINFO DISPLAY FONTDESCRIPTOR FONTP
|
||||
FONTPROP INPUT ITALIC LIGHT LRSH MEDIUM
|
||||
REGULAR TCONC UTOXCODE UTOXCODE?
|
||||
WRITESTRIKEFONTFILE))
|
||||
(:IMPORT-FROM "IL" "BITBLT" "BITMAPCREATE"
|
||||
"BITMAPHEIGHT" "BITMAPWIDTH" "BLACKSHADE"
|
||||
"BLTSHADE" "BOLD" "COMPRESSED"
|
||||
"CHARSETINFO" "DISPLAY" "FONTDESCRIPTOR"
|
||||
"FONTP" "FONTPROP" "INPUT" "ITALIC"
|
||||
"LIGHT" "LRSH" "MEDIUM" "REGULAR" "TCONC"
|
||||
"UTOMCODE" "UTOMCODE?"
|
||||
"WRITESTRIKEFONTFILE"))
|
||||
:READTABLE "XCL"
|
||||
:COMPILER :COMPILE-FILE)
|
||||
|
||||
(IL:PUTPROPS IL:READ-BDF IL:DATABASE IL:NO)
|
||||
(IL:DECLARE\: IL:DONTCOPY
|
||||
(IL:FILEMAP (NIL (2316 10275 (BDF-TO-CHARSETINFO 2316 . 10275)) (10277 16147 (BDF-TO-FONTDESCRIPTOR
|
||||
10277 . 16147)) (16149 19687 (GET-FAMILY-FACE-SIZE-FROM-NAME 16149 . 19687)) (19689 26500 (
|
||||
GLYPHS-BY-CHARSET 19689 . 26500)) (26502 27927 (PACKFILENAME.STRING 26502 . 27927)) (27929 34733 (
|
||||
READ-BDF 27929 . 34733)) (34735 35058 (READ-DELIMITED-LIST-FROM-STRING 34735 . 35058)) (35060 41548 (
|
||||
READ-GLYPH 35060 . 41548)) (41550 42291 (SPLIT-FONT-NAME 41550 . 42291)) (42293 46075 (
|
||||
WRITE-BDF-TO-DISPLAYFONT-FILES 42293 . 46075)))))
|
||||
(IL:FILEMAP (NIL (2497 10576 (BDF-TO-CHARSETINFO 2497 . 10576)) (10578 16996 (BDF-TO-FONTDESCRIPTOR
|
||||
10578 . 16996)) (16998 20538 (GET-FAMILY-FACE-SIZE-FROM-NAME 16998 . 20538)) (20540 27970 (
|
||||
GLYPHS-BY-CHARSET 20540 . 27970)) (27972 29397 (PACKFILENAME.STRING 27972 . 29397)) (29399 36358 (
|
||||
READ-BDF 29399 . 36358)) (36360 36683 (READ-DELIMITED-LIST-FROM-STRING 36360 . 36683)) (36685 43176 (
|
||||
READ-GLYPH 36685 . 43176)) (43178 43919 (SPLIT-FONT-NAME 43178 . 43919)) (43921 47827 (
|
||||
WRITE-BDF-TO-DISPLAYFONT-FILES 43921 . 47827)))))
|
||||
IL:STOP
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user