Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1030

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>SLRN+SLRNPULL HOWTO: Informazioni aggiuntive</TITLE>
 <LINK HREF="SLRN+SLRNPULL-HOWTO-6.html" REL=next>
 <LINK HREF="SLRN+SLRNPULL-HOWTO-4.html" REL=previous>
 <LINK HREF="SLRN+SLRNPULL-HOWTO.html#toc5" REL=contents>
</HEAD>
<BODY>
<A HREF="SLRN+SLRNPULL-HOWTO-6.html">Avanti</A>
<A HREF="SLRN+SLRNPULL-HOWTO-4.html">Indietro</A>
<A HREF="SLRN+SLRNPULL-HOWTO.html#toc5">Indice</A>
<HR>
<H2><A NAME="s5">5. Informazioni aggiuntive</A></H2>

<P>
<P>
<H2><A NAME="ss5.1">5.1 Utilizzo del file score</A>
</H2>

<P>
<P>I programmi SLRN e SLRNPULL consentono di assegnare un punteggio 
(in inglese: score) ad ogni articolo che &egrave; stato scaricato (SLRN) o che 
deve essere scaricato (SLRNPULL).
Le regole per l' assegnazione dei punteggi si trovano nel file 
<CODE>~/slrn/score</CODE> per SLRN e nel file
<CODE>/var/spool/slrnpull/score</CODE> per SLRNPULL. 
I programmi SLRN e SLRNPULL utilizzano il file <CODE>score</CODE> in modo
differente:<BR>
<P>
<UL>
<LI>SLRNPULL non scarica dal news server un articolo se quest' ultimo
totalizza un punteggio minore di ZERO. Ogni articolo che non viene
scaricato incrementa di uno la voce "killed" 
(letteralmente, dall' inglese: uccisi, rimossi).

<P>
</LI>
<LI>SLRN pu&ograve; mostrare a sinistra di ciascun articolo il punteggio da esso
ottenuto. Controllate che sia presente nel file <CODE>~/.slrnrc</CODE> la
linea: <CODE>set display_score 1</CODE><BR>
E' anche possibile ordinare gli articoli in base ai punteggi. Modificate
nel file <CODE>~/.slrnrc</CODE> la linea: <CODE>set sorting_method</CODE><BR></LI>
</UL>
<P>Il formato di un file <CODE>score</CODE> non &egrave; complicato ed &egrave; lo stesso 
sia per SLRN che per SLRNPULL.
Tale file consiste di sezioni, ognuna delle quali contiene le regole
che devono essere applicate ad uno o pi&ugrave; newsgroup per calcolare i
punteggi da attribuire a ciascun articolo.
<P>Ogni sezione &egrave; identificata da parentesi quadre. 
Per esempio, [it.comp.os.linux.*] indica l' inizio della sezione che definir&agrave; 
le regole per tutti i newsgroup che iniziano con i caratteri
"it.comp.os.linux.". Cio&egrave; per i seguenti newsgroup:<BR>
<P><CODE>it.comp.os.linux.annunci</CODE><BR>
<CODE>it.comp.os.linux.development</CODE><BR>
<CODE>it.comp.os.linux.iniziare</CODE><BR>
<CODE>it.comp.os.linux.software</CODE><BR>
<CODE>it.comp.os.linux.sys</CODE><BR>
<P>Seguono ora alcuni esempi.<BR>
<UL>
<LI>Volete assegnare un punteggio pari a -1 a tutti gli articoli del
newsgroup <CODE>news.software.readers</CODE> che non contengono la parola "slrn"
nel titolo (Subject) dell' articolo, per evitare di scaricarli. Questo &egrave; 
ci&ograve; che dovete scrivere nel file <CODE>/var/spool/slrnpull/score</CODE>:

<BLOCKQUOTE><CODE>
<PRE>
[news.software.readers]
Score: -1
 ~Subject: slrn
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI>Volete assegnare un punteggio pari a 10 a tutti gli articoli 
del newsgroup <CODE>it.comp.os.linux.iniziare</CODE> i cui titoli contengono la 
parola "redhat". Inserite nel file 
<CODE>~/slrn/score</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
[it.comp.os.linux.iniziare]
Score: 10
 Subject: redhat
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI>Volete assegnare un punteggio pari a 20 a tutti gli articoli del
newsgroup <CODE>it.comp.os.linux.iniziare</CODE> i cui titoli contengono la parola 
"aiuto" E l' autore &egrave; Mario Rossi. Inserite nel file
<CODE>~/slrn/score</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
[it.comp.os.linux.iniziare]
Score: 20
 Subject: aiuto
 From: Mario Rossi
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI>Volete assegnare un punteggio pari a 30 a tutti gli articoli del
newsgroup <CODE>it.comp.os.linux.iniziare</CODE> i cui titoli contengono la parola 
"aiuto" OPPURE l' autore &egrave; Mario Rossi (notare Score::). Inserite 
nel file <CODE>~/slrn/score</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
[it.comp.os.linux.iniziare]
Score:: 30
 Subject: aiuto
 From: Mario Rossi
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI>Volete assegnare un punteggio pari a 40 a tutti gli articoli del
newsgroup <CODE>it.comp.os.linux.iniziare</CODE>, da voi scritti, appartenenti ad 
un qualsiasi thread (non dovete scrivere le parentesi tonde). Inserite nel 
file <CODE>~/slrn/score</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
[it.comp.os.linux.iniziare]
Score: 40
 From: ( mettete ci&ograve; che compare nel VOSTRO header From )
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI>Volete assegnare un punteggio pari a 50 a tutti gli articoli che
costituiscono una risposta ai vostri articoli apparsi nel newsgroup
<CODE>it.comp.os.linux.sys</CODE>. Inserite nel file <CODE>~/slrn/score</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
[it.comp.os.linux.sys]
Score: 50
 References: ( si veda la nota sotto )
</PRE>
</CODE></BLOCKQUOTE>


<B>NOTA:</B> dovete basarvi sulla parte finale dell' header Message-ID di
un vostro articolo, quella che comincia con il vostro username. 
Se, per esempio, il vostro username &egrave; "mr" (si veda la voce "set username"
nel file <CODE>~/.slrnrc</CODE>) e non avete dato un nome al vostro PC, 
tale header terminer&agrave; nel seguente modo:<BR>
<P>
<P><CODE>mr@localhost.localdomain></CODE><BR>
<P>
<P>La linea da inserire alla voce "References:" sar&agrave; allora la seguente:<BR>
<P>
<P><CODE>\.mr@localhost.localdomain>$</CODE>
</LI>
</UL>
<P>Con quest' ultima regola di assegnazione dei punteggi vi sar&agrave; senz' altro 
pi&ugrave; semplice poter seguire le risposte ai vostri articoli.<BR>
Per maggiori informazioni si veda il file: <CODE>SCORE_FAQ</CODE>
<P>
<P>
<H2><A NAME="ss5.2">5.2 Protezione dallo "spamming"</A>
</H2>

<P>
<P>Inserendo correttamente i vostri dati nel file <CODE>~/.slrnrc</CODE> tutti
coloro che leggeranno il vostro articolo sapranno qual &egrave; il vostro indirizzo
e-mail. Potrete cos&igrave; ricevere, in privato, le risposte ai vostri
articoli da parte di altri frequentatori dei newsgroup.
Esistono per&ograve; programmi appositi che estraggono, dagli articoli inviati
ad un newsgroup, gli indirizzi e-mail.
Noto il vostro indirizzo e-mail &egrave; possibile inviarvi (in automatico) di
tutto un po': proposte di vacanze in Papuasia, vendite di PC, consulenze
informatiche, numeri del lotto, ...
Questa poco civile pratica &egrave; nota come "spamming" (ho una mia versione
in italiano ma &egrave; improponibile).
Se volete evitare di trovare la vostra casella di posta intasata da
messaggi non desiderati, potete alterare i vostri dati ed usare il file
<CODE>~/.signature.slrn</CODE><BR>
Per esempio, sempre facendo riferimento all' ipotetico abbonato di Tiscali 
Mario Rossi (e-mail: mr@tiscalinet.it), potete editare il 
file <CODE>~/.slrnrc</CODE> cos&igrave;:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
hostname       "tiscalinet.it"
set username   "NOSPAM"
set realname   "Mario Rossi"
set replyto    "NOSPAM@tiscalinet.it"
set signature  ".signature.slrn"
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>ed editare il file <CODE>~/.signature.slrn</CODE> in modo che compaia
la seguente frase:
<BLOCKQUOTE><CODE>
<PRE>
Per ottenere il mio indirizzo e-mail sostituite NOSPAM con mr
</PRE>
</CODE></BLOCKQUOTE>
<P>In tal modo, solo chi avr&agrave; <B>realmente</B> necessit&agrave; vi contatter&agrave; 
tramite e-mail.
<P>
<H2><A NAME="ss5.3">5.3 Traduzione del file FAQ presente nella distribuzione di SLRN</A>
</H2>

<P>
<P>
<UL>
<LI><B>D.</B> Dove posso trovare maggiori informazioni riguardo slrn?<BR>
<P>R. Sebbene vi sia una man page, essa probabilmente non illustra le ultime
caratteristiche del programma. Una miglior sorgente di informazioni riguardo
le nuove caratteristiche di slrn si trova nel file <CODE>changes.txt</CODE> 
(in inglese) che viene distribuito assieme a slrn. Inoltre, tutte le opzioni
di <CODE>~/.slrnrc</CODE> sono descritte nel file di esempio 
<CODE>slrn.rc</CODE>, anch' esso distribuito assieme a slrn.<BR>
Un ulteriore aiuto (in lingua inglese) &egrave; disponibile a:<BR>
<P><CODE>
<A HREF="http://space.mit.edu/~davis/slrn.html">http://space.mit.edu/~davis/slrn.html</A></CODE>
<P>In particolare, questa pagina web contiene dei link ad altre sorgenti
di informazioni riguardanti slrn.<BR>
Potete inoltre partecipare allo sviluppo di slrn migliorando la sua
documentazione. Se siete intenzionati a presentare della documentazione per
slrn, utilizzate per favore il semplice formato testo. Ho intenzione, prima
o poi, di tradurre tutta la documentazione di slrn in formato SGML per poi
elaborare il documento SGML per produrre man page e documenti nei formati
HTML, TeX, RTF, ecc...
Infine, se create della documentazione addizionale per slrn e la rendete
disponibile attraverso il WWW, per cortesia fatemelo sapere cos&igrave; che io
possa creare un link alla vostra pagina web.
<P>Frequentemente il newsgroup <CODE>news.software.readers</CODE> contiene articoli
che riguardano SLRN. Molti utilizzatori esperti di SLRN partecipano 
attivamente al newsgroup, rendendolo una grande risorsa per SLRN stesso.
<P>Vi sono diverse pagine web dedicate a SLRN. Basta seguire i link
presenti nella home page del programma SLRN a:
<CODE>
<A HREF="http://space.mit.edu/~davis/slrn.html">http://space.mit.edu/~davis/slrn.html</A></CODE>
<P>
</LI>
<LI><B>D.</B> Invece delle linee, per l' albero dei thread viene utilizzato 
"mq". Perch&egrave;?<BR>
<P>R. Ci sono un paio di ragioni per questo. La pi&ugrave; semplice potrebbe essere che
il font che state utilizzando non supporta i caratteri utilizzati per
disegnare le linee. Si pu&ograve; risolvere il problema semplicemente cambiando il 
font con uno dec-vt220 compatibile. Questo &egrave; di solito il caso delle 
applicazioni telnet di Windows.
Un' altra ragione &egrave; che il vostro file terminfo potrebbe non essere
configurato correttamente. La soluzione ovvia &egrave; quella di sistemare il file
terminfo. Comunque, ci&ograve; potrebbe non essere possibile senza le corrette
utility (untic e tic) e molti sistemi non hanno queste utility installate.
Sebbene slang sia un sistema basato su terminfo, c'&egrave; un' altra soluzione
basata su termcap se state usando la versione 0.99.18, o successive, di 
slang. Prima di tutto, aggiungete una voce al file <CODE>termcap</CODE> per poter
disporre di un set di caratteri alternativo tramite le propriet&agrave; "ac",
"ae", "as" e possibilmente "eA". Chiameremo questo file
<CODE>mio_termcap</CODE>. Date ora i seguenti comandi:
<P><CODE># setenv TERMCAP mio_termcap (se state usando tcsh come shell)</CODE><BR> 
<CODE># export TERMCAP=mio_termcap (se state usando bash come shell)</CODE><BR>
<CODE># eval &lsquo;tset -s nome-terminale&lsquo;</CODE>
<P>Sostituite nome-terminale con il nome del vostro terminale.
&lsquo;tset&rsquo; legge ed analizza il file <CODE>mio_termcap</CODE> ed imposta
adeguatamente la variabile TERMCAP. Potete ora inserirla nel vostro file
<CODE>.login</CODE>
<P>
</LI>
<LI><B>D.</B> Non riesco a vedere l' albero dei thread. Perch&egrave;?<BR>
<P>R. Si veda la risposta alla domanda precedente.
<P>
</LI>
<LI><B>D.</B> Quando contrassegno come letto un articolo, perch&egrave; non vengono
contrassegnati come letti anche gli articoli inviati tramite 
cross-post?<BR>
<P>R. Affinch&egrave; slrn contrassegni come letto un articolo in pi&ugrave; di un newsgroup,
ha bisogno di sapere in quali newsgroup l' articolo &egrave; stato inviato tramite
cross-post. Questa informazione &egrave; fornita dall' header Xref. Non tutti i
news server forniscono questo header cos&igrave; che questa caratteristica non
funzioner&agrave; con questi server.
Supponiamo ora che il vostro news server fornisca l' header Xref come uno
degli header dell' articolo e, allo stesso tempo, fornisca il supporto per
il database NOV (attraverso il comando nntp XOVER). In questo caso, a meno
che il server sia configurato per fornire l' header Xref come parte del
database NOV, slrn non sar&agrave; in grado di ottenere l' header senza dover
accedere all' articolo. Sfortunatamente, usando NOV l' header Xref &egrave;
opzionale, cos&igrave; molti sistemi non lo forniscono automaticamente sebbene esso
sia uno degli header raccomandati.
Ricapitolando, assicuratevi che il vostro news server fornisca l' header Xref
E se supporta NOV, assicuratevi che l' header Xref sia parte del database
NOV.   
<P>
</LI>
<LI><B>D.</B> Cos' &egrave; un argomento di prefisso?<BR>
<P>R. Molte sequenze di tasti accettano argomenti di prefisso. Un argomento
di prefisso &egrave; un intero che &egrave; generato prima di una sequenza di tasti e
viene utilizzato come mezzo per controllarne il comportamento. E' generato
dalla pressione del tasto [Esc] e successivamente dalla pressione
dei tasti che corrispondono ad un numero intero. Per esempio, per generare
l' argomento di prefisso 314, dovete semplicemente premere
4 tasti: [Esc] [3] [1] [4].<BR>
Alcune funzioni usano tali argomenti come elemento di ripetizione. La
funzione corrispondente ad una determinata sequenza di tasti verr&agrave; ripetuta
il numero di volte specificato dall' argomento di prefisso.<BR>
Alcune altre funzioni possono semplicemente usarli come metodo per
modificare leggermente il comportamento della funzione. Per esempio, se un
argomento di prefisso &egrave; utilizzato come modificatore della funzione
"followup", gli header dell' articolo originale verranno inclusi
nell' articolo di followup. Senza un argomento di prefisso, gli header non 
verranno inclusi nell' articolo di followup.
<P>
</LI>
<LI><B>D.</B> Come posso rileggere gli articoli di un newsgroup che ho gi&agrave;
letto?<BR>
<P>R. Basta semplicemente entrare in un newsgroup utilizzando un argomento di
prefisso. Premete cio&egrave; [Esc] e poi un numero seguito dalla
sequenza di tasti che utilizzate per entrare nel newsgroup. Per esempio, se
utilizzate il tasto [Invio], dovete allora premere i seguenti tasti:
[Esc] [1] [Invio]. 
<P>
</LI>
<LI><B>D.</B> E' possibile utilizzare il mouse con slrn?<BR> 
<P>R. S&igrave;, se lanciate slrn in una finestra Xterm. Per abilitarlo, aggiungete
al file <CODE>~/.slrnrc</CODE> la seguente linea:<CODE>set mouse 1</CODE><BR>
Per forzare slrn ad usare il mouse, lanciate slrn utilizzando l' opzione -m,
cio&egrave; date il seguente comando:
<P><CODE>$ slrn -m</CODE>
<P>Le azioni definite per il mouse sono specificate nella seguente tabella:
<BLOCKQUOTE><CODE>
<PRE>

Modalit&agrave;: elenco nomi newsgroup

 Oggetto                         Pulsante     Azione
 ------------------------------------------------------------------------
 Linea in alto di status         qualsiasi    specificata dall' etichetta
 Nome del newsgroup              qualsiasi    seleziona il newsgroup
 Linea in basso di status        centrale     mostra/nasconde i newsgroup
                                              i cui articoli sono stati
                                              letti tutti
 Linea in basso di status        sinistro     una pagina gi&ugrave; 
 Linea in basso di status        destro       una pagina su


Modalit&agrave;: elenco degli articoli

 Oggetto                         Pulsante     Azione
 ------------------------------------------------------------------------
 Linea in alto di status         qualsiasi    specificata dall' etichetta
 Linea in basso di status        sinistro     una pagina gi&ugrave;
                                 destro       una pagina su
                                 centrale     mostra la finestra degli 
                                              articoli 
 Linea di status degli articoli  sinistro     vai al successivo non letto
                                 destro       vai al precedente non letto
                                 centrale     mostra/nasconde le "quoted
                                              lines"
 Titolo di un articolo           qualsiasi    seleziona l' articolo


Modalit&agrave;: finestra degli articoli 

                                Pulsante     Azione
------------------------------------------------------------------------
                                sinistro     una pagina gi&ugrave;
                                destro       una pagina su
                                centrale     nascondi la finestra 
</PRE>
</CODE></BLOCKQUOTE>
<P>
</LI>
<LI><B>D.</B> Come posso usare il mouse in una finestra Xterm per effettuare 
l' operazione taglia e incolla?<BR>
<P>R. Il metodo pi&ugrave; semplice consiste nel tenere premuto il tasto 
[Shift] quando si usa il mouse per le operazioni taglia e incolla.
Un altro metodo consiste nell' ottenere un prompt di slrn per effettuare la
ricerca di qualcosa (premete [s] o [/] a seconda dei
casi), effettuare l' operazione di taglia e incolla per poi interrompere la
ricerca premendo [Invio].  
<P>
</LI>
<LI><B>D.</B> Qual &egrave; il metodo pi&ugrave; semplice per decodificare gli 
articoli?<BR>
<P>R. Per fortuna, il metodo pi&ugrave; semplice &egrave; anche quello pi&ugrave; efficiente. In
pratica esso si basa sull' uso del tasto [#] per contrassegnare
numericamente gli articoli che volete decodificare e successivamente
sull' uso del tasto [:] per iniziare il processo di decodifica.
L' unica restrizione &egrave; che gli articoli codificati in pi&ugrave; parti devono essere
contrassegnati seguendo l' esatto ordine in cui essi sono stati suddivisi.
Non c'&egrave; bisogno di decodificare un articolo alla volta. Semplicemente,
contrassegnate tutto ci&ograve; che volete decodificare e poi premete il tasto
[:].<BR>
Ecco un esempio concreto tratto dal newsgroup
alt.binaries.pictures.fractals:<BR>
<BLOCKQUOTE><CODE>
<PRE>
-    9:[Mike In Indy]    Kaboom! - kaboom.gif (0/1)
- 3078:[Mike In Indy]    Kaboom! - kaboom.gif (1/1)
-   23:[Gumbycat    ]    lucifer.gif  (0/7)
-  433:[Gumbycat    ]    lucifer.gif -  for Halloween (5/7)
-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (3/7)
-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (4/7)
-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (6/7)
-  244:[Gumbycat    ]    lucifer.gif  -  for Halloween (7/7)
-  434:[Gumbycat    ]    lucifer.gif  - for Halloween (1/7)
-  433:[Gumbycat    ]    lucifer.gif - for Halloween (2/7)
-   16:[Paul Carlson]    My Halloween Fractal - devil.gif (0/1)
- 4310:[Paul Carlson]    My Halloween Fractal - devil.gif (1/1)
</PRE>
</CODE></BLOCKQUOTE>
<P>Come potete vedere, sono stati inviati 3 file: <CODE>kaboom.gif</CODE>, 
<CODE>lucifer.gif</CODE> e <CODE>devil.gif</CODE> (nel momento in cui sto scrivendo &egrave; la 
settimana di Halloween).
Sia <CODE>kaboom.gif</CODE> che <CODE>devil.gif</CODE> sono file costituiti da un' unica 
parte mentre <CODE>lucifer.gif</CODE> &egrave; un file che &egrave; stato suddiviso in 7 parti. 
Dal momento che <CODE>lucifer.gif</CODE> &egrave; mostrato non nell' ordine, bisogna 
prestare attenzione nel contrassegnarlo per la decodifica.
Assumiamo che vogliate decodificare queste 3 immagini .gif, il tasto
[#] verr&agrave; utilizzato per contrassegnarle. Il risultato 
dell' utilizzo del tasto [#] &egrave; mostrato qui sotto:<BR>
<BLOCKQUOTE><CODE>
<PRE>
 -    9:[Mike In Indy]    Kaboom! - kaboom.gif (0/1)
1- 3078:[Mike In Indy]    Kaboom! - kaboom.gif (1/1)
 -   23:[Gumbycat    ]    lucifer.gif  (0/7)
6-  433:[Gumbycat    ]    lucifer.gif -  for Halloween  (5/7)
4-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (3/7)
5-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (4/7)
7-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (6/7)
8-  244:[Gumbycat    ]    lucifer.gif  -  for Halloween (7/7)
2-  434:[Gumbycat    ]    lucifer.gif  - for Halloween (1/7)
3-  433:[Gumbycat    ]    lucifer.gif - for Halloween (2/7)
 -   16:[Paul Carlson]    My Halloween Fractal - devil.gif (0/1)
9- 4310:[Paul Carlson]    My Halloween Fractal - devil.gif (1/1)
</PRE>
</CODE></BLOCKQUOTE>
<P>Sono stati contrassegnati numericamente 9 articoli. Per iniziare la
decodifica, premete semplicemente il tasto [:]. Slrn chieder&agrave; il
nome del file in cui salvare gli articoli e, dopo aver salvato, chieder&agrave; se
deve proseguire nella decodifica delle altre 2 immagini gif. I file
decodificati verranno posti nella directory specificata dalla variabile
"decode_directory" che potete impostare nel file <CODE>~/.slrnrc</CODE> . Il
risultato finale &egrave; che, dopo aver contrassegnato con il tasto 
[#], dovete premere una volta [:] e due volte il 
tasto [Invio]. Per togliere tutti i contrassegni, premete 
[Esc] [#].
<P>
</LI>
<LI><B>D.</B> Come posso inviare lo stesso articolo a pi&ugrave; newsgroup 
contemporaneamente ?<BR>
<P>R. Ci sono 2 modi:<BR>
<P>
<P>
<OL>
<LI>Quando slrn chiede a quale newsgroup inviare l' articolo, fornite
un elenco di newsgroup separati da virgole.<BR>
NON UTILIZZATE SPAZI !
<P>
<P>
</LI>
<LI>Modificate la linea che riporta l' header del newsgroup quando editate
l' articolo. Di nuovo, l' elenco dei newsgroup deve essere separato da 
virgole senza lasciare spazi. Assicuratevi inoltre di non andare a capo 
mentre editate questa linea. </LI>
</OL>
<P>Un utile suggerimento:
<P>se vi dimenticate il nome del newsgroup mentre avete gi&agrave; caricato l' editor,
sospendete l' editor con [Ctrl]+[z] ed utilizzate more/less/most per
esaminare il vostro file <CODE>.newsrc</CODE>. Se il vostro editor &egrave; sufficientemente 
sofisticato, potete semplificare questo processo utilizzando la linea 
"editor_command" presente nel file <CODE>~/.slrnrc</CODE> . Per esempio, se 
utilizzate l' editor jed, potete impostare il vostro comando per richiamare 
l' editor come:<BR>
<P><CODE>editor_command "jed ~/.jnewsrc -2 %s -g %d"</CODE>
<P>Questo comando divide in due la finestra di editing, carica il file 
<CODE>~/.jnewsrc</CODE> all' interno della prima finestra e il file che dovete 
editare con slrn nella seconda. Inoltre, fa s&igrave; che il cursore si posizioni 
inizialmente sulla riga %d del file che dovete editare.  
<P>
</LI>
<LI><B>D.</B> Come posso rileggere gli articoli precedentemente letti di un
thread?<BR>
<P>R. La combinazione di tasti [Esc] [p] cercher&agrave; di trovare
l' articolo padre del corrente articolo come specificato dall' header 
references interrogando il news server se necessario. Per trovare
l' articolo figlio dell' articolo corrente utilizzate i tasti [Esc] 
[Ctrl]+[p]. Infine, per ricostruire l' intero thread
utilizzate i tasti [Esc] [1] [Esc] 
[p].
<P>
</LI>
<LI><B>D.</B> Perch&egrave; il comando [L] non funziona come 
dovrebbe?<BR>
<P>R. Il tasto [L] mostra un elenco di tutti i gruppi non sottoscritti
di cui slrn &egrave; a conoscenza. Slrn ottiene questa informazione cercando,
nell' ordine, nelle seguenti 3 sorgenti e fermandosi non appena la
trova:<BR>
<P>
<P>
<OL>
<LI>dal news server attraverso il file <CODE>active</CODE> (se state utilizzando
slrn e slrnpull per la lettura offline delle news, questo file si trova
nella directory ~/slrnpull/data, ndt). Slrn fa questo solo se &egrave;
presente nel file <CODE>~/.slrnrc</CODE> la linea "set read_active 1". 
Per default, slrn non legge l' active file.<BR>
<P>
<P>
</LI>
<LI>interrogando il news server tramite il comando nntp XGTITLE. Ci&ograve; richiede
che il vostro news server supporti questo comando e che sia presente nel
file <CODE>~/.slrnrc</CODE> la linea "set use_xgtitle 1".<BR>
<P>
<P>
</LI>
<LI>dai gruppi che sono elencati nel file <CODE>~/.newsrc</CODE> . Il
comando [L] mostrer&agrave; solo la lista dei gruppi non sottoscritti che
sono presenti in questo file.<BR></LI>
</OL>
<P>L' ultima ricerca (3) ha sempre successo con il risultato che potrebbero
essere elencati molti meno gruppi di quelli che ci si aspetterebbe. Se
disponete di una connessione veloce con il vostro news server, allora
aggiungete semplicemente questa linea al file <CODE>~/.slrnrc</CODE>: "set
read_active 1". Se invece la vostra connessione &egrave; lenta e non desiderate che
slrn legga il file <CODE>active</CODE>, allora informatevi se il vostro news server 
supporti o meno il comando XGTITLE. In caso affermativo, fate in modo che
slrn lo possa usare aggiungendo nel file <CODE>~/.slrnrc</CODE> la linea
"set use_xgtitle 1". Per ultimo, potete inserire nel file
<CODE>~/.slrnrc</CODE> una lista dei newsgroup. 
<P>
</LI>
<LI><B>D.</B> Come posso impostare l' header From per i miei 
articoli?<BR>
<P>R. Dovete utilizzare le impostazioni presenti nel file 
<CODE>~/.slrnrc</CODE>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
set hostname "NOME DEL VOSTRO HOST"
set username "NOME UTENTE"
set realname "VOSTRO NOME REALE"
</PRE>
</CODE></BLOCKQUOTE>
<P>Infine, se esiste una funzione S-Lang chiamata `make_from_string_hook',
essa verr&agrave; utilizzata per generare l' header From. In pratica:<BR>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
define make_from_string_hook ()
{
 return "W. J. Clinton &lt;president@whitehouse.gov>"
}
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>
</LI>
<LI><B>D.</B> Perch&egrave; `set_author_display' non funziona?<BR>
<P>R. Questa variabile non &egrave; pi&ugrave; significativa ed &egrave; ignorata dalle recenti
versioni di SLRN. L' utente &egrave; invece incoraggiato ad utilizzare 
l' interfaccia, molto pi&ugrave; flessibile, fornita dalla variabile
`header_display_format'.
</LI>
</UL>
<P>
<H2><A NAME="ss5.4">5.4 Ancora FAQ </A>
</H2>

<P>
<P>
<UL>
<LI><B>D.</B> Perch&egrave; SLRN utilizza l' header From che &egrave; specificato nel file
<CODE>~/.slrnrc</CODE> solo per gli articoli inviati al newsgroup e non 
per gli articoli di risposta inviati tramite e-mail?<BR>
<P>R. Bisogna configurare correttamente il proprio MTA (postfix/sendmail/qmail).
<P>
<DL>
<DT><B>POSTFIX:</B><DD><P>esiste un mini-HOWTO che descrive (in italiano) come 
configurarlo:
<P><CODE>
<A HREF="http://www.linux.it/~agx/info/mini-postfix-howto.txt">http://www.linux.it/~agx/info/mini-postfix-howto.txt</A></CODE>
<P>Personalmente vi consiglio di utilizzare Postfix.
E' un MTA sicuro e molto semplice da configurare:
<P><CODE>
<A HREF="http://www.postfix.org">http://www.postfix.org</A></CODE>
<P><B>NOTA:</B> se vi collegate ad internet mediante modem
tramite la normale rete telefonica (connessioni dial-up) vi sar&agrave; utile
aggiungere in <CODE>/etc/postfix/main.cf</CODE> la seguente linea:
<P><CODE>defer_transports = smtp</CODE>
<P>In questo modo, tutte le vostre e-mail non verranno inviate subito al
server SMTP del vostro provider bens&igrave; salvate sul vostro hard disk in
attesa di essere spedite.
Per spedirle:
<P><CODE># sendmail -q</CODE>
<P>Per evitare di dare il comando come utente root, create il seguente link
simbolico per ogni utente della vostra Linux box:
<P><CODE>$ ln -s /usr/sbin/sendmail ~/bin/sendmail</CODE>
<P>
<DT><B>SENDMAIL:</B><DD><P>si legga il "Sendmail address rewriting mini-HOWTO" che potete
trovare (in italiano) qui:
<P><CODE>
<A HREF="http://www.pluto.linux.it/ildp/HOWTO/mini/Sendmail-Address-Rewrite.html">http://www.pluto.linux.it/ildp/HOWTO/mini/Sendmail-Address-Rewrite.html</A></CODE>
<P>Se di Sendmail avete la versione 8.9.x/8.10 &egrave; anche possibile utilizzare lo 
script Install-Sendmail (&egrave; multilingua, compreso l' italiano) che potete 
trovare qui:<BR>
<P><CODE>
<A HREF="http://cork.linux.ie/projects/install-sendmail/install-sendmail-5.3.1.tar.gz">http://cork.linux.ie/projects/install-sendmail/install-sendmail-5.3.1.tar.gz</A></CODE>
</DL>
<P>
</LI>
<LI><B>D.</B> Come fare per utilizzare il programma Mutt quando si effettua il 
reply ad un articolo?<BR>
<P>R. Fate in modo che siano presenti nel file <CODE>~/.slrnrc</CODE> le
seguenti due linee:
<P><CODE>set abort_unmodified_edits 1</CODE><BR>
<CODE>set mail_editor_command "mutt -H '%s'"</CODE>
<P>Se utilizzate SLRN assieme a X:
<P><CODE>set mail_editor_command "xterm -T mutt -e mutt -H '%s' &amp;"</CODE>
<P>
</LI>
<LI><B>D.</B> Come fare per evitare che appaia la signature di SLRN nel 
messaggio di reply prodotto da Mutt?<BR>
<P>R. Fate in modo che nel file <CODE>~/.slrnrc</CODE> siano presenti le 
seguenti linee:
<P><CODE>set abort_unmodified_edits 1</CODE><BR>
<CODE>interpret "my_reply.sl"</CODE><BR>
<CODE>set mail_editor_command "mutt -H '%s' -F '~/.muttrc.slrn'"</CODE>
<P>Nel file <CODE>~/.slrnrc</CODE> commentate la linea 
(cio&egrave; aggiungete un % all'inizio):<BR>
<P><CODE>setkey article  reply  "r"</CODE>
<P>Infine, scrivete il file di testo (macro) <CODE>~/my_reply.sl</CODE>:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/my_reply.sl

define my_reply ()
{
variable sig = get_variable_value("signature");
set_string_variable("signature", " ");

% se utilizzate delle misure anti-spam, sostituite a __________ il
% vostro vero indirizzo e-mail
set_string_variable("replyto", "__________");

call("reply");
set_string_variable("signature", sig);
}

definekey ("my_reply", "r", "article");
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>ed il file di configurazione <CODE>~/.muttrc.slrn</CODE> (commentate
con un # la linea "set editor=" che non vi interessa):
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
# File ~/.muttrc.slrn

source ~/.muttrc

#per avere il cursore posizionato sulla seconda linea:
set editor="vim +2"

#per avere il cursore posizionato appena sopra la signature:
set editor="vim +/^$"
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>
</LI>
<LI><B>D.</B> Quale editor &egrave; consigliabile utilizzare con SLRN?<BR>
<P>R. Personalmente utilizzo <CODE>vim</CODE>:
<P><CODE>
<A HREF="http://www.vim.org">http://www.vim.org</A></CODE>
<P>Una volta configurato a dovere si rivela essere un editor molto potente
ed incredibilmente efficiente nello svolgere il proprio lavoro.<BR>
Segue, commentato, il mio file di configurazione <CODE>~/.vimrc</CODE>
<P><B>NOTA:</B> il programma <CODE>par</CODE> (un formattatore di paragrafi) lo trovate 
qui:
<P><CODE>
<A HREF="http://www.cs.berkeley.edu/~amc/Par/">http://www.cs.berkeley.edu/~amc/Par/</A></CODE>
<P>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
" File ~/.vimrc

" evidenzia i risultati di una ricerca (tasto [/])
set hlsearch
" fai un backup dei file
set backup
" niente beep, niente visual bell
set vb t_vb=
" margine destro al 72-esimo carattere 
set tw=72
" il tasto [Canc] deve funzionare come in tutti gli altri editor
set bs=2
" mostra riga e colonna correnti, in basso a destra dello schermo
set ruler
" evidenzia la sintassi dei file
syntax on


" SLRN utilizza i file ~/.followup e ~/.article per gli articoli destinati
" ai newsgroup. Pertanto, per questi due file non utilizziamo le lettere
" accentate presenti su una tastiera italiana.
" Il contenuto del file ~/.vimrc.slrn &egrave; a seguire
autocmd BufReadPost ~/.followup source ~/.vimrc.slrn
autocmd BufReadPost ~/.article  source ~/.vimrc.slrn

" Mutt utilizza i file /tmp/mutt-* quando scriviamo un' e-mail.
" Anche in questo caso, non utilizziamo le lettere accentate presenti su
" una tastiera italiana.
" Il contenuto del file ~/.vimrc.mutt &egrave; a seguire
autocmd BufReadPost /tmp/mutt-* source ~/.vimrc.mutt

" non creare file di backup per i file "postponed", per evitare che
" appaiano nella finestra ottenuta premendo [Esc] [p] in modalit&agrave;
" -elenco dei newsgroup-
" Il contenuto del file ~/.vimrc.slrn.postponed &egrave; a seguire
autocmd BufReadPost ~/slrn/postponed/* source ~/.vimrc.slrn.postponed

" modalit&agrave; NORMAL (nmap) e INSERT (imap)
" ^[ = [Ctrl]+[v] [Esc]
" ^M = [Ctrl]+[v] [Ctrl]+[m]

" mappa il tasto funzione &lt;F2> per cancellare una linea
nmap &lt;F2> dd
imap &lt;F2> ^[dd^[i

" mappa il tasto funzione &lt;F3> per utilizzare PAR
nmap &lt;F3> {!}par 72qj^M}
imap &lt;F3> ^[{!}par 72qj^M}^[i

" mappa il tasto funzione &lt;F8> per uscire SENZA salvare
nmap &lt;F8> :q!^M
imap &lt;F8> ^[:q!^M

" mappa il tasto funzione &lt;F10> per uscire E salvare
nmap &lt;F10> :x^M
imap &lt;F10> ^[:x^M

" definisci le abbreviazioni per gli indirizzi di posta elettronica
" sostituisce a io@    l' indirizzo e-mail  a.airaghi@tiscalinet.it 
" sostituisce a rossi@ l' indirizzo e-mail  mr@tiscalinet.it
ia    io@       a.airaghi@tiscalinet.it
ia    rossi@    mr@tiscalinet.it
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
" File ~/.vimrc.slrn 
" File ~/.vimrc.mutt

imap &agrave; a`
imap &egrave; e`
imap &eacute; e`
imap &igrave; i`
imap &ograve; o`
imap &ugrave; u`
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
" File ~/.vimrc.slrn.postponed

set nobackup

imap &agrave; a`
imap &egrave; e`
imap &eacute; e`
imap &igrave; i`
imap &ograve; o`
imap &ugrave; u`
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>Bisogna poi inserire in <CODE>~/.slrnrc</CODE> questa linea:
<P>set editor_command "vim +8"
<P>
</LI>
<LI><B>D.</B> Leggendo alcuni articoli appare la seguente domanda: "Process 
this MIME article with metamail?". E' possibile evitarla?<BR>
<P>R. S&igrave;, basta inserire nel file <CODE>~/.slrnrc</CODE> la seguente linea:<BR>
<P>set use_metamail 0
<P>
</LI>
<LI><B>D.</B> E' possibile rileggere le copie degli articoli che abbiamo 
inviato ai vari newsgroup?<BR>
<P>R. S&igrave;. Un metodo molto semplice consiste nell' utilizzare un MUA (Mail User
Agent) come elm o mutt. Digitate uno dei seguenti due comandi:<BR>
<P><CODE>$ elm -f ~/slrn/My_Posts<BR></CODE>
<CODE>$ mutt -f ~/slrn/My_Posts<BR></CODE>
<P>
</LI>
<LI><B>D.</B> Come fare per avere una lista di tutti i newsgroup presenti sul
news server? [metodo breve]<BR>
<P>R. Modificate il file <CODE>~/.slrnrc</CODE> in modo che compaia la
seguente linea:<BR>
<P>set write_newsrc_flags 0
<P>Date ora il seguente comando:
<P><CODE>slrn --nntp -h [news server] -a -f elenco_gruppi -create</CODE>
<P>[news server] = nome del news server 
<P>Uscite da SLRN. L' elenco di tutti i newsgroup lo potete leggere nel
file <CODE>elenco_gruppi</CODE>
<P>
</LI>
<LI><B>D.</B> Come fare per avere una lista di tutti i newsgroup presenti sul 
news server? [metodo lungo]<BR>
<P>R. Date il seguente comando:<BR> 
<P><CODE>$ slrn -h [nome news server] -f elenco_gruppi -create</CODE>
<P>Lanciate ora SLRN:
<P><CODE>$ slrn</CODE>
<P>Elencate tutti i newsgroup presenti sul news server: dovete premere il tasto
[L], scrivere * e premere [Invio]<BR>
Sottoscrivete tutti i newsgroup: dovete premere i tasti [Esc]
[1] [s], scrivere * e premere [Invio]<BR>
Uscite ora da SLRN. L' elenco di tutti i newsgroup lo potete leggere nel
file <CODE>elenco_gruppi</CODE>
<P>
</LI>
<LI><B>D.</B> Uscendo dall' editor senza aver salvato l' articolo che
stavamo scrivendo, SLRN ci chiede lo stesso se lo vogliamo spedire o meno.
E' possibile evitare questa domanda?<BR>
<P>R. S&igrave;, basta che nel file <CODE>~/.slrnrc</CODE> sia presente la seguente
linea:
<P>set abort_unmodified_edits 1
<P>
</LI>
<LI><B>D.</B> E' possibile modificare il formato con cui SLRN mostra 
l' elenco degli articoli?<BR>
<P>R. S&igrave;, ci sono 10 formati disponibili e il comando
[Esc] [a] consente di passare al successivo.
Per modificare il formato numero 0 (quello di default per la modalit&agrave;
-elenco degli articoli-) si deve aggiungere al file <CODE>~/.slrnrc</CODE>
la seguente linea:
<P>header_display_format 0 "&lt;formato&gt;"
<P>dove &lt;formato&gt; si costruisce utilizzando i seguenti campi:
<P>
<BLOCKQUOTE><CODE>
<PRE>
%d: data dell' articolo
%f: header From
%F: flags (marcatori: letto/non-letto, * e #, numero di linea)
%G: "group lens score"   
%l: numero di linee dell' articolo
%n: numero dell' articolo sul news server
%r: realname (autore dell' articolo)
%s: subject  (titolo dell' articolo)
%S: score    (punteggio)
%t: thread (mostra il numero degli articoli che formano un thread)
%Xg: sposta il cursore alla colonna X (sono numerate a partire da 0).
     Se X &egrave; un numero negativo, il cursore verr&agrave; spostato di X colonne a
     partire dal bordo destro della finestra.
</PRE>
</CODE></BLOCKQUOTE>
<P>E' possibile definire l' ampiezza di ciascun campo mediante un numero
interposto tra il segno di percentuale (%) e la lettera che identifica
il campo. Ad esempio: 
<P>%12r =  riserva 12 caratteri per il campo che conterr&agrave; il nome
dell' autore dell' articolo.
<P>Il contenuto del campo verr&agrave; giustificato:
<UL>
<LI>a sinistra, se il numero &egrave; senza segno</LI>
<LI>a destra, se il numero &egrave; negativo</LI>
</UL>
<P>Esistono 4 formati predefiniti:
<P>formato numero 0: "%F%-5S%G%-5l:[%12r]%t%s"<BR>
formato numero 1: "%F%G%-5l:[%12r]%t%s"<BR>
formato numero 2: "%F%-5l:%t%s"<BR>
formato numero 3: "%F%-5S%-5l:%t%50s %r"<BR>
<P>Inoltre, [Esc] [a] pu&ograve; essere utilizzato con un
argomento di prefisso per selezionare un particolare formato.
Per esempio, [Esc] [0] [Esc] [a]
seleziona il formato numero 0.
</LI>
</UL>
<P>
<P>
<H2><A NAME="ss5.5">5.5 Utilizzo di Knews, al posto di SLRN, per leggere/scrivere le news</A>
</H2>

<P>
<P>Questo paragrafo &egrave; a cura di Matteo Nastasi, <CODE>
<A HREF="mailto:nastasi@tiscalinet.it">nastasi@tiscalinet.it</A></CODE>
<P>Knews &egrave; un programma che gira sotto X Window per leggere e inviare
articoli ad un news server.
La K iniziale non sta per KDE ma per "Karl-Johan Johnsson" (il nome di
colui che l' ha  scritto) quindi <B>non &egrave; necessario</B> aver installato 
KDE per farlo funzionare.
Con gli opportuni accorgimenti, che verranno qui descritti, pu&ograve; essere 
utilizzato offline in combinazione con SLRNPULL.<BR>
Questa l' home page del programma:
<P><CODE>
<A HREF="http://www.matematik.su.se/users/kjj/knews.html">http://www.matematik.su.se/users/kjj/knews.html</A></CODE>
<P>Dovete, prima di tutto, installare e configurare SLRNPULL.<BR>
Create ora il seguente script di shell, /usr/bin/mynews:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
#!/bin/sh
nome=`date +X%Y%m%d_%H%M%S`.`id -un`
pa="$1"
cat > $pa/$nome
exit 0
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>Date il seguente comando:
<P><CODE># chmod a+x /usr/bin/mynews</CODE>
<P>in modo da renderlo eseguibile
<P>Dopo aver installato il programma Knews, editate il file
<CODE>/usr/X11R6/lib/X11/app-defaults/Knews</CODE> assicurandovi che
compaiano le seguenti linee:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
Knews.nntpServer: #spool
Knews.#spool:     knewsd  -spool /var/spool/slrnpull/news \
                  -active /var/spool/slrnpull/data/active \
                  -post 'exec mynews /var/spool/slrnpull/out.going'
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>Per la configurazione di Knews si tengano presenti le seguenti
equivalenze (tra parentesi quadre i file da editare):<BR>
<P>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
set realname "Mario Rossi" [~/.slrnrc] diventa:
*fullName: Mario Rossi     [~/.knews/config-#spool]

set username "mr"    [~/.slrnrc] diventa:
Knews.mailName: mr   [/usr/X11R6/lib/X11/app-defaults/Knews]

set editor_command "vim +8"             [~/.slrnrc] diventa:
Knews.editCommand: xterm -e vim +%i %s  [/usr/X11R6/lib/X11/app-defaults/Knews]
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P><B>NOTA (per utenti Debian):</B> l' editor utilizzato per scrivere gli
articoli con Knews &egrave; "/usr/bin/sensible-editor". Occorre quindi valorizzare
opportunamente la variabile di ambiente EDITOR (magari in uno dei
vari script lanciati ad inizio sessione tipo <CODE>.profile</CODE>) prima di 
lanciare il programma Knews.
<P>
<H2><A NAME="ss5.6">5.6 Raccolta di macro per SLRN</A>
</H2>

<P>
<P>E' possibile aggiungere funzionalit&agrave; a SLRN mediante l' utilizzo di
macro. Scelta la macro da utilizzare, inserite nel file 
<CODE>~/.slrnrc</CODE> la seguente linea:
<P><CODE>interpret "{nome macro}"</CODE>
<P>Ad esempio:<BR>
<P><CODE>interpret "filter.sl"</CODE>
<P>Altre utili macro le potete trovare (in inglese) qui:
<P><CODE>
<A HREF="http://slrn.sourceforge.net/macros/index.html">http://slrn.sourceforge.net/macros/index.html</A></CODE>
<P><CODE>
<A HREF="http://www.geocities.com/tsca.geo/slang.html">http://www.geocities.com/tsca.geo/slang.html</A></CODE>
<P>Per "estrarre" le macro dal presente HOWTO consiglio di partire dalla
sua versione testo <CODE>news2.2.txt</CODE> e di utilizzare l' editor <CODE>vim</CODE>. 
Potete ottenere la versione testo scaricandola direttamente da 
internet:
<P><CODE>
<A HREF="http://web.tiscalinet.it/airaghi/news2.2.txt">http://web.tiscalinet.it/airaghi/news2.2.txt</A></CODE>
<P>oppure elaborando il file sorgente <CODE>news2.2.sgml</CODE>:
<P><CODE>$ sgml2txt -f -l it -c latin news2.2.sgml</CODE>
<P>Editate con <CODE>vim</CODE> il documento <CODE>news2.2.txt</CODE>:
<P><CODE>$ vim news2.2.txt</CODE>
<P>Per cercare una parola utilizzate il tasto [/]<BR>
Supponiamo ora che vogliate utilizzare la macro <CODE>filter.sl</CODE>.
Quest' ultima, all' interno del file <CODE>news2.2.txt</CODE>, inizia alla 
linea 2141 e termina alla linea 2163 (per la configurazione di <CODE>vim</CODE>
si veda il paragrafo "Ancora FAQ"). 
Premete [Esc] [:] e scrivete:
<P><CODE>2141,2163w ~/filter.sl</CODE>
<P>per ottenere il file <CODE>~/filter.sl</CODE> con la macro richiesta.
<P>
<P>
<UL>
<LI><B>MACRO N.1</B> - Utilizzo del programma ispell per effettuare il
controllo ortografico (in italiano oppure in inglese) sull' articolo che
abbiamo appena terminato di scrivere. Prima di spedire l' articolo bisogna
scegliere l' opzione "Filter".

<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/filter.sl
%
% Autore della macro e 
% del programma newsbody: Byrial Jensen, byrial@image.dk

define post_filter_hook (file)
{
variable rsp;
variable cmd;

rsp = get_response ("AaIiEe", 
"Use ispell? \001Abort, \001Italian, \001English");

if ((rsp == 'i') or (rsp == 'I'))
 cmd = Sprintf ("newsbody -qs -n %s -p ispell -- -d italian -x %%f", 
file, 1);

else if ((rsp == 'e') or (rsp == 'E'))
      cmd = Sprintf ("newsbody -qs -n %s -p ispell -- -x %%f", file, 1);
      else return;

() = system (cmd);
}
</PRE>
<HR>
</CODE></BLOCKQUOTE>


E' necessario scaricare il dizionario italiano da:<BR>
<CODE>
<A HREF="http://members.xoom.com/endhome/download.html">http://members.xoom.com/endhome/download.html</A></CODE><BR>
<P>e il programma <CODE>newsbody</CODE> da:
<CODE>
<A HREF="http://home.worldonline.dk/~byrial/spellutils/">http://home.worldonline.dk/~byrial/spellutils/</A></CODE>
<P>
<P>
</LI>
<LI><B>MACRO N.2</B> - Questa macro serve per cercare una parola 
all' interno di tutti gli articoli presenti in un newsgroup.

<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/cerca.sl
%
% Questa macro &egrave; presente nei sorgenti del programma SLRN
%
% This macro allows one to search throgh the bodies of the articles in
% the current newsgroup.  It binds the function 'search_newsgroup' to
% the '$' key in article mode.
%
% Traduzione: questa macro effettua una ricerca all' interno degli 
% articoli del newsgroup corrente. Associa (in modalit&agrave; -elenco degli
% articoli-) la funzione 'search_newsgroup' al tasto [$].
%
% Per effettuare una ricerca: premete il tasto [$] in modalit&agrave;
% -elenco degli articoli-

variable Search_Last_Art_Search_Str = "";

define search_newsgroup ()
{
variable str;
variable flags;

str = read_mini ("Search for regexp", Search_Last_Art_Search_Str,"");
if (str == "")
  return;

Search_Last_Art_Search_Str = str;

uncollapse_threads ();

do
  {
   flags = get_header_flags ();

   if (re_search_article (str))
     {
      pop ();
      return;
     }

   set_header_flags (flags);

   call ("hide_article");
  }
while (header_down (1));

error ("Not found.");
}

definekey ("search_newsgroup", "$", "article");
</PRE>
<HR>
</CODE></BLOCKQUOTE>

<P>
<P>
</LI>
<LI><B>MACRO N.3</B> - Questa macro consente di personalizzare i
riferimenti dei vostri articoli a seconda del/dei newsgroup 
scelto/i.<BR>
Dovete riempire i campi __________ e sostituire 
&lt;ng1&gt;,&lt;ng2&gt;,&lt;ng3&gt;,&lt;ng4&gt; con nomi di newsgroup 
che avete sottoscritto (devono apparire in modalit&agrave; 
-elenco dei newsgroup-).<BR>
Un articolo inviato al newsgroup &lt;ng1&gt; avr&agrave; riferimenti e signature 
differenti da uno inviato ai newsgroup &lt;ng2&gt; o &lt;ng3&gt; o 
&lt;ng4&gt;.<BR>
Questa macro vuol essere solo un esempio: ovviamente potete
modificare riferimenti e signature per quanti newsgroup volete.

<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/multi.sl
%
% Autore: Tomasz 'tsca' Sienicki, tsca@cryogen.com
% http://www.geocities.com/tsca.geo/slang.html
%
% Modifiche: Alessandro Airaghi, a.airaghi@tiscalinet.it
% http://web.tiscalinet.it/airaghi

define common_hook ()
{
variable
         custom_headers = get_variable_value ("custom_headers"),
         editor_command = get_variable_value ("editor_command"),
followup_custom_headers = get_variable_value (
                                             "followup_custom_headers"),
        followup_string = get_variable_value ("followup_string"),
               hostname = get_variable_value ("hostname"),
           mime_charset = get_variable_value ("mime_charset"),
               realname = get_variable_value ("realname"),
                replyto = get_variable_value ("replyto"),
         signature_file = get_variable_value ("signature"),
               username = get_variable_value ("username");

if (is_substr (current_newsgroup (), "&lt;ng1>"))
 
  {
            custom_headers = "X-____: ______";
            editor_command = "vim +9"; 
   followup_custom_headers = "X-____: ______";
           followup_string = "______________";
                  hostname = "______________";
              mime_charset = "______________";
                  realname = "______________";
                   replyto = "______________";
            signature_file = "______________";
                  username = "______________";
  }

if (orelse {is_substr (current_newsgroup (), "&lt;ng2>")}
           {is_substr (current_newsgroup (), "&lt;ng3>")}
           {is_substr (current_newsgroup (), "&lt;ng4>")} )

  {
            custom_headers = "X-____: ______";
            editor_command = "vim +9";
   followup_custom_headers = "X-____: ______";
           followup_string = "______________";
                  hostname = "______________";
              mime_charset = "______________";
                  realname = "______________";
                   replyto = "______________";
            signature_file = "______________";
                  username = "______________";
  }

set_string_variable ("custom_headers", custom_headers);
set_string_variable ("editor_command", editor_command);
set_string_variable ("followup_custom_headers",followup_custom_headers);
set_string_variable ("followup_string", followup_string);
set_string_variable ("hostname", hostname);
set_string_variable ("mime_charset", mime_charset);
set_string_variable ("realname", realname);
set_string_variable ("replyto", replyto);
set_string_variable ("signature", signature_file);
set_string_variable ("username", username);
}

define followup_hook () { common_hook; }
define post_hook () { common_hook; }
</PRE>
<HR>
</CODE></BLOCKQUOTE>


<B>NOTA 1:</B> la variabile <CODE>signature_file</CODE> non deve contenere il 
carattere ~ in quanto non viene interpretato come directory HOME.
Ad esempio, se volete usare un' apposita signature per il newsgroup 
<CODE>it.test</CODE>, potete scrivere:<BR>

<CODE>signature_file = ".signature.it.test";</CODE><BR>
<P>
<P>e poi editare il file <CODE>~/.signature.it.test</CODE><BR>
<P><B>NOTA 2:</B> la stringa "alt." al posto di &lt;ng1&gt;, per esempio, 
individua tutti i newsgroup che iniziano con i caratteri "alt."
<P><B>NOTA 3:</B> se avete dei dubbi su come SLRN utilizzi le variabili 
presenti nella macro, osservate i due specchietti che seguono.
Le variabili compaiono all' interno delle parentesi graffe.
<P>Schema di un articolo (non di followup) inviato al newsgroup it.test :
<BLOCKQUOTE><CODE>
<PRE>
Path: ...!{username}
From: {username}@{hostname} ({realname})
Newsgroups: it.test
Subject: ...
Reply-To: {replyto}
{custom_headers}
Message-Id: &lt;slrn8...{username}@localhost.localdomain>
Mime-Version: 1.0
Content-Type: text/plain; charset={mime_charset}
Content-Transfer-Encoding: 7bit
User-Agent: slrn/0.9.6.2 (Linux)

...corpo dell' articolo (non di followup)...

--
{signature_file}
</PRE>
</CODE></BLOCKQUOTE>
<P>Schema di un articolo (di followup) inviato al newsgroup it.test :
<BLOCKQUOTE><CODE>
<PRE>
Path: ...!{username}
From: {username}@{hostname} ({realname})
Newsgroups: it.test
Subject: Re: ...
References: &lt;...>
Reply-To: {replyto}
{followup_custom_headers}
Message-Id: &lt;slrn8...{username}@localhost.localdomain>
Mime-Version: 1.0
Content-Type: text/plain; charset={mime_charset}
Content-Transfer-Encoding: 7bit
User-Agent: slrn/0.9.6.2 (Linux)

{followup_string}

...corpo dell' articolo (di followup)...

--
{signature_file}
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
</LI>
<LI><B>MACRO N.4</B> - Non viene suggerito il nome del newsgroup 
quando si salva un articolo premendo i tasti 
[Ctrl]+[o]<BR>
Gli articoli verranno salvati nella directory 
<CODE>~/{save_directory}</CODE> (si veda la voce "set save_directory"
nel file <CODE>~/.slrnrc</CODE>)

<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/salva_no_nome.sl
%
% Autore: Alessandro Airaghi, a.airaghi@tiscalinet.it
% http://web.tiscalinet.it/airaghi

variable ultimo_file = "";

define salva_no_nome ()
{
variable file, salva, home_dir;

file = read_mini ("Save to file (^G aborts)", ultimo_file, "");
if (file == "")
   return;
ultimo_file = file;

home_dir = make_home_filename ("");

salva = Sprintf ("%s%s/%s", home_dir, 
get_variable_value("save_directory"), ultimo_file, 3);

set_input_string (salva);
call ("save");
}

definekey ("salva_no_nome", "^o", "article");
</PRE>
<HR>
</CODE></BLOCKQUOTE>

<P>
<P>
</LI>
<LI><B>MACRO N.5</B> - Evita di premere i tasti [Esc] 
[1] [Invio] per mostrare a video tutti gli articoli 
(letti e non) di un newsgroup.
Posizionatevi sul nome di un newsgroup e premete [&amp;]

<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/seleziona_tutti.sl
%
% Autore: Paolo Piersanti, broonzy@mailandnews.com 
%
% Modifiche: Alessandro Airaghi, a.airaghi@tiscalinet.it

define seleziona_tutti ()
{
set_prefix_argument (1);
ungetkey (13);
call ("select_group");
}

definekey ("seleziona_tutti", "&amp;", "group");
</PRE>
<HR>
</CODE></BLOCKQUOTE>

</LI>
<LI><B>MACRO N.6</B> - A volte capita di leggere, nei newsgroup, messaggi
commerciali completamente fuori tema (spam). In questo caso &egrave; possibile 
inviare un' e-mail, a chi di dovere, per segnalare l' abuso (l' indirizzo
al quale rivolgersi &egrave; contenuto nell' header <CODE>X-Complaints-To</CODE>).
Posizionatevi sull' articolo che contiene lo spam e premete 
[=]<BR>
Verr&agrave; automaticamente inviata un' e-mail, contenente l' articolo in
questione, all' indirizzo presente nell' header <CODE>X-Complaints-To</CODE>

<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/segnala_spam.sl
%
% Autore: Alessandro Airaghi, a.airaghi@tiscalinet.it
% http://web.tiscalinet.it/airaghi

define segnala_spam ()
{
variable indirizzo="";
variable articolo=article_as_string ();
variable newsgroup=extract_article_header("Newsgroups");
variable cmd, fp;
variable file="/tmp/spam.txt";

% sostituisci il carattere "," con un ritorno a capo "\n"
% per utilizzare la funzione 'strtrans' occorre S-Lang >= 1.3.8
newsgroup = strtrans(newsgroup, ",", "\n");

% assegna alla variabile {indirizzo} il valore dell' header
% X-Complaints-To
indirizzo=extract_article_header("X-Complaints-To");

% esci se non esiste l' header X-Complaints-To
if (indirizzo == "") 
{ 
 message (sprintf ("%s", "Non esiste l' header X-Complaints-To"));
 return;
}

% apri il file temporaneo per la scrittura
fp = fopen (file, "w");

% scrivi nel file
fputs ("\nSPAM in newsgroup(s):\n\n", fp);
fputs (newsgroup, fp);
fputs ("\n---------------------------------------------------\n", fp);
fputs (articolo, fp);

% chiudi il file
() = fclose (fp);

% invia un' e-mail con titolo "SPAM" al destinatario indicato 
% in {indirizzo}
cmd = sprintf ("%s%s", "cat /tmp/spam.txt | mutt -s SPAM ", 
indirizzo, 2);

() = system (sprintf ("%s", cmd));

% stampa in SLRN un messaggio dell' avvenuto invio della mail
message (sprintf ("=SPAM= segnalato al seguente indirizzo: %s", 
indirizzo));

% rimuovi il file temporaneo
() = system (sprintf ("%s%s", "rm -f ", file, 2));
}

definekey ("segnala_spam", "=", "article");
</PRE>
<HR>
</CODE></BLOCKQUOTE>

</LI>
<LI><B>MACRO N.7</B> - Premendo [Ctrl]+[f] appare
una finestra con un elenco di persone alle quali possiamo inviare
una copia dell' articolo che abbiamo appena terminato di leggere.
L'elenco dei destinatari si trova all'interno della macro stessa.

<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/invia_copia.sl
%
% Autore: Alessandro Airaghi, a.airaghi@tiscalinet.it
% http://web.tiscalinet.it/airaghi

define invia_copia ()
{
 variable indirizzo="";
 variable newsgroup=extract_article_header("Newsgroups");
 variable titolo=extract_article_header("Subject");
 variable rsp, cmd, line, messaggio;
 variable article_file, body_file, forward_file;
 variable article_fp, body_fp, forward_fp;

% esci se non &egrave; ancora stato letto nessun articolo
if (_is_article_visible () == 0)
  {
  message (sprintf ("%s", "Devi prima leggere un articolo !"));
  return;
  }

% sostituisci il carattere "," con un ritorno a capo "\n"
% per utilizzare la funzione 'strtrans' occorre S-Lang >= 1.3.8
newsgroup = strtrans(newsgroup, ",", "\n");

% elenco dei nomi dei file temporanei utilizzati dalla macro
% si trovano tutti in /tmp
%
% article         : articolo originale, completo di tutti gli header
% article-body    : solo il corpo dell' articolo
% article-forward : file da inviare in forward
article_file="/tmp/article";
body_file = article_file + "-body";
forward_file = article_file + "-forward";

% crea il file article
save_current_article(article_file);

% apri in lettura il file article
article_fp = fopen (article_file, "r");

% apri in scrittura il file article-body
body_fp = fopen (body_file, "w");

% salta gli header del file article
while (-1 != fgets (&amp;line, article_fp))
     if (line == "\n")
       break;

% crea il file article-body
while (-1 != fgets (&amp;line, article_fp))
     () = fputs (line, body_fp);
() = fclose (body_fp);

() = fclose (article_fp);

% crea il file article-forward
body_fp = fopen (body_file, "r");
forward_fp = fopen (forward_file, "w");

fputs ("\nArticolo apparso in:\n", forward_fp);
fputs (newsgroup, forward_fp);
fputs ("\n\ndal titolo:\n", forward_fp);
fputs (titolo, forward_fp);

fputs ("\n\nCredo possa interessarti !\n", forward_fp);
fputs ("-----------------------------------------------------\n\n", 
forward_fp);

while (-1 != fgets (&amp;line, body_fp))
     () = fputs (line, forward_fp);

() = fclose (forward_fp);
() = fclose (body_fp);

% finestra per la selezione del destinatario
rsp = get_select_box_response 
      ("Invia una copia a:",    % titolo della finestra
       "Mario Rossi",           % destinatario numero 0 
       "utente locale [alex]",  % destinatario numero 1
       2);                      % totale numero destinatari = 2

switch (rsp)
 {case 0: indirizzo="mr@tiscalinet.it"; }
 {case 1: indirizzo="alex"; }

% invio dell' e-mail
messaggio = sprintf ("%s", forward_file);

cmd = sprintf ("%s%s%s%s", "cat ", messaggio, 
" | mutt -s Leggi_questo ", indirizzo, 4);

() = system (sprintf ("%s", cmd));

message (sprintf ("Inviata una copia del messaggio a: %s", 
indirizzo));

% cancella i file temporanei
() = system (sprintf ("%s%s", "rm -f ", article_file, 2));
() = system (sprintf ("%s%s", "rm -f ", body_file, 2));
() = system (sprintf ("%s%s", "rm -f ", forward_file, 2));
}

definekey ("invia_copia", "^f", "article");
</PRE>
<HR>
</CODE></BLOCKQUOTE>

</LI>
<LI><B>MACRO N.8</B> - Come la macro precedente, con la differenza che
l' elenco dei destinatari viene automaticamente prelevato dal 
file <CODE>~/.mutt_aliases</CODE><BR>
Anche in questo caso dovete premere [Ctrl]+[f]

<BLOCKQUOTE><CODE>
<HR>
<PRE>
% File ~/invia_copia2.sl
%
% Autore: Alessandro Airaghi, a.airaghi@tiscalinet.it
% http://web.tiscalinet.it/airaghi
%
% Autore: Vanni Brutto, zanac@linuxfan.com
% http://www.zanac.net

% affinch&egrave; la macro funzioni correttamente, il file ~/.mutt_aliases
% DEVE avere la seguente sintassi:
% 
% alias &lt;nick> &lt;indirizzo e-mail> (Nome Cognome)
%
% esempi:
%
% alias io a.airaghi@tiscalinet.it (Alessandro Airaghi)
% alias Zanac zanac@linuxfan.com (Vanni Brutto)

variable indirizzo="";

define invia_copia2 ()
{
 variable articolo=article_as_string ();
 variable newsgroup=extract_article_header("Newsgroups");
 variable titolo=extract_article_header("Subject");
 variable cmd, line, messaggio;
 variable article_file, body_file, forward_file, rubrica_file,
          funzione_file;
 variable article_fp, body_fp, forward_fp, rubrica_fp,
          funzione_fp;

% esci se non &egrave; ancora stato letto nessun articolo
if (_is_article_visible () == 0)
  {
  message (sprintf ("%s", "Devi prima leggere un articolo !"));
  return;
  }

% sostituisci il carattere "," con un ritorno a capo "\n"
% per utilizzare la funzione 'strtrans' occorre slang >= 1.3.8
newsgroup = strtrans(newsgroup, ",", "\n");

% elenco dei file temporanei utilizzati dalla macro
% si trovano tutti in /tmp
%
% article_file    : articolo originale, completo di tutti gli header
% body_file       : solo il corpo dell'articolo
% forward_file    : file da inviare in forward
% rubrica_file    : contiene gli indirizzi e-mail ed i nomi dei
%                   destinatari estratti dal file ~/.mutt_aliases
%                   Il file contiene delle linee del tipo:
%
%                   "a.airaghi@tiscalinet.it (Alessandro Airaghi)",
%                   "zanac@linuxfan.com (Vanni Brutto)",
%
% funzione_file   : contiene la funzione 'get_address_list'.
%                   Questo file DEVE essere creato: quanti e quali alias
%                   siano presenti nel file ~/.mutt_aliases non sono
%                   noti a priori

article_file = "/tmp/article";
body_file = article_file + "-body";
forward_file = article_file + "-forward";
rubrica_file = "/tmp/rubrica.txt";
funzione_file = "/tmp/get_address_list.sl";

% crea il file rubrica_file
%
% si tenga presente che i alcuni caratteri vanno "protetti" da
% un backslash (\):
%   " diventa \"
%   ' diventa \'
%   \ diventa \\

%% estrai dal file ~/.mutt_aliases i seguenti due campi:
%% &lt;indirizzo e-mail> (Nome Cognome)
cmd = "cat ~/.mutt_aliases | cut -d \\  -f 3- > /tmp/rubrica1.txt";
() = system (sprintf ("%s", cmd));

%% aggiungi " ad inizio riga
cmd = "sed \'s/^/\"/\' /tmp/rubrica1.txt > /tmp/rubrica2.txt";
() = system (sprintf ("%s", cmd));

%% aggiungi " a fine riga
cmd = "sed \'s/$/\",/\' /tmp/rubrica2.txt > ";
() = system (sprintf ("%s%s", cmd, rubrica_file));

% crea il file funzione_file che conterr&agrave; la funzione 'get_address_list'
funzione_fp = fopen (funzione_file, "w");
fputs ("define get_address_list ()\n",funzione_fp);
fputs ("{\n", funzione_fp);
fputs ("variable n;\n", funzione_fp);
fputs ("n = _stkdepth ();\n", funzione_fp);
fputs ("select_list_box (\"Invia una copia a: \",\n", funzione_fp);

rubrica_fp = fopen (rubrica_file, "r");

% inserisci gli alias di Mutt nel file funzione_file
while (-1 != fgets (&amp;line, rubrica_fp))
     () = fputs (line, funzione_fp);
() = fclose (rubrica_fp);

fputs ("_stkdepth () - n - 1,\n", funzione_fp);
fputs ("0);\n", funzione_fp);
fputs ("}\n", funzione_fp);
%% la chiamata alla funzione 'get_address_list' deve avvenire all'interno
%% del file funzione_file
fputs ("indirizzo = get_address_list;", funzione_fp);
() = fclose (funzione_fp);

% crea il file article_file
article_fp = fopen (article_file, "w");
fputs (articolo, article_fp);
() = fclose (article_fp);

% apri in lettura il file article_file per estrarre il corpo del 
% messaggio
article_fp = fopen (article_file, "r");

% apri in scrittura il file article_body
body_fp = fopen (body_file, "w");

% salta gli header
while (-1 != fgets (&amp;line, article_fp))
     if (line == "\n")
       break;

% crea il file article_body
while (-1 != fgets (&amp;line, article_fp))
     () = fputs (line, body_fp);
() = fclose (body_fp);
() = fclose (article_fp);

% crea il file article_forward
body_fp = fopen (body_file, "r");
forward_fp = fopen (forward_file, "w");
fputs ("\nArticolo apparso in:\n", forward_fp);
fputs (newsgroup, forward_fp);
fputs ("\n\ndal titolo:\n", forward_fp);
fputs (titolo, forward_fp);
fputs ("\n\nCredo possa interessarti !\n", forward_fp);
fputs ("---------------------------------------------\n\n", forward_fp);

while (-1 != fgets (&amp;line, body_fp))
     () = fputs (line, forward_fp);

() = fclose (forward_fp);
() = fclose (body_fp);

% esegui la funzione 'get_address_list' contenuta nel file funzione_file
evalfile(funzione_file);

% la funzione 'get_address_list' restituisce una stringa cos&igrave;
% fatta:
% 
% &lt;indirizzo e-mail> &lt;nome e cognome tra parentesi tonde>
%
% sostituisci allora il carattere " " con un ritorno a capo "\n"
% affinch&egrave; Mutt venga chiamato in maniera corretta
%
% per utilizzare la funzione 'strtrans' occorre slang >= 1.3.8
indirizzo = strtrans(indirizzo, " ", "\n");

% invia l' e-mail
messaggio = sprintf ("%s", forward_file);

cmd = sprintf ("%s%s%s%s", "cat ", messaggio, 
" | mutt -s Leggi_questo ", indirizzo, 4);
() = system (sprintf ("%s", cmd));

message (sprintf ("Inviata una copia del messaggio a: %s", 
indirizzo));

% cancella i file temporanei
() = system (sprintf ("%s%s", "rm -f ", article_file, 2));
() = system (sprintf ("%s%s", "rm -f ", body_file, 2));
() = system (sprintf ("%s%s", "rm -f ", forward_file, 2));
() = system (sprintf ("%s%s", "rm -f ", rubrica_file, 2));
() = system (sprintf ("%s%s", "rm -f ", funzione_file, 2));
() = system (sprintf ("%s", "rm -f /tmp/rubrica1.txt"));
() = system (sprintf ("%s", "rm -f /tmp/rubrica2.txt"));
}

definekey ("invia_copia2", "^f", "article");
</PRE>
<HR>
</CODE></BLOCKQUOTE>


<B>NOTA:</B> affinch&egrave; la macro funzioni correttamente, il file 
<CODE>~/.mutt_aliases</CODE> DEVE avere la seguente sintassi:<BR>

<BLOCKQUOTE><CODE>
<PRE>
alias &lt;nick> &lt;indirizzo e-mail> (Nome Cognome)
</PRE>
</CODE></BLOCKQUOTE>


esempi:<BR>

<BLOCKQUOTE><CODE>
<PRE>
alias io a.airaghi@tiscalinet.it (Alessandro Airaghi)
alias Zanac zanac@linuxfan.com (Vanni Brutto)
</PRE>
</CODE></BLOCKQUOTE>

</LI>
</UL>
<P>
<P>
<HR>
<A HREF="SLRN+SLRNPULL-HOWTO-6.html">Avanti</A>
<A HREF="SLRN+SLRNPULL-HOWTO-4.html">Indietro</A>
<A HREF="SLRN+SLRNPULL-HOWTO.html#toc5">Indice</A>
</BODY>
</HTML>