Commit graph

27369 commits

Author SHA1 Message Date
nobu
d176c4ee99 Bug #5348
* test/rubygems/test_gem_indexer.rb (setup, teardown): save @tempdir
  to remove it properly.  [Bug #5348]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 15:37:25 +00:00
nobu
ce8e2d5404 Feature #5896
* vsnprintf.c (BSD_vfprintf): [EXPERIMENTAL] object representation in
  rb_enc_vsprintf(). [Feature #5896]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 14:36:54 +00:00
nobu
60e8cd2e68 vm.c: marshal compatibility
* vm.c (Init_VM): fix marshal compatibility of backtrace.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 14:01:41 +00:00
nobu
ab42fe2a41 vm.c: fix typo
* vm.c (Init_VM): fix typo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 14:01:39 +00:00
nobu
e1c652bbaf vm.c: rb_typeddata_is_kind_of
* vm.c (rb_backtrace_p): use rb_typeddata_is_kind_of().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 14:01:37 +00:00
nobu
a4a922e9bc vm_eval.c: fix types
* vm_eval.c (rb_backtrace_struct, backtreace_collect): use size_t
  instead of int to get rid of overflow.

* vm_eval.c (backtrace_object, vm_backtrace_each): ditto, use
  ptrdiff_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 14:01:34 +00:00
nobu
04a03b34c3 vm.c: suppress 64-to-32 warnings
* vm.c (backtrace_object): suppress 64-to-32 warnings.  should adjust
  types.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 09:51:20 +00:00
ko1
d5893b91fa * vm_method.c (rb_method_defined_by): removed.
nobu pointed out that rb_method_basic_definition_p() is enough
  for last commit.
* error.c, eval_error.c: change for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 06:36:44 +00:00
ko1
3dcebce523 * vm.c: add RubyVM::Backtrace object (btobj).
Backtrace information contains an array consists of location
  information for each frames by string.
  RubyVM::Backtrace object is lightweight backtrace information,
  which contains complete information to generate traditional style
  backtrace (an array of strings) with faster generation.
  If someone accesses to backtrace information via
  Exception#backtrace, then convert a RubyVM::Backtrace object to
  traditonal style backtrace.
  This change causes incompatibility on marshal dumpped binary
  of Exception.  If you have any trouble on it, please tell us
  before Ruby 2.0 release.
  Note that RubyVM::Backtrace object should not expose Ruby level.
* error.c, eval.c, vm_eval.c: ditto.
* internal.h: ditto.
* eval_error.c: fix to skip "set_backtrace" method invocation in
  creating an exception object if it call a normal set_backtrace
  method (defined by core).
* test/ruby/test_settracefunc.rb: fix for above change.
* vm_method.c (rb_method_defined_by): added.  This function
  checks that the given object responds with the given method
  by the given cfunc.
* benchmark/bm_vm2_raise1.rb, benchmark/bm_vm2_raise2.rb:
  add to measure exception creation speed. raise1 create
  exception objects from shallow stack frame.  raise2 create
  exception objects from deep stack frame.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 06:09:23 +00:00
naruse
bd5c7507ec Fix wrong filename: enc/shift_jis.c -> string.c (r35724).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 04:05:09 +00:00
svn
73f3804789 * 2012-05-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 03:07:54 +00:00
nobu
3cc5ddcac1 Bug #6487
* io.c (io_strip_bom): check EOF.  [Bug #6487][ruby-core:45203]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-24 03:07:49 +00:00
drbrain
c427f44f10 Ignore extconf.rb generated mkmf.log
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 20:04:39 +00:00
naruse
3ba0abdb15 * lib/net/http/header.rb (Net::HTTPHeader#range): fix broken parser of
HTTP Range request. Old one can't parse invalid specs and multiple
  specs correctly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 13:09:26 +00:00
nobu
b0dd250dc9 use RB_TYPE_P() instead of comparison of TYPE()
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 07:13:21 +00:00
usa
87c8c5edf4 * win32/win32.c (finish_overlapped_socket, overlapped_socket_io):
replace ECONNABORTED to EPIPE in send, sendto and sendmsg to improve
  BSD socket compatibility.  this change removes a failure on the test
  of net/ftp.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 01:21:33 +00:00
drbrain
510bbe015d * lib/net/http.rb: Broke up Net::HTTP into individual files.
[ruby-trunk - Feature #6435]
* lib/net/http/backward.rb:  ditto.
* lib/net/http/response.rb:  ditto.
* lib/net/http/exceptions.rb:  ditto.
* lib/net/http/responses.rb:  ditto.
* lib/net/http/generic_request.rb:  ditto.
* lib/net/http/header.rb:  ditto.
* lib/net/http/request.rb:  ditto.
* lib/net/http/proxy_delta.rb:  ditto.
* lib/net/http/requests.rb:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-22 20:36:21 +00:00
svn
8225fd3d4c * 2012-05-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-22 20:15:33 +00:00
drbrain
1d4e7d9232 * class.c (rb_mod_init_copy): Clear the cached inspect string of a
dup'd anonymous module or class.  [ruby-trunk - Bug #6454]
* test/ruby/test_module.rb (class TestModule):  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-22 20:15:28 +00:00
nobu
cb61ea5ef3 remove trailing spaces
* vm_core.h (rb_iseq_struct): remove trailing spaces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-22 13:20:52 +00:00
naruse
3cbf88d8d4 rescue EPIPE raised from conn.print because of client's timeout
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-22 12:35:18 +00:00
ko1
8bcf7fc402 * vm_core.h: add a data type rb_location_t to store iseq location
information.
  rb_location_t#filename, filepath, name and line_no was moved from
  rb_iseq_t.  rb_location_t#basename is a new field which is
  similar to `name' field without any decoration.
  `name' field contains some decoration such as `block in foo'.
  `basename' only contains `foo'.
  rb_iseq_t contains memory object of rb_location_t.
* iseq.c: setup rb_location_t for each rb_iseq_t memory objects.
* compile.c, proc.c, vm.c, vm_dump.c, vm_eval.c, vm_insnhelper.c,
  vm_method.c: support about it.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-22 08:31:38 +00:00
svn
9c46e774c1 * 2012-05-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 15:47:08 +00:00
mame
f9217681c5 * struct.c (rb_struct_members): Refactoring. As Struct#members had
returned an array of String, the old code was needed to convert
  Symbols to Strings.  But it is almost unnecessary because the
  method now returns an array of Symbols.  A patch by Masaki
  Matsushita <glass.saga at gmail dot com>  [Feature #6218]
  [ruby-dev:45451]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 15:47:03 +00:00
naruse
2f6c48e53b OpenSSL 1.0.1 pre-beta disabled TLS v1.2 by default.
http://cvs.openssl.org/chngview?cn=21471

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 14:03:18 +00:00
naruse
f6fb038dee * lib/net/ftp.rb (Net::FTP#retrbinary): close only if conn is not nil
because transfercmd may fail and return nil.

* lib/net/ftp.rb (Net::FTP#retrlines): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 12:56:17 +00:00
naruse
acb10b8c32 Rescue exception from writing to a socket.
conn.print may raise EPIPE because ftp.retrbinary closes the connection
because of read_timeout. but the exact result varies from the situation
like platform, timing, and so on.
it may raise ECONNRESET, ECONNABORTED, EOFError, or nothing raised.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 08:48:32 +00:00
nobu
e7ce771354 lib/test/unit.rb: not override job_status option
* lib/test/unit.rb (Test::Unit::Runner#_prepare_run): not override
  job_status option if no tty.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 07:36:58 +00:00
knu
05b26a85b8 * ext/syslog/syslog.c: Classify constants and macros into several
sub-modules. (Syslog::Priority, Syslog::Level, Syslog::Option
  and Syslog::Macros)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 07:18:49 +00:00
knu
28fc368955 * ext/syslog/syslog.c (mSyslog_inspect): Use rb_sprintf().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 07:18:47 +00:00
knu
1b84082a61 * ext/syslog/syslog.c (mSyslog_inspect): Make sure self is a
module before calling rb_class2name().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 07:18:43 +00:00
nobu
9c14029fce lib/test/unit.rb: simple ouput if verbose
* lib/test/unit.rb (Test::Unit::Runner#_prepare_run): use simple
  output if verbose mode and no job-status option given.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 07:05:50 +00:00
shyouhei
51a929c66d * .travis.yml (install): It seems tcl/tk is skipped in Travis
CI. Trying to fix the situation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 03:45:52 +00:00
nobu
fb2e6803b0 enc: fix dependencies
* enc/depend (ENCOBJS): add dependencies.
* enc/make_encmake.rb (target_encodings): extract dependencies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 03:11:28 +00:00
naruse
52f0c6780e * lib/net/ftp.rb (Net::FTP#transfercmd): rescue shutdown.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-21 02:27:07 +00:00
naruse
d795f2d1a8 Shutdown gracefully.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 21:56:40 +00:00
nobu
03570f8091 ext/extmk.rb: workaround for -framework option
* ext/extmk.rb (extmake): assume non-option words are arguments.
  workaround for -framework option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 15:58:03 +00:00
svn
f244f525c5 * 2012-05-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 15:58:03 +00:00
nobu
7899034343 lib/test/unit.rb: not overwrite options itself
* lib/test/unit.rb (Test::Unit::Runner#_prepare_run): not overwrite
  options itself.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 15:58:00 +00:00
nagachika
3f6ec3ddcc * ChangeLog: fix a typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 14:18:04 +00:00
nobu
e95d690380 ext/extmk.rb: reopen stdout
* ext/extmk.rb (extmake): reopen $stdout to NULL, since setting
  $stdout cannot affect child processes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 14:00:15 +00:00
nobu
2dc01a5f2f ext/extmk.rb: Shellwords.join
* ext/extmk.rb (system): use Shellwords.join.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 14:00:13 +00:00
nobu
ea0c3a8832 ruby.c: fixed typo
* ruby.c (Init_enc): fixed typo. defined in dmyext.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 14:00:10 +00:00
naruse
2053b5f453 * enc/shift_jis.c (code_to_mbclen): return
ONIGERR_INVALID_CODE_POINT_VALUE if the code is invalid.

* enc/shift_jis.c (tr_next): increment character until the code
  is a valid character. [ruby-dev:45652] [Bug #6450]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 13:32:16 +00:00
svn
44faaf110f * 2012-05-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 03:25:19 +00:00
nobu
a906a9d9be Bug #6462: EXTSOLIBS
* Makefile.in (LIBRUBY_SO): link EXTSOLIBS too.
* ext/extmk.rb (mf.macro): use EXTSOLIBS instead of SOLIBS to get rid
  of discard libraries needed by default.  [Bug #6462]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 03:25:14 +00:00
nobu
9373d91585 suppress unused-but-set-variable warnings
* ext/curses/curses.c (window_cury, window_curx, window_maxy)
  (window_maxx, window_begy, window_begx): suppress
  unused-but-set-variable warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 10:13:32 +00:00
nobu
15bf3182c6 static-linked-ext: all linked ruby
* ext/extmk.rb (command_output): ENCOBJS is needed for all linked
  ruby, if --disable-shared and --with-static-linked-ext.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 10:04:40 +00:00
nobu
e990086711 static-linked-ext: no ext/libext.a
* configure.in: no ext/libext.a, an archive library cannot be made
  from other archive libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 06:02:43 +00:00
nobu
a99bf256ff static-linked-ext: into libruby
* ext/extmk.rb (command_output): dmyext is needed as DLDOBJS if no
  static lined extensions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 05:57:32 +00:00