Im Python-Modus gibt es eine Funktion namens py-execute-region, die eine markierte Code-Region an den Python-Puffer zur Auswertung sendet. Nach der Auswertung befindet sich der Cursor im Python-Puffer, aber ich würde es vorziehen, dass er im Skriptpuffer verbleibt, damit ich weiter Code erzeugen kann. Ich schrieb eine einfache beratende Funktion:Emacs Defadvice auf Python-Mode-Funktion
(defadvice py-execute-region
(after py-execute-region-other-window activate)
""" After execution, return cursor to script buffer """
(other-window 1)
)
Aber das tut gar nichts. Ich habe andere Varianten ausprobiert, wie "herum" und nicht "nach"; Setzen Sie eine Variable auf den Namen des Skript-Puffers und dann auf diesen Puffer und so weiter. Kein Erfolg! Ich frage mich, ob die Mechanik für jemanden offensichtlich ist ... Danke!
Dank! ... aber noch nicht für mich arbeiten. Wenn ich den Körper des defadvice mit (other-window 1) (Einfügen "x") ersetze, setzt es "x" in den Skript-Puffer, aber der Cursor ist immer noch im Python-Puffer ... sehr verwirrend. – hatmatrix
Wurde für die gleiche Funktion noch ein anderer Hinweis aktiviert? An diesem Punkt würde ich eine einfache Emacs (emacs -q) starten, laden Python-Modus, definieren und aktivieren Sie Ihre Beratung, und sehen, ob es immer noch nicht funktioniert. Es kann einige seltsame Interaktion geben. –