1
0
mirror of synced 2026-01-26 12:21:52 +00:00

FILEIO UNICODE: Fix THROUGHIN, cleanup UTF8-16 back

This commit is contained in:
rmkaplan
2021-08-06 10:36:05 -07:00
parent b1d209484a
commit 3de2ebb719
4 changed files with 75 additions and 75 deletions

View File

@@ -1,12 +1,11 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT XCCS)
(FILECREATED " 1-Aug-2021 23:18:29" 
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>UNICODE.;181 64649
(FILECREATED " 6-Aug-2021 10:30:15" 
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>UNICODE.;185 64537
changes to%: (VARS UNICODECOMS)
(FNS MAKE-UNICODE-FORMATS)
changes to%: (FNS \UTF16.BACKCCODEFN)
previous date%: " 1-Aug-2021 10:01:35"
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>UNICODE.;180)
previous date%: " 5-Aug-2021 22:34:22"
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>UNICODE.;184)
(PRETTYCOMPRINT UNICODECOMS)
@@ -79,17 +78,16 @@
(DEFINEQ
(UTF8.OUTCHARFN
[LAMBDA (STREAM CHARCODE RAW) (* ; "Edited 1-Aug-2021 10:00 by rmk:")
[LAMBDA (STREAM CHARCODE RAW) (* ; "Edited 5-Aug-2021 22:34 by rmk:")
(* ; "Edited 17-Aug-2020 08:45 by rmk:")
(* ; "Edited 30-Jan-2020 23:08 by rmk:")
(* ;; "Perhaps the translation table should already do the mapping for EOL to LF, but that seems to be a separate property of the stream")
(* ;; "PRINT UTF8 sequence for CHARCODE. Do not do XCCS to Unicode translation if RAW.")
(* ;; "Print UTF8 sequence for CHARCODE. Do not do XCCS to Unicode translation if RAW.")
(IF (EQ CHARCODE (CHARCODE EOL))
THEN (REPLACE (STREAM CHARPOSITION) OF STREAM WITH 0)
(\BOUTEOL STREAM)
THEN (\BOUTEOL STREAM)
ELSE (CHANGE (FETCH (STREAM CHARPOSITION) OF STREAM)
(IPLUS DATUM 1)) (* ; "Avoid overflow")
(FOR C INSIDE (CL:IF RAW
@@ -162,16 +160,16 @@
(CHARCODE EOL)
BYTE1))
BYTE1)
ELSEIF (IGEQ BYTE1 (LLSH 15 4))
ELSEIF (IGEQ BYTE1 (LLSH 15 4))
THEN (* ; "4 bytes")
(SETQ BYTE2 (\BIN STREAM))
(CL:WHEN (OR (NOT (SMALLP BYTE2))
(ILESSP BYTE2 128))
(ERROR "INVALID UTF8 SEQUENCE" (LIST BYTE1 BYTE2)))
(SETQ BYTE3 (\BIN STREAM))
(CL:WHEN (OR (NOT (SMALLP BYTE3))
(ILESSP BYTE3 128))
(ERROR "INVALID UTF8 SEQUENCE" (LIST BYTE1 BYTE2 BYTE3)))
(SETQ BYTE3 (\BIN STREAM))
(CL:WHEN (OR (NOT (SMALLP BYTE3))
(ILESSP BYTE3 128))
(ERROR "INVALID UTF8 SEQUENCE" (LIST BYTE1 BYTE2 BYTE3)))
(SETQ BYTE4 (\BIN STREAM))
(CL:WHEN (OR (NOT (SMALLP BYTE4))
(ILESSP BYTE4 128))
@@ -995,15 +993,15 @@
'*XCCSTOUNICODE*
'*UNICODETOXCCS*)
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS *XCCSTOUNICODE* *UNICODETOXCCS*)
)
(DEFINEQ
(HEXSTRING
[LAMBDA (N WIDTH) (* ; "Edited 23-Jul-2020 08:28 by rmk:")
(* ; "Edited 20-Dec-93 17:51 by rmk:")
(* ;;
(DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS *XCCSTOUNICODE* *UNICODETOXCCS*)
)
(DEFINEQ
(HEXSTRING
[LAMBDA (N WIDTH) (* ; "Edited 23-Jul-2020 08:28 by rmk:")
(* ; "Edited 20-Dec-93 17:51 by rmk:")
(* ;;
 "Converts positive numbers to Hex strings, padding on the right with 0 up to WIDTH if given.")

Binary file not shown.