##// END OF EJS Templates
Fix unescape_glob: support escaping "\"
Takafumi Arakaki -
Show More
@@ -358,9 +358,11 b' def expand_path(s):'
358
358
359 def unescape_glob(string):
359 def unescape_glob(string):
360 """Unescape glob pattern in `string`."""
360 """Unescape glob pattern in `string`."""
361 for pattern in '*[]!?':
361 def unescape(s):
362 string = string.replace(r'\{0}'.format(pattern), pattern)
362 for pattern in '*[]!?':
363 return string
363 s = s.replace(r'\{0}'.format(pattern), pattern)
364 return s
365 return '\\'.join(map(unescape, string.split('\\\\')))
364
366
365
367
366 def shellglob(args):
368 def shellglob(args):
@@ -486,3 +486,7 b' def test_shellglob():'
486
486
487 def test_unescape_glob():
487 def test_unescape_glob():
488 nt.assert_equals(path.unescape_glob(r'\*\[\!\]\?'), '*[!]?')
488 nt.assert_equals(path.unescape_glob(r'\*\[\!\]\?'), '*[!]?')
489 nt.assert_equals(path.unescape_glob(r'\\*'), r'\*')
490 nt.assert_equals(path.unescape_glob(r'\\\*'), r'\*')
491 nt.assert_equals(path.unescape_glob(r'\\a'), r'\a')
492 nt.assert_equals(path.unescape_glob(r'\a'), r'\a')
General Comments 0
You need to be logged in to leave comments. Login now