modern: fix rewriting backslashes and whitespace.
parent
c3f12c945d
commit
1b8b366444
|
@ -334,7 +334,7 @@ ERROR: no-backslash-payload n string slice ;
|
||||||
! \ foo, M\ foo
|
! \ foo, M\ foo
|
||||||
dup [ char: \\ = ] count-tail
|
dup [ char: \\ = ] count-tail
|
||||||
'[
|
'[
|
||||||
_ [ skip-blank-from slice-til-whitespace drop ] replicate
|
_ [ slice-til-not-whitespace drop [ slice-til-whitespace drop ] dip swap 2array ] replicate
|
||||||
ensure-no-false
|
ensure-no-false
|
||||||
dup [ no-backslash-payload ] unless
|
dup [ no-backslash-payload ] unless
|
||||||
] dip swap 2array
|
] dip swap 2array
|
||||||
|
|
|
@ -24,9 +24,9 @@ CONSTRUCTOR: <renamed> renamed ( slice string -- obj ) ;
|
||||||
trim-before-newline io:write ;
|
trim-before-newline io:write ;
|
||||||
|
|
||||||
GENERIC: write-literal* ( last obj -- last' )
|
GENERIC: write-literal* ( last obj -- last' )
|
||||||
M: slice write-literal* [ write-whitespace ] [ write ] [ ] tri ;
|
M: slice write-literal* write ; ! [ write-whitespace ] [ write ] [ ] tri ;
|
||||||
M: array write-literal* [ write-literal* ] each ;
|
M: array write-literal* [ write-literal* ] each ;
|
||||||
M: renamed write-literal* [ slice>> write-whitespace ] [ string>> write ] [ slice>> ] tri ; ! for refactoring
|
! M: renamed write-literal* [ slice>> write-whitespace ] [ string>> write ] [ slice>> ] tri ; ! for refactoring
|
||||||
M: string write-literal* write ;
|
M: string write-literal* write ;
|
||||||
|
|
||||||
DEFER: map-literals
|
DEFER: map-literals
|
||||||
|
|
Loading…
Reference in New Issue