* [PATCH] diff: load funcname patterns in "basic" config
@ 2008-01-04 9:16 Jeff King
2008-01-04 9:19 ` Jeff King
0 siblings, 1 reply; 2+ messages in thread
From: Jeff King @ 2008-01-04 9:16 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
The funcname patterns influence the "comment" on @@ lines of
the diff. They are safe to use with plumbing since they
don't fundamentally change the meaning of the diff in any
way.
Since all diff users call either diff_ui_config or
diff_basic_config, we can get rid of the lazy reading of the
config.
Signed-off-by: Jeff King <peff@peff.net>
---
I am slightly worried that I'm missing something fundamental here. Why
were these ever lazily loaded in the first place? Ditto for the user
diff drivers, which should just get loaded when the command parses the
config for the first time.
diff.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/diff.c b/diff.c
index 6bb0f62..1ea10c8 100644
--- a/diff.c
+++ b/diff.c
@@ -179,8 +179,6 @@ #include "run-command.h"
if (ep != var + 4) {
if (!strcmp(ep, ".command"))
return parse_lldiff_command(var, ep, value);
- if (!strcmp(ep, ".funcname"))
- return parse_funcname_pattern(var, ep, value);
}
}
@@ -195,6 +193,14 @@ #include "run-command.h"
return 0;
}
+ if (!prefixcmp(var, "diff.")) {
+ const char *ep = strrchr(var, '.');
+ if (ep != var + 4) {
+ if (!strcmp(ep, ".funcname"))
+ return parse_funcname_pattern(var, ep, value);
+ }
+ }
+
return git_default_config(var, value);
}
@@ -1165,7 +1171,6 @@ #include "run-command.h"
{
struct funcname_pattern *pp;
- read_config_if_needed();
for (pp = funcname_pattern_list; pp; pp = pp->next)
if (!strcmp(ident, pp->name))
return pp->pattern;
--
1.5.4.rc2.1124.g7c85e-dirty
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] diff: load funcname patterns in "basic" config
2008-01-04 9:16 [PATCH] diff: load funcname patterns in "basic" config Jeff King
@ 2008-01-04 9:19 ` Jeff King
0 siblings, 0 replies; 2+ messages in thread
From: Jeff King @ 2008-01-04 9:19 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Fri, Jan 04, 2008 at 04:16:14AM -0500, Jeff King wrote:
> --- a/diff.c
> +++ b/diff.c
> @@ -179,8 +179,6 @@ #include "run-command.h"
Heh, I had a goofy diff.default.funcname option set up to test this out.
A slightly more readable version of the patch is below.
-- >8 --
diff: load funcname patterns in "basic" config
The funcname patterns influence the "comment" on @@ lines of
the diff. They are safe to use with plumbing since they
don't fundamentally change the meaning of the diff in any
way.
Since all diff users call either diff_ui_config or
diff_basic_config, we can get rid of the lazy reading of the
config.
Signed-off-by: Jeff King <peff@peff.net>
---
diff.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/diff.c b/diff.c
index 6bb0f62..1ea10c8 100644
--- a/diff.c
+++ b/diff.c
@@ -179,8 +179,6 @@ int git_diff_ui_config(const char *var, const char *value)
if (ep != var + 4) {
if (!strcmp(ep, ".command"))
return parse_lldiff_command(var, ep, value);
- if (!strcmp(ep, ".funcname"))
- return parse_funcname_pattern(var, ep, value);
}
}
@@ -195,6 +193,14 @@ int git_diff_basic_config(const char *var, const char *value)
return 0;
}
+ if (!prefixcmp(var, "diff.")) {
+ const char *ep = strrchr(var, '.');
+ if (ep != var + 4) {
+ if (!strcmp(ep, ".funcname"))
+ return parse_funcname_pattern(var, ep, value);
+ }
+ }
+
return git_default_config(var, value);
}
@@ -1165,7 +1171,6 @@ static const char *funcname_pattern(const char *ident)
{
struct funcname_pattern *pp;
- read_config_if_needed();
for (pp = funcname_pattern_list; pp; pp = pp->next)
if (!strcmp(ident, pp->name))
return pp->pattern;
--
1.5.4.rc2.1124.g7c85e-dirty
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-01-04 9:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-04 9:16 [PATCH] diff: load funcname patterns in "basic" config Jeff King
2008-01-04 9:19 ` Jeff King
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox