summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--misc/ruby-mode.el11
2 files changed, 9 insertions, 6 deletions
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 <nobu@ruby-lang.org>
+
+ * misc/ruby-mode.el (ruby-expr-beg): fix for invalid nest errors.
+
Tue Feb 8 19:22:59 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* 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