diff options
| author | Fabián Ezequiel Gallina <fgallina@gnu.org> | 2012-12-29 09:57:49 -0300 |
|---|---|---|
| committer | Fabián Ezequiel Gallina <fgallina@gnu.org> | 2012-12-29 09:57:49 -0300 |
| commit | ccb1c17e8bf1aa0d21bddd9fa37154a120657f52 (patch) | |
| tree | 214f461e906c46adc43c49d80b221afd99feb113 /lisp | |
| parent | 16768034b209fe12a6408866ac31688604b97375 (diff) | |
| download | emacs-ccb1c17e8bf1aa0d21bddd9fa37154a120657f52.tar.gz | |
* progmodes/python.el: Support other commands triggering
python-indent-line so indentation cycling continues to work.
(python-indent-trigger-commands): New defcustom.
(python-indent-line): Use it.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/progmodes/python.el | 33 |
2 files changed, 27 insertions, 13 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9a54639a30b..b79d174d35e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,12 @@ 2012-12-29 Fabián Ezequiel Gallina <fgallina@cuca> + * progmodes/python.el: Support other commands triggering + python-indent-line so indentation cycling continues to work. + (python-indent-trigger-commands): New defcustom. + (python-indent-line): Use it. + +2012-12-29 Fabián Ezequiel Gallina <fgallina@cuca> + * progmodes/python.el (python-shell-send-region): Add blank lines for non sent code so backtraces remain correct. diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index a427e95c037..54a657a2593 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -607,6 +607,12 @@ It makes underscores and dots word constituent chars.") :group 'python :safe 'booleanp) +(defcustom python-indent-trigger-commands + '(indent-for-tab-command yas-expand yas/expand) + "Commands that might trigger a `python-indent-line' call." + :type '(repeat symbol) + :group 'python) + (define-obsolete-variable-alias 'python-indent 'python-indent-offset "24.3") @@ -905,20 +911,21 @@ Uses the offset calculated in indicated by the variable `python-indent-levels' to set the current indentation. -When the variable `last-command' is equal to -`indent-for-tab-command' or FORCE-TOGGLE is non-nil it cycles -levels indicated in the variable `python-indent-levels' by -setting the current level in the variable -`python-indent-current-level'. - -When the variable `last-command' is not equal to -`indent-for-tab-command' and FORCE-TOGGLE is nil it calculates -possible indentation levels and saves it in the variable -`python-indent-levels'. Afterwards it sets the variable -`python-indent-current-level' correctly so offset is equal -to (`nth' `python-indent-current-level' `python-indent-levels')" +When the variable `last-command' is equal to one of the symbols +inside `python-indent-trigger-commands' or FORCE-TOGGLE is +non-nil it cycles levels indicated in the variable +`python-indent-levels' by setting the current level in the +variable `python-indent-current-level'. + +When the variable `last-command' is not equal to one of the +symbols inside `python-indent-trigger-commands' and FORCE-TOGGLE +is nil it calculates possible indentation levels and saves it in +the variable `python-indent-levels'. Afterwards it sets the +variable `python-indent-current-level' correctly so offset is +equal to (`nth' `python-indent-current-level' +`python-indent-levels')" (or - (and (or (and (eq this-command 'indent-for-tab-command) + (and (or (and (memq this-command python-indent-trigger-commands) (eq last-command this-command)) force-toggle) (not (equal python-indent-levels '(0))) |
