1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

55 commits

Author SHA1 Message Date
akr
c8cb0565a1 open3.rb don't use keyword splat (**).
revert r43582, r49173 and r49177.

open3 arguments uses spawn-like keyword arguments.
Both symbol and integer keys are used.
```
Open3.capture2(*command, :in => IO::NULL, 3 => IO::NULL)
``

This style cannot be supported with keyword splat (**) since Ruby 2.6.
Because Ruby 2.6 prohibits symbol/non-symbol key hash separation.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-12 06:48:46 +00:00
kazu
cb67e0bd9c Use &. instead of modifier if
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-30 10:01:08 +00:00
akr
3d9453994c lib/open3.rb: accept IO-like object for :stdin_data argument.
Open3.capture3, Open3.capture2, Open3.capture2e accepts
IO-like object for :stdin_data argument.
[ruby-core:80936] [Feature ] proposed by janko.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21 07:00:58 +00:00
normal
e3c2885698 lib/open3: favor symbol proc when possible
It reduces both human and machine code; as well as reducing
the confusion from variable naming.

* lib/open3.rb (popen_run, pipeline, pipeline_run): avoid capture

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-21 23:13:16 +00:00
normal
f845a9ef76 lib/*: remove closed checks
Follow r56795.  Since Ruby 2.2, calling #close on a closed
socket no longer raises exceptions.

* lib/cgi/session.rb (update): remove closed? check
* lib/net/http.rb (finish, transport_request): ditto
* lib/net/imap.rb (disconnect): ditto
* lib/net/pop.rb (do_start, do_finish): ditto
* lib/net/smtp.rb (do_start, do_finish): ditto
* lib/open3.rb (popen_run, pipeline_run): ditto
* lib/pstore.rb (transaction): ditto
* lib/shell/process-controller.rb (sfork):
* lib/tempfile (_close, call, Tempfile.create): ditto
* lib/webrick/httpauth/htdigest.rb (flush): ditto
* lib/webrick/httpauth/htpasswd.rb (flush): ditto
* lib/webrick/server.rb (start_thread, cleanup_shutdown_pipe): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-21 23:05:41 +00:00
akr
1ec544695f * lib/open3.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-14 07:43:23 +00:00
nobu
e247d9e145 open3.rb: Hash.try_convert
* lib/open3.rb (popen_run): use Hash.try_convert for duck typing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-08 03:52:01 +00:00
akr
1ade9cad02 * lib/open3.rb: Open3 properly passes non-keyword hash args to spawn.
Fixed by Josh Cheek.  [Fix GH-808]
  Related to [ruby-core:67347] [Bug ]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-07 15:29:28 +00:00
hsbt
91dd80fac7 * lib/open3.rb: fix code formatting in documentation by @JoshCheek
[fix GH-747][ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-04 03:09:28 +00:00
hsbt
ffc068c9bb * lib/cgi/session/pstore.rb: separated sample code.
* lib/open3.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-10 01:34:50 +00:00
glass
fd7a02f960 * lib/open3.rb: avoid unnecessary write if stdin_data is empty.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-07 14:31:54 +00:00
akr
14ad015896 * lib/open3.rb (Open3.capture3): Ignore Errno::EPIPE for writing
stdin_data.
  (Open3.capture2): Ditto.
  (Open3.capture2e): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-01 10:56:39 +00:00
a_matsuda
64ac49e6fe * lib/open3.rb: [DOC] Fix typo (s/thumnail/thumbnail/)
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-01 03:13:11 +00:00
glass
53dc9794f0 * lib/open3.rb: receive arguments as keyword arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-08 09:41:55 +00:00
duerst
d5f642ecc7 lib/open3.rb: tweaked grammar in comments
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-06 07:32:56 +00:00
zzak
59edab809e * lib/open3.rb : Typo in Open3 overview. Patch by zed_0xff
[Github Fixes ]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-13 04:40:15 +00:00
akr
48c7c84e46 update doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-17 01:17:23 +00:00
ktsj
c3749b6a6d * ext/pathname/lib/pathname.rb, ext/tk/lib/multi-tk.rb,
ext/tk/sample/demos-en/widget, lib/benchmark.rb, lib/irb/cmd/fork.rb,
  lib/mkmf.rb, lib/net/ftp.rb, lib/net/smtp.rb, lib/open3.rb,
  lib/pstore.rb, lib/rexml/element.rb, lib/rexml/light/node.rb,
  lib/rinda/tuplespace.rb, lib/rss/maker/base.rb,
  lib/rss/maker/entry.rb, lib/scanf.rb, lib/set.rb, lib/shell.rb,
  lib/shell/command-processor.rb, lib/shell/process-controller.rb,
  lib/shell/system-command.rb, lib/uri/common.rb: remove unused block
  arguments to avoid creating Proc objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 07:37:47 +00:00
akr
be561cbebe update doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-24 11:08:52 +00:00
akr
454de1d5eb update doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-03 12:18:50 +00:00
drbrain
7bbf2f3085 * lib: Convert tabs to spaces for ruby files per
http://redmine.ruby-lang.org/projects/ruby/wiki/DeveloperHowto#coding-style
	  Patch by Steve Klabnik [Ruby 1.9 - Bug ]
	  Patch by Jason Dew [Ruby 1.9 - Feature ]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-18 21:19:18 +00:00
akr
9c18840667 fix doc again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-02 15:01:54 +00:00
akr
fc90d4a109 fix doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-02 14:58:16 +00:00
akr
f828d53066 update rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-28 01:50:49 +00:00
akr
3266ec1658 * lib/open3.rb (Open3.pipeline_start): return an array of threads if a
block is not given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-10 17:24:42 +00:00
akr
ca138145f5 rdoc update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-08 17:00:44 +00:00
akr
920ea359ba rdoc update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-07 12:35:11 +00:00
akr
7c20c4ec02 rdoc update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-07 10:34:25 +00:00
akr
c0264efadd * lib/open3.rb (Open3.capture3): renamed from Open3.poutput3.
(Open3.capture2): renamed from Open3.poutput2.
  (lOpen3.capture2e): renamed from Open3.poutput2e.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-07 08:45:31 +00:00
akr
1de2a15aaf * lib/open3.rb (Open3.poutput3): :binmode option implemented.
(Open3.poutput2): ditto.
  (Open3.poutput2e): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-07 02:49:18 +00:00
akr
0b314ffd87 update rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-06 12:52:43 +00:00
akr
415e2cbd88 * lib/open3.rb (Open3.pipeline_start): new method.
(Open3.pipeline): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05 10:07:13 +00:00
akr
5dbbef2b02 update rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 23:03:53 +00:00
akr
21d438243d rdoc update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 14:35:19 +00:00
akr
bca9bf7fef * lib/open3.rb (Open3.poutput3): new method.
(Open3.poutput2): ditto.
  (Open3.poutput2e): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 14:24:54 +00:00
akr
87c7905bdc * lib/open3.rb (Open3.popen3): simplified.
(Open3.popen_run): extracted from Open3.popen3.
  (Open3.popen2): new method.
  (Open3.popen2e): new method.
  (Open3.pipeline_rw): new method.
  (Open3.pipeline_r): new method.
  (Open3.pipeline_w): new method.
  (Open3.pipeline_run): new private method.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 10:58:32 +00:00
akr
852b4629c1 * lib/open3.rb (Open3.popen3): merge hash options if given.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-02 10:23:48 +00:00
nobu
a54cbe65a9 * process.c (rb_detach_process): store detached process ID in the
thread local storage.  moved from lib/open3.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-20 03:40:02 +00:00
akr
d95d209033 * lib/open3.rb (Open3.popen3w): removed.
(Open3.popen3): notice wait_thr.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 16:47:30 +00:00
akr
6fb36ebab0 describe about waiting a child process.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 11:54:13 +00:00
akr
4ce308d6a4 describe :pid thread variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 11:25:40 +00:00
akr
61234dab9c * lib/open3.rb: double fork is replaced by spawn with Process.detach.
(Open3.popen3w): new method to access the thread returned by
  Process.detach.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 04:03:59 +00:00
matz
bb9f40a725 * lib/parsedate.rb: documentation patch from Konrad Meyer
<konrad.meyer@gmail.com>.  [ruby-doc:1238]

* lib/open3.rb, lib/ping.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-09 14:49:49 +00:00
drbrain
52c034aecb Documentation cleanup.
Includes patches by Hugh Sasse:
* ping.rb
* weakref.rb
* mailread.rb


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-04 18:05:50 +00:00
matz
70bbad3cfd * array.c: replace rb_protect_inspect() and rb_inspecting_p() by
rb_exec_recursive() in eval.c.

* eval.c (rb_exec_recursive): new function.

* array.c (rb_ary_join): use rb_exec_recursive().

* array.c (rb_ary_inspect, rb_ary_hash): ditto.

* file.c (rb_file_join): ditto.

* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.

* io.c (rb_io_puts): ditto.

* object.c (rb_obj_inspect): ditto

* struct.c (rb_struct_inspect): ditto.

* lib/set.rb (SortedSet::setup): a hack to shut up warning.
  [ruby-talk:132866]

* lib/time.rb (Time::strptime): add new function.  inspired by
  [ruby-talk:132815].

* lib/parsedate.rb (ParseDate::strptime): ditto.

* regparse.c: move st_*_strend() functions from st.c.  fixed some
  potential memory leaks.

* exception error messages updated.  [ruby-core:04497]

* ext/socket/socket.c (Init_socket): add bunch of Socket
  constants.  Patch from Sam Roberts <sroberts@uniserve.com>.
  [ruby-core:04409]

* array.c (rb_ary_s_create): no need for negative argc check.
  [ruby-core:04463]

* array.c (rb_ary_unshift_m): ditto.

* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
  of StandardError class, not Exception class.  [ruby-core:04429]

* parse.y (fcall_gen): lvar(arg) will be evaluated as
  lvar.call(arg) when lvar is a defined local variable. [new]

* object.c (rb_class_initialize): call inherited method before
  calling initializing block.

* eval.c (rb_thread_start_1): initialize newly pushed frame.

* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
  fixed: [ruby-core:04444]

* eval.c (is_defined): NODE_IASGN is an assignment.

* ext/readline/readline.c (Readline.readline): use rl_outstream
  and rl_instream.  [ruby-dev:25699]

* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check
  [ruby-dev:25675]

* misc/ruby-mode.el: [ruby-core:04415]

* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]

* lib/rdoc/generators/ri_generator.rb: ditto.

* struct.c (make_struct): fixed: [ruby-core:04402]

* ext/curses/curses.c (window_color_set): [ruby-core:04393]

* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
  [ruby-talk:130092]

* object.c: [ruby-doc:818]

* parse.y (open_args): fix too verbose warnings for the space
  before argument parentheses.  [ruby-dev:25492]

* parse.y (parser_yylex): ditto.

* parse.y (parser_yylex): the first expression in the parentheses
  should not be a command.  [ruby-dev:25492]

* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]

* object.c (Init_Object): remove Object#type.  [ruby-core:04335]

* st.c (st_foreach): report success/failure by return value.
  [ruby-Bugs-1396]

* parse.y: forgot to initialize parser struct.  [ruby-dev:25492]

* parse.y (parser_yylex): no tLABEL on EXPR_BEG.
  [ruby-talk:127711]

* document updates - [ruby-core:04296], [ruby-core:04301],
  [ruby-core:04302], [ruby-core:04307]

* dir.c (rb_push_glob): should work for NUL delimited patterns.

* dir.c (rb_glob2): should aware of offset in the pattern.

* string.c (rb_str_new4): should propagate taintedness.

* env.h: rename member names in struct FRAME; last_func -> callee,
  orig_func -> this_func, last_class -> this_class.

* struct.c (rb_struct_set): use original method name, not callee
  name, to retrieve member slot.  [ruby-core:04268]

* time.c (time_strftime): protect from format modification from GC
  finalizers.

* object.c (Init_Object): remove rb_obj_id_obsolete()

* eval.c (rb_mod_define_method): incomplete subclass check.
  [ruby-dev:25464]

* gc.c (rb_data_object_alloc): klass may be NULL.
  [ruby-list:40498]

* bignum.c (rb_big_rand): should return positive random number.
  [ruby-dev:25401]

* bignum.c (rb_big_rand): do not use rb_big_modulo to generate
  random bignums.  [ruby-dev:25396]

* variable.c (rb_autoload): [ruby-dev:25373]

* eval.c (svalue_to_avalue): [ruby-dev:25366]

* string.c (rb_str_justify): [ruby-dev:25367]

* io.c (rb_f_select): [ruby-dev:25312]

* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]

* struct.c (make_struct): [ruby-dev:25249]

* dir.c (dir_open_dir): new function.  [ruby-dev:25242]

* io.c (rb_f_open): add type check for return value from to_open.

* lib/pstore.rb (PStore#transaction): Use the empty content when a
  file is not found.  [ruby-dev:24561]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 06:47:45 +00:00
matz
e0ddacfc36 * ext/syck/rubyext.c (rb_syck_io_str_read): [ruby-core:03973]
* object.c (rb_obj_id_obsolete): warn always.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-15 16:01:11 +00:00
matz
5f1db6ea96 * eval.c (proc_invoke): should update "result" for orphans.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-18 13:43:42 +00:00
matz
12196ee24f * regex.c (re_compile_pattern): should not translate character
class range edge. [ruby-list:38393]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-16 17:37:34 +00:00
matz
86298123d7 * file.c (rb_stat_rdev_major): added. [new]
* file.c (rb_stat_rdev_minor): added. [new]

* file.c (rb_stat_inspect): print mode in octal.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-29 07:16:09 +00:00
matz
f84f4aa6b3 * array.c (rb_ary_and): should not push frozen key string.
* array.c (rb_ary_or): ditto.

* eval.c (rb_thread_schedule): should save context before raising
  deadlock, saved context for current thread might be obsolete.

* time.c (make_time_t): non DST timezone shift supported (hopefully).

* time.c (make_time_t): strict range detection for negative time_t.

* signal.c: SIGINFO added.

* eval.c (rb_ensure): should not SEGV when prot_tag is NULL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-16 09:05:54 +00:00