Newsgroup: it.comp.software.newsreader
Titolo: [Lungo] Lo spazio all'inizio del From (was: Nokia ed autovelox)

 - Come vedi il nome (opzionale) corrisponde a
plain-phrase... vediamo come può iniziare questa componente.
||    plain-phrase  = plain-word *( space plain-word )
Eccola qui. Deve cominciare con una plain-word (dopodiché possono
seguirne altre, separate da spazi). Vediamo allora come comincia questa.
||    plain-word    = unquoted-word / quoted-word / encoded-word
Eliminiamo subito encoded-word, che serve per i caratteri non ASCII.
Restano unquoted-word e quoted-word; ques'ultima deve cominciare con il
carattere quote, cioè le ":
||    quoted-word   = quote 1*( quoted-char / space ) quote
||    quote         = <" (ASCII 34)>
(e infatti è proprio questo il tuo caso, alla fine...).
Vediamo quindi unquoted-word...
||    unquoted-word = 1*unquoted-char
Questo è chiaro, deve cominciare con:
||    unquoted-char = <ASCII printable character except !()<>@,;:\".[]>
Lo spazio non è tra quelli esclusi esplicitamente, perché non serve.
Infatti come si può leggere nella sezione 2.3 del documento in questione:
|| An "ASCII printable character" is an ASCII character in the range 33-126.
...e come sicuramente saprai il codice ASCII dello spazio, o blank in
inglese, è 32. Infatti lo si trova scritto esplicitamente:
|| NOTE: Blank is neither an "ASCII printable character" nor an "ASCII control character". 
Insomma, credo proprio di aver dimostrato senza ombra di dubbio che,
secondo gli standard definiti dalla son-of-RFC 1036 (Internet Draft to
be... la 1036 era molto più permissiva in merito), lo spazio NON è
ammissibile all'inizio del campo From. No, non avevo di meglio da fare :)
URL: 
http://www.chemie.fu-berlin.de/outerspace/netnews/son-of-1036.html
G (crosspost e followup dove queste cose sono In Topic...)
-- 
   Farewell!    | 'With you and your faithful
gandalf*
ithn.net
|  servant, Gandalf will go;
  ICQ#16553733  |  for this shall be his great task,
snurl.com/dialog|
  and maybe the end of his labours.'

mentre Dialog lo trasforma in «"\" Razzo\""»
Appropo', ma quelle due barre \  che origine o significato hanno?
(non e` la prima volta che le vedo, od almeno qualcosa di simile)

 (non e` la prima volta che le vedo, od almeno qualcosa di simile)
La backslash (\) serve ad indicare che il carattere che segue va preso
"cosě com'č", senza modifiche, e che va stampato, non interpretato.
Non so se sono stato chiaro :)
Esempio: magari il segno % č un segno che serve per indicare una speciale
funzione... quindi se lo metti in una stringa di testo non ti stampa il
segno di percento, ma ti stampa il risultato della funzione.
Se invece metti \% ti viene stampato il segno di %.
-- 
---> 
ra...@despammed.com
                                  ICQ:11928715
----------------------------------------------------------------------
ATTENZIONE:
Utilizzate l'indirizzo qui sopra per rispondere.

 (non e` la prima volta che le vedo, od almeno qualcosa di simile)
Vediamo...
||    From-content  = address [ space "(" paren-phrase ")" ]
Questo qui sopra non č, č la seconda forma:
||                  /  [ plain-phrase space ] "<" address ">"
quindi dev'essere una plain-phrase...
||    plain-phrase  = plain-word *( space plain-word )
...dev'essere una plain-word...
||    plain-word    = unquoted-word / quoted-word / encoded-word
...encoded non c'entra (blank non č un carattere non ASCII), unquoted non
puň iniziare per blank, quindi rimane quoted-word...
||    quoted-word   = quote 1*( quoted-char / space ) quote
...che deve iniziare con quote, cioč con...
||    quote         = <" (ASCII 34)>
...il simbolo che noi chiamiamo virgolette o doppio apice.
Tutto ciň giustifica la coppia di virgolette piů esterne.
Quello che vi č codificato all'interno č «\" Razzo\"».
L'unica giustificazione che mi viene in mente č la seguente: Razzo
probabilmente ha inserito il suo nick non come « Razzo» (forse ha provato
ma non visualizzava lo spazio all'inizio?) bensě come «" Razzo"»...
questo si traduce nell'uso del metacarattere \" per indicare il carattere
doppio apice (non controllo, ma suppongo che sia cosě secondo la s-o-RFC)
Controllando le prove di Razzo su it.test viene fuori che:
- «Razzo» produce la visualizzazione di «Razzo» (eh be');
- «"\\\" Razzo\\\""» di «\" Razzo\"», in quanto «\\» codifica «\»;
- «' Razzo'» di «' Razzo'»;
- «"\" Razzo\""» di «" Razzo"», come detto;
- «"\\ Razzo"» di «\ Razzo», come al punto 2.
Io personalmente gli consiglio di cambiare nick in «Razzo aka Kukka» o
simili, per risolevere il suo personalissimo problema ;)))
G
-- 
   Farewell!    | 'From Wilderland to Western shore,
gandalf*
ithn.net
|  from northern waste to southern hill,
  ICQ#16553733  |  through dragon-lair and hidden door
snurl.com/dialog|
  and darkling woods he walked at will.'