diff --git a/ChangeLog b/ChangeLog index 968965ecd5..c291f55ff6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Feb 8 19:38:00 2011 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-expr-beg): fix for invalid nest errors. + Tue Feb 8 19:22:59 2011 KOSAKI Motohiro * configure.in (AC_MSG_CHECKING): fixed typo. the patch is diff --git a/misc/ruby-mode.el b/misc/ruby-mode.el index c795773032..bdd6fc73fe 100644 --- a/misc/ruby-mode.el +++ b/misc/ruby-mode.el @@ -457,9 +457,8 @@ The variable ruby-indent-level controls the amount of indentation. (or (eq (char-syntax (char-before (point))) ?w) (ruby-special-char-p)))) nil) - ((and (progn (goto-char start) (eq option 'heredoc)) - (not (ruby-singleton-class-p))) - t) + ((and (eq option 'heredoc) (< space 0)) + (not (progn (goto-char start) (ruby-singleton-class-p)))) ((or (looking-at ruby-operator-re) (looking-at "[\\[({,;]") (and (looking-at "[!?]") @@ -532,7 +531,7 @@ The variable ruby-indent-level controls the amount of indentation. (t (setq in-string (point)) (goto-char end)))) - ((looking-at "/=") + ((looking-at "/=") (goto-char pnt)) ((looking-at "/") (cond @@ -788,7 +787,7 @@ The variable ruby-indent-level controls the amount of indentation. (setq indent (ruby-indent-size (current-column) (nth 2 state)))) (t (setq indent (+ (current-column) ruby-indent-level))))) - + ((and (nth 2 state) (< (nth 2 state) 0)) ; in negative nest (setq indent (ruby-indent-size (current-column) (nth 2 state))))) (when indent @@ -1125,7 +1124,7 @@ balanced expression is found." (concat "^[ \t]*\\(def\\|class\\|module\\)[ \t]+" "\\(" ;; \\. and :: for class method - "\\([A-Za-z_]" ruby-symbol-re "*\\|\\.\\|::" "\\)" + "\\([A-Za-z_]" ruby-symbol-re "*\\|\\.\\|::" "\\)" "+\\)") nil t) (progn