Subject: Re: Re*: [PATCH/RFC] Change t0204-gettext-reencode-sanity.sh to pass under Mac OSX

From: Torsten Bögershausen <[email-masked]>
Date: Mon, 12 Mar 2012 21:58:10 +0100

[snip]
 (. gettext.sh; eval_gettext frotz; echo $?)
frotz0

> What is curious about your system is that git-sh-i18n.sh should have
> figured out that you want INTERNAL_GETTEXT_SH_SCHEME to be gnu by
> itself, without any need for "make USE_GETTEXT_SCHEME=gnu", with
> these lines:
> 
>                 ...
>         elif type gettext.sh >/dev/null 2>&1
>         then
>                 # GNU libintl's gettext.sh
>                 GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
>         elif test ...
> 
> as long as you have /sw/bin/gettext.sh on your PATH, that is.
> 
> So I am not sure what's broken.
=====================
When I run the following scriptlet, 
extracted from git-sh-i18n
=====================
#!/bin/sh
GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough
if test -n ""
then
	GIT_INTERNAL_GETTEXT_SH_SCHEME=""
elif test -n "@@USE_FALLTHROUGH_GETTEXT_SCHEME@@$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
then
		echo ": no probing necessary"
elif test -n "$GIT_GETTEXT_POISON"
then
	echo GIT_INTERNAL_GETTEXT_SH_SCHEME=poison
elif type gettext.sh >/dev/null 2>&1
then
	# GNU libintl's gettext.sh
	echo GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
elif test "$(gettext -h 2>&1)" = "-h"
then
	# gettext binary exists but no gettext.sh. likely to be a gettext
	# binary on a Solaris or something that is not GNU libintl and
	# lack eval_gettext.
	echo GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext
fi
======================
I get
: no probing necessary
=====================

The generated git-sh-i18n is identical under both Ubuntu and Mac OS X.
(Except that Mac OS uses /Users instead of /home)

And may be the diff between git-sh-i18n.sh and the generated git-sh-i18n can give a hint:

 diff git-sh-i18n.sh git-sh-i18n
13c13
<       TEXTDOMAINDIR="@@LOCALEDIR@@"
---
>       TEXTDOMAINDIR="/Users/tb/share/locale"
21c21
< if test -n "@@USE_GETTEXT_SCHEME@@"
---
> if test -n ""
23c23
<       GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@"
---
>       GIT_INTERNAL_GETTEXT_SH_SCHEME=""