Se io, nel mio .emacs, pongo TeX-mode-hook al posto di tex-mode-hook, la ricerca in avanti non funziona più.
Caro Andrea,
1)tieni presente che io sto ancora usando Mandrake Linux 9.0 con quella versione del file xdvi-search.el scaricata all’indirizzo internet che tu stesso avevi suggerito, quindi la discrepanza tra le nostre osservazioni potrebbe dipendere da questo.
2)No, non mi sembra di aver mai avuto da Emacs un messaggio di errore come
Wrong type argument: stringp, nil
anche se non vorrei giurarci poiché non sono esperto di Emacs e potrebbe essermi sfuggito.
3)Cerco di spiegarti perché a me le cose sembrano tornare perfettamente. Come certamente saprai, quando in Emacs stai editando un documento con estensione tex, diciamolo myfile.tex, Emacs valuta il contenuto del file e azzarda un’ipotesi sul fatto che l’utente stia lavorando in plain TeX oppure in LaTeX. Per esempio, se il documento inzia con \begin{document} e termina con \end{document}, Emacs sar\`a portato a `pensare’ che quasi certamente l’utente sta adoperando LaTeX; altrimenti assumerà che stia adoperando plain TeX. Nel primo caso, sulla riga grigia orizzontale in basso comparirà la scritta `(LaTeX)’, nel secondo caso la scritta `(TeX)’, con la T e la X maiuscola. Questo se non erro corrisponde a una variabile detta tex-mode, il cui valore pu\`o anche essere impostato in modo antidemocratico (cioè autoritario) dall’utente aggiungendo in fondo al file le righe
%%% Local Variables:
%%% mode: plain-TeX
%%% End:
se si tratta di plain TeX, ovvero
%%% Local Variables:
%%% mode: latex
%%% End:
se si tratta di LaTeX (e qui non credo che abbiano molta importanza le maiuscole).
Ora, il mio problema era che la ricerca in avanti falliva in tutti i file tranne uno. Quell’uno era l’unico in cui sulla riga grigia orizzontale in basso compariva la scritta `(LaTeX)’, mentre in tutti gli altri compariva la scritta `(TeX)’. Infatti, io uso plain TeX ma in quel file adopero dei comandi come \paragraph e \subparagraph che inducevano Emacs a `credere’ che io stessi adoperando LaTeX. Con questo file la ricerca in avanti funzionava poiché nel file .emacs il modo LaTeX era bene impostato. Quando dietro tuo suggerimento ho aggiunto in fondo agli altri file le righe
% Local Variables:
% mode: latex
% TeX-master: “Masterfile”
% End:
la ricerca in avanti ha funzionato non per l’impostazione della variabile TeX-master (si trattave di file singoli, per i quali Emacs assume di default la variabile TeX-master uguale al file stesso), ma perché la riga
%mode: latex
ha costretto Emacs a `credere’ che questi file fossero compilati usando LaTeX. Poi, una volta sostituite la T e la X maiuscole alle minuscole nella parola tex all’interno del file .emacs, non c’è stato più bisogno di aggiungere quelle righe e la ricerca in avanti ha funzionato normalmente in tutti i file, anche quelli in modo TeX.
Non sono assolutamente certo che questa sia la spiegazione giusta, ma mi pare che le cose messe in questo modo spieghino tutto, e, quel che più conta, mi fanno funzionare la ricerca inversa e in avanti. Potrebbe darsi, ripeto, che con Mandrake 9.1 e una diversa versione del file xdvi-search.el si debba rimettere tutto in discussione (non sia mai! Allora mi tengo il 9.0 per i prossimi cinquant’anni!).
Fammi sapere cosa ne pensi.
Ciao, ottime cose
Rodolfo