* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-heredoc): Leave
authorDmitry Gutov <dgutov@yandex.ru>
Sun, 19 May 2013 06:52:22 +0000 (10:52 +0400)
committerDmitry Gutov <dgutov@yandex.ru>
Sun, 19 May 2013 06:52:22 +0000 (10:52 +0400)
point at bol following the heredoc openers.
(ruby-syntax-propertize-expansions): Remove.

lisp/ChangeLog
lisp/progmodes/ruby-mode.el

index 903dc74..8cc4a88 100644 (file)
        call to `ruby-syntax-propertize-function'.
        (ruby-syntax-propertize-expansion): Extracted from
        `ruby-syntax-propertize-expansions'.  Handles one expansion.
-       (ruby-syntax-propertize-heredoc): Explicitly call
-       `ruby-syntax-propertize-expansions'.
        (ruby-syntax-propertize-percent-literal): Leave point right after
        the percent symbol, so that the expression expansion rule can
        propertize the contents.
+       (ruby-syntax-propertize-heredoc): Leave point at bol following the
+       heredoc openers.
+       (ruby-syntax-propertize-expansions): Remove.
 
 2013-05-18  Juri Linkov  <juri@jurta.org>
 
index 1732e0b..629d520 100644 (file)
@@ -1435,7 +1435,7 @@ It will be properly highlighted even when the call omits parens.")
                                         (line-end-position) t)
                 (unless (ruby-singleton-class-p (match-beginning 0))
                   (push (concat (ruby-here-doc-end-match) "\n") res))))
-            (let ((start (point)))
+            (save-excursion
               ;; With multiple openers on the same line, we don't know in which
               ;; part `start' is, so we have to go back to the beginning.
               (when (cdr res)
@@ -1445,11 +1445,9 @@ It will be properly highlighted even when the call omits parens.")
                 (if (null res)
                     (put-text-property (1- (point)) (point)
                                        'syntax-table (string-to-syntax "\""))))
-              ;; Make extra sure we don't move back, lest we could fall into an
-              ;; inf-loop.
-              (if (< (point) start)
-                  (goto-char start)
-                (ruby-syntax-propertize-expansions start (point)))))))
+              ;; End up at bol following the heredoc openers.
+              ;; Propertize expression expansions from this point forward.
+              ))))
 
       (defun ruby-syntax-enclosing-percent-literal (limit)
         (let ((state (syntax-ppss))