]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/smie.el (smie-indent-forward-token)
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 23 May 2013 17:44:38 +0000 (13:44 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 23 May 2013 17:44:38 +0000 (13:44 -0400)
(smie-indent-backward-token): Handle string tokens.

Fixes: debbugs:14381
lisp/ChangeLog
lisp/emacs-lisp/smie.el

index e9484600cdeec82bbb0e37c31347d943a237bce3..d4f2a185cf619be485644b1d9a964515df842e59 100644 (file)
@@ -1,3 +1,8 @@
+2013-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/smie.el (smie-indent-forward-token)
+       (smie-indent-backward-token): Handle string tokens (bug#14381).
+
 2013-05-23  RĂ¼diger Sonderfeld  <ruediger@c-plusplus.de>
 
        * ielm.el (ielm-menu): New menu.
index b08839955322fded4e9d28e7a040fde72beb3f98..cb93cdf8dc6605536a30a66e600337f57db05b14 100644 (file)
@@ -1363,7 +1363,12 @@ BASE-POS is the position relative to which offsets should be applied."
      ((looking-at "\\s(\\|\\s)\\(\\)")
       (forward-char 1)
       (cons (buffer-substring (1- (point)) (point))
-            (if (match-end 1) '(0 nil) '(nil 0)))))))
+            (if (match-end 1) '(0 nil) '(nil 0))))
+     ((looking-at "\\s\"")
+      (forward-sexp 1)
+      nil)
+     ((eobp) nil)
+     (t (error "Bumped into unknown token")))))
 
 (defun smie-indent-backward-token ()
   "Skip token backward and return it, along with its levels."
@@ -1375,7 +1380,12 @@ BASE-POS is the position relative to which offsets should be applied."
      ((memq (setq class (syntax-class (syntax-after (1- (point))))) '(4 5))
       (forward-char -1)
       (cons (buffer-substring (point) (1+ (point)))
-            (if (eq class 4) '(nil 0) '(0 nil)))))))
+            (if (eq class 4) '(nil 0) '(0 nil))))
+     ((eq class 7)
+      (backward-sexp 1)
+      nil)
+     ((bobp) nil)
+     (t (error "Bumped into unknown token")))))
 
 (defun smie-indent-virtual ()
   ;; We used to take an optional arg (with value :not-hanging) to specify that