From: Johannes Sixt <j6t@kdbg.org>
To: Jeff King <peff@peff.net>
Cc: Scott Baker <bakers@canbytel.com>, git@vger.kernel.org
Subject: Re: [PATCH 4/7] parse_color: refactor color storage
Date: Tue, 09 Dec 2014 21:52:10 +0100 [thread overview]
Message-ID: <548760FA.50209@kdbg.org> (raw)
In-Reply-To: <20141209202135.GB12001@peff.net>
Am 09.12.2014 um 21:21 schrieb Jeff King:
> On Tue, Dec 09, 2014 at 09:14:29PM +0100, Johannes Sixt wrote:
>
>> Am 20.11.2014 um 16:17 schrieb Jeff King:
>>> +#define COLOR_FOREGROUND '3'
>>> +#define COLOR_BACKGROUND '4'
>>
>> This (COLOR_BACKGROUND) causes an ugly redefinition warning on Windows,
>> because we inherit a definition from a Windows header. How would you
>> like it fixed? A different name or #undef in front of it?
>
> I think a different name would be fine. The constants are actually only
> used once each. Their main function is to avoid a confusing parameter
> '3' to the color_output function. But we could use the literal
> constants with a parameter, like:
>
> diff --git a/color.c b/color.c
> index e2a0a99..809b359 100644
> --- a/color.c
> +++ b/color.c
> @@ -144,9 +144,6 @@ int color_parse(const char *value, char *dst)
> return color_parse_mem(value, strlen(value), dst);
> }
>
> -#define COLOR_FOREGROUND '3'
> -#define COLOR_BACKGROUND '4'
> -
> /*
> * Write the ANSI color codes for "c" to "out"; the string should
> * already have the ANSI escape code in it. "out" should have enough
> @@ -245,12 +242,14 @@ int color_parse_mem(const char *value, int value_len, char *dst)
> if (!color_empty(&fg)) {
> if (sep++)
> *dst++ = ';';
> - dst = color_output(dst, &fg, COLOR_FOREGROUND);
> + /* foreground colors are all in the 3x range */
> + dst = color_output(dst, &fg, '3');
> }
> if (!color_empty(&bg)) {
> if (sep++)
> *dst++ = ';';
> - dst = color_output(dst, &bg, COLOR_BACKGROUND);
> + /* background colors are all in the 4x range */
> + dst = color_output(dst, &bg, '4');
> }
> *dst++ = 'm';
> }
>
> We could also pass in integer "30" and "40", and then format it with %d
> inside color_output. I don't know if that would be more obvious or not.
This patch would actually be my personal preference. The comment near
the literal makes it all clear.
-- Hannes
next prev parent reply other threads:[~2014-12-09 20:52 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <5462907B.1050207@canbytel.com>
2014-11-12 7:56 ` diff-highlight highlight words? Jeff King
2014-11-12 17:59 ` Scott Baker
2014-11-20 15:14 ` [PATCH 0/7] color fixes and configurable diff-highlight Jeff King
2014-11-20 15:15 ` [PATCH 1/7] docs: describe ANSI 256-color mode Jeff King
2014-11-20 15:15 ` [PATCH 2/7] config: fix parsing of "git config --get-color some.key -1" Jeff King
2014-11-20 15:16 ` [PATCH 3/7] t4026: test "normal" color Jeff King
2014-11-20 18:53 ` Junio C Hamano
2014-11-20 19:00 ` Jeff King
2014-11-20 15:17 ` [PATCH 4/7] parse_color: refactor color storage Jeff King
2014-11-20 19:37 ` Junio C Hamano
2014-12-09 20:14 ` Johannes Sixt
2014-12-09 20:21 ` Jeff King
2014-12-09 20:52 ` Johannes Sixt [this message]
2014-12-09 21:01 ` Jeff King
2014-12-09 20:56 ` Eric Sunshine
2014-11-20 15:25 ` [PATCH 5/7] parse_color: support 24-bit RGB values Jeff King
2014-11-20 19:44 ` Junio C Hamano
2014-11-20 20:10 ` Jeff King
2014-11-20 20:25 ` Junio C Hamano
2014-11-20 15:25 ` [PATCH 6/7] parse_color: recognize "no$foo" to clear the $foo attribute Jeff King
2014-11-20 19:46 ` Junio C Hamano
2014-11-20 15:29 ` [PATCH 7/7] diff-highlight: allow configurable colors Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=548760FA.50209@kdbg.org \
--to=j6t@kdbg.org \
--cc=bakers@canbytel.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.