Test comment-multi-line = nil auto fill case too

* test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
`comment-multi-line' both nil and non-nil.
* lisp/newcomment.el (comment-multi-line): Mark safe if it's a
boolean.
* etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
This commit is contained in:
Noam Postavsky 2017-02-11 23:15:13 -05:00
parent 61ea36bb37
commit 0a64666288
3 changed files with 16 additions and 10 deletions

View file

@ -624,6 +624,9 @@ initialization files.
---
** 'auto-revert-use-notify' is set back to t in 'global-auto-revert-mode'.
---
** JS mode now sets 'comment-multi-line' to t.
** CSS mode
---

View file

@ -309,6 +309,7 @@ customize this variable.
It also affects \\[indent-new-comment-line]. However, if you want this
behavior for explicit filling, you might as well use \\[newline-and-indent]."
:type 'boolean
:safe #'booleanp
:group 'comment)
(defcustom comment-empty-lines nil

View file

@ -89,16 +89,18 @@ if (!/[ (:,='\"]/.test(value)) {
(ert-deftest js-mode-auto-fill ()
(with-temp-buffer
(js-mode)
(setq fill-column 70)
(insert "/* ")
(dotimes (_ 16)
(insert "test "))
(do-auto-fill)
;; The bug is that, after auto-fill, the second line starts with
;; "/*", whereas it should start with " * ".
(goto-char (point-min))
(forward-line)
(should (looking-at " \\* test"))))
(let ((fill-column 10)
(comment-multi-line t))
(insert "/* test test")
(do-auto-fill)
;; Filling should continue the multi line comment.
(should (equal (buffer-string) "/* test\n * test"))
(erase-buffer)
(insert "/* test test")
(setq comment-multi-line nil)
(do-auto-fill)
;; Filling should start a new comment on the next line.
(should (equal (buffer-string) "/* test */\n/* test")))))
(ert-deftest js-mode-regexp-syntax-bug-25529 ()
(dolist (regexp-contents '("[^[]"