23328 Commits

Author SHA1 Message Date
zzak
12fdf4bc92 * ext/openssl/ossl.c: [DOC] typo in example by @zoranzaric
[Fixes GH-401] https://github.com/ruby/ruby/pull/401


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26 13:01:54 +00:00
knu
e59f453e88 * misc/ruby-electric.el (ruby-electric-delete-backward-char): Add
support for smartparen-mode.

* misc/ruby-electric.el (ruby-electric-cua-replace-region-maybe)
  (ruby-electric-cua-delete-region-maybe): New functions that
  combine `ruby-electric-cua-*-region` with
  `ruby-electric-cua-*-region-p`, using a slightly better way to
  detect if it is in cua-mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26 12:16:22 +00:00
sorah
c4b4e77c72 * insns.def (opt_regexpmatch2): Check String#=~ hasn't overridden
before calling rb_reg_match().

* test/ruby/test_string.rb: Test for above.

* vm.c (vm_init_redefined_flag): Add BOP flag for String#=~

[ruby-core:57385] [Bug #8953]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26 07:58:28 +00:00
knu
26f7f7da27 * misc/ruby-electric.el: Avoid use of the interactive function
`self-insert-command` which fires `post-self-insert-hook` and
  `post-command-hook`, to make the ruby-electric commands work
  nicely with those minor modes that make use of them to do
  similar input assistance, such as electric-pair-mode,
  autopair-mode and smartparens-mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26 07:50:19 +00:00
charliesome
b18151cf53 * insns.def (opt_regexpmatch1): check Regexp#=~ is not defined before
calling rb_reg_match()

* test/ruby/test_regexp.rb: add test

* vm.c (ruby_vm_redefined_flag): change type to short[]

* vm.c (vm_redefinition_check_flag): return REGEXP_REDEFINED_OP_FLAG if
  klass == rb_cRegexp

* vm.c (vm_init_redefined_flag): setup BOP flag for Regexp#=~

* vm_insnhelper.h: add REGEXP_REDEFINED_OP_FLAG

[ruby-core:57385] [Bug #8953]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26 07:39:48 +00:00
nobu
2bf5be1db5 gc.c: disable AddressSanitizer
* gc.c (mark_locations_array): disable AddressSanitizer.  based on a
  patch by halfie (Ruby Guy) at [ruby-core:57372].
  [ruby-core:56155] [Bug #8680]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26 05:46:52 +00:00
ko1
9215982a1f * README.EXT, README.EXT.ja: remove description of RARRAY_PTR()
and add a caution of accessing internal data structure directly.
  Also add a description of rb_ary_store().
  [Bug #8399]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-25 08:44:09 +00:00
ko1
dc626dbab3 * include/ruby/ruby.h: rename RARRAY_RAWPTR() to RARRAY_CONST_PTR().
RARRAY_RAWPTR(ary) returns (const VALUE *) type pointer and
  usecase of this macro is not acquire raw pointer, but acquire
  read-only pointer. So we rename to better name.
  RSTRUCT_RAWPTR() is also renamed to RSTRUCT_CONST_PTR()
  (I expect that nobody use it).
* array.c, compile.c, cont.c, enumerator.c, gc.c, proc.c, random.c,
  string.c, struct.c, thread.c, vm_eval.c, vm_insnhelper.c:
  catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-25 08:24:34 +00:00
nobu
d700d34043 internal.h: move inline functions
* internal.h (rb_float_value, rb_float_new): move inline functions
  from ruby/ruby.h.
* numeric.c (rb_float_value, rb_float_new): define external functions
  for extension libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-25 07:58:49 +00:00
ko1
d12d47c4be * test/rdoc/test_rdoc_generator_darkfish.rb: add a guard for windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-25 06:37:36 +00:00
drbrain
8eb3918581 * lib/rubygems: Fix CVE-2013-4363. Miscellaneous minor improvements.
* test/rubygems:  Tests for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-25 00:53:19 +00:00
kazu
b9c316da09 tabify indent
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 09:40:31 +00:00
nobu
3788742bc9 string.c: fix for UTF-16/32
* string.c (rb_str_inspect): get rid of out-of-bound access.
* string.c (rb_str_inspect): when a UTF-16/32 string doesn't have a
  BOM, inspect as a dummy encoding string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 08:39:01 +00:00
nobu
d8441fcc6e encdb.c, encoding.c: make BOM-encodings dummy
* enc/encdb.c (ENC_DUMMY_UNICODE): make BOM-encodings dummy.
* encoding.c (enc_autoload): keep dummy encodings dummy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 08:15:18 +00:00
nobu
360c66732c win32/registry.rb: size in bytes
* ext/win32/lib/win32/registry.rb (Win32::Registry#write): data size
  is in bytes, not chars.  terminators should be placed automatically.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 07:41:17 +00:00
nobu
79e880c90d win32/registry.rb: encode name
* ext/win32/lib/win32/registry.rb (Win32::Registry#each_value): encode
  name.
* ext/win32/lib/win32/registry.rb (Win32::Registry#each_key): ditto.
* ext/win32/lib/win32/registry.rb (Win32::Registry#export_string):
  encode to locale encoding if default internal is not set.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 07:39:41 +00:00
nobu
14695c4c1a win32/registry.rb: fix runtime errors
* ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumKey):
  size of the name is in WCHARs, not in bytes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 07:35:12 +00:00
charliesome
4cf9b6694f * gc.c (free_method_cache_entry_i): unused function
* gc.c (rb_free_mc_table): ditto

* internal.h (method_cache_entry_t): unused struct

* vm_method.c (verify_method_cache): remove unused variable

* vm_method.c (rb_method_entry): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 05:09:57 +00:00
charliesome
f088828106 * class.c (class_alloc): remove mc_tbl
* gc.c (obj_free): ditto

* internal.h (struct rb_classext_struct): ditto

* method.h (rb_method_entry): remove ent param

* vm_method.c: restore the global method cache. Per class cache tables
  turned out to be far too slow.

  [ruby-core:57289] [Bug #8930]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 05:02:13 +00:00
nobu
aaccbfeda1 win32/registry.rb: fix runtime errors
* ext/win32/lib/win32/registry.rb (Win32::Registry::API): need
  Constants.
* ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumValue):
  size of the name is in WCHARs, not in bytes

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-24 03:51:14 +00:00
nobu
3a2aca5075 encdb.c, utf_16_32.h: Unicode with BOM
* enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): Unicode with BOM
  must be based on big endian variants, so that actual encodings would
  work.  [ruby-core:57318] [Bug #8940]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-23 13:16:11 +00:00
glass
7eaee5b5e2 * hash.c (env_each_pair): do not call rb_assoc_new() if
it isn't needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-23 03:17:38 +00:00
nobu
d190241a9e test_module.rb: toplevel include
* test/ruby/test_module.rb (TestModule#test_include_toplevel): test
  for top level main.include.  based on a part of the patch by
  kyrylo at [GH-395].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-23 01:42:34 +00:00
nobu
f5f0b869e9 intern.h: move rb_ary_cat from internal.h
* include/ruby/intern.h (rb_ary_cat): move from internal.h, since it
  is described in README.EXT.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-22 20:07:51 +00:00
ktsj
0b39c8a08d * vm_insnhelper.c (vm_make_proc_with_iseq): fix bug message.
This is follow up to changes in r42637.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-22 11:57:50 +00:00
ktsj
d2f4e701f8 * ext/-test-/tracepoint/tracepoint.c (Init_tracepoint): prevent from GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-22 11:37:08 +00:00
eregon
3557a5f85e * benchmark/bm_app_answer.rb: revert r42990, benchmark scripts should
be self-contained and avoid dependencies, especially such small one.
  See https://github.com/ruby/ruby/pull/393#issuecomment-24861301.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-22 10:01:22 +00:00
nobu
ddef263a89 process.c: remove cloexec setting
* process.c (rb_fork_internal): remove cloexec setting on pipes
  created by rb_cloexec_pipe.  patch by normalperson (Eric Wong) at
  [ruby-core:56523].  [Bug #8769]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-21 11:11:10 +00:00
zzak
a5314c647a * lib/benchmark.rb: [DOC] grammar of Benchmark#bm [Bug #8888]
Patch by Prathamesh Sonpatki


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 16:05:48 +00:00
zzak
df3e4b8306 * enumerator.c: [DOC] Enumerator#each arguments documentation [GH-388]
Patch by @kachick  https://github.com/ruby/ruby/pull/388


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 15:51:17 +00:00
zzak
b8d053030e * enum.c: [DOC] Enumerable#to_a accepts arguments [GH-388]
Patch by @kachick https://github.com/ruby/ruby/pull/388


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 15:49:42 +00:00
nobu
1b3adaefd9 string.c: scan coderange
* string.c (rb_str_conv_enc_opts): make sure to scan coderange to get
  rid of unnecessary conversion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 15:47:46 +00:00
zzak
4c0eeec0f0 commit miss on issue number from r42995
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 15:26:03 +00:00
zzak
0f448061de * ext/openssl/lib/openssl/ssl.rb: [DOC] Document OpenSSL::SSLServer
Based on a patch by Rafal Lisowski [Bug #7348]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 15:24:03 +00:00
zzak
6f553027c5 * lib/gserver.rb: [DOC] correct gserver.rb license [Bug #8913]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 14:54:51 +00:00
zzak
40424c2600 * ext/psych/yaml/yaml.h: [DOC] merge upstream typo fix by @GreenGeorge
https://github.com/tenderlove/psych/pull/161


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 14:51:35 +00:00
zzak
8acb7800b1 Add author from r42990
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 14:41:37 +00:00
zzak
9408bba58b * lib/securerandom.rb: [DOC] SecureRandom.hex length argument
[Fixes GH-394] Patch by @avdi https://github.com/ruby/ruby/pull/394


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 14:40:08 +00:00
zzak
000f39b4ff * benchmark/bm_app_answer.rb: removed duplicate code [Fixes GH-393]
https://github.com/ruby/ruby/pull/393


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 14:35:32 +00:00
nobu
8be7ad2b6d common.mk: RUN_OPTS to tests
* common.mk (btest, btest-ruby, test-knownbug): add $(RUN_OPTS) to
  ruby to be run, so that tests are runnable before making exts.
* common.mk (test-sample): ditto, and use $(MINIRUBY) as rubytest.rb
  does not need extension libraries.
* tool/rubytest.rb: pass $(RUN_OPTS) to testing ruby using --run-opt.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 14:24:10 +00:00
nobu
aba824fece parse.y: junk sigil only names
* parse.y (intern_str): sigil only names are junk, at least one
  identifier character is needed.  [ruby-dev:47723] [Bug #8928]
* parse.y (rb_enc_symname_type): fix out of bound access.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 06:01:57 +00:00
akr
035917adc1 * ext/-test-/printf/printf.c (printf_test_call): Fix an end of buffer
argument.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 05:16:13 +00:00
nobu
5cda4e9071 parse.y: adjust position of lambda
* parse.y (lambda): adjust position to the beginning of the block.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-19 07:59:07 +00:00
nobu
170344b20e vsnprintf.c: initialize cp
* vsnprintf.c (BSD_vfprintf): initialize cp so that size is 0 in the
  commented case.  fix an accidental bug at r16716.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-19 07:25:09 +00:00
ko1
b23bbb12f2 * NEWS: add a news for r42974.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-19 05:33:47 +00:00
ko1
1e27eda2fa * include/ruby/ruby.h: make Symbol objects frozen.
[Feature #8906]
  I want to freeze this good day, too.
* test/ruby/test_eval.rb: catch up this change.
* test/ruby/test_symbol.rb: add a test to check frozen symbols.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-19 05:30:02 +00:00
drbrain
92cd831366 * NEWS: Update for RDoc 4.1.0.preview.1 and RubyGems 2.2.0.preview.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-19 00:11:45 +00:00
drbrain
e0030bd99d * lib/rdoc/markdown/literals_1_9.rb: Fix trailing whitespace.
Previously kpeg (which generates this file) added trailing
  whitespace, but this bug is now fixed.

* lib/rdoc/markdown.rb:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-19 00:00:01 +00:00
drbrain
df7dac9174 * lib/rdoc: Update to RDoc 4.1.0.preview.1
RDoc 4.1.0 contains a number of enhancements including a new default
  style and accessibility support.  You can see the changelog here:

  https://github.com/rdoc/rdoc/blob/v4.1.0.preview.1/History.rdoc

* test/rdoc:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-18 23:33:36 +00:00
tenderlove
fed428007c updating psych version
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-18 22:17:15 +00:00