Commit graph

29857 commits

Author SHA1 Message Date
svn
211525d710 * 2012-08-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 02:13:36 +00:00
nobu
78f8ad683b vm_trace.c: remove meaningless assingments
* vm_trace.c (call_trace_func): remove meaningless assingments to same
  variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 02:13:31 +00:00
ko1
4a4a702e61 * vm_trace.c, vm_core.h: simplify tracing mechanism.
(1) add rb_hook_list_t data structure which includes
  hooks, events (flag) and `need_clean' flag.
  If the last flag is true, then clean the hooks list.
  In other words, deleted hooks are contained by `hooks'.
  Cleanup process should run before traversing the list.
  (2) Change check mechanism
  See EXEC_EVENT_HOOK() in vm_core.h.
  (3) Add `raw' hooks APIs
  Normal hooks are guarded from exception by rb_protect().
  However, this protection is overhead for too simple
  functions which never cause exceptions.  `raw' hooks
  are executed without protection and faster.
  Now, we only provide registration APIs.  All `raw'
  hooks are kicked under protection (same as normal hooks).
* include/ruby/ruby.h: remove internal data definition and
  macros.
* internal.h (ruby_suppress_tracing), vm_trace.c: rename
  ruby_suppress_tracing() to rb_suppress_tracing()
  and remove unused function parameter.
* parse.y: fix to use renamed rb_suppress_tracing().
* thread.c (thread_create_core): no need to set RUBY_VM_VM.
* vm.c (mark_event_hooks): move definition to vm_trace.c.
* vm.c (ruby_vm_event_flags): add a global variable.
  This global variable represents all of Threads and VM's
  event masks (T1#events | T2#events | ... | VM#events).
  You can check the possibility kick trace func or not
  with ruby_vm_event_flags.
  ruby_vm_event_flags is maintained by vm_trace.c.
* cont.c (fiber_switch, rb_cont_call): restore tracing status.
  [Feature #4347]
* test/ruby/test_continuation.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 11:41:24 +00:00
nobu
9528358120 object.c: forbid uninitialized class
* object.c (rb_class_initialize): forbid inheriting uninitialized
  class.  another class tree not based on BasicObject cannot exist.
  [ruby-core:47148][Bug #6863]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 10:15:28 +00:00
nobu
a39b94d302 common.mk: -ext- tests
* common.mk (test-ruby): include -ext- tests, which check for core
  API and behavior.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 05:33:03 +00:00
nobu
f230b1ec98 test_printf.rb: need to be infected
* test/-ext-/test_printf.rb (Test_SPrintf#test_{taint,untrust}): use
  plain object so that the results of to_s and inspect are infected.
  [ruby-dev:46053] [Bug #6881]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 02:52:09 +00:00
svn
5225cc16fe * 2012-08-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 00:46:16 +00:00
nobu
31bea5d436 unecessary macros and K&R style coding
* strftime.c: remove unnecessary macros to check traditional C.
  https://github.com/ruby/ruby/pull/46 by lateau (Daehyub Kim).
* vsnprintf.c: remove K&R.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 00:46:12 +00:00
eregon
fd7dc23d28 Kernel#inspect: improve consistency and do not call #to_s.
* object.c (rb_obj_inspect): Kernel#inspect: do not call #to_s. A class
  can now benefit from the nice default #inspect even if it defines #to_s.
  Also, there is no more unexpected change in #inspect result.
* NEWS: Add note about the change.
* bignum.c, io.c, numeric.c, object.c, proc.c, vm.c (Init_*):
  Adapt internal structures (by aliasing #inspect to #to_s) so they
  don't rely on the removed behavior (#inspect calling overridden #to_s).
* test/ruby/test_object.rb (test_inspect): add tests for Kernel#inspect.
* lib/pp.rb (class PP): do not call #to_s anymore, as #inspect
  no more does (mame).
* test/test_pp.rb (class PPInspectTest): remove related assertion (mame).
  [ruby-core:43238][Feature #6130]
* test/drb/drbtest.rb (DRbCore#teardown, DRbAry#teardown):
  adapt DRb tests with the new change (shirosaki).
  [ruby-core:47182][Bug #6866]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 11:50:01 +00:00
usa
e272790d11 * lib/test/unit.rb (Test::Unit::Runner#failed): need to delete the
status line if the status is skipped and -q is specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 09:08:09 +00:00
nobu
665b06ec5b sprintf.c: infect
* sprintf.c (ruby__sfvextra): the result should be infected by the
  given strings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 07:26:55 +00:00
nobu
bb545e2131 sprintf.c: coderange fix
* sprintf.c (ruby__sfvwrite): set buffer length and exclude
  uninitialized garbage to get correct coderange.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 07:23:38 +00:00
nobu
e7878d2082 common.mk: ID_H_TARGET
* common.mk (ID_H_TARGET): make timestamp file of id.h so that the
  header will not be remade repetitively.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 07:20:12 +00:00
nobu
1b4a45cfe4 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 04:43:22 +00:00
ko1
8eb93103e4 * vm_trace.c: separate trace_func related functions from
thread.c.
* thread.c: ditto.
* common.mk: add vm_trace.o.
* inits.c: call Init_vm_trace().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 04:39:10 +00:00
svn
d2e9b54564 * 2012-08-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 01:09:16 +00:00
naruse
780e7d0951 Revert r36699 and r36700. [Feature #6130]
Revert "Kernel#inspect: improve consistency and do not call #to_s."
Revert "update PP with recent Kernel#inspect change. Patch by Yusuke Endoh."

r36699 cause test-all failure on test/drb/test_drb.rb and
test/drb/test_drbssl.rb. Run test-all before commit.

Moreover its ChangeLog formst is wrong: see CommitterHowto
https://bugs.ruby-lang.org/projects/ruby/wiki/CommitterHowto#ChangeLog

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-15 01:09:10 +00:00
eregon
e1aa72d441 update PP with recent Kernel#inspect change. Patch by Yusuke Endoh.
* lib/pp.rb (class PP): do not call #to_s anymore, as #inspect no more does.
* test/test_pp.rb (class PPInspectTest): remove related assertion.
  [ruby-core:43238][Feature #6130]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 10:21:04 +00:00
eregon
795c29dcda Kernel#inspect: improve consistency and do not call #to_s.
A class can now benefit from the nice default #inspect even if it
defines #to_s. Also, there is no more unexpected change in #inspect
result. Internal structures have been adapted so they don't rely
on the removed behavior (#inspect calling overridden #to_s).

* object.c (rb_obj_inspect): Kernel#inspect: do not call #to_s.
* test/ruby/test_object.rb (test_inspect): add tests for Kernel#inspect.
* bignum.c, io.c, numeric.c, object.c, proc.c, vm.c (Init_*):
  alias #inspect to #to_s where it was expected.
  [ruby-core:43238][Feature #6130]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 10:20:44 +00:00
shugo
f42a7c0951 * test/erb/test_erb.rb (test_html_escape): add assertions for the
cases where the argument is not a String.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 07:28:43 +00:00
shugo
a2884195e7 * ChangeLog: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 07:28:41 +00:00
usa
cb4e2b590e * win32/win32.c (check_valid_dir): reject "..." as directory name.
[Bug #6851]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 07:05:12 +00:00
usa
104b5c7810 * test/ruby/test_file_exhaustive.rb
(TestFileExhaustive#test_stat_dotted_prefix): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 07:03:18 +00:00
naruse
b3a4461df2 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 06:52:41 +00:00
usa
9933a6019f * test/ruby/test_file_exhaustive.rb
(TestFileExhaustive#test_stat_drive_root): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 06:39:46 +00:00
xibbar
745ada8649 Tue Aug 14 11:55:37 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
* lib/cgi/util.rb (CGI::escapeHTML): &apos; is not recommended. [Bug #6850]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 03:03:42 +00:00
svn
7fc28975bc * 2012-08-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 02:01:10 +00:00
naruse
e9969414bb * lib/erb.rb (ERB::Util.html_escape): fix r36687: call to_s before
passing it to CGI.escapeHTML.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-14 02:01:05 +00:00
shugo
4e75451a16 * test/erb/test_erb.rb (test_html_escape): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-13 06:39:40 +00:00
svn
eac25eed59 * 2012-08-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-13 04:17:05 +00:00
shugo
4093598bf6 * lib/erb.rb (ERB::Util.html_escape): use CGI.escape to escape
single quotes. [ruby-core:47138] [Bug #6861]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-13 04:17:00 +00:00
nobu
a632108557 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-12 03:10:36 +00:00
ktsj
9564e9bd23 * vm.c (invoke_block_from_c): fix unintentional block passing.
[ruby-dev:45071] [Bug #5832]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-12 03:04:42 +00:00
svn
00468f2109 * 2012-08-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-11 15:45:58 +00:00
eregon
9955681379 * benchmark/driver.rb: fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-11 15:45:54 +00:00
svn
50d8501431 * 2012-08-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-11 08:02:47 +00:00
kazu
66a40eccf4 remove trailing spaces
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-11 08:02:43 +00:00
naruse
ccf911a02d Refix r36678: switch with zlib and check content-encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-10 10:53:18 +00:00
naruse
89c88eb5a9 Suppress warnings: Net::HTTPResponse#header is obsolete
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-10 05:25:08 +00:00
naruse
7391ae231a Run automatic deflate decoding only if it has zlib.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-10 05:25:04 +00:00
drbrain
33a63355a7 * gc.c (gc_malloc_allocated_size): RDoc does not process macros, so
mention this method is only available when ruby is built with
	  CALC_EXACT_MALLOC_SIZE
	* gc.c (gc_malloc_allocations):  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 23:42:01 +00:00
nobu
bb979b86f8 * sample/coverage.rb: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 15:46:27 +00:00
svn
773c7e9498 * 2012-08-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 15:16:43 +00:00
kazu
54f5d4ecab fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 15:16:37 +00:00
nobu
402edc568a mkrunnable.rb: build_os
* tool/mkrunnable.rb: see build_os instead of target arch for
  cross-compiling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 14:46:53 +00:00
nobu
50f3d3feb5 configure.in: use real path
* configure.in (MINIRUBY): use real path for include path.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 14:46:48 +00:00
nobu
1fcc1762ad fake.rb.in: remove duplications
* template/fake.rb.in (builddir): remove duplications


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 14:46:44 +00:00
nagachika
2b648fb7c4 * ChangeLog: fix a typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 14:37:55 +00:00
shirosaki
dcd7f09be2 Optimize winnt_stat
* test/ruby/test_file_exhaustive.rb
  (TestFileExhaustive#test_stat_special_file): add a test.
  GetFileAttributesExW fails to get attributes of special files
  such as pagefile.sys.

* win32/win32.c (check_valid_dir): for performance, check the path
  by FindFirstFileW only if the path containts "..."

* win32/win32.c (winnt_stat): use GetFileAttributesExW instead of
  FindFirstFileW since GetFileAttributesExW is faster.
  Based on the patch by Dusan D. Majkic.
  [ruby-core:47083] [Feature #6845]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 11:34:48 +00:00
nobu
0e92dc4b72 ruby.c: show version only once
* ruby.c (proc_options): show version only once even if -v and
  --verbose are given together.
  http://twitter.com/d6rkaiz/status/233491797085671424


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 09:33:49 +00:00