* ext/extmk.rb: split notes into header and footer, which are
common, from bodies which are unique for each extensions.
* template/exts.mk.tmpl: now each notes are not one line, should
not unique.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb: fail if a mandatory extension library failed to
configure. [ruby-core:80759] [Feature #13302]
* template/exts.mk.tmpl: move `exit` at the end.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Point to the mkmf.log if configuring an extension fails so that people
can find and fix the culprit easily. [ruby-core:80131] [Feature #13302]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
On platforms where MSG_DONTWAIT works reliably on all sockets
(so far, I know of Linux), we can avoid fcntl syscalls and
implement IO#write_nonblock and IO#read_nonblock in terms of the
socket-specific send and recv family of syscalls.
This avoids side effects on the socket, and also encourages
generic code to be written in cases where IO wrappers like
OpenSSL::SSL::SSLSocket are used.
Perhaps in the future, side-effect-free non-blocking I/O can
be standard on all files and OSes: https://cr.yp.to/unix/nonblock.html
* ext/socket/lib/socket.rb (read_nonblock, write_nonblock):
Linux-specific wrapper without side effects
[ruby-core:80780] [Feature #13362]
* test/socket/test_basicsocket.rb (test_read_write_nonblock):
new test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
I started writing a template for auto-generation and
let "tool/update-deps --fix" fill in the rest.
Hopefully this fixes problems with some CI builds
after r58359. Further changes to other ext/-test-/
files should probably add or update "depend" files, too.
* ext/-test-/struct/depend: new file
* enc/depend: auto-updated with unicode 9.0.0 headers (side-effect)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rb_struct_size returns an Integer VALUE, so it must be converted
to a `long` for compatibility with previous Ruby C API versions.
* ext/-test-/struct/len.c: new
* test/-ext-/struct/test_len.rb: new
* include/ruby/ruby.h (RSTRUCT_LEN): use NUM2LONG
[ruby-core:80692] [Bug #13439]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Do not use `git ls-files` for file listing.
* Fix extconf.rb path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Symbol proc is shorter human and machine code;
and also avoids needing to name variables.
* ext/socket/lib/socket.rb (Socket.udp_server_sockets): use symbol proc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Update configuraiton for gem release.
* Bump version to 0.2.1. Because 0.2.0 is already reserved on rubygems.org
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Update gemspec version of beta release.
* Bump version to 0.5.1. Because 0.5 is already reserved another implementation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/lib/socket.rb (Socket.udp_server_sockets): remove duplicated
addresses before passing it to ip_sockets_port0 because it causes
Errno::EADDRINUSE and retry forever.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/basicsocket.c (rsock_bsock_send): show proper system
call name in the exception message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/stringio/stringio.gemspec: bump up required ruby version to
2.2, which exports rb_get_kwargs() first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Onigumo 6 (r57045) introduced new onigumo.h header file, which is
required from quite much everywhere. This commit adds necessary
dependencies.
Note: ruby/oniguruma.h now includes onigumo.h,
ruby/io.h includes oniguruma.h,
ruby/encoding.h also includes oniguruma.h,
and internal.h includes encoding.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/stringio/stringio.c (strio_ungetc): raise RangeError instead
of TypeError at too big value, as well as IO#ungetc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/stringio/stringio.c (strio_ungetc): check if the character
code is valid in the encoding. reported by Ahmad Sherif
(ahmadsherif) at https://hackerone.com/reports/209593.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c: [DOC] fix format string for DateTime#rfc3339.
Reported by Andreas Rayo Kniep. [ruby-core:68418] [Bug #10936]
* ext/date/date_core.c: [DOC] ditto for DateTime#iso8601 and
DateTime#xmlschema; other small improvements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
gc.c (gc_mark_children, case T_DATA) does not use
the dmark function pointer if DATA_PTR is NULL
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/zlib/extconf.rb: fix building zlib for mingw, and for
cross-compiling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/date/date_core.c: [DOC] expand docs for Date shifting
* add examples for Date#>> and Date#<< that clarify some edge cases
* add examples for Date#next_year and Date#prev_year
* add cross references to Date#>> and Date#<<
[ruby-core:79584] [Bug #13225]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e