]> git.eshelyaron.com Git - emacs.git/commitdiff
js-mode: Don't indent inside a multiline string literal
authorDmitry Gutov <dgutov@yandex.ru>
Fri, 3 Apr 2015 03:37:12 +0000 (06:37 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Fri, 3 Apr 2015 03:37:31 +0000 (06:37 +0300)
* lisp/progmodes/js.el (js-indent-line): Do nothing when bol is inside
a string (https://github.com/mooz/js2-mode/issues/227).

lisp/ChangeLog
lisp/progmodes/js.el
test/indent/js.js

index 38e45d063a4333ae18c1c94a62a99ca0569ac6c1..b004a2bba966b1012140cae27247f55081747947 100644 (file)
@@ -1,3 +1,8 @@
+2015-04-03  Dmitry Gutov  <dgutov@yandex.ru>
+
+       * progmodes/js.el (js-indent-line): Do nothing when bol is inside
+       a string (https://github.com/mooz/js2-mode/issues/227).
+
 2015-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * abbrev.el (define-abbrev-table): Treat a non-string "docstring" as
index ff002983d12d6e091c143177ea86f45715b19dbd..f6cfa2e44d7c365542eb983c2af0b446ad591af3 100644 (file)
@@ -2002,7 +2002,8 @@ indentation is aligned to that column."
   (let* ((parse-status
           (save-excursion (syntax-ppss (point-at-bol))))
          (offset (- (point) (save-excursion (back-to-indentation) (point)))))
-    (indent-line-to (js--proper-indentation parse-status))
+    (unless (nth 3 parse-status)
+      (indent-line-to (js--proper-indentation parse-status)))
     (when (> offset 0) (forward-char offset))))
 
 ;;; Filling
index ad7cb56a277efb8ebbb4815d12d56c730a4ff14c..2120233259ae72b590c9db4d7fbec069bb941d7b 100644 (file)
@@ -64,6 +64,11 @@ b +=
 baz(`http://foo.bar/${tee}`)
   .qux();
 
+`multiline string
+       contents
+  are kept
+        unchanged!`
+
 // Local Variables:
 // indent-tabs-mode: nil
 // js-indent-level: 2