|
1 | 1 | (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) |
2 | 2 |
|
3 | | -(FILECREATED "12-Jan-2024 10:59:18" {DSK}<home>larry>il>medley>sources>EXTERNALFORMAT.;3 38380 |
| 3 | +(FILECREATED "19-Mar-2024 18:24:39" {WMEDLEY}<sources>EXTERNALFORMAT.;88 38921 |
4 | 4 |
|
5 | | - :EDIT-BY "lmm" |
| 5 | + :EDIT-BY rmk |
6 | 6 |
|
7 | | - :CHANGES-TO (FNS \BACKCCODE) |
| 7 | + :CHANGES-TO (FNS \FORMATBYTESTRING \FORMATBYTESTREAM) |
8 | 8 |
|
9 | | - :PREVIOUS-DATE " 8-Dec-2023 22:02:21" {DSK}<home>larry>il>medley>sources>EXTERNALFORMAT.;1) |
| 9 | + :PREVIOUS-DATE "12-Jan-2024 10:59:18" {WMEDLEY}<sources>EXTERNALFORMAT.;86) |
10 | 10 |
|
11 | 11 |
|
12 | 12 | (PRETTYCOMPRINT EXTERNALFORMATCOMS) |
|
472 | 472 | (\FORMATBYTESTREAM |
473 | 473 | [LAMBDA (STREAM BYTESTREAM) |
474 | 474 |
|
| 475 | + (* ;; "Edited 19-Mar-2024 15:57 by rmk: Remove installation of STREAM's EXTERNALFORMAT into BYTESTREAM. That should be done by the formats FORMATBYTESTREAMFN. In particular,") |
| 476 | + |
| 477 | + (* ;; "Edited 19-Mar-2024 14:31 by rmk") |
| 478 | + |
475 | 479 | (* ;; "Edited 24-Jul-2022 08:30 by rmk: STREAM can be the external format to be used for BYTESTREAM, not just a carrier of that format") |
476 | 480 |
|
477 | 481 | (* ;; "Edited 22-Jun-2022 11:09 by rmk") |
|
495 | 499 | ELSEIF (TYPE? EXTERNALFORMAT STREAM) |
496 | 500 | THEN (SETQ FORMAT STREAM) |
497 | 501 | (SETQ EOLC (FFETCH (EXTERNALFORMAT EOL) OF FORMAT))) |
498 | | - (\EXTERNALFORMAT BYTESTREAM FORMAT) |
499 | 502 | (REPLACE (STREAM EOLCONVENTION) OF BYTESTREAM WITH EOLC) |
500 | 503 | (\SETFILEPTR BYTESTREAM 0) |
501 | | - (freplace (STREAM ENDOFSTREAMOP) of BYTESTREAM with (FUNCTION NILL)) |
502 | 504 |
|
503 | 505 | (* ;; "Presumably any format-specific cleanup function will know what to do if it receives a format instead of a stream.") |
504 | 506 |
|
505 | 507 | (CL:WHEN (FFETCH (EXTERNALFORMAT FORMATBYTESTREAMFN) OF FORMAT) |
506 | | - (APPLY* (FFETCH (EXTERNALFORMAT FORMATBYTESTREAMFN) OF FORMAT) |
507 | | - STREAM BYTESTREAM)) |
| 508 | + (SETQ BYTESTREAM (APPLY* (FFETCH (EXTERNALFORMAT FORMATBYTESTREAMFN) OF FORMAT) |
| 509 | + STREAM BYTESTREAM))) |
| 510 | + |
| 511 | + (* ;; "Maybe the function said no?") |
| 512 | + |
| 513 | + (CL:WHEN BYTESTREAM |
| 514 | + (freplace (STREAM ENDOFSTREAMOP) of BYTESTREAM with (FUNCTION NILL))) |
508 | 515 | BYTESTREAM]) |
509 | 516 |
|
510 | 517 | (\FORMATBYTESTRING |
511 | | - [LAMBDA (STREAM STRING) (* ; "Edited 10-Jul-2022 16:39 by rmk") |
| 518 | + [LAMBDA (STREAM STRING) (* ; "Edited 19-Mar-2024 18:24 by rmk") |
| 519 | + (* ; "Edited 10-Jul-2022 16:39 by rmk") |
512 | 520 | (* ; "Edited 22-Jun-2022 11:07 by rmk") |
513 | 521 | (* ; "Edited 18-Jun-2022 22:04 by rmk") |
514 | 522 | (WITH-RESOURCE \FORMATBYTESTRING.STREAM (\SETFILEPTR \FORMATBYTESTRING.STREAM 0) |
515 | 523 | (LET [FSTRING NBYTES (BYTESTRINGFN (FETCH (EXTERNALFORMAT FORMATBYTESTRINGFN) |
516 | 524 | OF (FETCH (STREAM EXTERNALFORMAT) OF STREAM] |
517 | 525 | (IF BYTESTRINGFN |
518 | | - THEN (APPLY* BYTESTRINGFN STREAM STRING \FORMATBYTESTRING.STREAM) |
| 526 | + THEN (CL:WHEN (SETQ FSTRING (APPLY* BYTESTRINGFN STREAM STRING |
| 527 | + \FORMATBYTESTRING.STREAM)) |
| 528 | + (MKSTRING FSTRING)) |
519 | 529 | ELSE (\FORMATBYTESTREAM STREAM \FORMATBYTESTRING.STREAM) |
520 | 530 | (FOR C INPNAME STRING DO (\OUTCHAR \FORMATBYTESTRING.STREAM C)) |
521 | 531 | (SETQ NBYTES (\GETFILEPTR \FORMATBYTESTRING.STREAM)) |
|
727 | 737 | (\CREATE.THROUGH.EXTERNALFORMAT) |
728 | 738 | ) |
729 | 739 | (DECLARE%: DONTCOPY |
730 | | - (FILEMAP (NIL (6735 13568 (\EXTERNALFORMAT 6745 . 10523) (MAKE-EXTERNALFORMAT 10525 . 13095) ( |
731 | | -\EXTERNALFORMAT.DEFPRINT 13097 . 13566)) (13569 16610 (\INSTALL.EXTERNALFORMAT 13579 . 15028) ( |
732 | | -\REMOVE.EXTERNALFORMAT 15030 . 15861) (FIND-FORMAT 15863 . 16608)) (16611 17023 (SYSTEM-EXTERNALFORMAT |
733 | | - 16621 . 17021)) (17372 32799 (\OUTCHAR 17382 . 18599) (\INCCODE 18601 . 19754) (\BACKCCODE 19756 . |
734 | | -21435) (\BACKCCODE.EOLC 21437 . 23627) (\PEEKCCODE 23629 . 23954) (\PEEKCCODE.EOLC 23956 . 24335) ( |
735 | | -\INCCODE.EOLC 24337 . 26136) (\FORMATBYTESTREAM 26138 . 28273) (\FORMATBYTESTRING 28275 . 29734) ( |
736 | | -\CHECKEOLC.CRLF 29736 . 32797)) (34081 36317 (\NULLDEVICE 34091 . 35993) (\NULL.OPENFILE 35995 . 36315 |
737 | | -)) (36457 38284 (\CREATE.THROUGH.EXTERNALFORMAT 36467 . 37253) (\THROUGHIN 37255 . 37675) ( |
738 | | -\THROUGHBACKCCODE 37677 . 37944) (\THROUGHOUTCHARFN 37946 . 38282))))) |
| 740 | + (FILEMAP (NIL (6726 13559 (\EXTERNALFORMAT 6736 . 10514) (MAKE-EXTERNALFORMAT 10516 . 13086) ( |
| 741 | +\EXTERNALFORMAT.DEFPRINT 13088 . 13557)) (13560 16601 (\INSTALL.EXTERNALFORMAT 13570 . 15019) ( |
| 742 | +\REMOVE.EXTERNALFORMAT 15021 . 15852) (FIND-FORMAT 15854 . 16599)) (16602 17014 (SYSTEM-EXTERNALFORMAT |
| 743 | + 16612 . 17012)) (17363 33340 (\OUTCHAR 17373 . 18590) (\INCCODE 18592 . 19745) (\BACKCCODE 19747 . |
| 744 | +21426) (\BACKCCODE.EOLC 21428 . 23618) (\PEEKCCODE 23620 . 23945) (\PEEKCCODE.EOLC 23947 . 24326) ( |
| 745 | +\INCCODE.EOLC 24328 . 26127) (\FORMATBYTESTREAM 26129 . 28573) (\FORMATBYTESTRING 28575 . 30275) ( |
| 746 | +\CHECKEOLC.CRLF 30277 . 33338)) (34622 36858 (\NULLDEVICE 34632 . 36534) (\NULL.OPENFILE 36536 . 36856 |
| 747 | +)) (36998 38825 (\CREATE.THROUGH.EXTERNALFORMAT 37008 . 37794) (\THROUGHIN 37796 . 38216) ( |
| 748 | +\THROUGHBACKCCODE 38218 . 38485) (\THROUGHOUTCHARFN 38487 . 38823))))) |
739 | 749 | STOP |
0 commit comments