Commit graph

27369 commits

Author SHA1 Message Date
ayumin
8198cca945 Merge branch 'pullreq/129' into trunk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-18 16:28:42 +00:00
svn
6a298a847e * 2012-08-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-18 15:55:20 +00:00
ayumin
6eb316780f * lib/fileutils.rb: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-18 15:55:15 +00:00
svn
504dece4ea * 2012-08-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-18 00:57:53 +00:00
nobu
e6de05d7c4 enc/depend: fix inplace-build condition
* enc/depend: fix inplace-build condition.  enc.mk is generated with
  setting $srcdir to enc, but pwd is still top build direcory.
  [ruby-core:47236] [Bug #6888]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-18 00:57:48 +00:00
nobu
cedb0db802 common.mk: fix VPATH
* common.mk (ID_H_TARGET, parse.h): fix VPATH rules with nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 14:52:37 +00:00
nobu
b421bd0e12 object.c: preserve encodings
* object.c (rb_any_to_s, rb_obj_inspect): preserve encodings of class
  name and instance variable names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 14:29:00 +00:00
nobu
f7c2791c60 id.h.tmpl: preserved ids
* template/id.h.tmpl (preserved_ids): move from parse.y.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 08:35:12 +00:00
nobu
200cea6326 id.h.tmpl: joke method names
* template/id.h.tmpl (method_ids): create also joke method names
  non-separatedly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 08:35:08 +00:00
nobu
9e1b74ff5b incs: timestamp file
* Makefile.in, common.mk (incs): replace real header with the
  timestamp file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 06:36:53 +00:00
nobu
42dc1e5ef8 * id.c: move vm_opts.h dependency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 04:12:12 +00:00
usa
4a097d2e3e * ext/dl/lib/dl/func.rb (DL::Function#bind): allow to return/break from
the callback method. (Fiddle already allows it.)
  [Bug #6389] [ruby-dev:45604]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 03:42:19 +00:00
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