summaryrefslogtreecommitdiff
path: root/lisp/progmodes/js.el
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-08-27 12:54:01 -0600
committerTom Tromey <tom@tromey.com>2017-08-27 12:54:19 -0600
commit9e79a31c09d673019be2a2c78bf8b7db89351819 (patch)
treecd9d5cf9d85b7fa9f30e3b88f3a258e9f874a7c8 /lisp/progmodes/js.el
parent5440b238b1ec4175dd32bc14b4098f6570b2ca85 (diff)
downloademacs-9e79a31c09d673019be2a2c78bf8b7db89351819.tar.gz
Fix auto-fill bug in js-mode
* lisp/progmodes/js.el (js-do-auto-fill): New function. (js-mode): Set normal-auto-fill-function. * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New test.
Diffstat (limited to 'lisp/progmodes/js.el')
-rw-r--r--lisp/progmodes/js.el5
1 files changed, 5 insertions, 0 deletions
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index e6ffe4d75a6..cd315fb33ce 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -2380,6 +2380,10 @@ i.e., customize JSX element indentation with `sgml-basic-offset',
(fill-paragraph-function #'c-fill-paragraph))
(c-fill-paragraph justify)))
+(defun js-do-auto-fill ()
+ (let ((js--filling-paragraph t))
+ (c-do-auto-fill)))
+
;;; Type database and Imenu
;; We maintain a cache of semantic information, i.e., the classes and
@@ -3863,6 +3867,7 @@ If one hasn't been set, or if it's stale, prompt for a new one."
(setq-local comment-start "// ")
(setq-local comment-end "")
(setq-local fill-paragraph-function #'js-c-fill-paragraph)
+ (setq-local normal-auto-fill-function #'js-do-auto-fill)
;; Parse cache
(add-hook 'before-change-functions #'js--flush-caches t t)