1
0
mirror of synced 2026-03-05 19:19:56 +00:00

Modify CL:CHAR-NAME always to return string from lookup in IL:CHARACTERNAMES. (#1377)

This *seems* to fix the issue with printing "control characters" in #\Name format.
This commit is contained in:
Matt Heffron
2023-10-30 19:43:13 -07:00
committed by GitHub
parent b19cfd5bbb
commit bdf03e08a1
4 changed files with 596 additions and 567 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,10 @@
(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "LISP")
(IL:FILECREATED "13-Jun-2021 21:16:13" ("compiled on "
IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>CMLARITH.;1|) "13-Jun-2021 14:44:27"
"COMPILE-FILEd" IL:|in| "FULL 13-Jun-2021 ..." IL:|dated| "13-Jun-2021 14:44:40")
(IL:FILECREATED " 4-Jan-93 17:38:48" IL:|{DSK}<python>lde>lispcore>sources>CMLARITH.;2| 102283
IL:|previous| IL:|date:| "16-May-90 12:46:36" IL:|{DSK}<python>lde>lispcore>sources>CMLARITH.;1|)
(DEFINE-FILE-INFO PACKAGE "LISP" READTABLE "XCL" BASE 10)
(IL:FILECREATED "24-Sep-2023 15:37:41" ("compiled on " IL:|{WMEDLEY}<sources>CMLARITH.;3|)
"24-Sep-2023 15:27:49" "COMPILE-FILEd" IL:|in| "FULL 24-Sep-2023 ..." IL:|dated|
"24-Sep-2023 15:27:56")
(IL:FILECREATED "24-Sep-2023 15:37:27" IL:|{WMEDLEY}<sources>CMLARITH.;3| 100379 :EDIT-BY IL:|rmk|
:PREVIOUS-DATE "23-Sep-2023 23:15:39" IL:|{WMEDLEY}<sources>CMLARITH.;2|)
(IL:RPAQQ IL:CMLARITHCOMS ((IL:* IL:|;;;| "Common Lisp Arithmetic ") (IL:COMS (IL:* IL:|;;|
"Error utilities") (IL:FUNCTIONS %NOT-NUMBER-ERROR %NOT-NONCOMPLEX-NUMBER-ERROR %NOT-INTEGER-ERROR
%NOT-RATIONAL-ERROR %NOT-FLOAT-ERROR)) (IL:COMS (IL:* IL:|;;;| "Section 2.1.2 Ratios. ") (IL:COMS (
@@ -1145,6 +1146,4 @@ NIL
(QUOTE LDB-TEST) (QUOTE COMPILER:OPTIMIZER-LIST))))
(IL:PUTPROPS IL:CMLARITH IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE "LISP"))
(IL:PUTPROPS IL:CMLARITH IL:FILETYPE COMPILE-FILE)
(IL:PUTPROPS IL:CMLARITH IL:COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1987 1988 1989 1990 1993)
)
NIL

View File

@@ -1,50 +1,53 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "28-Jun-99 21:54:32" {DSK}<project>medley3.5>sources>CMLCHARACTER.;2 32559
changes to%: (OPTIMIZERS CL:CODE-CHAR)
(FUNCTIONS CL:CODE-CHAR)
(FILECREATED "30-Oct-2023 18:04:29" {DSK}<home>matt>Interlisp>medley>sources>CMLCHARACTER.;4 32004
previous date%: "18-Aug-95 14:45:44" {DSK}<project>medley3.5>sources>CMLCHARACTER.;1)
:EDIT-BY "mth"
:CHANGES-TO (FNS CL:CHAR-NAME)
:PREVIOUS-DATE "17-Oct-2023 13:16:14" {DSK}<home>matt>Interlisp>medley>sources>CMLCHARACTER.;1
)
(* ; "
Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation. All rights reserved.
Copyright (c) 1985-1987, 1990, 1995, 1999, 2023 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT CMLCHARACTERCOMS)
(RPAQQ CMLCHARACTERCOMS
[(COMS (* ;
 "Interlisp CHARCODE; Some is here, the rest is in LLREAD.")
[(COMS (* ;
 "Interlisp CHARCODE; Some is here, the rest is in LLREAD.")
(FNS CHARCODE CHARCODE.UNDECODE)
(PROP MACRO SELCHARQ ALPHACHARP DIGITCHARP UCASECODE)
(OPTIMIZERS CHARCODE)
(ALISTS (DWIMEQUIVLST SELCHARQ)
(PRETTYEQUIVLST SELCHARQ)))
(COMS (* ; "Common Lisp CHARACTER type")
(COMS (* ; "Common Lisp CHARACTER type")
(DECLARE%: EVAL@COMPILE DONTCOPY (RECORDS CHARACTER))
(VARIABLES \CHARHI)
(VARIABLES CL:CHAR-BITS-LIMIT CL:CHAR-CODE-LIMIT CL:CHAR-CONTROL-BIT CL:CHAR-FONT-LIMIT
CL:CHAR-HYPER-BIT CL:CHAR-META-BIT CL:CHAR-SUPER-BIT))
(COMS (* ; "Basic character fns")
(COMS (* ; "Basic character fns")
(FNS CL:CHAR-CODE CL:CHAR-INT CL:INT-CHAR)
(FUNCTIONS CL:CODE-CHAR)
(OPTIMIZERS CL:CHAR-CODE CL:CHAR-INT CL:CODE-CHAR CL:INT-CHAR))
[COMS (* ;
 "I/O; Some is here, the rest is in LLREAD.")
[COMS (* ;
 "I/O; Some is here, the rest is in LLREAD.")
(FNS CHARACTER.PRINT)
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (SETTOPVAL (\TYPEGLOBALVARIABLE 'CHARACTER T)
(NTYPX (CL:CODE-CHAR 0 0 0)))
(DEFPRINT 'CHARACTER 'CHARACTER.PRINT]
(COMS
(* ;; "Common lisp character functions")
(* ;; "Common lisp character functions")
(FNS CL:CHAR-BIT CL:CHAR-BITS CL:CHAR-DOWNCASE CL:CHAR-FONT CL:CHAR-NAME CL:CHAR-UPCASE
CL:CHARACTER CL:NAME-CHAR CL:SET-CHAR-BIT)
(FUNCTIONS CL:DIGIT-CHAR CL:MAKE-CHAR)
(OPTIMIZERS CL:CHAR-UPCASE CL:CHAR-DOWNCASE CL:MAKE-CHAR))
(COMS
(* ;; "Predicates")
(* ;; "Predicates")
(FNS CL:ALPHA-CHAR-P CL:ALPHANUMERICP CL:BOTH-CASE-P CL:CHARACTERP CL:GRAPHIC-CHAR-P
CL:LOWER-CASE-P CL:STANDARD-CHAR-P CL:STRING-CHAR-P CL:UPPER-CASE-P)
@@ -57,11 +60,11 @@ Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation.
CL:CHAR> CL:CHAR>= CL:CHARACTERP CL:LOWER-CASE-P CL:STRING-CHAR-P
CL:UPPER-CASE-P))
(COMS
(* ;; "Internals")
(* ;; "Internals")
(FUNCTIONS %%CHAR-DOWNCASE-CODE %%CHAR-UPCASE-CODE %%CODE-CHAR))
(COMS
(* ;; "Compiler options")
(* ;; "Compiler options")
(PROP FILETYPE CMLCHARACTER)
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY (LOCALVARS . T)))
@@ -89,36 +92,35 @@ Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation.
)
(PUTPROPS SELCHARQ MACRO [F (CONS 'SELECTQ (CONS (CAR F)
(MAPLIST (CDR F)
(FUNCTION (LAMBDA (I)
(COND
((CDR I)
(CONS
(CHARCODE.DECODE
(CAAR I))
(CDAR I)))
(T (CAR I])
(MAPLIST (CDR F)
(FUNCTION (LAMBDA (I)
(COND
((CDR I)
(CONS (CHARCODE.DECODE
(CAAR I))
(CDAR I)))
(T (CAR I])
(PUTPROPS ALPHACHARP MACRO ((CHAR)
([LAMBDA (UCHAR)
(DECLARE (LOCALVARS UCHAR))
(AND (IGEQ UCHAR (CHARCODE A))
(ILEQ UCHAR (CHARCODE Z]
(LOGAND CHAR 95))))
([LAMBDA (UCHAR)
(DECLARE (LOCALVARS UCHAR))
(AND (IGEQ UCHAR (CHARCODE A))
(ILEQ UCHAR (CHARCODE Z]
(LOGAND CHAR 95))))
(PUTPROPS DIGITCHARP MACRO [LAMBDA (CHAR)
(AND (IGEQ CHAR (CHARCODE 0))
(ILEQ CHAR (CHARCODE 9])
(AND (IGEQ CHAR (CHARCODE 0))
(ILEQ CHAR (CHARCODE 9])
(PUTPROPS UCASECODE MACRO (OPENLAMBDA (CHAR)
(COND
((AND (IGEQ CHAR (CHARCODE a))
(ILEQ CHAR (CHARCODE z)))
(LOGAND CHAR 95))
(T CHAR))))
(COND
((AND (IGEQ CHAR (CHARCODE a))
(ILEQ CHAR (CHARCODE z)))
(LOGAND CHAR 95))
(T CHAR))))
(DEFOPTIMIZER CHARCODE (C)
(KWOTE (CHARCODE.DECODE C T)))
(KWOTE (CHARCODE.DECODE C T)))
(ADDTOVAR DWIMEQUIVLST (SELCHARQ . SELECTQ))
@@ -132,7 +134,7 @@ Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(ACCESSFNS CHARACTER [(CODE (\LOLOC (\DTEST DATUM 'CHARACTER]
(CREATE (\VAG2 \CHARHI CODE)))
(CREATE (\VAG2 \CHARHI CODE)))
)
)
@@ -172,43 +174,43 @@ Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation.
)
(CL:DEFUN CL:CODE-CHAR (CODE &OPTIONAL (BITS 0)
(FONT 0))
(FONT 0))
(CL:IF (AND (EQ BITS 0)
(EQ FONT 0)
(* ;; "This checks for smallposp")
(* ;; "This checks for smallposp")
(EQ (\HILOC CODE)
\SmallPosHi))
(%%CODE-CHAR CODE)))
(DEFOPTIMIZER CL:CHAR-CODE (CHAR)
[LET [(CONSTANT-CHAR (AND (CL:CONSTANTP CHAR)
(CL:EVAL CHAR]
(CL:IF (CL:CHARACTERP CONSTANT-CHAR)
(\LOLOC CONSTANT-CHAR)
`(\LOLOC (\DTEST ,CHAR 'CHARACTER)))])
[LET [(CONSTANT-CHAR (AND (CL:CONSTANTP CHAR)
(CL:EVAL CHAR]
(CL:IF (CL:CHARACTERP CONSTANT-CHAR)
(\LOLOC CONSTANT-CHAR)
`(\LOLOC (\DTEST ,CHAR 'CHARACTER)))])
(DEFOPTIMIZER CL:CHAR-INT (CHAR)
`(CL:CHAR-CODE ,CHAR))
`(CL:CHAR-CODE ,CHAR))
(DEFOPTIMIZER CL:CODE-CHAR (CODE &OPTIONAL (BITS 0)
(FONT 0))
(CL:IF (AND (EQ BITS 0)
(EQ FONT 0))
[LET [(CONSTANT-CODE (AND (CL:CONSTANTP CODE)
(CL:EVAL CODE]
(CL:IF (EQ (\HILOC CONSTANT-CODE)
\SmallPosHi)
(%%CODE-CHAR CONSTANT-CODE)
`(LET ((%%CODE ,CODE))
(AND (EQ (\HILOC %%CODE)
,\SmallPosHi)
(%%CODE-CHAR %%CODE))))]
'COMPILER:PASS))
(FONT 0))
(CL:IF (AND (EQ BITS 0)
(EQ FONT 0))
[LET [(CONSTANT-CODE (AND (CL:CONSTANTP CODE)
(CL:EVAL CODE]
(CL:IF (EQ (\HILOC CONSTANT-CODE)
\SmallPosHi)
(%%CODE-CHAR CONSTANT-CODE)
`(LET ((%%CODE ,CODE))
(AND (EQ (\HILOC %%CODE)
,\SmallPosHi)
(%%CODE-CHAR %%CODE))))]
'COMPILER:PASS))
(DEFOPTIMIZER CL:INT-CHAR (INTEGER)
`(CL:CODE-CHAR ,INTEGER))
`(CL:CODE-CHAR ,INTEGER))
@@ -267,33 +269,39 @@ Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation.
0])
(CL:CHAR-NAME
[LAMBDA (CHAR) (* ; "Edited 19-Mar-87 15:49 by bvm:")
[LAMBDA (CHAR) (* ; "Edited 30-Oct-2023 17:57 by mth")
(* ; "Edited 19-Mar-87 15:49 by bvm:")
(DECLARE (GLOBALVARS CHARACTERNAMES CHARACTERSETNAMES))
(COND
((EQ CHAR #\Space) (* ;
 "Space is special because it is graphic but has a name")
 "Space is special because it is graphic but has a name")
"Space")
((CL:GRAPHIC-CHAR-P CHAR) (* ; "graphics have no special names")
((CL:GRAPHIC-CHAR-P CHAR) (* ; "graphics have no special names")
NIL)
(T (LET ((CODE (CL:CHAR-CODE CHAR))
CSET)
(COND
[(for X in CHARACTERNAMES when (EQ (CADR X)
CODE)
do (RETURN (CAR X]
CODE) do
(* ;;
 "This assumes that (CAR X) is SYMBOL or STRING!!")
(* ;;
 "(Should this be enforced? I.e., error if not?)")
(RETURN (STRING (CAR X]
(T (SETQ CSET (LRSH CODE 8))
(SETQ CODE (LOGAND CODE 255))
(COND
[(AND (EQ CSET 0)
(<= CODE (CHARCODE "^Z"))) (* ;
 "represent ascii control chars nicely")
(<= CODE (CHARCODE "^Z"))) (* ;
 "represent ascii control chars nicely")
(CONCAT "^" (CL:CODE-CHAR (LOGOR CODE (- (CHARCODE "A")
(CHARCODE "^A"]
(CHARCODE "^A"]
(T (* ; "Else charset-charcode")
(CONCAT (for X in CHARACTERSETNAMES
when (EQ (CADR X)
CSET) do (RETURN (CAR X))
finally (RETURN (OCTALSTRING CSET)))
(CONCAT (for X in CHARACTERSETNAMES when (EQ (CADR X)
CSET)
do (RETURN (CAR X)) finally (RETURN (OCTALSTRING CSET)))
"-"
(OCTALSTRING CODE])
@@ -326,36 +334,34 @@ Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation.
)
(CL:DEFUN CL:DIGIT-CHAR (WEIGHT &OPTIONAL (RADIX 10)
(FONT 0))
(FONT 0))
[AND (EQ FONT 0)
(< -1 WEIGHT RADIX 37)
(CL:IF (< WEIGHT 10)
(%%CODE-CHAR (+ (CONSTANT (CL:CHAR-CODE #\0))
WEIGHT))
WEIGHT))
(%%CODE-CHAR (+ (CONSTANT (CL:CHAR-CODE #\A))
(- WEIGHT 10))))])
(- WEIGHT 10))))])
(CL:DEFUN CL:MAKE-CHAR (CHAR &OPTIONAL (BITS 0)
(FONT 0))
(FONT 0))
(CL:IF (AND (EQL BITS 0)
(EQL FONT 0))
CHAR))
(DEFOPTIMIZER CL:CHAR-UPCASE (CHAR)
`[%%CODE-CHAR (%%CHAR-UPCASE-CODE (CL:CHAR-CODE
,CHAR])
`[%%CODE-CHAR (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR])
(DEFOPTIMIZER CL:CHAR-DOWNCASE (CHAR)
`[%%CODE-CHAR (%%CHAR-DOWNCASE-CODE (CL:CHAR-CODE
,CHAR])
`[%%CODE-CHAR (%%CHAR-DOWNCASE-CODE (CL:CHAR-CODE ,CHAR])
(DEFOPTIMIZER CL:MAKE-CHAR (CHAR &OPTIONAL BITS FONT)
(CL:IF (AND (OR (NULL BITS)
(EQL BITS 0))
(OR (NULL FONT)
(EQL FONT 0)))
CHAR
'COMPILER:PASS))
(CL:IF (AND (OR (NULL BITS)
(EQL BITS 0))
(OR (NULL FONT)
(EQL FONT 0)))
CHAR
'COMPILER:PASS))
@@ -627,105 +633,100 @@ Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation.
VAL)))
(DEFOPTIMIZER CL:CHAR-EQUAL (CHAR &REST MORE-CHARS)
(CL:IF (EQL 1 (CL:LENGTH MORE-CHARS))
`[EQ (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
(%%CHAR-UPCASE-CODE (CL:CHAR-CODE
,(CAR MORE-CHARS]
'COMPILER:PASS))
(CL:IF (EQL 1 (CL:LENGTH MORE-CHARS))
`[EQ (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
(%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,(CAR MORE-CHARS]
'COMPILER:PASS))
(DEFOPTIMIZER CL:CHAR-GREATERP (CHAR &REST MORE-CHARS)
`(> (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA
(FORM)
`(%%CHAR-UPCASE-CODE
(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
`(> (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA
(FORM)
`(%%CHAR-UPCASE-CODE (CL:CHAR-CODE
,FORM]
MORE-CHARS)))
(DEFOPTIMIZER CL:CHAR-LESSP (CHAR &REST MORE-CHARS)
`(< (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA
(FORM)
`(%%CHAR-UPCASE-CODE
(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
`(< (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(%%CHAR-UPCASE-CODE
(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
(DEFOPTIMIZER CL:CHAR-NOT-EQUAL (CHAR &REST MORE-CHARS)
(CL:IF (EQL 1 (CL:LENGTH MORE-CHARS))
`[NOT (EQ (%%CHAR-UPCASE-CODE (CL:CHAR-CODE
,CHAR))
(%%CHAR-UPCASE-CODE (CL:CHAR-CODE
,(CAR MORE-CHARS]
'COMPILER:PASS))
(CL:IF (EQL 1 (CL:LENGTH MORE-CHARS))
`[NOT (EQ (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
(%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,(CAR MORE-CHARS]
'COMPILER:PASS))
(DEFOPTIMIZER CL:CHAR-NOT-GREATERP (CHAR &REST MORE-CHARS)
`(<= (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA
(FORM)
`(%%CHAR-UPCASE-CODE
(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
`(<= (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA
(FORM)
`(%%CHAR-UPCASE-CODE
(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
(DEFOPTIMIZER CL:CHAR-NOT-LESSP (CHAR &REST MORE-CHARS)
`(>= (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA
(FORM)
`(%%CHAR-UPCASE-CODE
(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
`(>= (%%CHAR-UPCASE-CODE (CL:CHAR-CODE ,CHAR))
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA
(FORM)
`(%%CHAR-UPCASE-CODE (CL:CHAR-CODE
,FORM]
MORE-CHARS)))
(DEFOPTIMIZER CL:CHAR/= (CHAR &REST MORE-CHARS)
(CL:IF (CDR MORE-CHARS)
'COMPILER:PASS
`(NEQ ,CHAR ,(CAR MORE-CHARS))))
(CL:IF (CDR MORE-CHARS)
'COMPILER:PASS
`(NEQ ,CHAR ,(CAR MORE-CHARS))))
(DEFOPTIMIZER CL:CHAR< (CHAR &REST MORE-CHARS)
`(< (CL:CHAR-CODE ,CHAR)
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
`(< (CL:CHAR-CODE ,CHAR)
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
(DEFOPTIMIZER CL:CHAR<= (CHAR &REST MORE-CHARS)
`(<= (CL:CHAR-CODE ,CHAR)
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
`(<= (CL:CHAR-CODE ,CHAR)
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
(DEFOPTIMIZER CL:CHAR= (CHAR &REST MORE-CHARS)
(CL:IF (CDR MORE-CHARS)
[LET
((CH (GENSYM)))
(CL:IF (CDR MORE-CHARS)
[LET ((CH (GENSYM)))
`(LET ((,CH ,CHAR))
(AND ,@(for X in MORE-CHARS
collect `(EQ ,CH ,X]
`(EQ ,CHAR ,(CAR MORE-CHARS))))
`(EQ ,CHAR ,(CAR MORE-CHARS))))
(DEFOPTIMIZER CL:CHAR> (CHAR &REST MORE-CHARS)
`(> (CL:CHAR-CODE ,CHAR)
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
`(> (CL:CHAR-CODE ,CHAR)
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
(DEFOPTIMIZER CL:CHAR>= (CHAR &REST MORE-CHARS)
`(>= (CL:CHAR-CODE ,CHAR)
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
`(>= (CL:CHAR-CODE ,CHAR)
,@(CL:MAPCAR [FUNCTION (CL:LAMBDA (FORM)
`(CL:CHAR-CODE ,FORM]
MORE-CHARS)))
(DEFOPTIMIZER CL:CHARACTERP (OBJECT)
`(TYPENAMEP ,OBJECT 'CHARACTER))
`(TYPENAMEP ,OBJECT 'CHARACTER))
(DEFOPTIMIZER CL:LOWER-CASE-P (CHAR)
`(<= (CONSTANT (CL:CHAR-CODE #\a))
(CL:CHAR-CODE ,CHAR)
(CONSTANT (CL:CHAR-CODE #\z))))
`(<= (CONSTANT (CL:CHAR-CODE #\a))
(CL:CHAR-CODE ,CHAR)
(CONSTANT (CL:CHAR-CODE #\z))))
(DEFOPTIMIZER CL:STRING-CHAR-P (CHAR)
`(\DTEST ,CHAR 'CHARACTER))
`(\DTEST ,CHAR 'CHARACTER))
(DEFOPTIMIZER CL:UPPER-CASE-P (CHAR)
`(<= (CONSTANT (CL:CHAR-CODE #\A))
(CL:CHAR-CODE ,CHAR)
(CONSTANT (CL:CHAR-CODE #\Z))))
`(<= (CONSTANT (CL:CHAR-CODE #\A))
(CL:CHAR-CODE ,CHAR)
(CONSTANT (CL:CHAR-CODE #\Z))))
@@ -772,21 +773,24 @@ Copyright (c) 1985, 1986, 1987, 1990, 1995, 1999 by Venue & Xerox Corporation.
(ADDTOVAR NLAML CHARCODE)
(ADDTOVAR LAMA CL:CHAR>= CL:CHAR> CL:CHAR= CL:CHAR<= CL:CHAR< CL:CHAR/= CL:CHAR-NOT-LESSP
CL:CHAR-NOT-GREATERP CL:CHAR-NOT-EQUAL CL:CHAR-LESSP CL:CHAR-GREATERP
CL:CHAR-EQUAL)
CL:CHAR-NOT-GREATERP CL:CHAR-NOT-EQUAL CL:CHAR-LESSP CL:CHAR-GREATERP
CL:CHAR-EQUAL)
)
(PUTPROPS CMLCHARACTER COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1987 1990 1995 1999))
(PUTPROPS CMLCHARACTER COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1987 1990 1995 1999 2023))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4041 4323 (CHARCODE 4051 . 4110) (CHARCODE.UNDECODE 4112 . 4321)) (6868 7233 (
CL:CHAR-CODE 6878 . 7026) (CL:CHAR-INT 7028 . 7090) (CL:INT-CHAR 7092 . 7231)) (9139 10193 (
CHARACTER.PRINT 9149 . 10191)) (10406 13937 (CL:CHAR-BIT 10416 . 10569) (CL:CHAR-BITS 10571 . 10728) (
CL:CHAR-DOWNCASE 10730 . 10916) (CL:CHAR-FONT 10918 . 11075) (CL:CHAR-NAME 11077 . 12860) (
CL:CHAR-UPCASE 12862 . 13044) (CL:CHARACTER 13046 . 13534) (CL:NAME-CHAR 13536 . 13776) (CL:SET-CHAR-BIT
13778 . 13935)) (15381 18563 (CL:ALPHA-CHAR-P 15391 . 15927) (CL:ALPHANUMERICP 15929 . 16123) (
CL:BOTH-CASE-P 16125 . 16232) (CL:CHARACTERP 16234 . 16378) (CL:GRAPHIC-CHAR-P 16380 . 17513) (
CL:LOWER-CASE-P 17515 . 17668) (CL:STANDARD-CHAR-P 17670 . 18336) (CL:STRING-CHAR-P 18338 . 18406) (
CL:UPPER-CASE-P 18408 . 18561)) (18564 24388 (CL:CHAR-EQUAL 18574 . 18968) (CL:CHAR-GREATERP 18970 .
19477) (CL:CHAR-LESSP 19479 . 19983) (CL:CHAR-NOT-EQUAL 19985 . 20585) (CL:CHAR-NOT-GREATERP 20587 .
21099) (CL:CHAR-NOT-LESSP 21101 . 21610) (CL:CHAR/= 21612 . 22192) (CL:CHAR< 22194 . 22644) (CL:CHAR<=
22646 . 23098) (CL:CHAR= 23100 . 23480) (CL:CHAR> 23482 . 23932) (CL:CHAR>= 23934 . 24386)))))
(FILEMAP (NIL (4013 4295 (CHARCODE 4023 . 4082) (CHARCODE.UNDECODE 4084 . 4293)) (6601 6966 (
CL:CHAR-CODE 6611 . 6759) (CL:CHAR-INT 6761 . 6823) (CL:INT-CHAR 6825 . 6964)) (6968 7269 (CL:CODE-CHAR
6968 . 7269)) (8788 9842 (CHARACTER.PRINT 8798 . 9840)) (10055 14089 (CL:CHAR-BIT 10065 . 10218) (
CL:CHAR-BITS 10220 . 10377) (CL:CHAR-DOWNCASE 10379 . 10565) (CL:CHAR-FONT 10567 . 10724) (CL:CHAR-NAME
10726 . 13012) (CL:CHAR-UPCASE 13014 . 13196) (CL:CHARACTER 13198 . 13686) (CL:NAME-CHAR 13688 .
13928) (CL:SET-CHAR-BIT 13930 . 14087)) (14091 14484 (CL:DIGIT-CHAR 14091 . 14484)) (14486 14650 (
CL:MAKE-CHAR 14486 . 14650)) (15329 18511 (CL:ALPHA-CHAR-P 15339 . 15875) (CL:ALPHANUMERICP 15877 .
16071) (CL:BOTH-CASE-P 16073 . 16180) (CL:CHARACTERP 16182 . 16326) (CL:GRAPHIC-CHAR-P 16328 . 17461)
(CL:LOWER-CASE-P 17463 . 17616) (CL:STANDARD-CHAR-P 17618 . 18284) (CL:STRING-CHAR-P 18286 . 18354) (
CL:UPPER-CASE-P 18356 . 18509)) (18512 24336 (CL:CHAR-EQUAL 18522 . 18916) (CL:CHAR-GREATERP 18918 .
19425) (CL:CHAR-LESSP 19427 . 19931) (CL:CHAR-NOT-EQUAL 19933 . 20533) (CL:CHAR-NOT-GREATERP 20535 .
21047) (CL:CHAR-NOT-LESSP 21049 . 21558) (CL:CHAR/= 21560 . 22140) (CL:CHAR< 22142 . 22592) (CL:CHAR<=
22594 . 23046) (CL:CHAR= 23048 . 23428) (CL:CHAR> 23430 . 23880) (CL:CHAR>= 23882 . 24334)) (24338
25228 (CL:DIGIT-CHAR-P 24338 . 25228)) (30590 30935 (%%CHAR-DOWNCASE-CODE 30590 . 30935)) (30937 31280
(%%CHAR-UPCASE-CODE 30937 . 31280)) (31282 31341 (%%CODE-CHAR 31282 . 31341)))))
STOP

Binary file not shown.