From cbf522f2446035bcd34a676c2ef3e641b4f20f90 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 11 Feb 2017 23:15:13 -0500 Subject: [PATCH] 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. --- lisp/newcomment.el | 1 + test/lisp/progmodes/js-tests.el | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 1af89293b6..4b261c34c6 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el @@ -309,6 +309,7 @@ comment-multi-line 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 diff --git a/test/lisp/progmodes/js-tests.el b/test/lisp/progmodes/js-tests.el index d61f084e0d..99f5898525 100644 --- a/test/lisp/progmodes/js-tests.el +++ b/test/lisp/progmodes/js-tests.el @@ -89,16 +89,18 @@ (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 '("[^[]" -- 2.11.1