From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: "Yi EungJun" <semtlenori@gmail.com>,
"Git List" <git@vger.kernel.org>,
"Yi EungJun" <eungjun.yi@navercorp.com>,
"Peter Krefting" <peter@softwolves.pp.se>,
"Michael Blume" <blume.mike@gmail.com>,
"Torsten Bögershausen" <tboegi@web.de>
Subject: Re: [PATCH v9 1/1] http: Add Accept-Language header if possible
Date: Thu, 26 Feb 2015 13:42:41 -0800 [thread overview]
Message-ID: <xmqqa900l57y.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20150226213356.GA14464@peff.net> (Jeff King's message of "Thu, 26 Feb 2015 16:33:57 -0500")
Jeff King <peff@peff.net> writes:
> On Thu, Feb 26, 2015 at 12:59:56PM -0800, Junio C Hamano wrote:
>
>> Jeff King <peff@peff.net> writes:
>>
>> > Perhaps it would be less risky to stick get_preferred_languages() into
>> > gettext.c, like the patch below. Then we do not have to worry about
>> > locale.h introducing other disruptive includes. The function is not
>> > technically about gettext, but it seems reasonable to me to stuff all of
>> > the i18n code together.
>>
>> Yeah, I like that a lot better. Thanks.
>
> Are you just using it for inspiration, or did you want me to wrap it up
> with a commit message?
Here is what I queued. Thanks.
-- >8 --
From: Jeff King <peff@peff.net>
Date: Wed, 25 Feb 2015 22:04:16 -0500
Subject: [PATCH] gettext.c: move get_preferred_languages() from http.c
Calling setlocale(LC_MESSAGES, ...) directly from http.c, without
including <locale.h>, was causing compilation warnings. Move the
helper function to gettext.c that already includes the header and
where locale-related issues are handled.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
gettext.c | 25 +++++++++++++++++++++++++
gettext.h | 2 ++
http.c | 1 +
3 files changed, 28 insertions(+)
diff --git a/gettext.c b/gettext.c
index 8b2da46..7378ba2 100644
--- a/gettext.c
+++ b/gettext.c
@@ -18,6 +18,31 @@
# endif
#endif
+/*
+ * Guess the user's preferred languages from the value in LANGUAGE environment
+ * variable and LC_MESSAGES locale category if NO_GETTEXT is not defined.
+ *
+ * The result can be a colon-separated list like "ko:ja:en".
+ */
+const char *get_preferred_languages(void)
+{
+ const char *retval;
+
+ retval = getenv("LANGUAGE");
+ if (retval && *retval)
+ return retval;
+
+#ifndef NO_GETTEXT
+ retval = setlocale(LC_MESSAGES, NULL);
+ if (retval && *retval &&
+ strcmp(retval, "C") &&
+ strcmp(retval, "POSIX"))
+ return retval;
+#endif
+
+ return NULL;
+}
+
#ifdef GETTEXT_POISON
int use_gettext_poison(void)
{
diff --git a/gettext.h b/gettext.h
index 7671d09..e539482 100644
--- a/gettext.h
+++ b/gettext.h
@@ -65,4 +65,6 @@ const char *Q_(const char *msgid, const char *plu, unsigned long n)
/* Mark msgid for translation but do not translate it. */
#define N_(msgid) msgid
+const char *get_preferred_languages(void);
+
#endif
diff --git a/http.c b/http.c
index 8b659b6..71ed418 100644
--- a/http.c
+++ b/http.c
@@ -8,6 +8,7 @@
#include "credential.h"
#include "version.h"
#include "pkt-line.h"
+#include "gettext.h"
int active_requests;
int http_is_verbose;
--
2.3.1-280-g2531f2d
next prev parent reply other threads:[~2015-02-26 21:42 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-19 17:58 [PATCH v4 0/1] http: Add Accept-Language header if possible Yi EungJun
2014-07-19 17:58 ` [PATCH v4 1/1] " Yi EungJun
2014-07-21 19:01 ` Junio C Hamano
2014-08-03 7:35 ` Yi, EungJun
2014-12-02 12:12 ` [PATCH v5 0/1] " Yi EungJun
2014-12-02 12:12 ` [PATCH v5 1/1] " Yi EungJun
2014-12-03 18:22 ` Junio C Hamano
2014-12-03 19:31 ` Eric Sunshine
2014-12-03 21:37 ` Junio C Hamano
2014-12-03 22:00 ` Michael Blume
2014-12-03 22:06 ` Michael Blume
2014-12-22 16:44 ` [PATCH v6 0/1] " Yi EungJun
2014-12-22 16:44 ` [PATCH v6 1/1] " Yi EungJun
2014-12-22 19:34 ` Junio C Hamano
2014-12-24 20:35 ` Eric Sunshine
2014-12-29 16:18 ` Junio C Hamano
2015-01-18 12:23 ` [PATCH v7 0/1] " Yi EungJun
2015-01-18 12:26 ` [PATCH v7 1/1] " Yi EungJun
2015-01-18 15:14 ` Torsten Bögershausen
2015-01-19 20:21 ` [PATCH v6 0/1] " Eric Sunshine
2015-01-22 7:54 ` [PATCH v7 1/1] " Junio C Hamano
2015-01-27 15:51 ` [PATCH v8 0/1] " Yi EungJun
2015-01-27 15:51 ` [PATCH] " Yi EungJun
2015-01-27 23:34 ` Junio C Hamano
2015-01-28 6:15 ` Junio C Hamano
2015-01-28 11:59 ` Yi, EungJun
2015-01-28 12:04 ` [PATCH v9 0/1] " Yi EungJun
2015-01-28 12:04 ` [PATCH v9 1/1] " Yi EungJun
2015-02-25 22:52 ` Junio C Hamano
2015-02-26 3:04 ` Jeff King
2015-02-26 3:10 ` Jeff King
2015-02-26 20:59 ` Junio C Hamano
2015-02-26 21:33 ` Jeff King
2015-02-26 21:42 ` Junio C Hamano [this message]
2015-02-26 21:47 ` Stefan Beller
2015-02-26 22:06 ` Jeff King
2015-02-26 22:07 ` Jeff King
2015-02-26 22:26 ` Stefan Beller
2015-02-26 22:36 ` Jeff King
2015-02-26 22:45 ` Jeff King
2015-02-26 23:29 ` Junio C Hamano
2015-02-26 22:13 ` Junio C Hamano
2015-01-29 6:19 ` [PATCH v9 0/1] " Junio C Hamano
2015-01-30 17:23 ` Yi, EungJun
2015-03-06 16:13 ` [PATCH] http: Include locale.h when using setlocale() Ævar Arnfjörð Bjarmason
2015-03-06 19:01 ` Junio C Hamano
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=xmqqa900l57y.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=blume.mike@gmail.com \
--cc=eungjun.yi@navercorp.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=peter@softwolves.pp.se \
--cc=semtlenori@gmail.com \
--cc=tboegi@web.de \
/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.