Mercurial > public > mercurial-scm > hg
comparison mercurial/windows.py @ 24108:d65ecb814fc0 stable
shellquote: fix missing quotes for empty string
"hg kdiff3 -rREV" did not work because 1642eb429536 and 5edb387158a1 failed
to handle empty argument.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 11 Feb 2015 19:57:07 +0900 |
parents | 1642eb429536 |
children | 7a2194473155 |
comparison
equal
deleted
inserted
replaced
24013:942a5a34b2d0 | 24108:d65ecb814fc0 |
---|---|
157 if _needsshellquote is None: | 157 if _needsshellquote is None: |
158 # ":" and "\\" are also treated as "safe character", because | 158 # ":" and "\\" are also treated as "safe character", because |
159 # they are used as a part of path name (and the latter doesn't | 159 # they are used as a part of path name (and the latter doesn't |
160 # work as "escape character", like one on posix) on Windows | 160 # work as "escape character", like one on posix) on Windows |
161 _needsshellquote = re.compile(r'[^a-zA-Z0-9._:/\\-]').search | 161 _needsshellquote = re.compile(r'[^a-zA-Z0-9._:/\\-]').search |
162 if not _needsshellquote(s) and not _quotere.search(s): | 162 if s and not _needsshellquote(s) and not _quotere.search(s): |
163 # "s" shouldn't have to be quoted | 163 # "s" shouldn't have to be quoted |
164 return s | 164 return s |
165 return '"%s"' % _quotere.sub(r'\1\1\\\2', s) | 165 return '"%s"' % _quotere.sub(r'\1\1\\\2', s) |
166 | 166 |
167 def quotecommand(cmd): | 167 def quotecommand(cmd): |