mame
ae8dc9b722
* vm_eval.c (rb_iterate): pass current block when the argument bl_proc
...
is NULL. This behavior can be used to make enumerator faster
[ruby-dev:39874]
* enumerator.c (enumerator_each): pass current block directly instead
of trampoline block (enumerator_each_i).
* io.c (argf_each_line, argf_each_byte, argf_each_char): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-20 12:31:26 +00:00
nobu
4d786d21e3
* removed spaces just before tabs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-26 05:25:08 +00:00
naruse
8f05568afb
* io.c (read_all): fix: false negative invalid byte seequence
...
on reading from pipes. [ruby-dev:39743]
fix: assigin the variable 'pos' as relative value from recent pos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-21 07:03:06 +00:00
akr
973841cb73
* io.c (MORE_CHAR_SUSPENDED): renamed from MORE_CHAR_CBUF_FULL.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 15:47:41 +00:00
akr
4c6eda226a
* io.c (fill_cbuf): extracted from more_char.
...
(io_shift_cbuf): fix memmove condition.
(read_all): use fill_cbuf directly to avoid ECONV_AFTER_OUTPUT.
[ruby-dev:39708]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 13:02:14 +00:00
naruse
6c2373ea67
* io.c (rb_scan_open_args): move path encoding conversion
...
for filesystem encoding of Mac OS X.
* file.c (file_path_convert): added for convert encoding
of file path.
* file.c (rb_get_path_check): add file_path_convert.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 02:41:25 +00:00
akr
cde9a50b75
* io.c (parse_mode_enc): fix invalid access.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-17 22:52:02 +00:00
wanabe
98cf9c43fa
* io.c (read_all): shift read buffer if exception occured.
...
pointed out in [ruby-dev:39702].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-16 05:06:16 +00:00
wanabe
d8a754cc12
* io.c (read_all): don't call io_shift_cbuf until bufffering enough or
...
econv_finished. [ruby-dev:39696]
* io.c (more_char): don't call clear_readconv to read buffer after
econv_finished.
* io.c (appendline, rb_io_each_codepoint): clear readconv when done.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-15 23:11:26 +00:00
akr
b9e0294eda
fix typos.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-03 17:46:28 +00:00
matz
0580ba0611
* array.c (rb_ary_to_ary): do not use #respond_to? to detect
...
to_ary. Just call. [ruby-core:23738]
* eval.c (rb_check_funcall): new function with method existence
check. returns Qundef when the method does not exist.
* enumerator.c (enumerator_rewind): just call method, using
rb_check_funcall(). [ruby-core:23738]
* error.c (exc_equal): ditto.
* object.c (convert_type): ditto.
* error.c (rb_name_err_mesg_new): export function.
* eval.c (make_exception): ditto.
* io.c (pop_last_hash): return early when the last argument is nil.
* io.c (rb_io_puts): treat T_STRING specially for small
optimization.
* vm_eval.c (raise_method_missing): skip method call if possible
using rb_method_basic_definition_p().
* vm_eval.c (method_missing): ditto.
* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_debug): test
suites changed to ignore exceptions caused by just-call policy.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-29 04:55:10 +00:00
naruse
ee15e6ee3b
* io.c (Init_IO): rb_default_rs should be US-ASCII.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-28 19:42:53 +00:00
nobu
d64d462f7a
* io.c (io_cntl): F_DUPFD is platform dependent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-25 04:34:00 +00:00
akr
843acddbe1
* io.c (io_cntl): update max file descriptor by the result of
...
fcntl(F_DUPFD).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-23 15:38:06 +00:00
nobu
9fff5f0fab
* io.c (io_encoding_set): get rid of parsing non-ascii string, and
...
refine messages for invalid name encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-15 06:14:16 +00:00
nobu
6069202867
* io.c (io_reopen): unread current buffer before telling the
...
position, for the case of reopening same file. [ruby-dev:39479]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-15 05:58:00 +00:00
akr
334241e3ed
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-11 09:34:25 +00:00
akr
1c544fccd2
* io.c (io_reopen): avoid close if possible.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-06 12:31:53 +00:00
akr
c984f77122
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-05 11:27:06 +00:00
nobu
46313c96c7
* io.c (rb_scan_open_args): rb_utf8mac_encoding is undefined.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-29 14:17:34 +00:00
naruse
ad8978fdb1
* io.c (rb_scan_open_args): add UTF8-MAC to no-convertion encoding.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-29 12:31:43 +00:00
nobu
31b7ae00c0
* include/ruby/st.h (st_hash_func): use st_index_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08 13:10:04 +00:00
nobu
a5c2f8843f
* io.c (rb_io_tell): adjustment for ungotten data.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-07 08:23:00 +00:00
nobu
5a12fb5fb8
* io.c (io_encname_bom_p): removed magic number.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-07 08:13:55 +00:00
nobu
f64949e276
* io.c (Init_IO): added rdocs for constants.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-07 08:12:32 +00:00
nobu
33ff311494
* io.c: fixed rdoc, a patch from Nobuhiro IMAI at [ruby-core:25433].
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-06 01:34:21 +00:00
nobu
c06c77091b
* io.c (argf_next_argv): fixed indent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-05 23:11:03 +00:00
naruse
a535975bcb
* io.c: Add rdoc for ARGF.
...
contributed by Run Paint Run Run. [ruby-core:23854]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-05 20:23:56 +00:00
naruse
7fa7345609
Rename FMODE_STRIP_BOM to FMODE_SETENC_BY_BOM.
...
* include/ruby/io.h, io.c (FMODE_SETENC_BY_BOM):
renamed from FMODE_STRIP_BOM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-21 06:17:06 +00:00
naruse
f7207fa2fc
Change modestr syntax for BOM to "BOM|UTF-*".
...
* io .c (rb_io_fmode_modestr): change modestr syntax for BOM
to "BOM|UTF-*".
* io.c (parse_mode_enc): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-21 06:16:53 +00:00
nobu
4b82d3b6b8
* io.c (rb_sysopen_internal): removed const qualifier.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-20 15:06:36 +00:00
nobu
36c9cddf6c
* io.c (rb_sysopen): moved sysopen_struct from rb_sysopen_internal.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-20 14:56:23 +00:00
nobu
cb9038cbaf
* io.c (rb_stdio_set_default_encoding): prototyped.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-05 10:18:21 +00:00
naruse
00499c097f
Set encodings of stdio after setting default internal and external.
...
* io.c (rb_stdio_set_default_encoding): added.
* ruby.c (process_options): call rb_stdio_set_default_encoding
after setting defualt internal and external.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-31 07:37:02 +00:00
matz
49991ff6f8
* io.c (argf_eof): should call next_argv() before testing.
...
[ruby-core:24561]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-28 08:46:04 +00:00
nobu
b7f26835da
* io.c (argf_eof): go to the next file if called after ARGF.close
...
or ARGF.skip. [ruby-core:24561]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-26 10:17:39 +00:00
nobu
c689ee1a89
* io.c (argf_eof): should not have reached EOF before trying to
...
read. based on a patch by Heesob Park <phasis AT gmail.com> at
[ruby-core:24559]. [ruby-core:24557]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-25 08:49:08 +00:00
naruse
c38487d063
* io.c (rb_f_open): add rdoc about specifying ext_enc as *-bom.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-20 11:37:26 +00:00
nobu
2737b90e36
* io.c (io_read): should taint the result. [ruby-dev:38826]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-19 08:32:44 +00:00
nobu
e07cb859cc
* suppressed shorten-64-to-32 warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-18 08:05:32 +00:00
nobu
53163f8138
* io.c (io_reopen): discards read buffer. [ruby-core:24240]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 07:00:23 +00:00
ko1
0d2449bd35
* io.c (argf_free): free data body.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-15 23:55:21 +00:00
nobu
9681409e36
* io.c (rb_io_initialize): check if the descriptor can be accessed
...
in the specified open mode. [ruby-dev:38571]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-14 07:13:11 +00:00
usa
0fefd19023
* io.c (pipe_open): handles leaked on win32 when an error occurs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 13:33:00 +00:00
akr
e13fb8029b
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-12 17:36:23 +00:00
naruse
161f0a1699
io.c (io_strip_bom): ungetbyte third byte when UTF-16LE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 14:21:13 +00:00
naruse
f188db3105
Fix condition of second byte of UTF-16LE/UTF-32LE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 14:21:04 +00:00
naruse
67016f368c
cosmetic changes
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 13:17:43 +00:00
naruse
634cfdc6e6
Set encoding and strip bom when modeenc string is "r:foo-bom" [ruby-dev:37236]
...
* include/ruby/io.h (FMODE_STRIP_BOM): new constant.
* io.c (io_encname_bom_p): judge whether the encoding name
is *-bom or not.
(parse_mode_enc): drop "-bom".
(rb_io_modestr_fmode): set FMODE_STRIP_BOM if needed.
(rb_io_extract_modeenc): ditto.
(io_strip_bom): strip bom if exists.
(io_set_encoding_by_bom): set encoding if there is bom.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-09 14:47:48 +00:00
naruse
999123c147
* io.c (rb_io_ext_int_to_encs): Set external encoding if
...
ext==intern. [ruby-dev:38278]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-07 01:15:32 +00:00