Sto scrivendo uno script Python in Emacs e ho attivato la modalità secondaria Auto-Fill con M-x auto-fill-mode
. Un problema che mi sembra sempre di incontrare è che questa modalità di riempimento tende a spezzare le stringhe tra virgolette su più righe senza apportare alcuna compensazione, risultando in un errore durante l'esecuzione dello script.Emacs fill mode per Python che non interrompe stringhe tra virgolette che causano errori
Ad esempio:
print 'the quick brown fox jumped over the lazy dog and
then did something else'
che si traduce in SyntaxError: EOL while scanning string literal
quando eseguito.
Esiste una modalità di riempimento in Emacs che è Python "string literal aware" e fa automaticamente ad esempio una continuazione della linea/regolazioni correlate discusse in Python style - line continuation with strings?, invece di dividere in modo ingenuo la stringa inducendo un errore?
forse considerare una richiesta di funzionalità a https://bugs.launchpad.net/python-mode. –
IMHO stai descrivendo un bug sulla funzione 'python-fill-string' di python.el (assumendo che tu usi un Emacs moderno). Osservando il codice sorgente posso vedere che non fa alcun tentativo di prevenire errori di sintassi. Potrebbe o potrebbe non essere stato risolto dai manutentori; il mio consiglio è di segnalarlo tramite 'report-emacs-bug' e tornare qui con la loro risposta se utile. Sono certo che i manutentori apprezzeranno un puntatore alla risposta accettata del link che fornisci. – juanleon
Ho segnalato questo come un bug su https://bugs.launchpad.net/python-mode/+bug/1321266. Ti riporto se c'è una soluzione. –