emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r113061: * lisp/progmodes/ruby-mode.el (ruby-syntax-


From: Dmitry Gutov
Subject: [Emacs-diffs] trunk r113061: * lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re):
Date: Tue, 18 Jun 2013 22:18:00 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113061
revision-id: address@hidden
parent: address@hidden
committer: Dmitry Gutov <address@hidden>
branch nick: trunk
timestamp: Wed 2013-06-19 02:17:56 +0400
message:
  * lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re):
  Distinguish ternary operator tokens from slash symbol and slash
  char literal.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/progmodes/ruby-mode.el    
rubymode.el-20091113204419-o5vbwnq5f7feedwu-8804
  test/automated/ruby-mode-tests.el 
rubymodetests.el-20120720101201-mn39s4kfopdxj3ek-1
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-06-18 22:13:25 +0000
+++ b/lisp/ChangeLog    2013-06-18 22:17:56 +0000
@@ -1,3 +1,9 @@
+2013-06-18  Dmitry Gutov  <address@hidden>
+
+       * progmodes/ruby-mode.el (ruby-syntax-before-regexp-re):
+       Distinguish ternary operator tokens from slash symbol and slash
+       char literal.
+
 2013-06-18  Juanma Barranquero  <address@hidden>
 
        Convert symbol prettification into minor mode and global minor mode.

=== modified file 'lisp/progmodes/ruby-mode.el'
--- a/lisp/progmodes/ruby-mode.el       2013-05-31 16:55:03 +0000
+++ b/lisp/progmodes/ruby-mode.el       2013-06-18 22:17:56 +0000
@@ -1368,7 +1368,10 @@
         (defvar ruby-syntax-before-regexp-re
           (concat
            ;; Special tokens that can't be followed by a division operator.
-           "\\(^\\|[[=(,~?:;<>]"
+           "\\(^\\|[[=(,~;<>]"
+           ;; Distinguish ternary operator tokens.
+           ;; FIXME: They don't really have to be separated with spaces.
+           "\\|[?:] "
            ;; Control flow keywords and operators following bol or whitespace.
            "\\|\\(?:^\\|\\s \\)"
            (regexp-opt '("if" "elsif" "unless" "while" "until" "when" "and"

=== modified file 'test/automated/ruby-mode-tests.el'
--- a/test/automated/ruby-mode-tests.el 2013-05-31 16:55:03 +0000
+++ b/test/automated/ruby-mode-tests.el 2013-06-18 22:17:56 +0000
@@ -124,6 +124,12 @@
 (ert-deftest ruby-regexp-can-be-multiline ()
   (ruby-assert-state "/bars\ntees # toots \nfoos/" 3 nil))
 
+(ert-deftest ruby-slash-symbol-is-not-mistaken-for-regexp ()
+  (ruby-assert-state ":/" 3 nil))
+
+(ert-deftest ruby-slash-char-literal-is-not-mistaken-for-regexp ()
+  (ruby-assert-state "?/" 3 nil))
+
 (ert-deftest ruby-indent-simple ()
   (ruby-should-indent-buffer
    "if foo


reply via email to

[Prev in Thread] Current Thread [Next in Thread]