Jonathan del Strother wrote: > Add support for recognition of Objective-C class & instance methods, C functions, and class implementation/interfaces. > > Signed-off-by: Jonathan del Strother <jon.delStrother@xxxxxxxxxxxxx> > --- > This version is much the same, but rebuilt on top of 1883a0d3b to use the extended regexp stuff, and it doesn't attempt to tidy up other patterns. > > I've been trying to make the objc-method matching line a bit more specific - I think I'm running into a bug (or more likely a misunderstanding) in the matching process. > Every pattern there uses either .*$ or [^;]*$ to match up to the end of a line. But in trying to come up with a whitelist of characters to match up to the end of a line, I couldn't do it : there seems to be an invisible character at the end of the line that I can't match. > That is, a line containing just "FUNCNAME" (terminated by a newline) will be matched by the pattern "^(FUNCNAME.$)" but not "^(FUNCNAME$)". > Why is this? I think it is the newline which git is not removing from the string passed to regexec. See: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html#tag_09_02 "...In the regular expression processing described in IEEE Std 1003.1-2001, the <newline> is regarded as an ordinary character and both a period and a non-matching list can match one." "...Those utilities (like grep) that do not allow <newline>s to match are responsible for eliminating any <newline> from strings before matching against the RE." Possibly something like: diff --git a/xdiff-interface.c b/xdiff-interface.c index 8bab82e..f471c7c 100644 --- a/xdiff-interface.c +++ b/xdiff-interface.c @@ -191,7 +191,7 @@ struct ff_regs { static long ff_regexp(const char *line, long len, char *buffer, long buffer_size, void *priv) { - char *line_buffer = xstrndup(line, len); /* make NUL terminated */ + char *line_buffer = xstrndup(line, len-1); /* make NUL terminated */ struct ff_regs *regs = priv; regmatch_t pmatch[2]; int i; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html