In python-mode, esiste una funzione chiamata py-execute-region che invia una regione evidenziata di codice al buffer Python per la valutazione. Dopo la valutazione, il cursore si trova nel buffer Python, ma preferirei che rimanga nel buffer degli script, così posso continuare a produrre più codice. Ho scritto una semplice funzione di consulenza:Defacvice di Emacs in modalità Python
(defadvice py-execute-region
(after py-execute-region-other-window activate)
""" After execution, return cursor to script buffer """
(other-window 1)
)
Ma questo non fa nulla. Ho provato altre varianti come usare 'around' piuttosto che 'after'; impostando una variabile sul nome del buffer dello script e poi su pop-to-buffer su quel buffer e cose del genere. Nessun successo! Mi chiedo se la meccanica di questo è ovvio per qualcuno ... Grazie!
Grazie! ... ma ancora non funziona per me. Se sostituisco il corpo di defadvice con (other-window 1) (inserisci "x"), inserisce "x" nel buffer di script ma il cursore è ancora nel buffer Python ... molto confuso. – hatmatrix
C'è qualche altro consiglio attivato per la stessa funzione? A questo punto, vorrei avviare una semplice vanilla emacs (emacs -q), caricare la modalità python, definire e attivare il tuo consiglio e vedere se non funziona ancora. Potrebbe esserci qualche strana interazione in corso. –