[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Debian]:Re: netscape-wrapper und locales



Frank Berger <frank@bergers.net> wrote:

> Entweder ist es ein Bug im netscape-wrapper /usr/bin/X11/netscape
> oder bei meinen locales.

Verrätst Du uns auch, von welcher Version von netscape-base-4 Du da
konkret redest?

> Wenn ich LANG=de_DE einstelle (und das habe ich) dann startete
> netscape nicht. Keine Fehlermeldung - nix.

Das ist unschön. Das Problem kann ich hier mit netscape-base-4 Version 
14 nicht reproduzieren.

> Ich habe den Zusammenhang nicht verstanden. Dann habe ich mir den
> wrapper angeschaut (communicator 4.51 mit netscape4 installer) und
> da steht folgendes:
>     pnt=`printf "%1.1f" 1 2>/dev/null`
> und später
>     if [ "$pnt" != "1.0" ]; then

Bei mir steht da

pnt=$(printf "%1.1f" 1 2>/dev/null)

if [ "$pnt" != "1.0" ]; then
        #   echo "1.0 -> $pnt"
        # Perhaps we have a "dangerous" value for LANG or LC_NUMERIC. Let's
        # try a "safe" value for LC_NUMERIC.
        LC_NUMERIC=C
        export LC_NUMERIC
        pnt=$(printf "%1.1f" 1 2> /dev/null)
fi

if [ "$pnt" != "1.0" ]; then
# No, it is LC_ALL which is bad. Set LC_*=$LC_ALL for every category 
# (as expected) except LC_NUMERIC, and then unset LC_ALL.
        LC_COLLATE=$LC_ALL
        LC_CTYPE=$LC_ALL
        LC_MESSAGES=$LC_ALL
        LC_MONETARY=$LC_ALL
        LC_TIME=$LC_ALL
        unset LC_ALL
        export LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_CTIME
fi

> Das soll wohl Probleme mit den LC_* umgehen. (Ich habe die locales
> noch nicht verstanden - offensichtlich ;-).

Da wird folgendes Problem umgangen: Wenn LC_NUMERIC oder LC_ALL (sieht 
die Ausgabe des Kommandos locale(1)) so eingestellt sind, daß ein 1,0
statt 1.0 ausgegeben wird, dann hat das dummerweise zur Folge, daß
Netscape auch Kommas bei den Floats in den Postscript-Files erzeugt
und das ist natürlich kein korrektes Postscript. Aus diesem Grunde
wird oben versucht, LC_NUMERIC auf "C" zu setzen ohne dabei die
anderen Locale-Settings zu verändern.

> Wenn aber wie gesagt LANG=de_DE ist, dann ergibt obiger Befehl
> pnt=1,1 (Komma statt Punkt)

Das ist genau der Sinn der Sache (es ergibt übrigens 1,0 nicht 1,1 ;-)

> und die If-Schleife wird abgearbeitet.

So soll es sein.

> Und irgendwie steigt das Script dann aus.

DAs kann ich hier wie gesagt nicht reproduzieren.

> Ist das nun ein Bug, oder habe ich noch Einstellungen vergessen als
> ich auf de_DE umgestellt habe?

Klingt wie ein Bug, ich weiß aber nicht, wo der liegt, da ich mit
Version 14 des Wrappers keine Probleme habe.

Tschoeeee

        Roland

-- 
 * roland@spinnaker.de * http://www.spinnaker.de/ *
 PGP: 1024/DD08DD6D   2D E7 CC DE D5 8D 78 BE  3C A0 A4 F1 4B 09 CE AF
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     702


Reply to: