nobu
b0dd250dc9
use RB_TYPE_P() instead of comparison of TYPE()
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 07:13:21 +00:00
drbrain
ab0eb272f9
* io.c (io_readpartial): Document the output buffer parameter is
...
overwritten with the read contents even when non-empty.
Patch by yu nobuoka. [ruby-trunk - Bug #6285 ]
* io.c (io_read_nonblock): ditto.
* io.c (io_read): ditto.
* io.c (rb_io_sysread): ditto.
* io.c (argf_read): ditto.
* io.c (argf_readpartial): ditto.
* ext/stringio/stringio.c (strio_read): ditto.
* test/ruby/test_argf.rb (class TestArgf): Add test for existing
behavior of read outbuf.
* test/ruby/test_io.rb (class TestIO): ditto.
* test/stringio/test_stringio.rb (class TestStringIO): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-18 23:48:27 +00:00
drbrain
e95f7ea80d
* variable.c (trace_ev): Removed "not reached" comment as this line is
...
reached.
* variable.c (rb_obj_remove_instance_variable): Replaced "not reached"
comment with the UNREACHABLE macro.
* variable.c (rb_mod_const_missing): ditto.
* variable.c (rb_mod_remove_cvar): ditto.
* enum.c (first_i): ditto.
* string.c (rb_str_aref): ditto.
* string.c (str_byte_aref): ditto.
* string.c (rb_to_id): ditto.
* io.c (rb_io_fmode_modestr): ditto.
* io.c (rb_io_oflags_modestr): ditto.
* pack.c (num2i32): ditto.
* vm_eval.c (rb_method_missing): ditto.
* vm_eval.c (rb_f_throw): ditto.
* dir.c (dir_read): ditto.
* win32/win32.c (child_result): ditto.
* struct.c (rb_struct_getmember): ditto.
* struct.c (rb_struct_set): ditto.
* struct.c (rb_struct_aref_id): ditto.
* eval.c (rb_f_raise): ditto.
* process.c (rb_f_exit_bang): ditto.
* process.c (rb_f_exit): ditto.
* process.c (rb_f_abort): ditto.
* ext/-test-/iter/break.c (iter_break_value): ditto.
* ext/pty/pty.c (pty_check): ditto.
* ext/openssl/ossl_pkey.c (ossl_pkey_new): ditto.
* ext/readline/readline.c (rb_remove_history): ditto.
* ext/stringio/stringio.c (strio_unimpl): ditto.
* numeric.c (num_sadded): ditto.
* numeric.c (num_init_copy): ditto.
* numeric.c (rb_num2ll): ditto.
* numeric.c (rb_num2ull): ditto.
* vm_insnhelper.c (call_cfunc): ditto.
* ruby.c (opt_W_getter): ditto.
* bignum.c (rb_big_coerce): ditto.
* file.c (rb_f_test): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-14 00:36:26 +00:00
nobu
8335ce7065
* ext/io/console/console.c (io_getch): default delegating method
...
for StringIO. https://github.com/nobu/io-console/issues/4
* ext/stringio/stringio.c: moved some methods to hidden modules.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 18:24:09 +00:00
nobu
5c68e601e8
* ext/stringio/stringio.c (strio_truncate): fix typo. patched by
...
Nick Howard <ndh AT baroquebobcat.com>.
https://github.com/ruby/ruby/pull/65
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 06:41:05 +00:00
nobu
dcb7cc1a8b
* ext/stringio/stringio.c (strio_read): return new string if nil
...
is explicitly given as a buffer ([Bug #5207 ]), otherwise set the
encoding. also removed dead code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-20 01:43:26 +00:00
nobu
0d6d23b25d
* ext: remove trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-22 09:26:02 +00:00
nobu
b4dc41d42e
fix style.
...
* ext/stringio/stringio.c (strio_each, strio_readlines): fix style.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-14 12:16:09 +00:00
sorah
6eb7740472
* ext/stringio/stringio.c (strio_each, strio_readlines):
...
Use `NUM2LONG` instead of `FIX2INT`. Fixes [ruby-dev:43395].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-09 15:10:03 +00:00
sorah
4e817b39b4
* ext/stringio/stringio.c (strio_each):
...
Fix exception message and don't raise immediately if block is not given.
Fixes [ruby-dev:43394].
* test/stringio/test_stringio.rb (test_each_line_limit_0):
Fix test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-09 14:28:06 +00:00
sorah
0a69f2e39d
* ext/stringio/stringio.c (strio_each, strio_readlines):
...
limit must not be zero. Fixes [ruby-dev:43392].
* test/stringio/test_stringio.rb: Add tests for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-09 13:01:23 +00:00
naruse
653b4248a3
* ext/stringio/stringio.c (strio_getline): check whether str is
...
a string when str and lim are given.
https://twitter.com/watson1978/status/56225052152168449
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-08 07:50:49 +00:00
akr
80fb9c7b4e
* ext/stringio/stringio.c: parenthesize macro arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-29 15:25:25 +00:00
nobu
d8d9bac5c8
* ext/stringio/stringio.c (get_strio, strio_set_string)
...
(strio_reopen): check if frozen. [ruby-core:33648]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05 20:14:43 +00:00
nobu
bfcd4e5453
* ext/stringio/stringio.c (strio_getline): round upto next char
...
boundary. [ruby-dev:42674]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02 22:08:45 +00:00
naruse
47cb5a93e5
* ext/stringio/stringio.c (strio_set_encoding):
...
StringIO#set_encoding can get 2nd argument and optional hash
for API compatibility to IO. [ruby-dev:42356]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-10 21:54:22 +00:00
nobu
c53664c84d
.cvsignore: have not been used already. [Bug #3468 ]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 05:43:21 +00:00
nobu
25b9eb5e57
* include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862]
...
add parent member.
* error.c (rb_typeddata_inherited_p): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18 07:31:54 +00:00
tarui
952b1bf355
* ext/stringio/stringio.c (strio_write): add RB_GC_GUARD.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-29 12:12:07 +00:00
nobu
977267c2e0
* ext/**/*.[ch]: removed trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 08:04:13 +00:00
marcandre
51ae7f6e9a
* io.c: Fix documentation for each/each_line/lines, bytes/each_byte,
...
codepoints/each_code_point [ruby-core:23948]
* string.c: ditto
* ext/stringio/stringio.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-07 10:22:05 +00:00
mame
e5757042f9
* ext/stringio/stringio.c (strio_ungetc): pads with \000 when the
...
current position is after the end. [ruby-dev:40271]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-05 16:57:54 +00:00
nahi
39802186b2
* ext/stringio/stringio.c (ungetc): RDoc updated. trunk allows
...
pushing back behind the beginning of the pseudo stream.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-04 04:14:37 +00:00
nobu
8252adfd5a
* ext/stringio/stringio.c (Init_stringio): added read_nonblock and
...
write_nonblock aliases. [ruby-dev:39551]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-27 13:22:40 +00:00
nobu
0d76affdf9
* ext/stringio/stringio.c (strio_data_type): typed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-27 13:14:52 +00:00
naruse
b07650769e
* stringio/stringio.c (strio_read): set ASCII-8BIT encoding
...
when length argument is given.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-28 01:08:24 +00:00
matz
fa31dda1f8
* ext/stringio/stringio.c (strio_each_codepoint): new method.
...
[ruby-core:23949]
* ext/stringio/stringio.c (strio_each_codepoint): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-22 08:23:30 +00:00
nobu
af634f8455
* ext/stringio/stringio.c (strio_ungetbyte): encoding should not
...
be effective.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-14 07:07:55 +00:00
nobu
aaec30f96a
* ext/stringio/stringio.c (strio_path): removed. [ruby-dev:38254]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-06 01:47:15 +00:00
nobu
ee159271dd
* ext/stringio/stringio.c (strio_ungetc): calculates new position
...
before reallocation. [Bug#1099]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-12 08:17:53 +00:00
nobu
aa39c4491a
* io.c (rb_io_getc, rb_io_readchar): documentation correction from
...
Emiel van de Laar. [ruby-core:20212]
* ext/stringio/stringio.c (strio_ungetbyte): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 03:22:12 +00:00
matz
75fcee4a23
* ext/stringio/stringio.c (strio_ungetc): ungetc position should
...
not be changed from 1.8. [ruby-core:19632]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-08 08:32:55 +00:00
matz
81525af4c9
* ext/zlib/zlib.c (rb_gzreader_ungetc): should be able to unget
...
Fixnum.
* ext/stringio/stringio.c (strio_ungetc): should convert unget
string.
* ext/stringio/stringio.c (strio_ungetbyte): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 22:10:49 +00:00
matz
16549e33da
* ext/stringio/stringio.c (strio_write): should convert writing
...
string to the encoding of the buffer.
* hash.c (rb_any_hash): typo fixed.
* ext/zlib/zlib.c (rb_gzwriter_write): oops, IO string conversion
need to be done by to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 14:14:13 +00:00
naruse
fd898245cb
* ext/stringio/stringio.c (strio_set_encoding): defined for
...
StringIO#set_encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-05 08:47:01 +00:00
naruse
0b18a77e7d
* ext/stringio/stringio.c (strio_external_encoding): defined.
...
* ext/stringio/stringio.c (strio_internal_encoding): defined.
* ext/stringio/stringio.c (Init_stringio): define above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 09:56:20 +00:00
mame
9e3e19cd1f
* ext/stringio/stringio.c (strio_getline): fix for nil and "" as
...
separator. [ruby-dev:34591]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-30 13:30:11 +00:00
nobu
51fbc0699c
* ext/stringio/stringio.c (strio_each, strio_readlines): IO#each and
...
IO#readlines do not affect $_. [ruby-core:17277]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-16 12:58:41 +00:00
nobu
959383cb10
* ext/stringio/stringio.c (strio_readline, strio_each)
...
(strio_readlines): set lastline. [ruby-core:17257]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-15 22:14:51 +00:00
nobu
1a155ee7f6
* ext/stringio/stringio.c (strio_sysread): should not raise at empty
...
read. a patch from Arthur Schreiber at [ruby-core:17245].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-14 13:52:41 +00:00
mame
d222472299
* ext/stringio/stringio.c (strio_init): rewind when reopened.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-11 17:50:03 +00:00
knu
f15c0dd7dd
* ext/stringio/stringio.c (strio_each_char, Init_stringio): Add
...
StringIO#{each_char,chars}.
(Init_stringio): Fix StringIO#bytes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-27 10:03:23 +00:00
knu
f7213e1c52
* ext/stringio/stringio.c (strio_each_byte): Return self instead
...
of nil as the rdoc says.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-27 08:55:59 +00:00
knu
ffc456d0ed
* ext/dbm/dbm.c (fdbm_each_value, fdbm_each_key, fdbm_each_pair):
...
GDBM#{each,each_pair,each_key,each_value}: Return an enumerator
if no block is given.
* ext/gdbm/gdbm.c (fgdbm_each_value, fgdbm_each_key,
fgdbm_each_pair): GDBM#{each,each_pair,each_key,each_value}:
Return an enumerator if no block is given.
* ext/openssl/ossl_config.c (ossl_config_each):
OpenSSL::Config#each: Return an enumerator if no block is given.
* ext/readline/readline.c (hist_each): Readline::HISTORY#each:
Return an enumerator if no block is given.
* ext/sdbm/init.c (fsdbm_each_value, fsdbm_each_key,
fsdbm_each_pair): SDBM#{each,each_pair,each_key,each_value}:
Return an enumerator if no block is given.
* ext/stringio/stringio.c (strio_each_byte, strio_each):
StringIO#{each,each_line,each_byte}: Return an enumerator if no
block is given.
* ext/stringio/stringio.c (Init_stringio): Add #lines and #bytes,
which are aliases to #each_line and #each_byte, respectively.
* ext/win32ole/win32ole.c (fole_each): WIN32OLE#each: Return an
enumerator if no block is given.
* ext/zlib/zlib.c (rb_gzreader_each_byte, rb_gzreader_each):
Zlib::GzipReader#{each,each_line,each_byte}: Return an
enumerator if no block is given.
* ext/zlib/zlib.c (Init_zlib): Add Zlib::GzipReader#lines and
#bytes, which are aliases to #each_line and #each_byte,
respectively.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-21 08:48:33 +00:00
nobu
fe3987ae96
* ext/stringio/stringio.c (strio_init): use default external encoding
...
if nothing is given. a patch from sheepman <sheepman AT
sheepman.sakura.ne.jp> in [ruby-dev:33159].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-17 15:03:56 +00:00
akr
6cdef2dc7e
* $Date$ keyword removed to avoid inclusion of locale dependent
...
string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 15:49:38 +00:00
nobu
2f4951f01e
* ext/stringio/stringio.c (strio_init): separate from strio_initialize
...
to share with strio_reopen properly. [ruby-Bugs-13919]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-21 20:19:51 +00:00
matz
080605efb1
* ext/stringio/stringio.c (strio_getc): rb_enc_mbclen() fix.
...
* ext/stringio/stringio.c (strio_ungetc): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-06 15:42:53 +00:00
matz
a25fbe3b3e
* encoding.c: provide basic features for M17N.
...
* parse.y: encoding aware parsing.
* parse.y (pragma_encoding): encoding specification pragma.
* parse.y (rb_intern3): encoding specified symbols.
* string.c (rb_str_length): length based on characters.
for older behavior, bytesize method added.
* string.c (rb_str_index_m): index based on characters. rindex as
well.
* string.c (succ_char): encoding aware succeeding string.
* string.c (rb_str_reverse): reverse based on characters.
* string.c (rb_str_inspect): encoding aware string description.
* string.c (rb_str_upcase_bang): encoding aware case conversion.
downcase, capitalize, swapcase as well.
* string.c (rb_str_tr_bang): tr based on characters. delete,
squeeze, tr_s, count as well.
* string.c (rb_str_split_m): split based on characters.
* string.c (rb_str_each_line): encoding aware each_line.
* string.c (rb_str_each_char): added. iteration based on
characters.
* string.c (rb_str_strip_bang): encoding aware whitespace
stripping. lstrip, rstrip as well.
* string.c (rb_str_justify): encoding aware justifying (ljust,
rjust, center).
* string.c (str_encoding): get encoding attribute from a string.
* re.c (rb_reg_initialize): encoding aware regular expression
* sprintf.c (rb_str_format): formatting (i.e. length count) based
on characters.
* io.c (rb_io_getc): getc to return one-character string.
for older behavior, getbyte method added.
* ext/stringio/stringio.c (strio_getc): ditto.
* io.c (rb_io_ungetc): allow pushing arbitrary string at the
current reading point.
* ext/stringio/stringio.c (strio_ungetc): ditto.
* ext/strscan/strscan.c: encoding support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-25 03:29:39 +00:00
matz
c8c6ab229a
* ext/stringio/stringio.c (strio_getc): should returns
...
one-character string.
* ext/stringio/stringio.c: remove unnecessary prototypes.
* ext/stringio/stringio.c (strio_getbyte): new method.
* ext/stringio/stringio.c (strio_readbyte): new method.
* ext/stringio/stringio.c (strio_ungetc): should take a string as
an input.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-15 00:33:33 +00:00