From fface7d9de2f511ade235d51ff55db3e5718647d Mon Sep 17 00:00:00 2001 From: Matt Heffron Date: Thu, 26 Sep 2024 13:54:15 -0700 Subject: [PATCH] CL READ-FROM-STRING returns byte position instead of character position. (#1833) * Fix for issue 1812: CL:READ-FROM-STRING returns byte position instead of character position. * Previous edit hadn't noticed corresponding issue using the value of the START argument passed to SETFILEPTR --- sources/CMLREAD | 32 +++++++++++++++----------------- sources/CMLREAD.LCOM | Bin 6078 -> 5953 bytes 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/sources/CMLREAD b/sources/CMLREAD index 13d2fd48..7217d725 100644 --- a/sources/CMLREAD +++ b/sources/CMLREAD @@ -1,17 +1,13 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "19-Jul-2022 23:31:31"  -{DSK}kaplan>local>medley3.5>working-medley>sources>CMLREAD.;15 12803 +(FILECREATED "23-Sep-2024 11:55:33" {DSK}matt>Interlisp>medley>sources>CMLREAD.;4 12882 - :CHANGES-TO (FNS CL:PEEK-CHAR) + :EDIT-BY "mth" - :PREVIOUS-DATE "16-Aug-2021 23:42:49" -{DSK}kaplan>local>medley3.5>working-medley>sources>CMLREAD.;14) + :CHANGES-TO (FNS CL:READ-FROM-STRING) + :PREVIOUS-DATE "16-Sep-2024 12:26:09" {DSK}matt>Interlisp>medley>sources>CMLREAD.;3) -(* ; " -Copyright (c) 1985-1988, 1990, 1993, 2021 by Venue & Xerox Corporation. -") (PRETTYCOMPRINT CMLREADCOMS) @@ -188,16 +184,19 @@ Copyright (c) 1985-1988, 1990, 1993, 2021 by Venue & Xerox Corporation. (CL:READ-FROM-STRING [CL:LAMBDA (STRING &OPTIONAL EOF-ERROR-P EOF-VALUE &KEY START END PRESERVE-WHITESPACE) + (* ; "Edited 23-Sep-2024 11:47 by mth") + (* ; "Edited 16-Sep-2024 12:22 by mth") (* ; "Edited 8-Jun-90 14:15 by ymasuda") (LET [(STREAM (OPENSTRINGSTREAM (COND [END (SUBSTRING STRING 1 (IMIN END (NCHARS STRING] (T (MKSTRING STRING] - (COND - (START (SETFILEPTR STREAM START))) + [COND + (START (SETFILEPTR STREAM (UNFOLD START 2] (CL:VALUES (CL:IF PRESERVE-WHITESPACE (CL:READ-PRESERVING-WHITESPACE STREAM EOF-ERROR-P EOF-VALUE) (CL:READ STREAM EOF-ERROR-P EOF-VALUE)) - (\GETFILEPTR STREAM]) + (FOLDLO (\GETFILEPTR STREAM) + 2]) (CL:READ-BYTE [CL:LAMBDA (BINARY-INPUT-STREAM &OPTIONAL (EOF-ERRORP T) @@ -287,11 +286,10 @@ Copyright (c) 1985-1988, 1990, 1993, 2021 by Venue & Xerox Corporation. (ADDTOVAR LAMA CL:READ-BYTE CL:READ-FROM-STRING CL:CLEAR-INPUT CL:READ-CHAR-NO-HANG CL:PEEK-CHAR CL:UNREAD-CHAR CL:READ-CHAR CL:READ-LINE CL:COPY-READTABLE) ) -(PUTPROPS CMLREAD COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1987 1988 1990 1993 2021)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2525 3510 (CL:COPY-READTABLE 2535 . 3508)) (3511 10454 (CL:READ-LINE 3521 . 4393) ( -CL:READ-CHAR 4395 . 4945) (CL:UNREAD-CHAR 4947 . 5408) (CL:PEEK-CHAR 5410 . 7704) (CL:LISTEN 7706 . -7971) (CL:READ-CHAR-NO-HANG 7973 . 8745) (CL:CLEAR-INPUT 8747 . 8984) (CL:READ-FROM-STRING 8986 . 9741 -) (CL:READ-BYTE 9743 . 10196) (CL:WRITE-BYTE 10198 . 10452)) (11448 11921 (WITH-READER-ENVIRONMENT -11448 . 11921))))) + (FILEMAP (NIL (2433 3418 (CL:COPY-READTABLE 2443 . 3416)) (3419 10627 (CL:READ-LINE 3429 . 4301) ( +CL:READ-CHAR 4303 . 4853) (CL:UNREAD-CHAR 4855 . 5316) (CL:PEEK-CHAR 5318 . 7612) (CL:LISTEN 7614 . +7879) (CL:READ-CHAR-NO-HANG 7881 . 8653) (CL:CLEAR-INPUT 8655 . 8892) (CL:READ-FROM-STRING 8894 . 9914 +) (CL:READ-BYTE 9916 . 10369) (CL:WRITE-BYTE 10371 . 10625)) (11621 12094 (WITH-READER-ENVIRONMENT +11621 . 12094))))) STOP diff --git a/sources/CMLREAD.LCOM b/sources/CMLREAD.LCOM index 736fff4c46fcea411c0be3d0bfcf97fab4358f2a..1a0db1409bc0a957dec0c4f6377739beee05ea6e 100644 GIT binary patch delta 475 zcmdm|e^75ixQLOlZg6UWu91O}iGrb_m8q$fvGK%g$@+}^+*G^V#F7#_&%BbEo*F z1|(9H6f*M^xRl&NeS8#<)$8f$DJi5RmZYY@&8Y`F2x^eIk|vi1$OLDgeIc$c3QE{q zt)x)x66{@TLz2rC42>)-j1;U~T|7f{og%pulyXZlloYH4oIM=<++BlpL;Mvq-28$S zCL8hz$7m{81q8W$(740(7n!!rO*GZ<|>eSSl%Sk?s=X%}Pw>JdC`Pqxdee z&h(e@doWp_-&E|83L}#MgNBi@xq`Eg6)3nBjEu}DSMn<|noOR}@6BbX;O62QreI`Z PviSpl4m*pVrw%}T>S6opL@geb;^f`W_dppq;Sn@LjBAcc~oKQ=ZoY3t7}+90JdDQSy}im#w# z<9l>3_z1p{GvY$QjWB$hIdks0XWpf^z2}ovxhx(|V-XiI2CNv0OwP-2V`n;!vT#OY-iSFWRe9Nj6BR=G*D;UKvZ^J8ZHN!A2FKW${4+Nc--i%j>(YdW@ABj_U- zB!FsN$AO=ENs@F%hUI!Z&y3E^;?9s@6cr0y%n?`5B`%JWULnzFw91^ zUAF_V;{so62f&(+;n{XeBp1E_hUeS8rrQlfizFZcN@8_-MN5-uX(~3<^8e=3F7qz4 zT9DNlQ`lc(7W4A*$Na0i+0HpmTia#|D|0+nNeCbWsJM)|MMhAG*i;`&syKow1=`EOPHcGQ_GDs6dK0?