(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "22-Oct-2025 23:27:50" {WMEDLEY}<library>UNICODE-EXPORTS.;1 2673   

      :EDIT-BY rmk

      :CHANGES-TO (VARS UNICODE-EXPORTSCOMS))


(PRETTYCOMPRINT UNICODE-EXPORTSCOMS)

(RPAQQ UNICODE-EXPORTSCOMS
       (
        (* ;; "Compile-time declarations shared by UNICODE-TABLES and UNICODE")

        (GLOBALVARS *MCCSTOUNICODE* *UNICODETOMCCS* *NEXT-PRIVATE-UNICODE* *NEXT-PRIVATE-MCCSCODE* 
               *MCCS-LOADED-CHARSETS* *UNICODE-LOADED-CHARSETS* *LARGEUNICODES*)
        
        (* ;; "There are 6400 private Unicodes in 25 256-code charsets. For MCCS we map to a contiguous region of unused/reserved--private isn't big enough.")

        (CONSTANTS (FIRST-PRIVATE-UNICODE (HEXNUM? "E000"))
               (LAST-PRIVATE-UNICODE (HEXNUM? "F8FF"))
               (FIRST-PRIVATE-MCCSCODE (CHARCODE "200,0"))
               (LAST-PRIVATE-MCCSCODE (CHARCODE "230,377")))
        (MACROS TRUECODEP)
        (FILES (FROM LOADUPS)
               EXPORTS.ALL)))



(* ;; "Compile-time declarations shared by UNICODE-TABLES and UNICODE")

(DECLARE%: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS *MCCSTOUNICODE* *UNICODETOMCCS* *NEXT-PRIVATE-UNICODE* *NEXT-PRIVATE-MCCSCODE* 
       *MCCS-LOADED-CHARSETS* *UNICODE-LOADED-CHARSETS* *LARGEUNICODES*)
)



(* ;; 
"There are 6400 private Unicodes in 25 256-code charsets. For MCCS we map to a contiguous region of unused/reserved--private isn't big enough."
)

(DECLARE%: EVAL@COMPILE 

(RPAQ FIRST-PRIVATE-UNICODE (HEXNUM? "E000"))

(RPAQ LAST-PRIVATE-UNICODE (HEXNUM? "F8FF"))

(RPAQ FIRST-PRIVATE-MCCSCODE (CHARCODE "200,0"))

(RPAQ LAST-PRIVATE-MCCSCODE (CHARCODE "230,377"))


(CONSTANTS (FIRST-PRIVATE-UNICODE (HEXNUM? "E000"))
       (LAST-PRIVATE-UNICODE (HEXNUM? "F8FF"))
       (FIRST-PRIVATE-MCCSCODE (CHARCODE "200,0"))
       (LAST-PRIVATE-MCCSCODE (CHARCODE "230,377")))
)
(DECLARE%: EVAL@COMPILE 

(PUTPROPS TRUECODEP MACRO (OPENLAMBDA (RANGE TABLE)

                            (* ;; "Return NIL if RANGE is a fake range in TABLE, otherwise RANGE.")

                            (CL:UNLESS (CL:IF (EQ TABLE *MCCSTOUNICODE*)
                                           (AND (IGEQ RANGE FIRST-PRIVATE-UNICODE)
                                                (ILEQ RANGE LAST-PRIVATE-UNICODE))
                                           (AND (IGEQ RANGE FIRST-PRIVATE-MCCSCODE)
                                                (ILEQ RANGE LAST-PRIVATE-MCCSCODE)))
                                   RANGE)))
)

(FILESLOAD (FROM LOADUPS)
       EXPORTS.ALL)
(DECLARE%: DONTCOPY
  (FILEMAP (NIL)))
STOP
