From: Nathan Trapuzzano Date: Thu, 12 Dec 2013 03:47:41 +0000 (-0300) Subject: * lisp/progmodes/python.el (python-indent-calculate-indentation): When X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~458 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f54de22e65df1f0f0345efce4d6fd3487d0f7bb5;p=emacs.git * lisp/progmodes/python.el (python-indent-calculate-indentation): When determining indentation, don't treat "return", "pass", etc., as operators when they are just string constituents. * automated/python-test.el (python-indent-block-enders-1): Rename from python-indent-block-enders. (python-indent-block-enders-2): New test. Fixes: debbugs:15812 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7ec6750720b..c18e0a6a133 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-12-12 Nathan Trapuzzano + + * progmodes/python.el (python-indent-calculate-indentation): When + determining indentation, don't treat "return", "pass", etc., as + operators when they are just string constituents. (Bug#15812) + 2013-12-12 Juri Linkov * uniquify.el (uniquify-buffer-name-style): Change default to diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 3e0708cd3c2..669da135644 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -774,7 +774,7 @@ START is the buffer position where the sexp starts." (save-excursion (python-util-forward-comment -1) (python-nav-beginning-of-statement) - (member (current-word) python-indent-block-enders))) + (looking-at (regexp-opt python-indent-block-enders)))) python-indent-offset 0))) ;; When inside of a string, do nothing. just use the current diff --git a/test/ChangeLog b/test/ChangeLog index 8fc6bc5158a..ce7208db229 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,9 @@ +2013-12-12 Nathan Trapuzzano + + * automated/python-test.el (python-indent-block-enders-1): Rename + from python-indent-block-enders. + (python-indent-block-enders-2): New test. + 2013-12-08 Dmitry Gutov * indent/js.js: New file. diff --git a/test/automated/python-tests.el b/test/automated/python-tests.el index 76a3add6bda..58a839a5500 100644 --- a/test/automated/python-tests.el +++ b/test/automated/python-tests.el @@ -447,7 +447,7 @@ objects = Thing.objects.all() \\\\ (should (eq (car (python-indent-context)) 'after-line)) (should (= (python-indent-calculate-indentation) 0)))) -(ert-deftest python-indent-block-enders () +(ert-deftest python-indent-block-enders-1 () "Test `python-indent-block-enders' value honoring." (python-tests-with-temp-buffer " @@ -469,6 +469,27 @@ Class foo(object): (forward-line 1) (should (= (python-indent-calculate-indentation) 8)))) +(ert-deftest python-indent-block-enders-2 () + "Test `python-indent-block-enders' value honoring." + (python-tests-with-temp-buffer + " +Class foo(object): + '''raise lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do + + eiusmod tempor incididunt ut labore et dolore magna aliqua. + ''' + def bar(self): + \"return (1, 2, 3).\" + if self.baz: + return (1, + 2, + 3) +" + (python-tests-look-at "def") + (should (= (python-indent-calculate-indentation) 4)) + (python-tests-look-at "if") + (should (= (python-indent-calculate-indentation) 8)))) + ;;; Navigation