2012-10-24 14 views
16

Sto eseguendo Emacs 24 su Ubuntu 10.04, codificando C++ nell'ambiente C++ predefinito. Periodicamente dopo un po 'di codifica, il mio motore di indentazione sembra rompere - premendo "tab" per far rientrare i posti si posiziona qualsiasi linea all'inizio della linea. Selezionando l'intero risultato del buffer nell'intero buffer non è indentato. Questo problema ha effetto su tutti i buffer, aperti o aperti in un secondo momento. Finora l'unico modo che ho trovato per ripararlo è il passo (molto scomodo) di riavviare Emacs. C'è un altro modo per riavviare il mio motore di indentazione? Il tentativo di caricare diversi stili di indentazione non risolve il problema.emacs 24 C++ autoindentazione interrotta

+3

Ho notato che questo accade quando ho # # include intestazioni specifiche (in particolare intestazioni template-pesanti, commentando l'offendente '# include' o riavviare Emacs sembra risolvere il problema). Lascio questo commento qui per aiutare le persone a provare a isolare questo problema in modo che possa essere corretto, poiché Emacs 24.3 presenta ancora problemi. Se trovo qualcosa di conclusivo, aggiornerò. – Cornstalks

+0

Non è stato riparato? È davvero fastidioso ... – ArthurLambert

risposta

0

ho trovato direttive del preprocessore sbilanciati (#ifdef ecc) può gettarlo in questo tipo di comportamento

3

vedo la stessa con 24.3 ma ho trovato che la chiusura e riapertura del buffer interessato risolve anche il problema.

+1

stesso qui ... appena aggiornato a emacs 24.3.1 (xubuntu 14.04) e sto scoprendo che occasionalmente il motore di indentazione si sbaglia completamente. Non l'ho notato su precedenti emacs. Chiudere il file e riaprirlo è un modo per aggirare. –

2

Questo è un problema ricorrente nel mio sistema (Emacs 24.3 x86_64 Red Hat Linux) e potrebbe essere un bug introdotto in Emacs 24 a giudicare dal numero link posted by event_jr. Ho incontrato il problema abbastanza spesso e di solito risolverlo ricaricando qualunque tampone sto lavorando in:

M-x revert-buffer RET yes RET

In questo modo non c'è bisogno di chiudere né tampone né Emacs.

+1

La chiusura e l'apertura del file funzionano, è sufficiente ripristinare il buffer non sfortunatamente (24.3.1 x86_64-pc-linux-gnu). –

+0

Lo stesso per me revert-buffer non è sufficiente: / – log0

Problemi correlati