Commit graph

16006 commits

Author SHA1 Message Date
ko1
1f8620ca22 * vm_insnhelper.c (vm_yield_with_cfunc): rename parameter name
"blockptr" to "blockargptr".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 06:26:48 +00:00
yugui
62be8b0154 * common.mk (revision.h): ignores failure of file2lastrev.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 06:16:56 +00:00
ko1
b19be9b1a9 * ruby.c (process_options): fix to untouch th->mild_compile_error.
[ruby-dev:37621], [ruby-dev:37620]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 06:05:41 +00:00
ko1
6c08b4522d * iseq.h, iseq.c (rb_iseq_new_main): add a type ISEQ_TYPE_MAIN.
[ruby-dev:37619]
* compile.c (rb_dvar_defined, ruby_iseq_compile): ditto.
* iseq.c (iseq_data_to_ary, iseq_load): ditto.
* compile.c (iseq_compile_each): fix to check ip->compile_data.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 05:58:23 +00:00
akr
5effdad2cd * lib/open-uri.rb (OpenURI.redirectable?): permit https redirection.
patch from Roman Shterenzon.  [ruby-core:20485]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 05:30:58 +00:00
ko1
bd96f1fe70 * eval.c (get_errinfo): return th->errinfo value
if normal errinfo place (dynamic local viriable) is not found.
  fixes Bug #732 [ruby-dev:37046].
* bootstraptest/test_proc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 04:45:28 +00:00
yugui
e434135ecb man/irb.1: adds -v, -h, -E and -U.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 04:12:38 +00:00
ko1
b30b998966 * vm_insnhelper.c (vm_call_method, vm_call_cfunc): use original id instead of
calling id when NODE_CFUNC or NODE_BMETHOD.
  fixes Bug #632 [ruby-core:19282].
* vm_eval.c (vm_call0, vm_call_super): ditto.
* vm_method.c (rb_add_method, rb_alias): store original id
  in nd_file field of NODE_METHOD.
* test/stringio/test_stringio.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 03:57:21 +00:00
ko1
597220ef0c * vm.c (Init_VM): create and define TOPLEVEL_BINDING at first.
* vm.c (vm_set_main_stack, rb_iseq_eval_main): added.
* parse.y (rb_parser_compile_file): fix to check parse_in_eval flag.
* eval.c (ruby_exec_node): use rb_iseq_eval_main()
  instead of rb_iseq_eval().
* iseq.c (rb_iseq_new_main), vm_core.h: added.
  main script (specified by -e or script name) should be run
  under TOPLEVEL_BINDING using Kernel#eval.  Above changes
  simulate Kernel#eval behaviour.  [ruby-dev:37240]
* compile.c (make_name_for_block): skip iseq except block type.
  this fix is needed for [ruby-dev:37240], and also fixes
  [ruby-dev:35392].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 01:15:56 +00:00
yugui
5736312715 * cont.c: rdoc for Fiber. patch by Muhammad Ali.
[ruby-core:20894]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 00:25:47 +00:00
nobu
2d5061bd98 * process.c (after_fork): ignores a termination request in the
parent process.  [ruby-dev:37447]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 20:39:07 +00:00
svn
b2e95674f6 * 2008-12-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 16:53:18 +00:00
jeg2
7d052b1d74 * lib/csv.rb: Using a more robust transcoding scheme to produce
ASCII compatible inspect() messages.  [ruby-dev:37591]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 16:53:13 +00:00
akr
b729ec53a2 * io.c (fptr_finalize): don't allocate objects if noraise.
(finish_writeconv): add noalloc argument to be able to avoid
  object allocation.
  (finish_writeconv_arg): introduced again.
  (finish_writeconv_sync): follow the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 09:05:47 +00:00
yugui
3beeeffb97 * lib/irb/input-method.rb (IRB::StdioInputMethod#initialize):
removed a 'p' for debugging.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 08:06:33 +00:00
nobu
0a23fe6572 * lib/optparse.rb (OptionParser::List#summarize): gives priority
to latter switches.  [ruby-dev:36692]

* lib/optparse.rb (OptionParser#summarize): do not append
  unnecessary line terminator.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 06:50:55 +00:00
svn
90cdbb0ed9 * 2008-12-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 05:04:43 +00:00
akr
b17c5eba46 * io.c (fptr_finalize): close the IO object even if finish_writeconv or
flush is failed.
  (finish_writeconv): don't raise.  return errno or exception.
  (finish_writeconv_arg): removed.
  (finish_writeconv_sync): follow finish_writeconv change.

* transcode.c (rb_econv_make_exception): new function.

* include/ruby/encoding.h (rb_econv_make_exception): declared.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-26 05:04:39 +00:00
naruse
20f5c2a3ba * transcode.c (str_transcode0): set encoding when String#encode was
given explicit but the same destination and source encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 11:59:57 +00:00
akr
b0480260e2 * io.c (rb_io_s_pipe): unused variable removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 11:02:09 +00:00
naruse
df4699320d * transcode.c (sym_ignore): remove useless symbol.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 10:43:35 +00:00
akr
bb4329becd * io.c (pipe_close): removed.
(pipe_yield): defined.
  (rb_io_s_pipe): use pipe_yield.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 09:36:40 +00:00
naruse
d42b3e5c88 * transcode.c (decorate_convpath): show type of escaping for
xml_attr_quote or some conversions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 08:54:51 +00:00
akr
ea6ac1c45b * io.c (rb_io_initialize): check fd validity. [ruby-dev:36646]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 08:07:01 +00:00
akr
db0a659012 * io.c (flush_before_seek): check io_fflush result.
(rb_io_check_readable): ditto.
  (rb_io_flush): ditto.
  (rb_io_fsync): ditto.
  (remain_size): ditto.
  (rb_io_write_nonblock): ditto.
  (finish_writeconv): ditto.
  (fptr_finalize): ditto.
  (io_reopen): ditto.
  (rb_io_reopen): ditto.
  (copy_stream_body): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 07:25:06 +00:00
matz
ad558a3a7f * io.c (io_fflush): flush write buffer without write lock in
finalizers.  [ruby-dev:37572]

* io.c (rb_io_fptr_finalize): clear write lock before finalizing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 06:55:38 +00:00
akr
f20234994e * io.c (fptr_finalize): close the IO object even if close(2) is failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 06:08:12 +00:00
usa
9541c63080 * lib/rdoc/parser.rb (RDoc::Parser.binary?): should read in binary mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 05:53:22 +00:00
ko1
1f2d804e5e * vm_insnhelper.c (vm_method_search): fix control flow bug.
(commited at r20981)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 05:41:47 +00:00
usa
c4b30b4449 * test/ruby/test_eval.rb: add new test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 05:40:41 +00:00
usa
dea037cc67 * io.c: sorry, wrong commit. orz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 04:33:22 +00:00
usa
f29ec7ed67 * io.c (rb_io_flush): fsync() after buffer is flushed on win32.
[ruby-core:20043]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 04:29:30 +00:00
ko1
a71fb38d47 * vm_insnhelper.c (vm_method_search): return rb_cObject if there is no
super class.  [ruby-dev:37587]
* bootstraptest/test_method.rb: add tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 04:19:33 +00:00
ko1
7c982059ea * proc.c (proc_new): should use proc_dup() if block has Proc.
* vm.c (vm_make_proc_from_block): should use rb_cProc for block.
* vm.c (vm_make_proc): add an assertion.
* bootstraptest/test_proc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 03:51:35 +00:00
ko1
f6e435fe87 * vm_insnhelper.c (vm_yield_with_cfunc): check block has Proc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 03:49:09 +00:00
nobu
b8db90f35a * template/id.h.tmpl, id.h (ruby_method_ids_check): enclosed in a
struct.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 20:53:06 +00:00
nobu
934525776f * template/id.h.tmpl, id.h (ruby_method_ids): not depend on if
token are defined as macros.  [ruby-dev:37553]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 20:05:12 +00:00
nobu
011fc2649d * thread.c (thread_start_func_2): sets native thread key.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 16:52:38 +00:00
kouji
823cfeed89 * test/readline/test_readline_history.rb: check the encoding that
is in the Readline::HISTORY.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 16:11:01 +00:00
svn
60efdd5bbd * 2008-12-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 16:03:29 +00:00
kouji
bd877eb7af * test/readline/test_readline_history.rb: did not check the
encoding that is in the Readline::HISTORY. I will fix it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 16:03:25 +00:00
ko1
8d1689508d * error.c, vm_dump.c: change message by rb_bug().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 13:39:16 +00:00
ko1
155149109a * compile.c (iseq_peephole_optimize): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 13:01:09 +00:00
ko1
f23e8d87c0 * vm.c (invoke_block_from_c): fix to point right cfp.
* vm.c (vm_make_proc, vm_make_proc_from_block), vm_core.h:
  remove unused parameter cfp.
* vm_insnhelper.c, proc.c (proc_new): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 12:56:58 +00:00
ko1
7160543aeb * error.c (exc_equal): == method should not raise Exception.
[ruby-dev:37519]
* sample/test.rb: fix test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 12:02:21 +00:00
ko1
f0da2e1657 * vm_insnhelper.c (vm_call_method): use class of method defined
instead of receiver's class on bmethod.  fixes [ruby-core:20786]
* bootstraptest/test_method.rb: add a test for above.
* vm_insnhelper.c (vm_setup_method): remove unused parameter klass.
* vm_insnhelper.h (CALL_METHOD): ditto.
* insns.def, vm_eval.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 11:47:00 +00:00
ko1
8c6a26ab8e * tool/file2lastrev.rb (get_revisions): fix to ignore end of line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 11:19:32 +00:00
nobu
b8e79f34a2 * configure.in (Makefile): removes GNU make specific files on
distclean.

* Makefile.in (distclean-ext): removes extension directories.

* lib/mkmf.rb (try_do): removes conftest.dSYM


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 04:45:34 +00:00
nobu
d1af8511af * configure.in (HAVE_LONG_LONG, HAVE_OFF_T): revised for autoconf
2.62 or later.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 04:33:39 +00:00
nobu
39711b631f * configure.in (OBJDUMP, OBJCOPY): autoconf list is not comma
separated.

* configure.in (AC_HEADER_STDC, AC_CHECK_HEADERS AC_CHECK_FUNCS):
  removed duplicated checks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 21:29:34 +00:00