mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
Fix fill-paragraph in python docstrings (Bug#36056)
* lisp/progmodes/python.el (python-do-auto-fill): New function. (python-mode): Set it as normal-auto-fill-function, and don't set fill-indent-according-to-mode. Having the latter set during fill-paragraph gives wrongs result, because python-indent-line doesn't remove indentation added by filling. * test/lisp/progmodes/python-tests.el (python-fill-docstring): New test.
This commit is contained in:
parent
421084d2cb
commit
cbb8a8ad97
2 changed files with 19 additions and 2 deletions
|
|
@ -4084,6 +4084,12 @@ JUSTIFY should be used (if applicable) as in `fill-paragraph'."
|
|||
(goto-char (line-end-position))))
|
||||
t)
|
||||
|
||||
(defun python-do-auto-fill ()
|
||||
"Like `do-auto-fill', but bind `fill-indent-according-to-mode'."
|
||||
;; See Bug#36056.
|
||||
(let ((fill-indent-according-to-mode t))
|
||||
(do-auto-fill)))
|
||||
|
||||
|
||||
;;; Skeletons
|
||||
|
||||
|
|
@ -5379,7 +5385,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 'normal-auto-fill-function) #'python-do-auto-fill)
|
||||
|
||||
(set (make-local-variable 'beginning-of-defun-function)
|
||||
#'python-nav-beginning-of-defun)
|
||||
|
|
|
|||
|
|
@ -1351,7 +1351,7 @@ this is an arbitrarily
|
|||
expected)))))
|
||||
|
||||
|
||||
;;; Autofill
|
||||
;;; Filling
|
||||
|
||||
(ert-deftest python-auto-fill-docstring ()
|
||||
(python-tests-with-temp-buffer
|
||||
|
|
@ -1368,6 +1368,17 @@ def some_function(arg1,
|
|||
(forward-line 1)
|
||||
(should (= docindent (current-indentation))))))
|
||||
|
||||
(ert-deftest python-fill-docstring ()
|
||||
(python-tests-with-temp-buffer
|
||||
"\
|
||||
r'''aaa
|
||||
|
||||
this is a test this is a test this is a test this is a test this is a test this is a test.
|
||||
'''"
|
||||
(search-forward "test.")
|
||||
(fill-paragraph)
|
||||
(should (= (current-indentation) 0))))
|
||||
|
||||
|
||||
;;; Mark
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue