Commit graph

3924 commits

Author SHA1 Message Date
nobu
46e848a65a * sprintf.c (rb_f_sprintf): should not check positional number as
width.  [ruby-core:11838]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-02 04:46:41 +00:00
nobu
12b1e59f2e * generic.rb (URI::Generic::merge_path): behave as RFC 3986.
[ruby-talk:252052]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-01 03:40:08 +00:00
nobu
798b8d2791 * bignum.c (rb_big_aref): check for Bignum index range.
[ruby-dev:31271]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-30 02:16:42 +00:00
matz
0e83f22cf5 * ext/digest/lib/digest.rb (Digest::self.const_missing): avoid
infinite recursive const_missing call.  [ruby-talk:262193]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-28 00:44:08 +00:00
nobu
ea7e249079 * dln.c (conv_to_posix_path): removed.
* ruby.c (rubylib_mangled_path, rubylib_mangled_path2): return
  VALUE instead of a pointer to static buffer.

* ruby.c (push_include_cygwin): fixed buffer overflow.
  [ruby-dev:31297]

* ruby.c (ruby_init_loadpath): not convert built-in paths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-26 04:38:07 +00:00
matz
6afa428a34 * regint.h (USE_MATCH_RANGE_IS_COMPLETE_RANGE): undef to achieve old
rindex behavior.  [ruby-dev:31265]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-23 16:11:37 +00:00
matz
46eb6e9428 * parse.y (value_expr_gen): warn for empty expression ().
[ruby-dev:31252]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-23 09:13:44 +00:00
nobu
fb00d61acf * thread.c (is_ruby_native_thread): made an int function as
well as version 1.8.

* include/ruby/ruby.h (is_ruby_native_thread): moved prototype
  from intern.h as well as version 1.8.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-22 07:07:12 +00:00
nobu
90ae4b364b * lib/mkmf.rb (init_mkmf): should remove mkmf.log too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 03:06:50 +00:00
nobu
4beb119393 * bootstraptest/runner.rb (get_result_string): check $?.coredump?
first.

* bootstraptest/runner.rb (cleanup_coredump, check_coredump): see
  stackdump file too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 00:50:42 +00:00
nobu
09ce106ab3 * bignum.c (rb_big_lshift, rb_big_rshift): separated functions
to get rid of infinite recursion.  fixed calculation in edge
  cases.  [ruby-dev:31244]

* numeric.c (rb_fix_lshift, rb_fix_rshift): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-19 05:38:48 +00:00
matz
73c8156360 * time.c (time_succ): Time#succ should return a time object in the
same timezone mode to the original.  [ruby-talk:260256]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-17 23:55:17 +00:00
matz
bc8724d05f * lib/base64.rb (Base64::b64encode): should not specify /o option
for regular expression.  [ruby-dev:31221]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-16 15:45:35 +00:00
nobu
66e1be60c3 * bignum.c (rb_big_pow): removed invariant variable. [ruby-dev:31236]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 15:26:12 +00:00
nobu
2adf19d6c4 * bignum.c (get2comp): do nothing for empty Bignum. [ruby-dev:31225]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-14 19:42:25 +00:00
matz
3e6f0e6a20 * numeric.c (int_round): should not return false, but self.
[ruby-dev:31212]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 15:38:48 +00:00
nobu
b53224b493 * lib/mkmf.rb (link_command, cc_command, cpp_command): do not expand
::CONFIG which is an alias of MAKEFILE_CONFIG.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 01:10:48 +00:00
usa
2e4f2aaaf0 * include/ruby/ruby.h (FIX2ULONG): drop sign bit for LLP64 platform.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-11 20:35:10 +00:00
nobu
c18e8ad7e9 * bcc32/{Makefile.sub,setup.mak}: remove surplus slash from srcdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-10 05:50:10 +00:00
usa
a87664923f * 2007-07-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-08 19:16:33 +00:00
ko1
0afe6cb08f * insnhelper.ci (vm_yield_setup_args), vm.c, insns.def:
fix to pass nil as block parameter to yielded block.
  [ruby-dev:31147]
* bootstraptest/test_block.rb: add a test for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-07 06:34:40 +00:00
ko1
b9171a73c4 * insns.def: fix to invoke nil.to_splat on NODE_ARGSCAT.
[ruby-dev:31138].
* bootstraptest/test_literal.rb: add tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 17:11:45 +00:00
nobu
ba563e4a41 * include/ruby/st.h, st.c (st_init_table, st_init_table_with_size):
constified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 01:06:49 +00:00
ko1
d82f3e7d5c * compile.c (compile_massign): fix massign compilation
(example: a, *v, (*x) = ...).  [ruby-dev:31107]
* bootstraptest/test_massign.rb: add tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-03 18:50:28 +00:00
ko1
0e5360b2e4 * cont.c (cont_save_machine_stack): clear saved_thread.machine_stack*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-03 04:53:05 +00:00
ko1
27013e71e4 * yarvcore.h, compile.c, insnhelper.ci, iseq.c, vm.c:
rename structure names and field names.
* insnhelper.h, insns.def: add GET_CONST_INLINE_CACHE().
* iseq.c: add rb_iseq_build_for_ruby2cext().
* yarvcore.h, vm.h: move declaration of rb_insn_func_t
  to yarvcore.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-01 18:16:02 +00:00
ko1
eb9aaa4c4f * vm.h: rename insn_func_type to rb_insn_func_type.
* vm_evalbody.ci: ditt.
* insns.def: add opt_call_native_compiled instruction
  instead of opt_call_native_compiled.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-30 18:02:24 +00:00
nobu
fd3f9eee0e * parse.y (parser_yylex): return non-valid token for an invalid
instance/class variable name.  a patch from from Yusuke ENDOH
  <mame AT tsg.ne.jp>.  [ruby-dev:31095]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 15:17:02 +00:00
nobu
cf46a2fce6 * parse.y (dsym): return non-null NODE even if yyerror(). based on a
patch from from Yusuke ENDOH <mame AT tsg.ne.jp>.  [ruby-dev:31085]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 02:23:13 +00:00
ko1
4a7d47e41a * compile.c (iseq_compile_each): fix popped backref and others.
([ruby-dev:31068]).
* compile.c (iseq_compile_each): remove needless statements.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 16:21:57 +00:00
matz
99c58e9ebc * string.c (rb_str_clear): need to check STR_EMBED_P() before
free()ing memory.  a patch from Yusuke ENDOH <mame AT tsg.ne.jp>.
  [ruby-dev:31062]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-26 15:19:39 +00:00
ko1
ed4e57690c * insnhelper.ci, vm.c: complete block parameter support.
post arguments, optional arguments, block argument.
* compile.c, parse.y: fix {|a|} parameter.
* insnshelper.ci, insns.def: revert caller_setup_args() option
  (need_block_check) parameter.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-25 16:05:17 +00:00
ko1
97ba019c94 * vm.c: some refactoring.
* rename th_* to vm_*.
  * remove unused variables functions.
  * add prototypes.
* blockinlining.c, compile.c, cont.c, eval.c, eval_intern.h,
  eval_jump.h, eval_load.c, inits.c, insns.def, iseq.c, parse.y,
  proc.c, process.c, signal.c, thread.c, vm.c, vm_dump.c,
  vm_evalbody.ci, yarvcore.c, yarvcore.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 15:42:41 +00:00
matz
3f2fe37200 * enum.c (enum_minmax): new method to get the minimum and maximum
values from the enumerable at once.

* enum.c (enum_minmax_by): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-23 15:05:05 +00:00
matz
115410ecde * string.c (rb_str_upto): add optional argument to specify
exclusiveness.

* range.c (range_step): use String#upto with optional argument.

* range.c (range_each): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-22 16:23:16 +00:00
nobu
3fc180ebeb * parse.y (rb_intern2): name may not be NUL-terminated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-21 08:12:14 +00:00
nobu
9a7a11564c * parse.y (rb_intern2): use rb_intern2 to intern without trailing
equal sign.

* parse.y (rb_intern2, ripper_id2sym): fixed indent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-19 19:43:59 +00:00
nobu
f91ec98d43 * eval_load.c (load_ext, rb_require_safe): pass VALUE instead of
pointer.  [ruby-Bugs-11659]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-19 01:53:31 +00:00
nobu
3dc070e90e * variable.c (rb_path2class): get rid of dangling pointer caused by
optimized out value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-17 15:56:36 +00:00
ko1
f84c8cb190 * sample/test.rb: fix to show line information whether test succeeds.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 03:18:12 +00:00
eban
e948c70e06 * 2007-06-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-14 06:38:07 +00:00
nobu
0e62875433 * configure.in (darwin): prohibit loading extension libraries to
miniruby.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-12 21:04:07 +00:00
usa
3cf184ce6f * 2007-06-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-12 04:09:12 +00:00
nobu
2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
matz
4d43632852 * parse.y (call_args): allow splat argument after unpacked
assocs like 1.8 does.

* parse.y (call_args): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-08 05:58:06 +00:00
ko1
ed88975237 * eval_intern.h, eval.c (ruby_init): remove POP_TAG_INIT().
* cont.c (rb_fiber_start): remove zero-clearing tag.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-06 16:04:02 +00:00
ko1
78029f00d5 * parse.y (new_yield), compile.c (iseq_compile_each): fix
passing parameter.
* eval.c, eval_jump.h: simplify rb_yield*.
* proc.c (proc_mark): fix to mark proc->block.proc.
* proc.c (Init_Proc): add Proc#lambda?
* test/ruby/test_lambda.rb: add some tests.
* vm.c (invoke_block): fix to check lambda block or not.
* vm.c (th_yield_setup_args): fix to check arguments size
  when lambda block.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 17:26:00 +00:00
nobu
99d65b14b4 * compile.c, dir.c, eval.c, eval_jump.h, eval_method.h, numeric.c,
pack.c, parse.y, re.c, thread.c, vm.c, vm_dump.c, call_cfunc.ci,
  thread_pthread.ci, thread_win32.ci: fixed indentation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 04:25:10 +00:00
usa
f3dfa40734 * 2007-06-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-04 12:48:11 +00:00
matz
2c4aff3fe0 * numeric.c (int_round): small optimization to handle bignums.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-01 16:27:05 +00:00