diff options
author | Noam Postavsky <npostavs@gmail.com> | 2019-06-21 07:49:22 -0400 |
---|---|---|
committer | Noam Postavsky <npostavs@gmail.com> | 2019-06-22 19:25:44 -0400 |
commit | 0f01a58c390faf30c33b369fc81b2a14ec5b7f2e (patch) | |
tree | 358768de2c6ca522218c2dfc5dad8af523c518e7 | |
parent | f46b16b9fb00d341f222422a9514f5bd62f29971 (diff) | |
download | emacs-0f01a58c390faf30c33b369fc81b2a14ec5b7f2e.tar.gz |
Fix python docstring auto-fill (Bug#36056)
* lisp/progmodes/python.el (python-mode): Set
fill-indent-according-to-mode locally to t. This lets auto-fill do
the right thing when auto-filling inside a docstring. The default was
to nil on 2001-11-25 "(fill-indent-according-to-mode): Default to nil"
with the comment that it "screws up CC-mode's filling tricks". But
presumably it shouldn't be a problem for python-mode.
* test/lisp/progmodes/python-tests.el (python-auto-fill-docstring):
New test.
-rw-r--r-- | lisp/progmodes/python.el | 1 | ||||
-rw-r--r-- | test/lisp/progmodes/python-tests.el | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 188bc973d99..e1f9a33a691 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -5379,6 +5379,7 @@ REPORT-FN is Flymake's callback function." (set (make-local-variable 'paragraph-start) "\\s-*$") (set (make-local-variable 'fill-paragraph-function) #'python-fill-paragraph) + (set (make-local-variable 'fill-indent-according-to-mode) t) ; Bug#36056. (set (make-local-variable 'beginning-of-defun-function) #'python-nav-beginning-of-defun) diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el index a5179097172..87cee189eac 100644 --- a/test/lisp/progmodes/python-tests.el +++ b/test/lisp/progmodes/python-tests.el @@ -1341,6 +1341,24 @@ this is an arbitrarily expected))))) +;;; Autofill + +(ert-deftest python-auto-fill-docstring () + (python-tests-with-temp-buffer + "\ +def some_function(arg1, + arg2): + \"\"\" + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." + (auto-fill-mode +1) + (goto-char (point-max)) + (newline) + (search-backward "Lorem") + (let ((docindent (current-indentation))) + (forward-line 1) + (should (= docindent (current-indentation)))))) + + ;;; Mark (ert-deftest python-mark-defun-1 () |