From d2b87a73277701fa42c599a62ad7086f4b079a2c Mon Sep 17 00:00:00 2001 From: rmkaplan <69548581+rmkaplan@users.noreply.github.com> Date: Sat, 31 Aug 2024 15:04:56 -0700 Subject: [PATCH] XTOUCODE doesn't fail for nonexistent mappings (#1816) assigns a unique otherwise unallocated Unicode code. Addresses bug reported in #1814 --- library/UNICODE | 59 +++++++++++++++++++++---------------------- library/UNICODE.LCOM | Bin 32525 -> 32423 bytes 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/library/UNICODE b/library/UNICODE index 6a13d80b..64b2d5d1 100644 --- a/library/UNICODE +++ b/library/UNICODE @@ -1,14 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "27-Mar-2024 23:07:42" {WMEDLEY}UNICODE.;73 100984 +(FILECREATED "26-Aug-2024 16:58:36" {WMEDLEY}UNICODE.;74 100982 :EDIT-BY rmk - :CHANGES-TO (FNS UNICODE-EXTEND-TRANSLATION? INVERT-ALL-UNICODE-MAPPINGS ALL-UNICODE-MAPPINGS - MERGE-UNICODE-TRANSLATION-TABLES) - (VARS UNICODECOMS) + :CHANGES-TO (FNS UNICODE-EXTEND-TRANSLATION?) - :PREVIOUS-DATE "27-Mar-2024 14:50:54" {WMEDLEY}UNICODE.;72) + :PREVIOUS-DATE "27-Mar-2024 23:07:42" {WMEDLEY}UNICODE.;73) (PRETTYCOMPRINT UNICODECOMS) @@ -661,7 +659,8 @@ NEXTCODE]) (UNICODE-EXTEND-TRANSLATION? - [LAMBDA (CODE TRANSLATION-TABLE) (* ; "Edited 27-Mar-2024 23:02 by rmk") + [LAMBDA (CODE TRANSLATION-TABLE) (* ; "Edited 26-Aug-2024 16:49 by rmk") + (* ; "Edited 27-Mar-2024 23:02 by rmk") (* ; "Edited 5-Feb-2024 13:48 by rmk") (* ; "Edited 3-Feb-2024 12:40 by rmk") @@ -673,11 +672,11 @@ 'UNICODE-MAPPINGS.TXT) T UNICODEDIRECTORIES)) (CL:WHEN FILE - (SETQ MAPPING (CL:WITH-OPEN-FILE (STREAM FILE :INPUT) - (FFILEPOS (CONCAT "[" (LRSH CODE 8) - " ") - STREAM NIL NIL NIL T) - (READ STREAM))) + [SETQ MAPPING (CL:WITH-OPEN-FILE (STREAM FILE :INPUT) + (CL:WHEN (FFILEPOS (CONCAT "[" (LRSH CODE 8) + " ") + STREAM NIL NIL NIL T) + (READ STREAM] (CL:WHEN MAPPING (* ;; @@ -1866,23 +1865,23 @@ (PUTPROPS UNICODE FILETYPE :TCOMPL) (DECLARE%: DONTCOPY - (FILEMAP (NIL (4211 18357 (UTF8.OUTCHARFN 4221 . 7019) (UTF8.INCCODEFN 7021 . 12633) (UTF8.PEEKCCODEFN - 12635 . 17375) (\UTF8.BACKCCODEFN 17377 . 18355)) (18358 22612 (UTF16BE.OUTCHARFN 18368 . 19278) ( -UTF16BE.INCCODEFN 19280 . 20296) (UTF16BE.PEEKCCODEFN 20298 . 21529) (\UTF16BE.BACKCCODEFN 21531 . -22610)) (22613 26900 (UTF16LE.OUTCHARFN 22623 . 23630) (UTF16LE.INCCODEFN 23632 . 24648) ( -UTF16LE.PEEKCCODEFN 24650 . 25817) (\UTF16LE.BACKCCODEFN 25819 . 26898)) (26901 29830 (READBOM 26911 - . 28915) (WRITEBOM 28917 . 29828)) (29860 33050 (MAKE-UNICODE-FORMATS 29870 . 33048)) (33147 41529 ( -UNICODE.UNMAPPED 33157 . 35231) (UNICODE-EXTEND-TRANSLATION? 35233 . 37152) (UTF8.BINCODE 37154 . -39733) (\UTF8.FETCHCODE 39735 . 41527)) (41530 47051 (UTF8.VALIDATE 41540 . 44137) ( -UTF8-SIZE-FROM-BYTE1 44139 . 44571) (NUTF8-BYTE1-BYTES 44573 . 45310) (NUTF8-CODE-BYTES 45312 . 46369) - (NUTF8-STRING-BYTES 46371 . 47049)) (48482 48831 (XTOUCODE 48492 . 48660) (UTOXCODE 48662 . 48829)) ( -49774 55820 (READ-UNICODE-MAPPING-FILENAMES 49784 . 52731) (READ-UNICODE-MAPPING 52733 . 55818)) ( -55887 69217 (MAKE-UNICODE-TRANSLATION-TABLES 55897 . 64969) (MERGE-UNICODE-TRANSLATION-TABLES 64971 . -66105) (MERGE-UNICODE-TRANSLATION-TABLES1 66107 . 69215)) (69218 76326 (INVERT-ALL-UNICODE-MAPPINGS -69228 . 72849) (ALL-UNICODE-MAPPINGS 72851 . 76324)) (77294 89725 (WRITE-UNICODE-MAPPING 77304 . 81054 -) (WRITE-UNICODE-INCLUDED 81056 . 85778) (WRITE-UNICODE-MAPPING-HEADER 85780 . 87028) ( -WRITE-UNICODE-MAPPING-FILENAME 87030 . 88560) (HEXSTRING 88562 . 89723)) (89726 90402 ( -XCCS-UTF8-AFTER-OPEN 89736 . 90400)) (92927 98429 (UTF8HEXSTRING 92937 . 95142) (XTOUSTRING 95144 . -98064) (XCCSSTRING 98066 . 98427)) (98430 99318 (UNHEXSTRING 98440 . 99316)) (99319 100829 (SHOWCHARS -99329 . 100827))))) + (FILEMAP (NIL (4068 18214 (UTF8.OUTCHARFN 4078 . 6876) (UTF8.INCCODEFN 6878 . 12490) (UTF8.PEEKCCODEFN + 12492 . 17232) (\UTF8.BACKCCODEFN 17234 . 18212)) (18215 22469 (UTF16BE.OUTCHARFN 18225 . 19135) ( +UTF16BE.INCCODEFN 19137 . 20153) (UTF16BE.PEEKCCODEFN 20155 . 21386) (\UTF16BE.BACKCCODEFN 21388 . +22467)) (22470 26757 (UTF16LE.OUTCHARFN 22480 . 23487) (UTF16LE.INCCODEFN 23489 . 24505) ( +UTF16LE.PEEKCCODEFN 24507 . 25674) (\UTF16LE.BACKCCODEFN 25676 . 26755)) (26758 29687 (READBOM 26768 + . 28772) (WRITEBOM 28774 . 29685)) (29717 32907 (MAKE-UNICODE-FORMATS 29727 . 32905)) (33004 41527 ( +UNICODE.UNMAPPED 33014 . 35088) (UNICODE-EXTEND-TRANSLATION? 35090 . 37150) (UTF8.BINCODE 37152 . +39731) (\UTF8.FETCHCODE 39733 . 41525)) (41528 47049 (UTF8.VALIDATE 41538 . 44135) ( +UTF8-SIZE-FROM-BYTE1 44137 . 44569) (NUTF8-BYTE1-BYTES 44571 . 45308) (NUTF8-CODE-BYTES 45310 . 46367) + (NUTF8-STRING-BYTES 46369 . 47047)) (48480 48829 (XTOUCODE 48490 . 48658) (UTOXCODE 48660 . 48827)) ( +49772 55818 (READ-UNICODE-MAPPING-FILENAMES 49782 . 52729) (READ-UNICODE-MAPPING 52731 . 55816)) ( +55885 69215 (MAKE-UNICODE-TRANSLATION-TABLES 55895 . 64967) (MERGE-UNICODE-TRANSLATION-TABLES 64969 . +66103) (MERGE-UNICODE-TRANSLATION-TABLES1 66105 . 69213)) (69216 76324 (INVERT-ALL-UNICODE-MAPPINGS +69226 . 72847) (ALL-UNICODE-MAPPINGS 72849 . 76322)) (77292 89723 (WRITE-UNICODE-MAPPING 77302 . 81052 +) (WRITE-UNICODE-INCLUDED 81054 . 85776) (WRITE-UNICODE-MAPPING-HEADER 85778 . 87026) ( +WRITE-UNICODE-MAPPING-FILENAME 87028 . 88558) (HEXSTRING 88560 . 89721)) (89724 90400 ( +XCCS-UTF8-AFTER-OPEN 89734 . 90398)) (92925 98427 (UTF8HEXSTRING 92935 . 95140) (XTOUSTRING 95142 . +98062) (XCCSSTRING 98064 . 98425)) (98428 99316 (UNHEXSTRING 98438 . 99314)) (99317 100827 (SHOWCHARS +99327 . 100825))))) STOP diff --git a/library/UNICODE.LCOM b/library/UNICODE.LCOM index 4865951082224738734a70a18d1879e056fe8c34..296dd873b197b7e9e461a775bdc91d583738fd8e 100644 GIT binary patch delta 256 zcmeDE$GH42XID`T^X*?N*DnhIP>MyQg87FI^a6E|50 zA_?p1=_x6sB$lM6U{`OUq{*e>=IP_=9OUX4;_9M+ZYbEs$##r#96$#c7+6{uO-^C7 z7SL3%3J7uy^Yjl5)^!1DoUFlUy4jmaOqtEpLQ{dkXmYx$g31<-08R!V023L>Ec;d1 s7zG$KObirae8YS^gF_UIO((BX&15pQn7q;3XtKMS9+0`YTy0te0IE+t#sB~S delta 261 zcmZ4fm$COBCTll30?Of?d72k|vjio2QSfbC9cJh^x!w^^B(M3Wf#-mKG+HQy8r$&+(99RG56x zQv^uXIVuWkDrkf`1_djG`guD0ySO_0`vy;*&nU-jXkuk*U}b8eq`)=Vfl-FtNRulx z#LZ&zX&&3n>P(lF*epyn6&MUBsVXS%58z|~0x*%0%(7pFjZuI>!`M