mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
* 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@2457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c5d6a1ba48
commit
eb6118992b
34 changed files with 377 additions and 70 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue