From 337d554c0950b9b6005b0d09bcb976276560d8ef Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 6 Feb 2017 11:11:42 -0800 Subject: [PATCH] documents: simplify to use ``string-lines``. --- basis/documents/documents.factor | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/basis/documents/documents.factor b/basis/documents/documents.factor index edab127f5e..b12e93f251 100644 --- a/basis/documents/documents.factor +++ b/basis/documents/documents.factor @@ -110,25 +110,6 @@ CONSTANT: doc-start { 0 0 } : with-undo ( ..a document quot: ( ..a document -- ..b ) -- ..b ) [ t >>inside-undo? ] dip keep f >>inside-undo? drop ; inline -! XXX: This is the old string-lines behavior, it would be nice -! if we could update documents to work with the new string-lines -! behavior. -: split-lines ( str -- seq ) - dup [ "\r\n" member? ] any? [ - "\n" split - [ - but-last-slice [ - "\r" ?tail drop "\r" split - ] map! drop - ] [ - [ length 1 - ] keep [ "\r" split ] change-nth - ] - [ concat ] - tri - ] [ - 1array - ] if ; - PRIVATE> :: doc-range ( from to document -- string ) @@ -143,7 +124,9 @@ PRIVATE> :: set-doc-range ( string from to document -- ) from to = string empty? and [ - string split-lines :> new-lines + string string-lines + string ?last [ "\r\n" member? ] [ t ] if* + [ "" suffix ] when :> new-lines new-lines from text+loc :> new-to from to document doc-range :> old-string old-string string from to new-to document add-undo