[前][次][番号順一覧][スレッド一覧]

ruby-changes:19178

From: nobu <ko1@a...>
Date: Wed, 30 Mar 2011 22:54:32 +0900 (JST)
Subject: [ruby-changes:19178] Ruby:r31217 (trunk): * misc/ruby-mode.el (ruby-move-to-block): move to opening of

nobu	2011-03-30 22:54:26 +0900 (Wed, 30 Mar 2011)

  New Revision: 31217

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31217

  Log:
    * misc/ruby-mode.el (ruby-move-to-block): move to opening of
      block.

  Modified files:
    trunk/ChangeLog
    trunk/misc/ruby-mode.el

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 31216)
+++ ChangeLog	(revision 31217)
@@ -1,3 +1,8 @@
+Wed Mar 30 22:54:24 2011  Nobuyoshi Nakada  <nobu@r...>
+
+	* misc/ruby-mode.el (ruby-move-to-block): move to opening of
+	  block.
+
 Wed Mar 30 14:35:15 2011  Shugo Maeda  <shugo@r...>
 
 	* vm_insnhelper.h (COPY_CREF): should copy
Index: misc/ruby-mode.el
===================================================================
--- misc/ruby-mode.el	(revision 31216)
+++ misc/ruby-mode.el	(revision 31217)
@@ -910,7 +910,7 @@
   (forward-line 1))
 
 (defun ruby-move-to-block (n)
-  (let (start pos done down)
+  (let (start pos done down (orig (point)))
     (setq start (ruby-calculate-indent))
     (setq down (looking-at (if (< n 0) ruby-block-end-re
                              (concat "\\<\\(" ruby-block-beg-re "\\)\\>"))))
@@ -936,8 +936,18 @@
           (save-excursion
             (back-to-indentation)
             (if (looking-at (concat "\\<\\(" ruby-block-mid-re "\\)\\>"))
-                (setq done nil))))))
-  (back-to-indentation))
+                (setq done nil)))))
+    (back-to-indentation)
+    (when (< n 0)
+      (let ((eol (point-at-eol)) state next)
+	(if (< orig eol) (setq eol orig))
+	(setq orig (point))
+	(while (and (setq next (apply 'ruby-parse-partial eol state))
+		    (< (point) eol))
+	  (setq state next))
+	(when (cdaadr state)
+	  (goto-char (cdaadr state)))
+	(backward-word)))))
 
 (defun-region-command ruby-beginning-of-block (&optional arg)
   "Move backward to next beginning-of-block"

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]