diff --git a/basis/mime/multipart/multipart.factor b/basis/mime/multipart/multipart.factor index 0edfb05a30..37d5e13129 100755 --- a/basis/mime/multipart/multipart.factor +++ b/basis/mime/multipart/multipart.factor @@ -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 diff --git a/basis/quoting/authors.txt b/basis/quoting/authors.txt deleted file mode 100644 index 7c1b2f2279..0000000000 --- a/basis/quoting/authors.txt +++ /dev/null @@ -1 +0,0 @@ -Doug Coleman diff --git a/basis/quoting/quoting-docs.factor b/basis/quoting/quoting-docs.factor deleted file mode 100644 index 5fb68db719..0000000000 --- a/basis/quoting/quoting-docs.factor +++ /dev/null @@ -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" diff --git a/basis/quoting/quoting-tests.factor b/basis/quoting/quoting-tests.factor deleted file mode 100644 index 0cc28a1354..0000000000 --- a/basis/quoting/quoting-tests.factor +++ /dev/null @@ -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 diff --git a/basis/quoting/quoting.factor b/basis/quoting/quoting.factor deleted file mode 100644 index 9e25037cd9..0000000000 --- a/basis/quoting/quoting.factor +++ /dev/null @@ -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 ;