]> granicus.if.org Git - python/commitdiff
Merged revisions 78339 via svnmerge from
authorJack Diederich <jackdied@gmail.com>
Mon, 22 Feb 2010 22:31:00 +0000 (22:31 +0000)
committerJack Diederich <jackdied@gmail.com>
Mon, 22 Feb 2010 22:31:00 +0000 (22:31 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78339 | jack.diederich | 2010-02-22 16:27:38 -0500 (Mon, 22 Feb 2010) | 1 line

  * fix issue#7476
........

Lib/pipes.py
Lib/test/test_pipes.py
Misc/ACKS

index 6dcc997b4c7327471116aa56a186ebdd482c8c16..25e99159b8a1e86a8ceeab9001d70acbd4b1649a 100644 (file)
@@ -267,10 +267,13 @@ _safechars = string.ascii_letters + string.digits + '!@%_-+=:,./' # Safe unquote
 _funnychars = '"`$\\'                           # Unsafe inside "double quotes"
 
 def quote(file):
+    ''' return a shell-escaped version of the file string '''
     for c in file:
         if c not in _safechars:
             break
     else:
+        if not file:
+            return "''"
         return file
     if '\'' not in file:
         return '\'' + file + '\''
index 0eca8edf102e9a8bdda84b65cfc471e16b4bdf1d..dd1cc9e952ed9aa15c163ee82eca39c4a777895e 100644 (file)
@@ -74,6 +74,8 @@ class SimplePipeTests(unittest.TestCase):
             self.assertEqual(pipes.quote("test%s'name'" % u),
                               '"test\\%s\'name\'"' % u)
 
+        self.assertEqual(pipes.quote(''), "''")
+
     def testRepr(self):
         t = pipes.Template()
         self.assertEqual(repr(t), "<Template instance, steps=[]>")
index 1d2daac96b4d6d7775ab974ee09a1a7a75775341..31edd7475b108612b8bb6400ab619a35ff46caad 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -778,6 +778,7 @@ Dik Winter
 Blake Winton
 Jean-Claude Wippler
 Lars Wirzenius
+John Wiseman
 Chris Withers
 Stefan Witzel
 David Wolever