[Python-de] Re: XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
Martin v. Löwis
martin at v.loewis.de
Don Jul 24 20:25:05 EDT 2003
- Vorherige Nachricht: [Python-de] Re: XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
- Nächste Nachricht: [Python-de] Re: XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
- Nachrichten sortiert nach:
[ Datum ]
[ Thema ]
[ Betreff (Subject) ]
[ Autor ]
Detlef Lannert <lannert at uni-duesseldorf.de> writes:
> Wenn ich mich recht entsinne, war für Python 2.3 versprochen worden, daß
> die PendingDeprecationWarning (z.B. bei Umlauten in Kommentaren) global
> abgestellt werden kann
Dieser Satz nimmt zwei separate Versprechen an:
1. PendingDeprecationWarning kann man global abschalten.
Das ist so, und sie sind sogar by default abgeschaltet (-Wall)
2. Umlaute in Kommentaren führen zu PendingDeprecationWarning.
Das ist nicht so, und war auch nicht versprochen worden;
statt dessen führen sie zu DeprecationWarning.
Mit dem warnings-Modul kann man natürlich diese Warnung wie auch jede
andere abschalten.
> Dafür ist die Datei dann unter Linux nicht mehr als ausführbares
> Programm zu gebrauchen (das #! wird nicht erkannt). Unter Windows mag
> das gehen, für Linux ist auf absehbare Zeit dringend davon abzuraten.
Ich habe persönlich nicht den Drang, davon abzuraten :-)
Stimmt, man kann das für Skripte gegenwärtig nicht verwenden, aber
a) heute ist nicht aller Tage, und
b) nicht alle Quelltextfiles sind Skripte
Ciao,
Martin
--- binfmt_script.c.orig Mon Feb 25 06:28:36 2002
+++ binfmt_script.c Mon Feb 25 07:48:19 2002
@@ -1,7 +1,7 @@
/*
* linux/fs/binfmt_script.c
*
- * Copyright (C) 1996 Martin von Löwis
+ * Copyright (C) 1996, 2002 Martin von Löwis
* original #!-checking implemented by tytso.
*/
@@ -23,7 +23,16 @@
char interp[BINPRM_BUF_SIZE];
int retval;
- if ((bprm->buf[0] != '#') || (bprm->buf[1] != '!') || (bprm->sh_bang))
+ /* It is a recursive invocation. */
+ if (bprm->sh_bang)
+ return -ENOEXEC;
+
+ /* It starts neither with #!, nor with #! preceded by
+ the UTF-8 signature. */
+ if (!(((bprm->buf[0] == '#') && (bprm->buf[1] == '!'))
+ || ((bprm->buf[0] == '\xef') && (bprm->buf[1] == '\xbb')
+ && (bprm->buf[2] == '\xbf') && (bprm->buf[3] == '#')
+ && (bprm->buf[4] == '!'))))
return -ENOEXEC;
/*
* This section does the #! interpretation.
@@ -46,7 +55,8 @@
else
break;
}
- for (cp = bprm->buf+2; (*cp == ' ') || (*cp == '\t'); cp++);
+ cp = (bprm->buf[0]=='\xef') ? bprm->buf+5 : bprm->buf+2;
+ while ((*cp == ' ') || (*cp == '\t')) cp++;
if (*cp == '\0')
return -ENOEXEC; /* No interpreter name found */
i_name = cp;
- Vorherige Nachricht: [Python-de] Re: XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
- Nächste Nachricht: [Python-de] Re: XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
- Nachrichten sortiert nach:
[ Datum ]
[ Thema ]
[ Betreff (Subject)]
[ Autor ]