emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r109166: * lisp/progmodes/ruby-mode.e


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109166: * lisp/progmodes/ruby-mode.el (ruby-parse-partial): No error when end
Date: Fri, 20 Jul 2012 07:10:25 -0400
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109166
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11923
author: Dmitry Gutov <address@hidden>
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Fri 2012-07-20 07:10:25 -0400
message:
  * lisp/progmodes/ruby-mode.el (ruby-parse-partial): No error when end
  up inside string symbol literal.
  * test/automated/ruby-mode-tests.el: New file with one test.
added:
  test/automated/ruby-mode-tests.el
modified:
  lisp/ChangeLog
  lisp/progmodes/ruby-mode.el
  test/ChangeLog
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-07-20 10:29:32 +0000
+++ b/lisp/ChangeLog    2012-07-20 11:10:25 +0000
@@ -1,3 +1,8 @@
+2012-07-20  Dmitry Gutov  <address@hidden>
+
+       * progmodes/ruby-mode.el (ruby-parse-partial): No error when end
+       up inside string symbol literal (bug#11923).
+
 2012-07-20  Eli Zaretskii  <address@hidden>
 
        * startup.el (fancy-startup-text): Read the whole tutorial, not

=== modified file 'lisp/progmodes/ruby-mode.el'
--- a/lisp/progmodes/ruby-mode.el       2012-04-24 17:02:46 +0000
+++ b/lisp/progmodes/ruby-mode.el       2012-07-20 11:10:25 +0000
@@ -594,7 +594,7 @@
         (goto-char pnt))
        ((looking-at ":\\(['\"]\\)")
         (goto-char (match-beginning 1))
-        (ruby-forward-string (buffer-substring (match-beginning 1) (match-end 
1)) end))
+        (ruby-forward-string (match-string 1) end t))
        ((looking-at ":\\([-,.+*/%&|^~<>]=?\\|===?\\|<=>\\|![~=]?\\)")
         (goto-char (match-end 0)))
        ((looking-at ":\\([a-zA-Z_][a-zA-Z_0-9]*[!?=]?\\)?")

=== modified file 'test/ChangeLog'
--- a/test/ChangeLog    2012-07-17 08:38:12 +0000
+++ b/test/ChangeLog    2012-07-20 11:10:25 +0000
@@ -1,3 +1,7 @@
+2012-07-20  Dmitry Gutov  <address@hidden>
+
+       * automated/ruby-mode-tests.el: New file with one test.
+
 2012-07-17  Stefan Monnier  <address@hidden>
 
        * indent/shell.sh: Add test case for ${#VAR}.

=== added file 'test/automated/ruby-mode-tests.el'
--- a/test/automated/ruby-mode-tests.el 1970-01-01 00:00:00 +0000
+++ b/test/automated/ruby-mode-tests.el 2012-07-20 11:10:25 +0000
@@ -0,0 +1,39 @@
+;;; ruby-mode-tests.el --- Test suite for ruby-mode
+
+;; Copyright (C) 2012  Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'ruby-mode)
+
+(ert-deftest indent-line-after-symbol-made-from-string-interpolation ()
+  "It can indent the line after symbol made using string interpolation."
+  (let ((initial-content "def foo(suffix)\n  :\"bar#{suffix}\"\n")
+        (expected-content "def foo(suffix)\n  :\"bar#{suffix}\"\n  "))
+    (with-temp-buffer
+      (insert initial-content)
+      (ruby-indent-line) ; Doesn't rely on text properties or the syntax table.
+      (let ((buffer-content (buffer-substring-no-properties (point-min)
+                                                            (point-max))))
+        (should (string= buffer-content expected-content))))))
+
+(provide 'ruby-mode-tests)
+
+;;; ruby-mode-tests.el ends here


reply via email to

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