Merge branch 'master' of git://factorcode.org/git/factor
commit
a88f1050be
|
@ -3,8 +3,7 @@
|
|||
USING: multiline kernel sequences io splitting fry namespaces
|
||||
http.parsers hashtables assocs combinators ascii io.files.unique
|
||||
accessors io.encodings.binary io.files byte-arrays math
|
||||
io.streams.string combinators.short-circuit strings math.order
|
||||
quoting ;
|
||||
io.streams.string combinators.short-circuit strings math.order ;
|
||||
IN: mime.multipart
|
||||
|
||||
CONSTANT: buffer-size 65536
|
||||
|
@ -76,6 +75,18 @@ ERROR: end-of-stream multipart ;
|
|||
: empty-name? ( string -- ? )
|
||||
{ "''" "\"\"" "" f } member? ;
|
||||
|
||||
: quote? ( ch -- ? ) "'\"" member? ;
|
||||
|
||||
: quoted? ( str -- ? )
|
||||
{
|
||||
[ length 1 > ]
|
||||
[ first quote? ]
|
||||
[ [ first ] [ peek ] bi = ]
|
||||
} 1&& ;
|
||||
|
||||
: unquote ( str -- newstr )
|
||||
dup quoted? [ but-last-slice rest-slice >string ] when ;
|
||||
|
||||
: save-uploaded-file ( multipart -- )
|
||||
dup filename>> empty-name? [
|
||||
drop
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Doug Coleman
|
|
@ -1,32 +0,0 @@
|
|||
! Copyright (C) 2009 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: help.markup help.syntax strings ;
|
||||
IN: quoting
|
||||
|
||||
HELP: quote?
|
||||
{ $values
|
||||
{ "ch" "a character" }
|
||||
{ "?" "a boolean" }
|
||||
}
|
||||
{ $description "Returns true if the character is a single or double quote." } ;
|
||||
|
||||
HELP: quoted?
|
||||
{ $values
|
||||
{ "str" string }
|
||||
{ "?" "a boolean" }
|
||||
}
|
||||
{ $description "Returns true if a string is surrounded by matching single or double quotes as the first and last characters." } ;
|
||||
|
||||
HELP: unquote
|
||||
{ $values
|
||||
{ "str" string }
|
||||
{ "newstr" string }
|
||||
}
|
||||
{ $description "Removes a pair of matching single or double quotes from a string." } ;
|
||||
|
||||
ARTICLE: "quoting" "Quotation marks"
|
||||
"The " { $vocab-link "quoting" } " vocabulary is for removing quotes from a string." $nl
|
||||
"Removing quotes:"
|
||||
{ $subsection unquote } ;
|
||||
|
||||
ABOUT: "quoting"
|
|
@ -1,10 +0,0 @@
|
|||
! Copyright (C) 2009 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: tools.test quoting ;
|
||||
IN: quoting.tests
|
||||
|
||||
|
||||
[ "abc" ] [ "'abc'" unquote ] unit-test
|
||||
[ "abc" ] [ "\"abc\"" unquote ] unit-test
|
||||
[ "'abc" ] [ "'abc" unquote ] unit-test
|
||||
[ "abc'" ] [ "abc'" unquote ] unit-test
|
|
@ -1,16 +0,0 @@
|
|||
! Copyright (C) 2009 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: combinators.short-circuit kernel math sequences strings ;
|
||||
IN: quoting
|
||||
|
||||
: quote? ( ch -- ? ) "'\"" member? ;
|
||||
|
||||
: quoted? ( str -- ? )
|
||||
{
|
||||
[ length 1 > ]
|
||||
[ first quote? ]
|
||||
[ [ first ] [ peek ] bi = ]
|
||||
} 1&& ;
|
||||
|
||||
: unquote ( str -- newstr )
|
||||
dup quoted? [ but-last-slice rest-slice >string ] when ;
|
Loading…
Reference in New Issue