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/