Commit graph

6203 commits

Author SHA1 Message Date
nobu
d463c492bc cgi/escape: Optimize CGI.unescape
* cgi/escape/escape.c: Optimize CGI.unescape performance by C ext
  for ASCII-compatible encodings.  [Fix GH-1250]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-21 04:57:57 +00:00
nobu
1b7109e11a cgi/escape: Optimize CGI.unescapeHTML
* cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C
  ext for ASCII-compatible encodings.  [Fix GH-1242]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-21 04:57:35 +00:00
nobu
9bfa5d917f extmk.rb: cygwin case
* ext/extmk.rb: add cygwin case, nothing excluded.
  [ruby-core:73806] [Bug#12071]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19 02:09:06 +00:00
nobu
73e29d2cf1 win32/resolv.rb: invert the condition
* ext/win32/lib/win32/resolv.rb: invert the condition to return
  immediately in the future.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15 04:23:15 +00:00
nobu
486f3f4270 win32/resolv.rb: check pointer size
* ext/win32/lib/win32/resolv.rb: check pointer size first, NT if
  it is larger than 4 as Windows 9X are 32-bit mode only.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15 03:42:09 +00:00
nobu
0f5a841881 avoid ruby-mode.el bug
* ext/win32/lib/win32/{resolv,resolv9x}.rb: get rid of
  ruby-mode.el of Emacs 24.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15 03:29:00 +00:00
nobu
2ece5109d6 split win32/resolv9x.rb
* ext/win32/lib/win32/resolv9x.rb: split code for Windows 9x from
  resolv.rb.  now it is rarely used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15 03:28:59 +00:00
zzak
70d040ddbd * ext/zlib/zlib.c: Document mtime header behavior with patch by @schneems
Fixes [GH-1129]: https://github.com/ruby/ruby/pull/1129


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-09 05:33:35 +00:00
nobu
a320f811cf mask upper nibble
* ext/cgi/escape/escape.c (optimized_escape): move c and use it
  instead of cstr[i].  mask upper nibble for the platforms where
  CHAR_BIT > 8.  [Fix GH-1238]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 05:10:36 +00:00
nobu
7d1dd7cad8 initialize dest to 0
* ext/cgi/escape/escape.c (optimized_escape_html): initialize dest
  to 0 and tell the result to be modified, instead of a separate
  flag.

* ext/cgi/escape/escape.c (optimized_escape): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 03:40:41 +00:00
nobu
217ad664ab cgi/escape: Optimize CGI.escape
* cgi/escape/escape.c: Optimize CGI.escape performance by C ext
  for ASCII-compatible encodings.  [Fix GH-1238]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 03:39:12 +00:00
naruse
040ce05610 * string.c (str_new_frozen): if the given string is embeddedable
but not embedded, embed a new copied string. [Bug #11946]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-03 04:52:13 +00:00
nobu
e14c9f1048 Fix typo on OpenSSL::PKey doc [ci skip]
* ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo
  "encrypted" to "decrypted".  [Fix GH-1235]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 23:25:40 +00:00
nobu
a43f2cbaa1 Fix Ripper.lex error in dedenting squiggly heredoc
* ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix
  Ripper.lex error in dedenting squiggly heredoc.  heredoc tree is
  also an array of Elem in the outer tree.  [Fix GH-1234]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 23:21:34 +00:00
naruse
21daa56b2a * re.c: Introduce RREGEXP_PTR.
patch by dbussink.
  partially merge https://github.com/ruby/ruby/pull/497

* include/ruby/ruby.h: ditto.

* gc.c: ditto.

* ext/strscan/strscan.c: ditto.

* parse.y: ditto.

* string.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 04:39:44 +00:00
nobu
173e287ff9 socket.c: unlimited size hostname
* ext/socket/socket.c (sock_gethostname): support unlimited size
  hostname.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-28 08:32:44 +00:00
nobu
c308fa680f depend: add capacity.o
* ext/-test-/string/depend (capacity.o): add dependencies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-27 14:57:23 +00:00
naruse
d14f0cfd16 Add tests about String's internal capacity
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-27 11:37:02 +00:00
nobu
b58fac9a97 wait readable/writable
* ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to
  wait for multiple modes, readable and writable, at once.  the
  arguments may change in the future.  [Feature #12013]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 07:55:05 +00:00
nobu
655b18e914 common.mk: source dependency for nmake
* common.mk (ext/rbconfig/sizeof/sizes.c): separate the dependency
  with VPATH and the command, get rid of weird VPATH behavior of
  nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 12:30:31 +00:00
nobu
4a01021002 vm_core.h: use RUBY_ASSERT
* vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 08:37:36 +00:00
nobu
50b014d536 ripper: clean timestamp
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-19 10:39:42 +00:00
nobu
0bc5341690 option.c: single byte boolean
* ext/socket/option.c (sockopt_bool): relax boolean size to be one
  too not only sizeof(int).  Winsock getsockopt() returns a single
  byte as a boolean socket option.  [ruby-core:72730] [Bug #11958]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 06:31:36 +00:00
nobu
b25ad0daaa option.c: make error messages consistent
* ext/socket/option.c (check_size): extract a macro to check
  binary data size, with a consistent message.
* ext/socket/option.c (sockopt_byte): fix error message,
  sizeof(int) differs from sizeof(unsigned char) in general.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 05:41:01 +00:00
hsbt
d2076446ed * ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter.
* test/openssl/test_pkey_dh.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 07:51:24 +00:00
hsbt
55cb1b5e70 * Remove 512-bit DH group. It's affected by LogJam Attack.
https://weakdh.org/
  [fix GH-1196][Bug #11968][ruby-core:72766]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 06:09:19 +00:00
nobu
a5beed9ff4 ext/-test-: reduce feature names
* ext/-test-/**/extconf.rb: bring up extension libraries which
  have same name as the parent directory to reduce feature names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 09:43:47 +00:00
normal
778bbac8ac stdlib: avoid extra calls to eliminate "\n" from Base64
We may use the '0' (zero) to avoid adding the line feed.
Furthermore, the '*' (asterisk) modifier is not needed for
a single-element arrays.

* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):
  eliminate chomp
* lib/net/http.rb (connect): eliminate delete
* lib/net/http/header.rb (basic_encode): ditto
* lib/net/imap.rb (authenticate): eliminate gsub
  (self.encode_utf7): shorten delete arg
* lib/net/smtp.rb (base64_encode): eliminate gsub
* lib/open-uri.rb (OpenURI.open_http): eliminate delete
* lib/rss/rss.rb: ditto
* lib/securerandom.rb (base64): ditto
  (urlsafe_base64): eliminate delete!
* lib/webrick/httpauth/digestauth.rb (split_param_value):
  eliminate chop
* lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete
  (setup_upstream_proxy_authentication): ditto
  [ruby-core:72666] [Feature #11938]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 00:35:43 +00:00
nobu
fa8920288c openssl: fix examples [ci skip]
* ext/openssl/ossl.c: Add missing variables to documentation
  examples.  [Fix GH-1189]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 14:15:49 +00:00
nobu
f6dcbf7472 nmake VPATH
* ext/rbconfig/sizeof/depend (sizes.c): add nmake VPATH prefix.
  reapply r53482 with '#' as separator not to be removed in
  make-snapshot.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 08:49:56 +00:00
naruse
52ddf1f869 Revert r53482 "nmake VPATH"
it breaks `make dist`.
20160109T034902Z.fail.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 07:24:56 +00:00
nobu
64e2285980 nmake VPATH
* ext/rbconfig/sizeof/depend (sizes.c): add nmake VPATH prefix.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 03:33:20 +00:00
usa
a1115a1b47 * ext/ripper/depend: Just like BSDmake, nmake also recognize the rule of
".eventids2.check" as inference one.  but nmake is not cheated by macro.
  this fixes build failure introduced at r53448. see also the commit log of
  r53452.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 12:28:32 +00:00
naruse
93bf547258 fix r53448
avoid mkmf.rb's suffix rule scanner (lib/mkmf.rb:2085), it detects
suffix rule from depend file and adds .SUFFIXES.
It breaks bsdmake to generate check file named ".eventids2.check".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 07:11:33 +00:00
nobu
b032d111ab mkmf.rb: library installation messages
* lib/mkmf.rb (configuration, dummy_makefile, create_makefile):
  show library installation messages only when any files need to
  be updated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 03:06:58 +00:00
normal
dc59c76898 stringio: binmode sets encoding to ASCII-8BIT
This should match the behavior of IO#binmode as far
as treating content as ASCII-8BIT (binary).

* ext/stringio/stringio.c (strio_binmode): implement to set encoding
* test/stringio/test_stringio.rb (test_binmode): new test
  [ruby-core:72699] [Bug #11945]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-04 20:45:14 +00:00
a_matsuda
d21c54ffbd ⚠️ key "accelerator" is duplicated and overwritten in Tk samples
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 15:10:25 +00:00
a_matsuda
58d698af35 Missing require
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 15:10:19 +00:00
a_matsuda
357ef2f428 parsedate is no more available since 1.9
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 15:10:10 +00:00
a_matsuda
67a886cedd Convert euc-jp resource file in Tk sample to utf-8
The sample program assumes the file to be encoded in utf-8
0253189898/ext/tk/sample/tkoptdb.rb (L15-L17)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 15:09:59 +00:00
a_matsuda
672fe8315d Documentation typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 15:09:51 +00:00
svn
b8d9770b6c * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 14:34:16 +00:00
suke
db8dcd1b27 * ext/win32ole/win32ole.c (ole_variant2val): refactoring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 14:34:11 +00:00
a_matsuda
e5cd6d0d9f Method name typo in a Tk sample
* ext/tk/sample/tkextlib/treectrl/help.rb: kength => length

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 09:59:31 +00:00
a_matsuda
4155804448 ivar name typo in a Tk sample
* ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb: @Messge => @Message

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 09:59:20 +00:00
a_matsuda
9e04d1fbf1 Method name typo in a Tk sample
* ext/tk/sample/tktextio.rb: trancate => truncate

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 09:59:13 +00:00
a_matsuda
87c817fa6f ivar name typo in a Tk sample
* ext/tk/sample/tktextio.rb: @opne => @open

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 09:58:58 +00:00
a_matsuda
e04b5c3e23 Typo in Tk samples
* ext/tk/sample/demos-en/goldberg.rb: miliseconds => milliseconds
* ext/tk/sample/demos-jp/goldberg.rb: miliseconds => milliseconds

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 09:58:48 +00:00
a_matsuda
2cf20887af Method name typo in Tk samples
* ext/tk/sample/demos-en/ctext.rb: seleect_adjust => select_adjust
* ext/tk/sample/demos-jp/ctext.rb: seleect_adjust => select_adjust

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 09:58:22 +00:00
a_matsuda
2c58327fbc Typo in a Tk sample
* ext/tk/sample/tkextlib/bwidget/tree.rb: allways => always

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 09:58:14 +00:00