comparison mercurial/commands.py @ 15725:988409e44a76

i18n: use "encoding.lower()" to normalize specified keywords for log searching some problematic encoding (e.g.: cp932) uses ASCII alphabet characters in byte sequence of multi byte characters. "str.lower()" on such byte sequence may treat distinct characters as same one, and cause unexpected log matching. this patch uses "encoding.lower()" instead of "str.lower()" to normalize strings for compare.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sun, 25 Dec 2011 20:35:16 +0900
parents 9cf1620e1e75
children e251250ac20b
comparison
equal deleted inserted replaced
15724:9e6a13c2aeb9 15725:988409e44a76
3895 return 3895 return
3896 if not opts.get('hidden') and ctx.hidden(): 3896 if not opts.get('hidden') and ctx.hidden():
3897 return 3897 return
3898 if df and not df(ctx.date()[0]): 3898 if df and not df(ctx.date()[0]):
3899 return 3899 return
3900 if opts['user'] and not [k for k in opts['user'] 3900
3901 if k.lower() in ctx.user().lower()]: 3901 lower = encoding.lower
3902 return 3902 if opts.get('user'):
3903 luser = lower(ctx.user())
3904 for k in [lower(x) for x in opts['user']]:
3905 if (k in luser):
3906 break
3907 else:
3908 return
3903 if opts.get('keyword'): 3909 if opts.get('keyword'):
3904 for k in [kw.lower() for kw in opts['keyword']]: 3910 luser = lower(ctx.user())
3905 if (k in ctx.user().lower() or 3911 ldesc = lower(ctx.description())
3906 k in ctx.description().lower() or 3912 lfiles = lower(" ".join(ctx.files()))
3907 k in " ".join(ctx.files()).lower()): 3913 for k in [lower(x) for x in opts['keyword']]:
3914 if (k in luser or k in ldesc or k in lfiles):
3908 break 3915 break
3909 else: 3916 else:
3910 return 3917 return
3911 3918
3912 copies = None 3919 copies = None