(FILECREATED "29-Jul-86 01:55:18" ("compiled on " {ERIS}LIBRARY>CMLSTRING.;14) "23-Jul-86 04:26:56" "COMPILE-FILEd" in "Xerox Lisp 23-Jul-86 ..." dated "23-Jul-86 04:52:47") (FILECREATED "29-Jul-86 01:54:16" {ERIS}LIBRARY>CMLSTRING.;14 36210 changes to: (VARS CMLSTRINGCOMS) (FNS STRING) previous date: "17-Jul-86 04:58:25" {ERIS}LIBRARY>CMLSTRING.;13) (RPAQQ CMLSTRINGCOMS ((FUNCTIONS FOR-SUBSTRING \STRING WITH-ONE-STRING WITH-STRING WITH-TWO-STRINGS STRING<>=*-BODY) (FNS STRING STRING-EQUAL \SP-STRING-COMPARE STRING=* STRING/=* STRING<* STRING>* STRING<=* STRING>=* STRING< STRING> STRING<= STRING>= STRING= STRING/= STRING-LESSP STRING-GREATERP STRING-NOT-GREATERP STRING-NOT-LESSP STRING-NOT-EQUAL MAKE-STRING STRING-UPCASE STRING-DOWNCASE STRING-CAPITALIZE NSTRING-UPCASE NSTRING-DOWNCASE NSTRING-CAPITALIZE STRING-LEFT-TRIM STRING-RIGHT-TRIM STRING-TRIM) (PROP FILETYPE CMLSTRING) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA STRING-TRIM STRING-RIGHT-TRIM STRING-LEFT-TRIM NSTRING-CAPITALIZE NSTRING-DOWNCASE NSTRING-UPCASE STRING-CAPITALIZE STRING-DOWNCASE STRING-UPCASE MAKE-STRING STRING-NOT-EQUAL STRING-NOT-LESSP STRING-NOT-GREATERP STRING-GREATERP STRING-LESSP STRING/= STRING= STRING>= STRING<= STRING> STRING< STRING>=* STRING<=* STRING>* STRING<* STRING/=* STRING=* STRING-EQUAL STRING))))) expand-FOR-SUBSTRING D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) @ HHZJ\L^_N__O_gggIhhOohgggjggKhgggOogIohhgOgKggMhgOgggMgogggOogIohhOhNIL (300Q CHAR 265Q CHAR 262Q SETF 257Q do 250Q to 244Q from 241Q INDEX 236Q for 222Q do 213Q 1- 210Q to 204Q from 177Q for 150Q CHAR 135Q CHAR 132Q SETF 127Q do 120Q 1- 115Q to 111Q from 106Q INDEX 103Q for 57Q CL:LENGTH 54Q SLEN 51Q LET*) ( 305Q (INDEX) 273Q (INDEX) 254Q (1- SLEN) 155Q (INDEX) 143Q (INDEX) 74Q ((MAKE-STRING SLEN))) (SETF-MACRO-FUNCTION (QUOTE FOR-SUBSTRING) (QUOTE expand-FOR-SUBSTRING)) expand-\STRING D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) %@ggHhHhigHhhhNIL (27Q STRING 13Q STRINGP 10Q COND) () (SETF-MACRO-FUNCTION (QUOTE \STRING) (QUOTE expand-\STRING)) expand-WITH-ONE-STRING D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) X@AHHZJgggIhgIgIhhhhggKhgKgIhhhhLNIL (103Q CL:LENGTH 77Q SETQ 70Q NULL 65Q COND 44Q SYMBOL-NAME 40Q SETQ 31Q SYMBOLP 26Q COND 23Q PROGN) () (SETF-MACRO-FUNCTION (QUOTE WITH-ONE-STRING) (QUOTE expand-WITH-ONE-STRING)) expand-WITH-STRING D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) I@!HHgoggIhgIgIhhhhgggIhhJNIL (71Q CL:LENGTH 66Q END 63Q SETQ 42Q SYMBOL-NAME 36Q SETQ 27Q SYMBOLP 24Q COND 15Q LET) ( 21Q ((START 0) END)) (SETF-MACRO-FUNCTION (QUOTE WITH-STRING) (QUOTE expand-WITH-STRING)) expand-WITH-TWO-STRINGS D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) @HHZJ\L^_N_gggIhgIgIhhhhggMhgMgIhhhhggKhgKgKhhhhggOhgOgKhhhhONIL (222Q CL:LENGTH 215Q SETQ 205Q NULL 202Q COND 161Q SYMBOL-NAME 155Q SETQ 146Q SYMBOLP 143Q COND 122Q CL:LENGTH 116Q SETQ 107Q NULL 104Q COND 63Q SYMBOL-NAME 57Q SETQ 50Q SYMBOLP 45Q COND 42Q PROGN) () (SETF-MACRO-FUNCTION (QUOTE WITH-TWO-STRINGS) (QUOTE expand-WITH-TWO-STRINGS)) expand-STRING<>=*-BODY D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) @!HHggggggggogggggIgghoggIgghoIggooohiJohhhhNIL (151Q CHAR> 145Q CHAR< 127Q END1 123Q END2 116Q INDEX 113Q = 77Q END2 73Q END1 66Q INDEX 63Q = 60Q COND 55Q INDEX 52Q COND 43Q LET 40Q END2 35Q START2 32Q END1 27Q START1 24Q STRING2 21Q STRING1 16Q WITH-TWO-STRINGS) ( 206Q (- END1 START1) 167Q ((T NIL)) 162Q (INDEX) 155Q ((CHAR STRING1 INDEX) (CHAR STRING2 (+ INDEX (- START2 START1)))) 137Q (NIL) 107Q (INDEX) 47Q ((INDEX (\SP-STRING-COMPARE STRING1 START1 END1 STRING2 START2 END2)))) (SETF-MACRO-FUNCTION (QUOTE STRING<>=*-BODY) (QUOTE expand-STRING<>=*-BODY)) STRING D1 (L (0 X)) 6@1HYd @l@ I k Z@KjJgHo (63Q CHECK-TYPE-FAIL 40Q MAKE-STRING 32Q CHARACTERP 25Q SYMBOL-NAME 11Q CL:STRINGP) (53Q X) ( 60Q (OR STRING SYMBOL CHARACTER)) STRING-EQUAL D1 (L (0 -args-)) 9ekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ OOM OkMOO OIO JO" :biqagLkaMLl\* D1 (L (5 END2 4 START2 3 END1 2 START1 1 STRING2 0 STRING1)) b@l@ bC@ bAlA bEA b @BCADE Hd%dE HC h@H AHDB H(134Q CHAR> 131Q CHAR 120Q CHAR 110Q %%= 101Q %%= 65Q \SP-STRING-COMPARE 50Q CL:LENGTH 37Q SYMBOL-NAME 22Q CL:LENGTH 11Q SYMBOL-NAME) NIL () STRING<=* D1 (L (5 END2 4 START2 3 END1 2 START1 1 STRING2 0 STRING1)) e@l@ bC@ bAlA bEA b @BCADE HCBdC HE h@H AHDB H(137Q CHAR< 134Q CHAR 123Q CHAR 113Q %%= 104Q %%= 65Q \SP-STRING-COMPARE 50Q CL:LENGTH 37Q SYMBOL-NAME 22Q CL:LENGTH 11Q SYMBOL-NAME) NIL () STRING>=* D1 (L (5 END2 4 START2 3 END1 2 START1 1 STRING2 0 STRING1)) e@l@ bC@ bAlA bEA b @BCADE HCBdE HC h@H AHDB H(137Q CHAR> 134Q CHAR 123Q CHAR 113Q %%= 104Q %%= 65Q \SP-STRING-COMPARE 50Q CL:LENGTH 37Q SYMBOL-NAME 22Q CL:LENGTH 11Q SYMBOL-NAME) NIL () STRING< D1 (L (0 -args-)) hekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _OMOO_ _jOjO o MO"O"dO O$O oO"O O"agLka D1 (L (0 -args-)) dekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _OMOO_ _jOjO o MO"O"O O$O mOO bO"agLkaBLl\1agOka?Ol_,agOka?Ol_+agOka?Ol_+hIO" _&JO$ _(O&O(:O&O( O"O"kO$k_$_"U(515Q CHAR> 475Q CHAR 464Q CHAR 312Q %%= 301Q %%= 271Q %%= 253Q CL:ERROR 210Q CL:LENGTH 200Q SYMBOL-NAME 163Q CL:LENGTH 153Q SYMBOL-NAME) (430Q :END2 400Q :START2 350Q :END1 323Q :START1) ( 250Q "Improper bounds for string comparison.") STRING<= D1 (L (0 -args-)) hekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _OMOO_ _jOjO o MO"O"dO O$O oO"O O"agLka= D1 (L (0 -args-)) ekalaHlLdKRjHl_OdNTh_Hl__OdOTj_Hl__OdOTh_IJMOOO agLkaLl\agOkaOl_agOkaOl_agOkaOl_(146Q STRING>=*) (252Q :END2 224Q :START2 176Q :END1 153Q :START1) () STRING= D1 (L (0 -args-)) >ekalaHlLdKſjHl_OdNǿh_Hl__OdOǿj_Hl__OdOǿh_IlI OI _JlJ OJ _OOM OkOkMOO$OO"dO IO" JO$ :nO"k_"O$k_$agLka6Ll\%agOka3Ol_ agOka3Ol_agOka3Ol_O"(311Q CHAR 303Q CHAR 225Q %%= 211Q CL:LENGTH 200Q SYMBOL-NAME 163Q CL:LENGTH 153Q SYMBOL-NAME) (444Q :END2 414Q :START2 364Q :END1 337Q :START1) () STRING/= D1 (L (0 -args-)) BekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _kOkMOO$OO"dO IO" JO$ bO"agLkaTLl\CagOkaQOl_>agOkaQOl_=agOkaQOl_=O"k_"O$k_$rO"O O$dO hO$(472Q %%= 461Q %%= 267Q CHAR 261Q CHAR 211Q CL:LENGTH 200Q SYMBOL-NAME 163Q CL:LENGTH 153Q SYMBOL-NAME) (406Q :END2 356Q :START2 326Q :END1 301Q :START1) () STRING-LESSP D1 (L (0 -args-)) fekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _OMOO_ _jOjO o MO"O"O O$O mOO bO"agLkaBLl\1agOka?Ol_,agOka?Ol_+agOka?Ol_+hIO" _&JO$ _(O&O( O&O( O"O"kO$k_$_"S(517Q CHAR-LESSP 507Q CHAR-EQUAL 475Q CHAR 464Q CHAR 312Q %%= 301Q %%= 271Q %%= 253Q CL:ERROR 210Q CL:LENGTH 200Q SYMBOL-NAME 163Q CL:LENGTH 153Q SYMBOL-NAME) (430Q :END2 400Q :START2 350Q :END1 323Q :START1) ( 250Q "Improper bounds for string comparison.") STRING-GREATERP D1 (L (0 -args-)) fekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _OMOO_ _jOjO o MO"O"O O$O mOO bO"agLkaBLl\1agOka?Ol_,agOka?Ol_+agOka?Ol_+hIO" _&JO$ _(O&O( O&O( O"O"kO$k_$_"S(517Q CHAR-GREATERP 507Q CHAR-EQUAL 475Q CHAR 464Q CHAR 312Q %%= 301Q %%= 271Q %%= 253Q CL:ERROR 210Q CL:LENGTH 200Q SYMBOL-NAME 163Q CL:LENGTH 153Q SYMBOL-NAME) (430Q :END2 400Q :START2 350Q :END1 323Q :START1) ( 250Q "Improper bounds for string comparison.") STRING-NOT-GREATERP D1 (L (0 -args-)) ^ekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _OMOO_ _jOjO o MO"O"dO O$O bO"agLkaILl\8agOkaFOl_3agOkaFOl_2agOkaFOl_2IO" _&JO$ _(O&O( O&O( ~hO"kO$k_$_"[(506Q CHAR-GREATERP 476Q CHAR-EQUAL 464Q CHAR 453Q CHAR 303Q %%= 272Q %%= 253Q CL:ERROR 210Q CL:LENGTH 200Q SYMBOL-NAME 163Q CL:LENGTH 153Q SYMBOL-NAME) (421Q :END2 371Q :START2 341Q :END1 314Q :START1) ( 250Q "Improper bounds for string comparison.") STRING-NOT-LESSP D1 (L (0 -args-)) ^ekalaHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _OMOO_ _jOjO o MO"O"dO O$O bO"agLkaILl\8agOkaFOl_3agOkaFOl_2agOkaFOl_2IO" _&JO$ _(O&O( O&O( ~hO"kO$k_$_"[(506Q CHAR-LESSP 476Q CHAR-EQUAL 464Q CHAR 453Q CHAR 303Q %%= 272Q %%= 253Q CL:ERROR 210Q CL:LENGTH 200Q SYMBOL-NAME 163Q CL:LENGTH 153Q SYMBOL-NAME) (421Q :END2 371Q :START2 341Q :END1 314Q :START1) ( 250Q "Improper bounds for string comparison.") STRING-NOT-EQUAL D1 (L (0 -args-)) eka`laHlLdKjHl_OdNh_Hl__OdOj_Hl__OdOh_IlI OI _JlJ OJ _OMOO_ _jOjO o jOjO go agLkaRLl\AagOkaOOl_