emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111102: Backported revisions 1113


From: Fabián Ezequiel Gallina
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-24 r111102: Backported revisions 111367 and 111368 from trunk.
Date: Mon, 31 Dec 2012 16:27:20 -0300
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111102
committer: Fabián Ezequiel Gallina <address@hidden>
branch nick: emacs-24
timestamp: Mon 2012-12-31 16:27:20 -0300
message:
  Backported revisions 111367 and 111368 from trunk.
modified:
  lisp/ChangeLog
  lisp/progmodes/python.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-12-31 19:15:32 +0000
+++ b/lisp/ChangeLog    2012-12-31 19:27:20 +0000
@@ -1,3 +1,15 @@
+2012-12-31  Fabián Ezequiel Gallina  <address@hidden>
+
+       * 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-31  Fabián Ezequiel Gallina  <address@hidden>
+
+       * progmodes/python.el (python-shell-send-region): Add blank lines
+       for non sent code so backtraces remain correct.
+
 2012-12-31  Andreas Schwab  <address@hidden>
 
        * emacs-lisp/byte-run.el (defmacro): Don't lose final nil if

=== modified file 'lisp/progmodes/python.el'
--- a/lisp/progmodes/python.el  2012-12-11 07:22:55 +0000
+++ b/lisp/progmodes/python.el  2012-12-31 19:27:20 +0000
@@ -597,6 +597,12 @@
   :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")
 
@@ -895,20 +901,21 @@
 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 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
-`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 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)))
@@ -1998,7 +2005,14 @@
 (defun python-shell-send-region (start end)
   "Send the region delimited by START and END to inferior Python process."
   (interactive "r")
-  (python-shell-send-string (buffer-substring start end) nil t))
+  (python-shell-send-string
+   (concat
+    (let ((line-num (line-number-at-pos start)))
+      ;; When sending a region, add blank lines for non sent code so
+      ;; backtraces remain correct.
+      (make-string (1- line-num) ?\n))
+    (buffer-substring start end))
+   nil t))
 
 (defun python-shell-send-buffer (&optional arg)
   "Send the entire buffer to inferior Python process.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]