This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Req: Disable I18N/L10N translation for gcc -print-search-dirsoutput.
Zack Weinberg wrote:
>
> Neil Booth <neil@daikokuya.co.uk> writes:
>
> >> Request: Disable I18N/L10N translation for gcc -print-search-dirs output.
> >>
> >> Please don't change the output of
> >>
> >> gcc -print-search-dirs
> >>
> >> depending on the LC_ALL environment variable setting.
> >> That is, keep the output from the modification done
> >> by I18N/L10N scheme.
> >
> > I disagree. The script is broken and that is what should be fixed,
> > either by improving its output recognition or by setting the
> > appropriate environment variables so it can reasonably expect
> > the output it is seeking.
>
> It would probably be a good idea to add more -print options, or simply
> document existing -print options, which print just the one thing that
> a script is looking for, with no tag strings to confuse the issue.
>
> gcc -print-include-search-dirs
> -print-lib-search-dirs
> -print-bin-search-dirs
>
> Like that.
Neil's disagreement well taken.
(Improving its output recognition is one option.
But up until now, we had no idea HOW the output would change
if LC_ALL is non-default.
As of now, I put env LC_ALL=C LANG=C to the
problematic gcc invocation. But I shudder to think about
old project files which we probably re-visit again.)
However, I would prefer to have something similar to Zack's suggestion.
For that matter, it would be great to have a list of
GCC output and an indication of which part is the subject
of I18N/L10N translation. Someone who works with me
and doesn't usually set LC_ALL, LANG will have no idea
that his/her script/program will misbehave due to
the output alteration.
I18N/L10N will cause some headaches in the transition period.
(I have to enable LC_ALL=ja_JP.ujis LANG=ja_JP.ujis to
have reasonable edit environment on UNIX-like envronment.)
--
int main(void){int j=2003;/*(c)2003 cishikawa. */
char t[] ="<CI> @abcdefghijklmnopqrstuvwxyz.,\n\"";
char *i ="g>qtCIuqivb,gCwe\np@.ietCIuqi\"tqkvv is>dnamz";
while(*i)((j+=strchr(t,*i++)-(int)t),(j%=sizeof t-1),
(putchar(t[j])));return 0;}/* under GPL */