On Sun, 8 Jan 2017 23:46:00 +0900, Yuya Nishihara wrote:
> On Sun, 8 Jan 2017 13:59:36 +0100, Pierre-Yves David wrote:
> > I'm not 100% sure of what Yuya actually has in mind but here is my 
> > understanding of the situation and how we could move forward.
> > 
> > Currently:
> > ----------
> > 
> >    desc(X) → X is customly matched as a case insensitive litteral,
> > 
> >    We have a "generic" pattern definition syntax used by various other 
> > reveset (implemented in "stringmatcher")
> > 
> >      foo(X)
> >        → X is matched as a case sensitive litteral
> >      foo('literal:X')
> >        → X is matched as a case sensitive literal (same as the above)
> >      food('re:X')
> >        → X is matched as a regular expression (case sensitive)
> > 
> > Proposal: (might be what yuya says)
> > ---------
> > 
> > extend the string matcher to
> > 
> >    foo('literal:X')
> >      → X is matched as a case sensitive literal
> >    foo('icase-literal:X')
> >      → X is matched as a case insensitive literal
> >    food('re:X')
> >      → X is matched as a regular expression (case sensitive)
> > 
> > Then, desc move to use string matcher (default to "icase-literal").
> > 
> > We do not need a 'icase-re:' spec, because one can easily achieve it 
> > using 're:(?i)foo'
> 
> Exactly! IMO, the explicit "literal:" should be case-sensitive so my proposal.
> And case-insensitive literal matcher can be build as a regexp object.
> 
> On Sat, 07 Jan 2017 22:23:33 -0500, Matt Harbison wrote:
> > I don't do any work with locales, so this is probably a silly question.   
> > Does the fact that the API ignores the current locale mean that there are  
> > corner cases where it won't agree with the current method of  
> > encoding.lowercase() everything and comparing?
> 
> Good point. unicode.lower() is locale aware so encoding.lower() would be the
> same, which is slightly different from re.I. But I think that is 
> unintentional.
> e38846a79a23 only mentions encoding issue, which would be a sort of Shift_JIS
> problems, not a locale-dependent case sensitivity.

Never mind, util.stringmatcher() just returns a matcher function so we can
continue using encoding.lower().
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to