Граф коммитов

1082 Коммитов

Автор SHA1 Сообщение Дата
nobu e7c0a6e1d7 * prevent temporary objects from GC, and should not use
RSTRING_PTR() for function calls since it evaluates the argument
  a couple of times.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-20 07:23:55 +00:00
nobu 58b325366d * thread.c (rb_thread_io_blocking_region): new function to run
blocking region with GIL released, for fd.
* thread.c (rb_thread_fd_close): implement.  [ruby-core:35203]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-12 05:44:23 +00:00
kosaki 0559227e87 * io.c (rb_io_s_sysopen): use NUM2MODET() instead NUM2UINT().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-08 07:04:45 +00:00
kosaki 3722e3a29a * io.c (rb_io_fdatasync): Use fsync(2) if if the underlying
operating system does not support fdatasync(2).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-02 08:11:29 +00:00
kanemoto 2a5177e757 io.c (struct argf): char behaves like an unsigned char by default on AIX.
http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/index.jsp?topic=/com.ibm.xlcpp111.aix.doc/language_ref/ch.html


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-30 01:02:46 +00:00
kosaki 4afa5fead8 * io.c (rb_io_open): Use NUM2MODET() instead NUM2UINT().
* io.c (rb_scan_open_args): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 02:23:58 +00:00
nobu 7909af18ed * io.c (argf_next_argv): go advance when the next file cannot be
read.  [ruby-core:34446]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-13 22:30:50 +00:00
kosaki b1f8bbf4f7 * io.c (rb_f_syscall): Add warning messages. [ruby-core:34062]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 14:22:39 +00:00
kosaki da235830b5 * io.c (rb_f_syscall): Some syscall return unsigned or pointer value.
Therefore we should only check the result is -1 or not. [ruby-core:34062]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 14:16:01 +00:00
kosaki caab5dcee7 * io.c (rb_f_syscall): Add 64bit Linux support. Some syscall takes
long type arguments.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 14:11:06 +00:00
yugui 45493bb28a * io.c (Kernel.#syscall): implemented on LP64/LLP64 environments too.
also uses __syscall if available for *BSD on 64bit architecture.
  [ruby-core:34062]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-09 07:39:22 +00:00
akr d3b337c58d fix spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-08 13:07:20 +00:00
nobu ae167e1e79 * io.c (maygvl_copy_stream_wait_readwrite): define if USE_SENDFILE
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-29 12:20:16 +00:00
kazu 1f4401ebe0 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-27 22:27:13 +00:00
kosaki 085e40d45b * io.c (advice_arg_check): Change argument check.
Now, an unsupported advice makes NotImplementedError.
    [ruby-dev:42887] [Ruby 1.9-Feature#4204]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 17:25:02 +00:00
kosaki c9958d6ab4 * io.c (pipe_open): Added rb_thread_atfork(). We must reinitialize
GVL at new process creation.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 10:22:48 +00:00
nobu 522c538e93 * io.c (rb_io_extract_encoding_option): accept Encoding object as
encoding: optional argument.  [ruby-dev:42884]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 05:27:12 +00:00
tarui da4d3e8464 * io.c : add an extra byte to buffer for the specification of read
in Windows. see [ruby-core:33460] and r29980. and, we have to
	  discuss how to do this one byte.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-20 16:45:08 +00:00
kosaki a3ba982c75 * io.c (Init_IO): Added O_DIRECT. This feature was propsed by Run Paint Run Run.
[Feature #4015] [ruby-core:33018]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-19 16:18:16 +00:00
nobu 2d39e5265f * io.c: removed garbage line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 22:08:50 +00:00
nobu 594ab9c8fd * io.c (rb_io_advise): removed unused variable, and fix indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 22:06:33 +00:00
kosaki 39058e1d87 Fix indentation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 15:36:49 +00:00
kosaki cc9b886691 * io.c (rb_io_advise): New API. IO#advise() allows to tell the
ruby runtime how it expects to use a file handle. This feature
          can be improved a performance some situations.
          Note: This feature is mainly developed by Run Paint Run Run.
          Thank you! [ruby-core:33110] [Ruby 1.9-Feature#4038]

        * io.c (do_io_advise): Helper function.
        * io.c (io_advise_sym_to_const): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 15:01:55 +00:00
akr e5ad455a08 * io.c: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-16 12:53:09 +00:00
nobu b2c7ef2f76 * io.c (nogvl_copy_stream_sendfile): fix missing condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-15 02:22:08 +00:00
nobu eb36519b96 * io.c (simple_sendfile): enable on Mac OS X.
* io.c (nogvl_copy_stream_sendfile): moved precheck of copy length.
* io.c (nogvl_copy_stream_sendfile): should wait for both of
  read/write fds.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-15 02:07:37 +00:00
naruse bdd3f75598 * io.c (simple_sendfile): improve linux compatibility on FreeBSD,
and now it works. But without cpuset -l 0, it still gets stuck.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-14 15:01:32 +00:00
naruse 903538cbb3 * io.c (simple_sendfile): disable the use of sendfile(2) on
FreeBSD. It blocks on TestIO#test_copy_stream_socket.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-13 12:28:09 +00:00
naruse 7d481b5423 * io.c: define USE_SENDFILE on FreeBSD or DragonFly BSD.
Remove Mac OS X because its argument is different from them.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-13 09:37:09 +00:00
naruse b36c91b6b5 * io.c (simple_sendfile): added for BSD version of sendfile(2).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-13 02:34:50 +00:00
tarui 9865ee2c46 * io.c (io_read): duplicate string if shared. [ruby-dev:42719]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-07 13:38:36 +00:00
nobu bc8b100873 * io.c (struct argf): make lineno long, and reorder members.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-28 05:56:39 +00:00
luislavena ac0f5a53b6 * io.c (io_fwrite): use rb_w32_write_console under Windows.
* win32/win32.c (rb_w32_write_console): added to write to write
    Unicode using WriteConsoleW for stdout/stderr. [ruby-core:33166]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 19:49:58 +00:00
nobu c6e4767068 * include/ruby/io.h (rb_io_buffer_t): extract from rb_io_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-18 13:58:47 +00:00
nobu f2dd4eb3cc * io.c (argf_readlines): forward to current_file for arguments
check.  http://twitter.com/nagachika/status/3634254856589312


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-14 03:05:29 +00:00
nobu a77d2ac5ba * io.c (argf_close): untie tied io before closing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 14:03:17 +00:00
nobu 41131d4215 * io.c (argf_write): add ARGF.write and so on.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:56:16 +00:00
nobu b3dcfcf22b * io.c (argf_read_nonblock): add ARGF.read_nonblock.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:52:18 +00:00
nobu db0ebb32c9 * io.c (pipe_finalize): status is success if no process.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:26:30 +00:00
nobu ee388f6ee2 * io.c (rb_io_readlines, rb_io_each_line): limit must not be zero.
a patch from Tomoyuki Chikanaga at [ruby-dev:42538].  #4024

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-04 15:39:07 +00:00
naruse f1dc85e237 * io.c (rb_f_select): change rdoc.
patched by Eito Katagiri [ruby-core:31805]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-21 07:09:17 +00:00
naruse d835a87cc1 * io.c (rb_f_select): add correct rdoc.
patched by Dave Thomas [ruby-core:32467]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-21 06:51:49 +00:00
nobu a176b065d2 * io.c (rb_io_ctl), parse.y (LVAR_USED): suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 15:10:04 +00:00
naruse b487f7881f * io.c (rb_io_ungetc): always see Bignum. On 32bit valid value
may be a Bignum. On 64bit for errors. [ruby-dev:42366]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 09:30:42 +00:00
naruse 7587eb706a * io.c (rb_io_ungetc): use unsigned int for GB18030.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 06:37:27 +00:00
naruse 0a8f047a98 * io.c (rb_io_putc): support multibyte characters.
[ruby-core:30697]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 06:18:11 +00:00
naruse e1646652e7 * io.c (rb_io_set_encoding): use rb_funcall2 when the io is not
a T_FILE. [ruby-dev:42356]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-10 21:29:29 +00:00
nobu 915ae780c3 * io.c (fptr_finalize): write_mutex might have been destroyed
already in finalization phase, as the order of finalizers is not
  guaranteed.  rb_mutex_t should be used in place of Mutex object
  in the future.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-06 02:52:26 +00:00
nobu 61ee785c61 * io.c (rb_io_puts): fix for wide char encoding strings.
[ruby-dev:42212]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-15 00:12:05 +00:00
knu 82abe79b9f * class.c (rb_scan_args): Add support for optional keyword
argument hash.

* README.EXT, README.EXT.ja: Update documentation accordingly.

* dir.c (dir_initialize): Make use of the new rb_scan_args()
  feature.

* io.c (rb_io_s_popen, rb_scan_open_args, rb_io_initialize)
  (rb_io_s_pipe, open_key_args, io_s_foreach, io_s_readlines)
  (rb_io_s_read, rb_io_set_encoding): Ditto.

* transcode.c (str_transcode, econv_args)
  (econv_primitive_convert): Ditto.

* ext/zlib/zlib.c (rb_gzreader_initialize): Ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-10 07:51:58 +00:00
nobu aa5c05b8ba * ext/pty/pty.c (chfunc): pass through exceptions.
* io.c (rb_io_bufwrite, rb_io_bufread): added.

* process.c (rb_fork_err): protect from exceptions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-02 21:40:55 +00:00
nobu 909477ec1d * file.c (null_device): move from io.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-27 06:26:41 +00:00
nobu 3e5e1b6c45 * io.c (null_device): the name of null device. [ruby-dev:41791]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-27 03:25:08 +00:00
nobu dccf9e0c45 * configure.in, include/ruby/defines.h (RUBY_FUNC_EXPORTED): macro
to declare exported function.

* array.c (rb_ary_memsize), string.c (rb_str_memsize),
  variable.c (rb_objspace_data_type_memsize): used in
  objspace.  [ruby-dev:42022]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 06:33:06 +00:00
nobu a23b1f7450 * io.c (rb_io_memsize): constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 06:19:57 +00:00
akr 8488b62d59 update doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 23:30:45 +00:00
nobu a3419bc919 * io.c (io_flush_buffer): write and buffer operations should be
monolithic.  [ruby-core:31348]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-20 03:50:41 +00:00
akr 5bf4c6a635 * io.c (nogvl_copy_stream_sendfile): jump to retry_sendfile directly
to avoid select() on a socket which TCP state is CLOSED.
  patch by Eric Wong.  [ruby-core:31053]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-06 13:59:12 +00:00
nobu 6fb59decd0 * io.c (swallow, prepare_getline_args, rb_io_getline_1): fix for
paragraph mode reading in non-ascii-compatible encoding.
  [ruby-dev:41803]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-04 08:13:15 +00:00
usa 09ee12bb20 * io.c (argf_inplace_mode_set): prohibits an assignment of a tainted
value.

* file.c (ruby_find_basename, ruby_find_extname): split from
  rb_file_s_basename() and rb_file_s_extname().

* util.c (ruby_add_suffix): support arbitrary length of the suffix
  to get rid of the potential buffer overflow.
  reported by tarui.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-02 14:31:26 +00:00
nobu a67f1a9534 * include/ruby/io.h, io.c: reverted r21709.
* ruby.c (load_file_internal): nothing to read if EOF reached
  while reading shebang.  [ruby-core:30910]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-27 14:31:19 +00:00
akr d9edd4ca87 * io.c (simple_sendfile): don't try to send data more than SSIZE_MAX
with single sendfile call..
  based on the patch by Eric Wong.  [ruby-core:30908]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-27 04:30:31 +00:00
nobu 6e708d72bb * io.c (argf_next_argv): check for setting owner/group.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-22 21:43:02 +00:00
marcandre fde37bb6e3 * io.c: rdoc fix for ARGF.lineno; cf. [ruby-core:29048]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-22 05:45:22 +00:00
matz 622fb1ca50 * io.c (rb_f_syscall): should check argument string taint before
invoking system calls.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-12 01:05:20 +00:00
matz 020bd635ac * io.c (rb_io_putc): documentation updated to mention putc would
not work well with multi-byte characters.  [ruby-core:30697]

* io.c (rb_f_putc): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-10 00:11:26 +00:00
nobu c9331864f8 * io.c (parse_mode_enc): set set_by_bom bit. [ruby-core:30641]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-07 21:04:56 +00:00
tarui f8bdd8dd08 * io.c (pipe_open): add RB_GC_GUARD.
This caused failure when test/ruby/test_argf.rb is executed with
	  GC.stress = true in mswin32_90


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-31 16:16:39 +00:00
nobu 45f6fbf339 * removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29 18:51:39 +00:00
marcandre c5b5ab0935 * enum.c: Documentation: small fixes
* file.c: ditto

* io.c: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:51:01 +00:00
marcandre c1ecff1b1e * hash.c: Documentation: change => in call-seq to ->.
* enum.c: Documentation: whitespace fix for r27865

* error.c: ditto

* file.c: ditto

* io.c: ditto

* load.c: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:31:22 +00:00
marcandre 7729de4d91 * array.c: Documentation: change => in call-seq to ->.
Harmonize "#=>" in examples. [ruby-core:30206]

* bignum.c: ditto

* class.c: ditto

* compar.c: ditto

* cont.c: ditto

* dir.c: ditto

* encoding.c: ditto

* enum.c: ditto

* enumerator.c: ditto

* error.c: ditto

* eval.c: ditto

* file.c: ditto

* gc.c: ditto

* io.c: ditto

* load.c: ditto

* marshal.c: ditto

* math.c: ditto

* numeric.c: ditto

* object.c: ditto

* pack.c: ditto

* proc.c: ditto

* process.c: ditto

* random.c: ditto

* range.c: ditto

* re.c: ditto

* ruby.c: ditto

* signal.c: ditto

* sprintf.c: ditto

* string.c: ditto

* struct.c: ditto

* thread.c: ditto

* time.c: ditto

* transcode.c: ditto

* variable.c: ditto

* vm_eval.c: ditto

* vm_method.c: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:33 +00:00
usa daac3ed0b4 * io.c (swallow): should use more_char() instead of fill_cbuf().
suggested by akr.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 09:16:32 +00:00
marcandre 4afa9ed041 * array.c: Harmonize documentation, in particular regarding:
- methods returning enumerators
    - array methods and argument naming (array -> ary, an_array -> new_ary)
    - minor improvements, typo fixed and styling issues

  Other documentation errors fixed:
    - return value was self instead of a new array (or vice-versa) for
      Array#{pop,shift,permutation,repeated_permutation,keep_if}
    - Array#rindex was missing the form with a block.

* dir.c: ditto.

* enum.c: ditto. Modified Enumerable#reverse_each' documentation to clarify
  that #each will be finish before any element is yielded.

* error.c: ditto.

* gc.c: ditto.

* hash.c: ditto.

* io.c: ditto. IO#{codepoints,each_codepoint} fixed as per [ruby-core:23948]

* numeric.c: ditto.

* range.c: ditto.

* string.c: ditto.

* struct.c: ditto.

* vm_eval.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 05:49:55 +00:00
usa 44d8ab7203 * io.c (swallow): small optimize.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 04:03:01 +00:00
usa ef7992801d * io.c (swallow): support text mode and UTF-16/32 as internal encoding.
* io.c (io_shift_cbuf): read and throw it away when str is NULL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-13 03:55:19 +00:00
usa fe0d339c2c * win32/win32.c, include/ruby/win32.h (rb_w32_has_cancel_io): new
function.

* io.c (WAIT_FD_IN_WIN32): check only when it's not cancelable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-10 05:02:44 +00:00
kazu 81f4dba385 * io.c (nogvl_copy_stream_sendfile): ISO C90 forbids mixed declarations and code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 22:13:02 +00:00
marcandre 1dee5e34a3 * error.c: RDoc for subclasses of Exception. [ruby-core:28394]
* cont.c: ditto

* enumerator.c: ditto

* io.c: ditto

* math.c: ditto

* numeric.c: ditto

* proc.c: ditto

* re.c: ditto

* thread.c: ditto

* transcode.c: ditto. Thanks to Run Paint for some of the documentation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 04:50:09 +00:00
naruse e6ccffd966 Add rdoc about IO#read(length). [ruby-core:29161]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-03 22:17:49 +00:00
usa 6c28f99d88 * merge some patches from win32-uncode-test branch.
see #1685.

* file.c, include/ruby/intern.h (rb_str_encode_ospath): new function
  to convert encoding for pathname.

* win32.c, include/ruby/win32.h (rb_w32_ulink, rb_w32_urename,
  rb_w32_ustati64, rb_w32_uopen, rb_w32_uutime, rb_w32_uchdir,
  rb_w32_umkdir, rb_w32_urmdir, rb_w32_uunlink): new functions to
  accept UTF-8 path.

* win32/win32.c (rb_w32_opendir, link, rb_w32_stati64, rb_w32_utime,
  rb_w32_unlink): use WCHAR path internally.

* file.c (rb_stat, eaccess, access_internal, rb_file_s_ftype,
  chmod_internal, rb_file_chmod, rb_file_chown, utime_internal,
  rb_file_s_link, unlink_internal, rb_file_s_rename): use UTF-8 version
  functions on Win32.

* file.c (apply2files, rb_stat, rb_file_s_lstat, rb_file_symlink_p,
  rb_file_readable_p, rb_file_writable_p, rb_file_executable_p,
  check3rdbyte, rb_file_identical_p, rb_file_chmod, rb_file_chown,
  rb_file_s_link, rb_file_s_symlink, rb_file_s_rename): call
  rb_str_encode_ospath() before passing the path to system.

* io.c (rb_sysopen): ditto.

* dir.c (dir_chdir, dir_s_mkdir, dir_s_rmdir): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 17:56:23 +00:00
nobu bfeeb913fe * io.c (seek_before_access): fixed argument type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-30 17:22:32 +00:00
nobu 55181301ae * io.c (seek_before_access): renamed. see [ruby-core:29861].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 02:20:58 +00:00
nobu e1c34852dc * io.c (rb_io_s_binread): fixed rdoc. parts of a patch from Roger
Pack in [ruby-core:29861].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 02:17:12 +00:00
akr 87ba383aa3 * io.c (select_internal): IO which cbuf is not empty is readable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26 21:21:07 +00:00
nobu 8ebadc63f4 * io.c (ruby_dup): update max fd.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-25 14:50:10 +00:00
akr ba2ee2f04c update doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24 12:00:56 +00:00
akr 02efdb4845 update document.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24 06:05:34 +00:00
akr 78db46b31c * io.c: raise IOError when byte oriented operations occur with
non-empty character buffer.
  [ruby-dev:40493] [ruby-dev:40506]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24 05:42:50 +00:00
naruse 4131d6176a * io.c (io_getc): fix incomplete character immediately before EOF
with newline converter. [ruby-dev:41024]
  run test only when "Create Shortcut (&S)" menu is found.
* lib/rexml/parsers/xpathparser.rb (PathExpr): ditto.
* lib/matrix.rb (Vector#each): make Vector enumerable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-21 06:37:18 +00:00
naruse 8a269f85a0 * io.c (io_getc): set read_encoding to resulted one character
string. [ruby-dev:41023]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 18:19:01 +00:00
usa ef3ea2dd89 * io.c: fixed the wrong description of rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 13:53:08 +00:00
usa 57e50f7f88 * io.c: rdoc. see [ruby-dev:40506].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 13:40:15 +00:00
nobu a91d8b8c33 * io.c (internal_{read,write}_func, rb_{read,write}_internal):
reverted r27265, since now rb_thread_blocking_region() preserves
  errno.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-19 15:41:27 +00:00
mame d6f289b0ff * io.c (rb_io_rewind, rb_io_eof): add rdoc. based on a patch from
Roger Pack in [ruby-core:26771] [Bug #2377].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-16 16:36:08 +00:00
nobu 8e7a682be0 * io.c (io_shift_cbuf): should terminate.
http://golf.shinh.org/p.rb?DECimal+number+to+BINary#Ruby


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-14 08:56:11 +00:00
kazu 0a6d09330c * io.c (rb_io_getline_fast, rb_io_getline_1): fix ARGF.lineno behavior. [ruby-core:25205]
* test/ruby/test_argf.rb (TestArgf#test_lineno3): add a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-11 15:56:43 +00:00
nobu 92de2ed517 * io.c (internal_{read,write}_func, rb_{read,write}_internal):
preserve errno.  a patch from Takehiro Kubo in [ruby-core:29340].
  [ruby-core:28924]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-08 16:27:42 +00:00
nobu 171131061e * io.c (rb_io_initialize): fixed a rdoc miss that textmode and
bimode flag explanation was reversed each other.  a patch from
  Heesob Park in [ruby-core:29166].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 02:36:33 +00:00
nobu ed2dd5e3f4 * io.c (rb_io_initialize): add autoclose argument to control close
at finalization.  [ruby-core:26222]

* io.c (rb_io_autoclose_p, rb_io_set_autoclose): new methods.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-21 10:52:31 +00:00