1
0
mirror of synced 2026-01-27 04:41:54 +00:00

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:
Matt Heffron
2024-09-26 13:54:15 -07:00
committed by GitHub
parent b41ae0cbbe
commit fface7d9de
2 changed files with 15 additions and 17 deletions

View File

@@ -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

Binary file not shown.