diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-05-14 06:22:31 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-05-14 06:22:31 +0000 |
commit | f9594de133633f819bc58a9fb415f9922d79a6fc (patch) | |
tree | 75790afdc7305f70f15d2c9140a8a6d75c482c80 /misc | |
parent | 6600aead6297dea2966acc50c2a1a982b7b95166 (diff) | |
download | ruby-f9594de133633f819bc58a9fb415f9922d79a6fc.tar.gz ruby-f9594de133633f819bc58a9fb415f9922d79a6fc.tar.xz ruby-f9594de133633f819bc58a9fb415f9922d79a6fc.zip |
* eval.c (rb_clear_cache_by_class): new function.
* eval.c (set_method_visibility): should have clear cache forq
updated visibility.
* numeric.c (flo_to_s): default format precision to be "%.16g".
* util.c (ruby_strtod): use own strtod(3) implementation to avoid
locale hell. Due to this change "0xff".to_f no longer returns 255.0
* eval.c (avalue_to_yvalue): new function to distinguish yvalue
(no-arg == Qundef) from svalue (no-arg == Qnil).
* eval.c (rb_yield_0): use avalue_to_yvalue().
* eval.c (assign): warn if val == Qundef where it means rhs is
void (e.g. yield without value or call without argument).
* parse.y (value_expr): need not to warn for WHILE and UNTIL,
since they can have return value (via valued break).
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'misc')
-rw-r--r-- | misc/ruby-mode.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/misc/ruby-mode.el b/misc/ruby-mode.el index b806d2f97..a45f95698 100644 --- a/misc/ruby-mode.el +++ b/misc/ruby-mode.el @@ -126,6 +126,9 @@ (defvar ruby-indent-level 2 "*Indentation of ruby statements.") +(defvar ruby-deep-arglist t + "*Deep indent argument lists when non-nil.") + (eval-when-compile (require 'cl)) (defun ruby-imenu-create-index () (let ((index-alist '()) @@ -366,18 +369,18 @@ The variable ruby-indent-level controls the amount of indentation. (forward-line 1) (goto-char (point)) ) - ((looking-at "(") + ((and (looking-at "(") ruby-deep-arglist) (setq nest (cons (cons (char-after (point)) pnt) nest)) (setq pcol (cons (cons pnt depth) pcol)) (setq depth 0) (goto-char pnt) ) - ((looking-at "[\\[{]") + ((looking-at "[\\[{(]") (setq nest (cons (cons (char-after (point)) pnt) nest)) (setq depth (1+ depth)) (goto-char pnt) ) - ((looking-at ")") + ((and (looking-at ")") ruby-deep-arglist) (setq nest (cdr nest)) (setq depth (cdr (car pcol))) (setq pcol (cdr pcol)) @@ -478,7 +481,7 @@ The variable ruby-indent-level controls the amount of indentation. (setq indent nil)) ; do nothing ((car (nth 1 state)) ; in paren (goto-char (cdr (nth 1 state))) - (if (eq (car (nth 1 state)) ?\( ) + (if (and (eq (car (nth 1 state)) ?\( ) ruby-deep-arglist) (let ((column (current-column)) (s (ruby-parse-region (point) indent-point))) (cond |