1
0
mirror of synced 2026-04-30 05:35:57 +00:00

Fixex to \FORMATBYTESTRING and \FORMATBYTESTREAM (#1618)

Motivated by the fact that FILEPOS was not being properly informed that the bytes of the encoded stream are stable (unlike XCCS) so it can run at the byte level without character decoding.
This commit is contained in:
rmkaplan
2024-04-01 20:21:38 -07:00
committed by GitHub
parent 90dc568bae
commit f6eb5d9846
4 changed files with 48 additions and 29 deletions

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 9-Dec-2023 11:42:55" {WMEDLEY}<sources>XCCS.;66 14365
(FILECREATED "26-Mar-2024 11:00:37" {WMEDLEY}<sources>XCCS.;70 14862
:EDIT-BY rmk
:CHANGES-TO (FNS \XCCSCHARSETFN)
:CHANGES-TO (FNS \XCCSFORMATBYTESTREAM)
:PREVIOUS-DATE " 8-Dec-2023 15:34:50" {WMEDLEY}<sources>XCCS.;65)
:PREVIOUS-DATE "19-Mar-2024 16:02:36" {WMEDLEY}<sources>XCCS.;68)
(PRETTYCOMPRINT XCCSCOMS)
@@ -19,6 +19,7 @@
(INITVARS (*SIGNAL-24BIT-NSENCODING-ERROR*))
(DECLARE%: EVAL@COMPILE DONTCOPY (EXPORT (CONSTANTS (\NORUNCODE 255)
(NSCHARSETSHIFT 255))
(ALISTS (CHARACTERNAMES \NORUNCODE NSCHARSETSHIFT))
(MACROS \RUNCODED)))
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (\CREATE.XCCS.EXTERNALFORMAT])
(DEFINEQ
@@ -200,9 +201,14 @@
BYTE)))])
(\XCCSFORMATBYTESTREAM
[LAMBDA (STREAM BYTESTREAM) (* ; "Edited 24-Jun-2021 16:47 by rmk:")
(REPLACE (STREAM CHARSET) OF BYTESTREAM WITH (FETCH (STREAM CHARSET) OF
STREAM])
[LAMBDA (STREAM BYTESTREAM) (* ; "Edited 26-Mar-2024 11:00 by rmk")
(* ; "Edited 19-Mar-2024 16:02 by rmk")
(\EXTERNALFORMAT BYTESTREAM (\EXTERNALFORMAT STREAM))
(* ;; "This stream may be read as a continuation of STREAM (TTYIN, LAFITE?), and we want to make sure that the bytes are encoded properly. So let's assert (and possibly mark) that that's its current situation.")
(\XCCSCHARSETFN BYTESTREAM (fetch (STREAM CHARSET) of STREAM))
BYTESTREAM])
(\XCCSCHARSETFN
[LAMBDA (STREAM CHARSET DONTMARKSTREAM) (* ; "Edited 9-Dec-2023 11:18 by rmk")
@@ -270,6 +276,9 @@
(CONSTANTS (\NORUNCODE 255)
(NSCHARSETSHIFT 255))
)
(ADDTOVAR CHARACTERNAMES (\NORUNCODE 255)
(NSCHARSETSHIFT 255))
(DECLARE%: EVAL@COMPILE
(PUTPROPS \RUNCODED MACRO (OPENLAMBDA (STREAM)
@@ -289,8 +298,8 @@
(\CREATE.XCCS.EXTERNALFORMAT)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (886 11846 (\XCCSINCCODE 896 . 3875) (\XCCSPEEKCCODE 3877 . 6546) (\XCCSOUTCHAR 6548 .
8768) (\XCCSBACKCCODE 8770 . 10314) (\XCCSFORMATBYTESTREAM 10316 . 10641) (\XCCSCHARSETFN 10643 .
11844)) (11847 12620 (\CREATE.XCCS.EXTERNALFORMAT 11857 . 12618)) (12621 13452 (
\NSIN.24BITENCODING.ERROR 12631 . 13450)))))
(FILEMAP (NIL (993 12249 (\XCCSINCCODE 1003 . 3982) (\XCCSPEEKCCODE 3984 . 6653) (\XCCSOUTCHAR 6655 .
8875) (\XCCSBACKCCODE 8877 . 10421) (\XCCSFORMATBYTESTREAM 10423 . 11044) (\XCCSCHARSETFN 11046 .
12247)) (12250 13023 (\CREATE.XCCS.EXTERNALFORMAT 12260 . 13021)) (13024 13855 (
\NSIN.24BITENCODING.ERROR 13034 . 13853)))))
STOP