## traduzione Debugging emacs = Introduzione = Esistono molteplici pacchetti di Emacs, collettivamente chiamati "Emacsen". Dipendono tutti da un pacchetto chiamato `emacsen-common` e sono divisi in versioni. Le versioni principali sono GNU Emacs (ossia Emacs FSF; `emacs24`, `emac23` ecc.) e `xemacs21`. A loro volta sono divisi in più pacchetti, al fine di separare i componenti generici (per i quali un solo pacchetto è necessario) da quelli che dipendono dall'architettura del sistema e componenti consigliati tra quelli opzionali. Se si desidera una versione Emacs, attualmente la più cosigliata e quella stabile, GNU Emacs (attualmente `emacs24`). Attualmente `emacs-snapshot` contiene una relativamente recente e non rilasciata versione dei sorgenti di sviluppo, ma è anche possibile ottenere versioni più recenti da un PPA o da altre risorse. `xemacs21` è la versione più vecchia ed oramai non molto attivamente supportata. Sono disponibile una moltitudine di pacchetti aggiuntivi, molti dei quali supportati in tutte le versioni, ed alcuni che forniscono nuovi e/o differenti versioni dei componenti normalmente inclusi in una installazione base, ad esempio Gnus. = Procedura di debugging = Se Emacs non funziona a dovere, provare ad eseguire `emacs -Q` per vedere se il problema svanisce. Questa istruzione disabilita la lettura del proprio file `.emacs` ed altre modifiche locali. Se il problema svanisce è dovuto a qualche personalizzazione locale. Se si riceve un messaggio di errore da parte di Emacs, è possibile ottenere una traccia che mostri quali funzioni Lisp venivano processate al momento dell'errore. Abilitare il tracciamento con il comando `M-: (setq debug-on-error t)` ed allegare il file `*Backtrace*` alla segnalazione. == Logs dell'installazione == Per problemi durante l'installazione, è necessario esaminarne i file di log. Installando con synaptic o update-manager, il log del terminale non è necessario, basterà cercare le informazioni necessarie nei file di sistema. Se l'istallazione problematica è parte di un aggiornamento, il file di log da analizzare sarà /var/log/dist-upgrade/term.log; altrimenti cercare in /var/log/apt/term.log. Per fare ciò saranno necessari i permessi di amministrazione. == Errori dovuti all'installazione di pacchetti == Un apparente errore di Emacs è spesso dovuto all'installazione di qualche pacchetto aggiuntivo che contiene un bug o è incompatibile con la versione di Emacs installata. {{{ `emacs-install: /usr/lib/emacsen-common/packages/install/ecb emacs23 ` failed at /usr/lib/emacsen-common/emacs-install line 28, line 17. `dpkg: error processing emacs23 (--configure): ` subprocess installed post-installation script returned error exit status 1 }}} Che afferma che `ecb` ne è la causa (bug || [[https://launchpad.net/bugs/466531|466531]]) {{{ `dpkg: dependency problems prevent configuration of emacs: ` emacs depends on emacs23 | emacs23-lucid | emacs23-nox; however: ` Package emacs23 is not configured yet. ` Package emacs23-lucid is not installed. ` Package emacs23-nox is not installed. `dpkg: error processing emacs (--configure): ` dependency problems - leaving unconfigured }}} Ciò significa che un problema precedente ha impedito l'installazione di emacs. È necessario andare a ritroso nel log file per capire cosa è successo. == Errori Byte-compilation == Un particolare tipo di errore durante l'installazione è il byte-compilation error. Con `emacs22` ed `emacs-snapshot` il log nel terminal conterrà un messaggio come questo: {{{ `!! Byte-compilation for <> failed!` `!! This indicates a bug in one of the add-on packages` `!! installed on your system, or a bug in Emacs itself.` `!! Please file a bug report against <>` `!! and attach the file /tmp/<>.<>` }}} Il nome del file sarà differente ogni volta. Questo file è necessario per l'analisi del problema. = Come segnalare bug = È possibile segnalare bug contro Emacs utilizzando Apport. Esiste anche lo strumento `M-x emacs-bug-report` ma non è completamente adattato per l'invio di segnalazioni ad Ubuntu. = Bug tags = (Developers: please update this section) = Come eseguire il Triage = I bug riconosciuti da Apport sono generalmente dovuti a pacchetti che hanno fallito l'installazionee solitamente includono allegati i file DpkgTerminalLog o VarDistUpgradeTermLog; Questi file sono i primi da esaminare. Molto probabilmente conterranno un messaggio d'errore, circa alla fine, che indicherà quale pacchetto ha fallito l'installazione e perchè. Se questo file è mancante, deve essere richiesto. Vedere una delle seguenti risposte precompilate. Se il messaggio indica un errore di byte-compilation in un pacchetto aggiuntivo (vedi sopra), il file temporaneo nel messaggio d'errore deve essere allegato alla segnalazione, se non lo è deve essere richiesto. Vedere una delle seguenti risposte precompilate. == Risposte generiche == '''TODO''' How to produce and attach a backtrace === Log del terminale mancante === ||Grazie per avere segnalato questo bug che ci aiuta a rendere Ubuntu migliore. Per poter analizzare questo problema è necessario allegare alla segnalazione il contenuto del file /var/log/apt/term.log.Ricordiamo che normalmente è necessario l'uso dei privilegi sudo per leggere o copiare questo file.<
><
>Se questo errore si è verificato durante un avanzamento di versione di ubuntu, il file da allegare sarà /var/log/dist-upgrade/apt-term.log<
><
>Ringraziamo anticipatamente!|| === Log Byte Compilation mancante === ||Se avete ancora questo file nel vostro sistema, vi preghiamo di allegarlo a questa segnalazione. Comunque i file nella directory /tmp vengono cancellati al riavvio; se il file è stato rimosso, è necessario ripetere l'operazione che ha generato l'errore per poter ottenere il suddetto file. Ricordiamo che il nuovo file generato avrà un nome leggermente diverso ogni volta; fare riferimento alla parte terminale di /var/log/apt/term.log per vedere il nome esatto del file generato. Sono necessari i privilegi sudo per leggere il logfile nel terminale.|| '''TODO''' The Bugs/Responses page should include these replies. == Come avanzare == L' upstream fondamentale per i bug in Emacs è http://debbugs.gnu.org/ che esegue lo stesso software di Debian BTS. I pachetti Ubuntu sono generalmente derivati da Debian, quindi Debian è un valido upstream; e ovviamente per i bug della pacchettizzazione Debian è solitamente l'unico upstream. = Bug noti = Descrizione di bug noti che possono ricevere segnalazioni duplicate e come riconoscerle. questa informazioni possono essere ottenute indirizzando la ricerca ai bug taggati come "metabug". '''Aperti''' || '''Bug''' || '''Soggetto''' || '''Sintomo''' || || [[https://launchpad.net/bugs/466531|466531]] ||ecb incompatibile con emacs-23|| Il processo di post-installazione ha fornito un codice d'uscita diverso da zero. Ovviamente questa potrebbe non essere l'unica ragione. '''Chiusi''' || '''Bug''' || '''Soggetto''' || '''Sintomo''' || || [[https://launchpad.net/bugs/467446|467446]] || update-alternatives: error: alternative path /usr/bin/xemacs21 doesn't exist || Fixed in a recent version of `xemacs21` but still affects people runnng older Ubuntu releases || || [[https://launchpad.net/bugs/464587|464587]] || ocaml-mode: Invalid syntax description flag: "()1n" || Fixed in a recent version of `ocaml` but still affects people runnng older Ubuntu releases and `xemacs21` || || [[https://launchpad.net/bugs/222870|222870]] || anjsp: Wrong number of arguments: require, 3 || `anjsp` is not compatible with `xemacs21`. It no longer ships with Ubuntu but still affects people running older Ubuntu releases || || [[https://launchpad.net/bugs/396038|396038]] || Group `staff` missing; Emacs installation failed || This rare error was never properly debugged, but it did occur more than once || = Non-bug = Attualmente,basandoci su tutte le nostre conoscenze, questo non è un bug in Emacs, ma sovente si manifesta durante la sua installazione: || '''Bug''' || '''Soggetto''' || '''Sintomo''' || || [[https://launchpad.net/bugs/512096|512096]] || Exec format error: package failed to install/remove || Seems to often affect `emacsen-common` -- `00debian-vars.el` or similar file missing even though package apparently installed. See also bug [[https://launchpad.net/bugs/582341|#582341]] || ---- CategoryBugSquad CategoryDebugging