From: Ævar Arnfjörð Bjarmason Date: Mon, 16 May 2011 21:13:09 GMT Subject: Re: Bikeshedding advice on the ab/i18n-scripts series Message-ID: In-Reply-To: <7v62pal5v7.fsf@alter.siamese.dyndns.org> On Mon, May 16, 2011 at 22:58, Junio C Hamano wrote: > Junio C Hamano writes: > >> Ahh, perhaps I was the one who said something stupid like: >> >>       echo >&2 "$(cmd)" >> >> should be equivalent to >> >>       cmd >&2 >> >> which is not the case when output from cmd does not end with a single LF >> (i.e. either an incomplete line, or with trailing blank lines). >> >> Sorry, if that is what you are trying to address, please let me take that >> back. > > Having said that, depending on how the strings are distributed, I have a > feeling that we might be better off having two variants: > >        say >&2 "" >        gettext >&2 "" > > The former would be > >        say () { >                gettext >&2 "$1"; echo >        } > > and minority of callers (they may be an empty set) that care about > trailing blank lines they output can include their own terminating LFs in > the message to be translated and call gettext directly, letting it output > the translation without stripping trailing LFs they (or their translation) > produce. That would require us to start extracting strings from all "say" functions. The reason we have only "gettext" and "eval_gettext" is so xgettext can extract them. I'd like to keep that simplicity. Let's not go and wrap these functions for trivial aesthetics at the cost of complexity.