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
This commit is contained in:
@@ -1,17 +1,13 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "19-Jul-2022 23:31:31"
|
||||
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>CMLREAD.;15 12803
|
||||
(FILECREATED "23-Sep-2024 11:55:33" {DSK}<home>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}<users>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}<home>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
|
||||
|
||||
Reference in New Issue
Block a user