diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2f7dac68467..5f8a6135fdc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2012-09-07 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-end-of-defun) + (ruby-beginning-of-defun): Simplify, allow indentation before + block beginning and end keywords. + 2012-09-06 Stefan Monnier * emacs-lisp/cl-macs.el (cl--do-arglist): Understand _ on &key args diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index bcebada5e86..e8e6b3dbaef 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -839,8 +839,8 @@ and `\\' when preceded by `?'." With ARG, move backward multiple defuns. Negative ARG means move forward." (interactive "p") - (and (re-search-backward (concat "^\\(" ruby-block-beg-re "\\)\\b") - nil 'move (or arg 1)) + (and (re-search-backward (concat "^\\s *\\(" ruby-block-beg-re "\\)\\_>") + nil t (or arg 1)) (beginning-of-line))) (defun ruby-end-of-defun (&optional arg) @@ -848,7 +848,7 @@ move forward." With ARG, move forward multiple defuns. Negative ARG means move backward." (interactive "p") - (and (re-search-forward ruby-indent-beg-re nil 'move (or arg 1)) + (and (re-search-forward (concat "^\\s *" ruby-block-end-re) nil t (or arg 1)) (beginning-of-line)) (forward-line 1))