1
0
mirror of synced 2026-02-25 00:37:25 +00:00

Rmk51 end game of external format integration (#814)

* Compile device-creation functions for new default interface

* UNICODE:  minor bug

* LLINTERP: MOVD? APPLY* to SPREADAPPLY*

* External format interface: a few more adjustments

* CLSTREAMS: Recompile, no source change

* PRETTYFILEINDEX: suppress when printing gitmaps to a non-display stream

* UNIXCOMM: Default format comes from device

Also, I seemed to have reverted back to LCOM with FAKE-COMPILE-FILE
This commit is contained in:
rmkaplan
2022-07-03 18:49:04 -07:00
committed by GitHub
parent f86be45834
commit d7ca40ebeb
28 changed files with 1037 additions and 802 deletions

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "22-Jun-2022 21:25:47" 
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>TEXTOFD.;20 183270
(FILECREATED " 3-Jul-2022 00:35:48" 
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>TEXTOFD.;22 183404
:CHANGES-TO (FNS OPENTEXTSTREAM)
:CHANGES-TO (FNS \TEXTINIT)
:PREVIOUS-DATE " 4-Jun-2022 15:43:05"
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>TEXTOFD.;19)
:PREVIOUS-DATE " 2-Jul-2022 23:48:56"
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>TEXTOFD.;21)
(* ; "
@@ -686,7 +686,8 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor
(RETURN PC])
(\TEXTINIT
[LAMBDA NIL (* ; "Edited 5-May-2022 15:12 by rmk")
[LAMBDA NIL (* ; "Edited 3-Jul-2022 00:34 by rmk")
(* ; "Edited 5-May-2022 15:12 by rmk")
(* ; "Edited 7-Oct-2021 08:40 by rmk:")
(* ;
 "Create the FDEV and STREAM prototypes for TEXT streams.")
@@ -724,6 +725,12 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor
IMCHARWIDTH _ (FUNCTION \TEXTDSPCHARWIDTH)
IMSTRINGWIDTH _ (FUNCTION \TEXTDSPSTRINGWIDTH)
IMSCALE _ (FUNCTION (LAMBDA NIL 1]
(* ;; "Maybe more functions later?")
(MAKE-EXTERNALFORMAT :TEDIT NIL NIL NIL (FUNCTION \TEDITOUTCCODEFN)
NIL
'CR NIL NIL T)
(SETQ \TEXTFDEV (create FDEV
DEVICENAME _ 'TEXT
RESETABLE _ T
@@ -756,7 +763,8 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor
FDBOUTABLE _ NIL
FDEXTENDABLE _ NIL
TRUNCATEFILE _ (FUNCTION NILL)
WRITEPAGES _ (FUNCTION NILL)))
WRITEPAGES _ (FUNCTION NILL)
DEFAULTEXTERNALFORMAT _ :TEDIT))
(* ;; "The prototypical Text stream")
@@ -778,13 +786,6 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor
IMAGEOPS _ \TEXTIMAGEOPS
IMAGEDATA _ (create TEXTIMAGEDATA)))
(* ;; "Maybe more functions later?")
(MAKE-EXTERNALFORMAT :TEDIT NIL NIL NIL (FUNCTION \TEDITOUTCCODEFN)
NIL
'CR)
(\EXTERNALFORMAT \TEXTOFD :TEDIT)
(* ;; "Set up so that FILE NOT OPENs on TEdit streams are caught and fixed.")
(CL:SETF (CONDITION-HANDLER 'XCL:STREAM-NOT-OPEN)
@@ -2732,25 +2733,25 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor
(PUTPROPS TEXTOFD COPYRIGHT ("John Sybalsky & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989
1990 1991 1993 1994 1995 1999 2000 2001 2021))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (2996 53635 (COPYTEXTSTREAM 3006 . 6128) (OPENTEXTSTREAM 6130 . 21397) (REOPENTEXTSTREAM
21399 . 21821) (TEDIT.STREAMCHANGEDP 21823 . 22121) (TEXTSTREAMP 22123 . 22437) (TXTFILE 22439 .
22884) (\DELETECH 22886 . 34142) (\SETUPGETCH 34144 . 41423) (\TEDIT.REOPEN.STREAM 41425 . 43275) (
\TEDIT.COPYTEXTSTREAM.PIECEMAPFN 43277 . 45715) (\TEXTINIT 45717 . 51528) (\TEXTMARK 51530 . 52278) (
\TEXTTTYBOUT 52280 . 53633)) (53636 79068 (\INSERTCH 53646 . 77372) (\INSERTCR 77374 . 79066)) (79134
99450 (\CHTOPC 79144 . 80333) (\CHTOPCNO 80335 . 81597) (\CLEARPCTB 81599 . 82395) (
\CREATEPIECEORSTREAM 82397 . 85371) (\DELETEPIECE 85373 . 86286) (\FINDPIECE 86288 . 86654) (
\INSERTPIECE 86656 . 89666) (\MAKEPCTB 89668 . 91583) (\SPLITPIECE 91585 . 98544) (\INSERT.FIRST.PIECE
98546 . 99448)) (99502 123740 (\TEXTCLOSEF 99512 . 100739) (\TEXTCLOSEF-SUBTREE 100741 . 101447) (
\TEXTDSPFONT 101449 . 102441) (\TEXTEOFP 102443 . 103802) (\TEXTGETEOFPTR 103804 . 104014) (
\TEXTGETFILEPTR 104016 . 106079) (\TEXTOPENF 106081 . 106911) (\TEXTOPENF-SUBTREE 106913 . 107714) (
\TEXTOUTCHARFN 107716 . 108064) (\TEXTBACKFILEPTR 108066 . 113967) (\TEXTBOUT 113969 . 117317) (
\TEDITOUTCCODEFN 117319 . 118585) (\TEXTSETEOF 118587 . 119096) (\TEXTSETFILEPTR 119098 . 120323) (
\TEXTDSPXPOSITION 120325 . 121182) (\TEXTDSPYPOSITION 121184 . 121729) (\TEXTLEFTMARGIN 121731 .
122214) (\TEXTRIGHTMARGIN 122216 . 123152) (\TEXTDSPCHARWIDTH 123154 . 123392) (\TEXTDSPSTRINGWIDTH
123394 . 123634) (\TEXTDSPLINEFEED 123636 . 123738)) (123741 161578 (\TEXTBIN 123751 . 144630) (
\TEDIT.TEXTBIN.STRINGSETUP 144632 . 150345) (\TEDIT.TEXTBIN.FILESETUP 150347 . 156733) (
\TEDIT.TEXTBIN.NEW.PAGE 156735 . 161576)) (161579 177341 (\TEXTPEEKBIN 161589 . 173082) (
\TEDIT.PEEKBIN.NEW.PAGE 173084 . 177339)) (177379 182597 (CGETTEXTPROP 177389 . 177865) (CTEXTPROP
177867 . 180211) (GETTEXTPROP 180213 . 180808) (PUTTEXTPROP 180810 . 182135) (TEXTPROP 182137 . 182595
(FILEMAP (NIL (2991 53769 (COPYTEXTSTREAM 3001 . 6123) (OPENTEXTSTREAM 6125 . 21392) (REOPENTEXTSTREAM
21394 . 21816) (TEDIT.STREAMCHANGEDP 21818 . 22116) (TEXTSTREAMP 22118 . 22432) (TXTFILE 22434 .
22879) (\DELETECH 22881 . 34137) (\SETUPGETCH 34139 . 41418) (\TEDIT.REOPEN.STREAM 41420 . 43270) (
\TEDIT.COPYTEXTSTREAM.PIECEMAPFN 43272 . 45710) (\TEXTINIT 45712 . 51662) (\TEXTMARK 51664 . 52412) (
\TEXTTTYBOUT 52414 . 53767)) (53770 79202 (\INSERTCH 53780 . 77506) (\INSERTCR 77508 . 79200)) (79268
99584 (\CHTOPC 79278 . 80467) (\CHTOPCNO 80469 . 81731) (\CLEARPCTB 81733 . 82529) (
\CREATEPIECEORSTREAM 82531 . 85505) (\DELETEPIECE 85507 . 86420) (\FINDPIECE 86422 . 86788) (
\INSERTPIECE 86790 . 89800) (\MAKEPCTB 89802 . 91717) (\SPLITPIECE 91719 . 98678) (\INSERT.FIRST.PIECE
98680 . 99582)) (99636 123874 (\TEXTCLOSEF 99646 . 100873) (\TEXTCLOSEF-SUBTREE 100875 . 101581) (
\TEXTDSPFONT 101583 . 102575) (\TEXTEOFP 102577 . 103936) (\TEXTGETEOFPTR 103938 . 104148) (
\TEXTGETFILEPTR 104150 . 106213) (\TEXTOPENF 106215 . 107045) (\TEXTOPENF-SUBTREE 107047 . 107848) (
\TEXTOUTCHARFN 107850 . 108198) (\TEXTBACKFILEPTR 108200 . 114101) (\TEXTBOUT 114103 . 117451) (
\TEDITOUTCCODEFN 117453 . 118719) (\TEXTSETEOF 118721 . 119230) (\TEXTSETFILEPTR 119232 . 120457) (
\TEXTDSPXPOSITION 120459 . 121316) (\TEXTDSPYPOSITION 121318 . 121863) (\TEXTLEFTMARGIN 121865 .
122348) (\TEXTRIGHTMARGIN 122350 . 123286) (\TEXTDSPCHARWIDTH 123288 . 123526) (\TEXTDSPSTRINGWIDTH
123528 . 123768) (\TEXTDSPLINEFEED 123770 . 123872)) (123875 161712 (\TEXTBIN 123885 . 144764) (
\TEDIT.TEXTBIN.STRINGSETUP 144766 . 150479) (\TEDIT.TEXTBIN.FILESETUP 150481 . 156867) (
\TEDIT.TEXTBIN.NEW.PAGE 156869 . 161710)) (161713 177475 (\TEXTPEEKBIN 161723 . 173216) (
\TEDIT.PEEKBIN.NEW.PAGE 173218 . 177473)) (177513 182731 (CGETTEXTPROP 177523 . 177999) (CTEXTPROP
178001 . 180345) (GETTEXTPROP 180347 . 180942) (PUTTEXTPROP 180944 . 182269) (TEXTPROP 182271 . 182729
)))))
STOP

Binary file not shown.

View File

@@ -1,9 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "30-Sep-2021 16:03:18" 
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>UNICODE.;194 64783
previous date%: "21-Aug-2021 13:13:04"
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>UNICODE.;193)
(FILECREATED "28-Jun-2022 00:02:58" 
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>UNICODE.;195 64708
:CHANGES-TO (FNS NUTF8CODEBYTES)
:PREVIOUS-DATE "30-Sep-2021 16:03:18"
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>UNICODE.;194)
(PRETTYCOMPRINT UNICODECOMS)
@@ -469,17 +472,15 @@
(DECLARE%: EVAL@COMPILE
(PUTPROPS UNICODE.TRANSLATE MACRO [OPENLAMBDA (CODE TRANSLATION-TABLE)
(LET [(X (CL:SVREF TRANSLATION-TABLE (LRSH CODE
TRANSLATION-SHIFT
]
(COND
((LISTP X)
(OR (CDR (FASSOC (LOGAND CODE TRANSLATION-SHIFT)
X))
CODE))
[(AND X (CL:SVREF X (LOGAND CODE TRANSLATION-MASK
(LET [(X (CL:SVREF TRANSLATION-TABLE (LRSH CODE TRANSLATION-SHIFT
]
(T (UNICODE.UNMAPPED CODE TRANSLATION-TABLE])
(COND
((LISTP X)
(OR (CDR (FASSOC (LOGAND CODE TRANSLATION-SHIFT)
X))
CODE))
[(AND X (CL:SVREF X (LOGAND CODE TRANSLATION-MASK]
(T (UNICODE.UNMAPPED CODE TRANSLATION-TABLE])
)
)
(DEFINEQ
@@ -832,7 +833,7 @@
(RPAQ? UNICODEDIRECTORIES NIL)
(PUSHNEW UNICODEDIRECTORIES (PACK* (UNIX-GETENV "MEDLEYDIR")
'/unicode/xerox/))
'/unicode/xerox/))
@@ -983,7 +984,7 @@
)
(RPAQ? DEFAULT-XCCS-CHARSETS '(LATIN SYMBOLS1 SYMBOLS2 EXTENDED-LATIN FORMS SYMBOLS3 SYMBOLS4
ACCENTED-LATIN GREEK))
ACCENTED-LATIN GREEK))
(DECLARE%: DONTEVAL@LOAD DOCOPY
(MAKE-UNICODE-TRANSLATION-TABLES (READ-UNICODE-MAPPING DEFAULT-XCCS-CHARSETS T)
@@ -1059,21 +1060,22 @@
ELSE (ERROR "CHARCODE too big for UTF8" CHARCODE])
(NUTF8CODEBYTES
[LAMBDA (N) (* ; "Edited 10-Aug-2020 12:35 by rmk:")
[LAMBDA (N) (* ; "Edited 28-Jun-2022 00:02 by rmk")
(* ; "Edited 10-Aug-2020 12:35 by rmk:")
(* ;; "Returns the number of bytes needed to encode N in UTF8, ")
(IF (ILESSP N 128)
THEN 1
ELSEIF (ILESSP N 2048)
THEN (* ; "x800")
4
THEN (* ; "x800")
2
ELSEIF (ILESSP N 65536)
THEN (* ; "x10000")
3
THEN (* ; "x10000")
3
ELSEIF (ILESSP N 2097152)
THEN (* ; "x200000")
2
THEN (* ; "x200000")
4
ELSE (SHOULDNT])
(NUTF8STRINGBYTES
@@ -1205,15 +1207,15 @@
)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4046 17726 (UTF8.OUTCHARFN 4056 . 6887) (UTF8.INCCODEFN 6889 . 12379) (UTF8.PEEKCCODEFN
12381 . 17155) (\UTF8.BACKCCODEFN 17157 . 17724)) (17727 21053 (UTF16BE.OUTCHARFN 17737 . 18561) (
UTF16BE.INCCODEFN 18563 . 19462) (UTF16BE.PEEKCCODEFN 19464 . 20535) (\UTF16.BACKCCODEFN 20537 . 21051
)) (21083 22891 (MAKE-UNICODE-FORMATS 21093 . 22889)) (22988 24294 (UNICODE.UNMAPPED 22998 . 24292)) (
24295 24831 (XCCS-UTF8-AFTER-OPEN 24305 . 24829)) (25901 26250 (XTOUCODE 25911 . 26079) (UTOXCODE
26081 . 26248)) (26290 42412 (READ-UNICODE-MAPPING-FILENAMES 26300 . 27401) (READ-UNICODE-MAPPING
27403 . 30701) (WRITE-UNICODE-MAPPING 30703 . 34920) (WRITE-UNICODE-INCLUDED 34922 . 39644) (
WRITE-UNICODE-MAPPING-HEADER 39646 . 40878) (WRITE-UNICODE-MAPPING-FILENAME 40880 . 42410)) (45749
54228 (MAKE-UNICODE-TRANSLATION-TABLES 45759 . 54226)) (54649 62553 (HEXSTRING 54659 . 55820) (
UTF8HEXSTRING 55822 . 58027) (NUTF8CODEBYTES 58029 . 58692) (NUTF8STRINGBYTES 58694 . 59175) (
XTOUSTRING 59177 . 62188) (XCCSSTRING 62190 . 62551)) (62554 64023 (SHOWCHARS 62564 . 64021)))))
(FILEMAP (NIL (4094 17774 (UTF8.OUTCHARFN 4104 . 6935) (UTF8.INCCODEFN 6937 . 12427) (UTF8.PEEKCCODEFN
12429 . 17203) (\UTF8.BACKCCODEFN 17205 . 17772)) (17775 21101 (UTF16BE.OUTCHARFN 17785 . 18609) (
UTF16BE.INCCODEFN 18611 . 19510) (UTF16BE.PEEKCCODEFN 19512 . 20583) (\UTF16.BACKCCODEFN 20585 . 21099
)) (21131 22939 (MAKE-UNICODE-FORMATS 21141 . 22937)) (23036 24342 (UNICODE.UNMAPPED 23046 . 24340)) (
24343 24879 (XCCS-UTF8-AFTER-OPEN 24353 . 24877)) (25712 26061 (XTOUCODE 25722 . 25890) (UTOXCODE
25892 . 26059)) (26101 42223 (READ-UNICODE-MAPPING-FILENAMES 26111 . 27212) (READ-UNICODE-MAPPING
27214 . 30512) (WRITE-UNICODE-MAPPING 30514 . 34731) (WRITE-UNICODE-INCLUDED 34733 . 39455) (
WRITE-UNICODE-MAPPING-HEADER 39457 . 40689) (WRITE-UNICODE-MAPPING-FILENAME 40691 . 42221)) (45556
54035 (MAKE-UNICODE-TRANSLATION-TABLES 45566 . 54033)) (54452 62478 (HEXSTRING 54462 . 55623) (
UTF8HEXSTRING 55625 . 57830) (NUTF8CODEBYTES 57832 . 58617) (NUTF8STRINGBYTES 58619 . 59100) (
XTOUSTRING 59102 . 62113) (XCCSSTRING 62115 . 62476)) (62479 63948 (SHOWCHARS 62489 . 63946)))))
STOP

Binary file not shown.

View File

@@ -1,10 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "27-Jun-2022 16:45:04" {DSK}<home>larry>medley>library>UNIXCOMM.;42 20362
changes to%: (FNS CREATE-PROCESS-STREAM)
(VARS UNIXCOMMCOMS)
(FILECREATED " 3-Jul-2022 16:16:31" 
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>UNIXCOMM.;5 20396
previous date%: "26-Jun-2022 14:27:33" {DSK}<home>larry>medley>library>UNIXCOMM.;41)
:CHANGES-TO (FNS INITIALIZE-SHELL-DEVICE)
:PREVIOUS-DATE " 3-Jul-2022 16:05:06"
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>UNIXCOMM.;3)
(* ; "
@@ -13,39 +15,37 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
(PRETTYCOMPRINT UNIXCOMMCOMS)
(RPAQQ UNIXCOMMCOMS (
(* ;; "streams to UNIX processes & pseudo terminals")
(RPAQQ UNIXCOMMCOMS
(
(* ;; "streams to UNIX processes & pseudo terminals")
(* ;;
 "this stuff should really be implemented in terms of {SHELL} and {PTY} devices")
(* ;; "this stuff should really be implemented in terms of {SHELL} and {PTY} devices")
(COMS (* ; "Forking stuff")
(FNS FORK-SHELL FORK-UNIX UNIX-KILL UNIX-WRITE CREATE-SHELL-STREAM
CREATE-PROCESS-STREAM UNIXCOMM-AROUNDEXITFN))
[COMS (* ; "Operations on the shell device")
(FNS INITIALIZE-NEW-SHELL-DEVICE UNIX-GET-NEXT-BUFFER
UNIX-BACKFILEPTR-NEW UNIX-STREAM-EOFP-NEW UNIX-STREAM-OUT
UNIX-STREAM-CLOSE)
(GLOBALVARS *NEW-SHELL-DEVICE*)
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (INITIALIZE-NEW-SHELL-DEVICE))
(ADDVARS (AROUNDEXITFNS UNIXCOMM-AROUNDEXITFN]
(COMS (* ;
 "Stuff for direct manipulation of Unix sockets")
(FNS CREATE-UNIX-SOCKET-STREAM ACCEPT-UNIX-SOCKET-STREAM))
(DECLARE%: EVAL@COMPILE DONTCOPY (MACROS UNIX-CHANNEL)
(P (CHECKIMPORTS '(FILEIO LLSUBRS)
T)))
[COMS
(* ;; "Obsolete stuff. This is for pre-Medley1.2, where there wasn't support for buffered input on the shell device")
(COMS (* ; "Forking stuff")
(FNS FORK-SHELL FORK-UNIX UNIX-KILL UNIX-WRITE CREATE-SHELL-STREAM
CREATE-PROCESS-STREAM UNIXCOMM-AROUNDEXITFN))
[COMS (* ; "Operations on the shell device")
(FNS INITIALIZE-NEW-SHELL-DEVICE UNIX-GET-NEXT-BUFFER UNIX-BACKFILEPTR-NEW
UNIX-STREAM-EOFP-NEW UNIX-STREAM-OUT UNIX-STREAM-CLOSE)
(GLOBALVARS *NEW-SHELL-DEVICE*)
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (INITIALIZE-NEW-SHELL-DEVICE))
(ADDVARS (AROUNDEXITFNS UNIXCOMM-AROUNDEXITFN]
(COMS (* ;
 "Stuff for direct manipulation of Unix sockets")
(FNS CREATE-UNIX-SOCKET-STREAM ACCEPT-UNIX-SOCKET-STREAM))
(DECLARE%: EVAL@COMPILE DONTCOPY (MACROS UNIX-CHANNEL)
(P (CHECKIMPORTS '(FILEIO LLSUBRS)
T)))
[COMS
(* ;; "Obsolete stuff. This is for pre-Medley1.2, where there wasn't support for buffered input on the shell device")
(FNS UNIX-BACKFILEPTR UNIX-READ INITIALIZE-SHELL-DEVICE UNIX-STREAM-IN
UNIX-STREAM-EOFP UNIX-STREAM-PEEK)
(GLOBALVARS *SHELL-DEVICE*)
(DECLARE%: EVAL@COMPILE DONTCOPY (MACROS UNIX-PEEKEDCHAR UNIX-LASTCHAR
))
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (INITIALIZE-SHELL-DEVICE]
(PROP FILETYPE UNIXCOMM)))
(FNS UNIX-BACKFILEPTR UNIX-READ INITIALIZE-SHELL-DEVICE UNIX-STREAM-IN UNIX-STREAM-EOFP
UNIX-STREAM-PEEK)
(GLOBALVARS *SHELL-DEVICE*)
(DECLARE%: EVAL@COMPILE DONTCOPY (MACROS UNIX-PEEKEDCHAR UNIX-LASTCHAR))
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (INITIALIZE-SHELL-DEVICE]
(PROP FILETYPE UNIXCOMM)))
@@ -131,15 +131,21 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
STR])
(CREATE-PROCESS-STREAM
[LAMBDA (COMM) (* ; "Edited 26-Jun-2022 13:52 by larry")
(* ;
 "Edited 26-Jun-2022 13:31 by lmm - set external format of shell stream to utf-8 ??")
(* ; "Edited 21-May-90 15:39 by jrb:")
[LAMBDA (COMM)
(* ;; "Edited 3-Jul-2022 16:04 by rmk: Removed external format here, the device has the environmental defaultg")
(* ;; "Edited 26-Jun-2022 13:52 by larry")
(* ;; "Edited 26-Jun-2022 13:31 by lmm - set external format of shell stream to utf-8 ??")
(* ;; "Edited 21-May-90 15:39 by jrb:")
(LET* ((SHELL-DEV (if (AND (BOUNDP '*NEW-SHELL-DEVICE)
(SUBRCALL UNIX-HANDLECOMM 8))
then (* ;
 "SUBRCALL tests that this is supported")
*NEW-SHELL-DEVICE*
(SUBRCALL UNIX-HANDLECOMM 8))
then (* ;
 "SUBRCALL tests that this is supported")
*NEW-SHELL-DEVICE*
else *SHELL-DEVICE*))
(STR (create STREAM
ACCESS _ 'BOTH
@@ -148,15 +154,13 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
(CHAN (FORK-UNIX COMM)))
(if CHAN
then (CL:SETF (UNIX-CHANNEL STR)
CHAN)
(AND (STRPOS ".UTF-8" (UNIX-GETENV "LANG"))
(\EXTERNALFORMAT STR ':UTF-8))
CHAN)
(* ;; "JRB - In a future release, make *SHELL-DEVICE* below SHELL-DEV, or just remove *SHELL-DEVICE* altogether. Must also hack UNIX-STREAM-CLOSE and the aroundexitfn for Unix streams.")
(* ;; "JRB - In a future release, make *SHELL-DEVICE* below SHELL-DEV, or just remove *SHELL-DEVICE* altogether. Must also hack UNIX-STREAM-CLOSE and the aroundexitfn for Unix streams.")
(push (fetch (FDEV OPENFILELST) of *SHELL-DEVICE*)
STR)
STR
(push (fetch (FDEV OPENFILELST) of *SHELL-DEVICE*)
STR)
STR
else NIL])
(UNIXCOMM-AROUNDEXITFN
@@ -183,7 +187,8 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
(DEFINEQ
(INITIALIZE-NEW-SHELL-DEVICE
[LAMBDA NIL (* ; "Edited 12-Feb-90 17:00 by bvm")
[LAMBDA NIL (* ; "Edited 3-Jul-2022 16:04 by rmk")
(* ; "Edited 12-Feb-90 17:00 by bvm")
(SETQ *NEW-SHELL-DEVICE* (create FDEV
FDBINABLE _ T
NODIRECTORIES _ T
@@ -197,7 +202,10 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
EOFP _ (FUNCTION UNIX-STREAM-EOFP-NEW)
BACKFILEPTR _ (FUNCTION UNIX-BACKFILEPTR-NEW)
GETNEXTBUFFER _ (FUNCTION UNIX-GET-NEXT-BUFFER)
BLOCKIN _ (FUNCTION \BUFFERED.BINS])
BLOCKIN _ (FUNCTION \BUFFERED.BINS)
DEFAULTEXTERNALFORMAT _ (AND (STRPOS ".UTF-8" (UNIX-GETENV "LANG"
))
:UTF-8])
(UNIX-GET-NEXT-BUFFER
[LAMBDA (STREAM WHATFOR NOERRORFLG) (* ;
@@ -329,7 +337,7 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE DONTCOPY
(DECLARE%: EVAL@COMPILE
(PUTPROPS UNIX-CHANNEL MACRO ((STR)
(PUTPROPS UNIX-CHANNEL MACRO ((STR)
(fetch (STREAM F1) of STR)))
)
@@ -375,7 +383,8 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
CH])
(INITIALIZE-SHELL-DEVICE
[LAMBDA NIL (* ; "Edited 14-Dec-88 10:45 by bane")
[LAMBDA NIL (* ; "Edited 3-Jul-2022 16:15 by rmk")
(* ; "Edited 14-Dec-88 10:45 by bane")
(SETQ *SHELL-DEVICE* (create FDEV
NODIRECTORIES _ T
DEVICENAME _ 'UNIX-PTY
@@ -386,7 +395,9 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
GETFILEINFO _ 'NILL
SETFILEINFO _ 'NILL
EOFP _ 'UNIX-STREAM-EOFP
BACKFILEPTR _ 'UNIX-BACKFILEPTR])
BACKFILEPTR _ 'UNIX-BACKFILEPTR
DEFAULTEXTERNALFORMAT _ (AND (STRPOS ".UTF-8" (UNIX-GETENV "LANG"))
:UTF-8])
(UNIX-STREAM-IN
[LAMBDA (STREAM) (* ; "Edited 9-May-88 15:05 by ")
@@ -430,10 +441,10 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE DONTCOPY
(DECLARE%: EVAL@COMPILE
(PUTPROPS UNIX-PEEKEDCHAR MACRO ((STR)
(PUTPROPS UNIX-PEEKEDCHAR MACRO ((STR)
(FETCH (STREAM F2) OF STR)))
(PUTPROPS UNIX-LASTCHAR MACRO ((STR)
(PUTPROPS UNIX-LASTCHAR MACRO ((STR)
(FETCH (STREAM F3) OF STR)))
)
)
@@ -442,15 +453,15 @@ Copyright (c) 1988-1990, 2018, 2022 by Venue & Xerox Corporation.
(INITIALIZE-SHELL-DEVICE)
)
(PUTPROPS UNIXCOMM FILETYPE FAKE-COMPILE-FILE)
(PUTPROPS UNIXCOMM FILETYPE FAKE-COMPILE-FILE)
(PUTPROPS UNIXCOMM COPYRIGHT ("Venue & Xerox Corporation" 1988 1989 1990 2018 2022))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (2975 9114 (FORK-SHELL 2985 . 4182) (FORK-UNIX 4184 . 4360) (UNIX-KILL 4362 . 4551) (
UNIX-WRITE 4553 . 5264) (CREATE-SHELL-STREAM 5266 . 6582) (CREATE-PROCESS-STREAM 6584 . 8211) (
UNIXCOMM-AROUNDEXITFN 8213 . 9112)) (9162 14150 (INITIALIZE-NEW-SHELL-DEVICE 9172 . 10265) (
UNIX-GET-NEXT-BUFFER 10267 . 12467) (UNIX-BACKFILEPTR-NEW 12469 . 12948) (UNIX-STREAM-EOFP-NEW 12950
. 13496) (UNIX-STREAM-OUT 13498 . 13754) (UNIX-STREAM-CLOSE 13756 . 14148)) (14406 16271 (
CREATE-UNIX-SOCKET-STREAM 14416 . 15277) (ACCEPT-UNIX-SOCKET-STREAM 15279 . 16269)) (16612 19791 (
UNIX-BACKFILEPTR 16622 . 17120) (UNIX-READ 17122 . 17644) (INITIALIZE-SHELL-DEVICE 17646 . 18385) (
UNIX-STREAM-IN 18387 . 18763) (UNIX-STREAM-EOFP 18765 . 19539) (UNIX-STREAM-PEEK 19541 . 19789)))))
(FILEMAP (NIL (2488 8459 (FORK-SHELL 2498 . 3695) (FORK-UNIX 3697 . 3873) (UNIX-KILL 3875 . 4064) (
UNIX-WRITE 4066 . 4777) (CREATE-SHELL-STREAM 4779 . 6095) (CREATE-PROCESS-STREAM 6097 . 7556) (
UNIXCOMM-AROUNDEXITFN 7558 . 8457)) (8507 13875 (INITIALIZE-NEW-SHELL-DEVICE 8517 . 9990) (
UNIX-GET-NEXT-BUFFER 9992 . 12192) (UNIX-BACKFILEPTR-NEW 12194 . 12673) (UNIX-STREAM-EOFP-NEW 12675 .
13221) (UNIX-STREAM-OUT 13223 . 13479) (UNIX-STREAM-CLOSE 13481 . 13873)) (14131 15996 (
CREATE-UNIX-SOCKET-STREAM 14141 . 15002) (ACCEPT-UNIX-SOCKET-STREAM 15004 . 15994)) (16345 19805 (
UNIX-BACKFILEPTR 16355 . 16853) (UNIX-READ 16855 . 17377) (INITIALIZE-SHELL-DEVICE 17379 . 18399) (
UNIX-STREAM-IN 18401 . 18777) (UNIX-STREAM-EOFP 18779 . 19553) (UNIX-STREAM-PEEK 19555 . 19803)))))
STOP

Binary file not shown.

BIN
library/UNIXCOMM.LCOM Normal file

Binary file not shown.