# HG changeset patch # User FUJIWARA Katsunori # Date 2014-03-31 17:46:03 # Node ID 9658a79968c674503e4241d175c1bdbc9b2545b0 # Parent 5db105f216c3474f11bbe265227b94a17c1da051 i18n: fix "% inside _()" problems Before this patch, "contrib/check-code.py" can't detect these problems, because the regexp pattern to detect "% inside _()" doesn't suppose the case that format string consists of multiple string components concatenated implicitly or explicitly, This patch does below for that regexp pattern to detect "% inside _()" problems in such case. - put "+" into separator part ("[ \t\n]") for explicit concatenation ("...." + "...." style) - enclose "component and separator" part by "(?:....)+" for concatenation itself ("...." "...." or "...." + "....") diff --git a/contrib/check-code.py b/contrib/check-code.py --- a/contrib/check-code.py +++ b/contrib/check-code.py @@ -198,8 +198,8 @@ pypats = [ (r'\s<>\s', '<> operator is not available in Python 3+, use !='), (r'^\s*\t', "don't use tabs"), (r'\S;\s*\n', "semicolon"), - (r'[^_]_\("[^"]+"[ \t\n]*%', "don't use % inside _()"), - (r"[^_]_\('[^']+'[ \t\n]*%", "don't use % inside _()"), + (r'[^_]_\((?:"[^"]+"[ \t\n+]*)+%', "don't use % inside _()"), + (r"[^_]_\((?:'[^']+'[ \t\n+]*)+%", "don't use % inside _()"), (r'(\w|\)),\w', "missing whitespace after ,"), (r'(\w|\))[+/*\-<>]\w', "missing whitespace in expression"), (r'^\s+(\w|\.)+=\w[^,()\n]*$', "missing whitespace in assignment"), diff --git a/hgext/eol.py b/hgext/eol.py --- a/hgext/eol.py +++ b/hgext/eol.py @@ -344,7 +344,7 @@ def reposetup(ui, repo): continue if inconsistenteol(data): raise util.Abort(_("inconsistent newline style " - "in %s\n" % f)) + "in %s\n") % f) return super(eolrepo, self).commitctx(ctx, error) repo.__class__ = eolrepo repo._hgcleardirstate() diff --git a/mercurial/patch.py b/mercurial/patch.py --- a/mercurial/patch.py +++ b/mercurial/patch.py @@ -711,7 +711,7 @@ class patchfile(object): if self.exists and self.create: if self.copysource: self.ui.warn(_("cannot create %s: destination already " - "exists\n" % self.fname)) + "exists\n") % self.fname) else: self.ui.warn(_("file %s already exists\n") % self.fname) self.rej.append(h) diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -1021,7 +1021,7 @@ class svnsubrepo(abstractsubrepo): def remove(self): if self.dirty(): self._ui.warn(_('not removing repo %s because ' - 'it has changes.\n' % self._path)) + 'it has changes.\n') % self._path) return self._ui.note(_('removing subrepo %s\n') % self._path)