aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorTom Tromey2017-08-27 12:54:01 -0600
committerTom Tromey2017-08-27 12:54:19 -0600
commit9e79a31c09d673019be2a2c78bf8b7db89351819 (patch)
treecd9d5cf9d85b7fa9f30e3b88f3a258e9f874a7c8 /lisp
parent5440b238b1ec4175dd32bc14b4098f6570b2ca85 (diff)
downloademacs-9e79a31c09d673019be2a2c78bf8b7db89351819.tar.gz
emacs-9e79a31c09d673019be2a2c78bf8b7db89351819.zip
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')
-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',
2380 (fill-paragraph-function #'c-fill-paragraph)) 2380 (fill-paragraph-function #'c-fill-paragraph))
2381 (c-fill-paragraph justify))) 2381 (c-fill-paragraph justify)))
2382 2382
2383(defun js-do-auto-fill ()
2384 (let ((js--filling-paragraph t))
2385 (c-do-auto-fill)))
2386
2383;;; Type database and Imenu 2387;;; Type database and Imenu
2384 2388
2385;; We maintain a cache of semantic information, i.e., the classes and 2389;; 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."
3863 (setq-local comment-start "// ") 3867 (setq-local comment-start "// ")
3864 (setq-local comment-end "") 3868 (setq-local comment-end "")
3865 (setq-local fill-paragraph-function #'js-c-fill-paragraph) 3869 (setq-local fill-paragraph-function #'js-c-fill-paragraph)
3870 (setq-local normal-auto-fill-function #'js-do-auto-fill)
3866 3871
3867 ;; Parse cache 3872 ;; Parse cache
3868 (add-hook 'before-change-functions #'js--flush-caches t t) 3873 (add-hook 'before-change-functions #'js--flush-caches t t)