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

105 Коммитов

Автор SHA1 Сообщение Дата
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
nobu a0aa5f977e * ext/stringio/stringio.c (strio_getline): local variable to be
initialized.  [ruby-dev:31077]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-28 06:00:09 +00:00
nobu 2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
nobu ffa31c2645 * ext/stringio/stringio.c (strio_seek): consistent behavior with
IO#seek.  patch by sheepman in [ruby-dev:30710].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-16 07:48:50 +00:00
matz 424f8ec44f * ext/stringio/stringio.c (strio_gets): accepts limit argument.
* ext/stringio/stringio.c (strio_readline, strio_each,
  strio_readlines): ditto.

* ext/stringio/stringio.c (strio_getline): add limit capability.

* io.c (rb_io_gets_m): accepts limit argument.  [ruby-talk:231563]

* io.c (rb_io_readline, rb_io_readlines, rb_io_each_line, argf_getline):
  ditto.

* io.c (appendline): add limit capability.

* io.c (rb_io_getline_fast, rb_io_getline): ditto.

* io.c (rb_io_getline): small refactoring for DRY.

* io.c (rb_io_s_foreach, rb_io_s_readlines): small refactoring.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-29 19:21:50 +00:00