modern.out: Trying to trim trailing whitespace.

modern-harvey2
Doug Coleman 2017-08-27 14:22:48 -05:00
parent fb6defd60f
commit 3fec06f36e
1 changed files with 11 additions and 1 deletions

View File

@ -8,8 +8,13 @@ IN: modern.out
SYMBOL: last-slice
: trim-before-newline ( seq -- seq' )
dup [ char: \s = not ] find
{ char: \r char: \n } member?
[ tail ] [ drop ] if ;
: write-whitespace ( obj -- )
[ last-slice get [ swap slice-between ] [ slice-before ] if* >string io:write ]
[ last-slice get [ swap slice-between ] [ slice-before ] if* trim-before-newline >string io:write ]
[ last-slice namespaces:set ] bi ;
GENERIC: write-literal ( obj -- )
@ -39,6 +44,11 @@ M: array write-literal [ write-literal ] each ;
: rewrite-paths ( seq quot -- ) '[ _ rewrite-path ] each ; inline
]]
: rewrite-string-exact ( string -- string' )
string>literals write-modern-string ;
: rewrite-path-exact ( path -- )
[ path>literals ] [ ] bi write-modern-path ;