Hiroshi SHIBATA
573c182128
Lock released version of stringio-3.1.2
2024-12-13 10:05:55 +09:00
Nobuyoshi Nakada and git
348a534153
[ruby/stringio] Copy from the relocated string
...
When ungetting the string same as the same buffer string, extending
the buffer can move the pointer in the argument. Reported by manun
Manu (manun) at https://hackerone.com/reports/2805165 .
https://github.com/ruby/stringio/commit/95c1194832
2024-11-05 05:01:03 +00:00
Nobuyoshi Nakada and git
484ea00d2e
[ruby/stringio] An empty string should be converted to empty in any encoding
...
https://github.com/ruby/stringio/commit/ef03f9368d
2024-10-26 13:20:34 +00:00
Nobuyoshi Nakada and git
f513863c81
[ruby/stringio] Unreachable after an invalid argument exception
...
https://github.com/ruby/stringio/commit/a2aab4721c
2024-10-26 12:55:45 +00:00
Nobuyoshi Nakada and git
393c5df008
[ruby/stringio] Remove SafeStringValue
...
In Ruby 2.7 and later, it is the same as `StringValue`.
https://github.com/ruby/stringio/commit/561ea67ea8
2024-10-26 12:55:45 +00:00
Hiroshi SHIBATA
32f134bb85
Added pre-release suffix for development version of default gems
...
https://github.com/ruby/stringio/issues/81
2024-08-31 14:22:17 +09:00
Sutou Kouhei and git
205da89680
[ruby/stringio] Development of 3.1.2 started.
...
https://github.com/ruby/stringio/commit/9ad5551160
2024-06-13 09:48:38 +00:00
Jean Boussier and git
15501e13d7
[ruby/stringio] Remove special handling of chilled strings
...
[Feature #20205 ]
Followup: https://github.com/ruby/stringio/pull/94
They no longer need to be special cases. If StringIO end up
mutating a chilled string, a warning will be emitted.
https://github.com/ruby/stringio/commit/dc62d65449
2024-05-30 15:11:48 +00:00
75154dec73
[ruby/stringio] strio_read: preserve buffer encoding on partial
...
reads
(https://github.com/ruby/stringio/pull/95 )
[[Bug #20418 ]](https://bugs.ruby-lang.org/issues/20418 )
Ruby IO#read preserves the encoding on partial read, but change it when
reading the whole IO
from commit https://github.com/ruby/ruby/commit/0ca7036682da :
> * io.c (read_all): should associate default external encoding.
> * io.c (io_read): should NOT associate default external encoding.
https://github.com/ruby/stringio/commit/073172da31
Co-authored-by: Jean Boussier <[email protected] >
2024-04-17 01:29:18 +00:00
Nobuyoshi Nakada and git
51e6becd39
[ruby/stringio] Extract readonly_string_p
...
https://github.com/ruby/stringio/commit/0da5b725c8
2024-03-27 17:41:38 +00:00
Nobuyoshi Nakada
06563d78a1
[ruby/stringio] Adjust styles [ci skip]
...
https://github.com/ruby/stringio/commit/4e8e82fc30
2024-03-28 02:27:20 +09:00
0f5ab4ad52
[ruby/stringio] Eagerly defrost chilled strings
...
[Feature #20390 ]
https://github.com/ruby/stringio/commit/17ee957f34
Co-authored-by: Jean Boussier <[email protected] >
2024-03-28 02:27:19 +09:00
Nobuyoshi Nakada and git
a1ced60692
[ruby/stringio] NULL StringIO by StringIO.new(nil)
...
https://github.com/ruby/stringio/commit/779f71359d
2024-03-15 04:34:14 +00:00
Nobuyoshi Nakada and git
c913f3347c
[ruby/stringio] [DOC] Add missing documents
...
https://github.com/ruby/stringio/commit/9cc1dfa19c
2024-03-14 04:30:28 +00:00
Nobuyoshi Nakada and git
3f8ef7ff7c
[ruby/stringio] Define StringIO::MAX_LENGTH
...
https://github.com/ruby/stringio/commit/0205bd1c86
2024-03-13 13:20:23 +00:00
tomoya ishida and git
fd1bafc11f
[ruby/stringio] Fix ascii_only? flag in strio_write
...
(https://github.com/ruby/stringio/pull/77 )
Followup of #79
`rb_str_resize()` was changed by https://github.com/ruby/ruby/commit/b0b9f7201acab05c2a3ad92c3043a1f01df3e17f .
```c
rb_str_resize(string, shorter) // clear ENC_CODERANGE in some case
rb_str_resize(string, longer) // does not clear ENC_CODERANGE anymore
```
```c
// rb_str_resize in string.c
if (slen > len && ENC_CODERANGE(str) != ENC_CODERANGE_7BIT) {
ENC_CODERANGE_CLEAR(str);
}
```
I think this change is based on an assumption that appending null bytes
will not change flag `ascii_only?`.
`strio_extend()` will make the string longer if needed, and update the
flags correctly for appending null bytes.
Before `memmove()`, we need to `rb_str_modify()` because updated flags are not
updated for `memmove()`.
https://github.com/ruby/stringio/commit/b31a538576
2024-01-18 03:42:21 +00:00
Nobuyoshi Nakada and git
6283ae8d36
[ruby/stringio] Update the coderange after overwrite
...
Fix https://bugs.ruby-lang.org/issues/20185
https://github.com/ruby/stringio/commit/8230552a46
2024-01-16 15:06:22 +00:00
Hiroshi SHIBATA
f54369830f
Revert "Rollback to released version numbers of stringio and strscan"
...
This reverts commit 6a79e53823 .
2023-12-25 21:12:49 +09:00
Hiroshi SHIBATA
6a79e53823
Rollback to released version numbers of stringio and strscan
2023-12-16 12:00:59 +08:00
Sutou Kouhei and git
def416899d
[ruby/stringio] Development of 3.1.1 started.
...
https://github.com/ruby/stringio/commit/75da93d48f
2023-11-28 01:38:41 +00:00
Sutou Kouhei and git
8cd6c65af1
[ruby/stringio] Development of 3.1.0 started.
...
https://github.com/ruby/stringio/commit/a2f8ef1a6a
2023-11-08 07:04:15 +00:00
Sutou Kouhei and git
7ed37388fb
[ruby/stringio] Add missing row separator encoding conversion
...
(https://github.com/ruby/stringio/pull/69 )
The conversion logic is borrowed from ruby/ruby's io.c:
https://github.com/ruby/ruby/blob/40391faeab608665da87a05c686c074f91a5a206/io.c#L4059-L4079
Fix ruby/stringio#68
Reported by IWAMOTO Kouichi. Thanks!!!
https://github.com/ruby/stringio/commit/4b170c1a68
2023-11-08 00:46:17 +00:00
Nobuyoshi Nakada
79d0879536
[ruby/stringio] Make STRINGIO_VERSION uniform
...
https://github.com/ruby/stringio/commit/4400bf3380
2023-11-04 19:28:49 +09:00
f087f2c74c
[ruby/stringio] StringIO#pread: handle 0 length like IO#pread
...
(https://github.com/ruby/stringio/pull/67 )
Fix: https://github.com/ruby/stringio/issues/66
If length is 0, IO#pread don't even try to read the IO, it simply return
the buffer untouched if there is one or a new empty buffer otherwise.
It also doesn't validate the offset when length is 0.
cc @jdelStrother @kou
https://github.com/ruby/stringio/commit/37e9279337
Co-authored-by: Jean Boussier <[email protected] >
2023-10-05 07:44:08 +00:00
Burdette Lamar and git
02022cef53
[ruby/stringio] [DOC] Fix link
...
(https://github.com/ruby/stringio/pull/65 )
https://github.com/ruby/stringio/commit/e3ea087d04
2023-09-22 14:17:07 +00:00
Sutou Kouhei and Hiroshi SHIBATA
5ed42c9800
Development of 3.0.9 started.
2023-08-29 18:15:05 +09:00
fd8dd71996
Implement StringIO#pread ( #56 )
...
Both for being closer to real IOs and also because it's a convenient API
in multithreaded scenarios.
Co-authored-by: Jean Boussier <[email protected] >
2023-08-02 18:18:17 +09:00
Hiroshi SHIBATA and git
c32a30ec09
[ruby/stringio] Development of 3.0.8 started.
...
https://github.com/ruby/stringio/commit/1587d3698e
2023-06-02 08:20:38 +00:00
Samuel Williams and git
d5a5333168
[ruby/stringio] Avoid direct struct usage.
...
(https://github.com/ruby/stringio/pull/54 )
We will eventually want to refactor this, but for now this is compatible
enough.
2023-06-01 11:41:19 +00:00
NARUSE, Yui
85dcc4866d
Revert "Hide most of the implementation of struct rb_io. ( #6511 )"
...
This reverts commit 18e55fc1e1 .
fix [Bug #19704 ]
https://bugs.ruby-lang.org/issues/19704
This breaks compatibility for extension libraries. Such changes
need a discussion.
2023-06-01 08:43:22 +09:00
18e55fc1e1
Hide most of the implementation of struct rb_io. ( #6511 )
...
* Add rb_io_path and rb_io_open_descriptor.
* Use rb_io_open_descriptor to create PTY objects
* Rename FMODE_PREP -> FMODE_EXTERNAL and expose it
FMODE_PREP I believe refers to the concept of a "pre-prepared" file, but
FMODE_EXTERNAL is clearer about what the file descriptor represents and
aligns with language in the IO::Buffer module.
* Ensure that rb_io_open_descriptor closes the FD if it fails
If FMODE_EXTERNAL is not set, then it's guaranteed that Ruby will be
responsible for closing your file, eventually, if you pass it to
rb_io_open_descriptor, even if it raises an exception.
* Rename IS_EXTERNAL_FD -> RUBY_IO_EXTERNAL_P
* Expose `rb_io_closed_p`.
* Add `rb_io_mode` to get IO mode.
---------
Co-authored-by: KJ Tsanaktsidis <[email protected] >
2023-05-30 10:02:40 +09:00
Nobuyoshi Nakada and git
6987ec45b1
[ruby/stringio] Drop support for ruby 2.6 or earlier
...
(https://github.com/ruby/stringio/pull/47 )
`rb_io_extract_modeenc` has been exported since ruby 2.7.
2023-05-08 07:21:21 +00:00
Nobuyoshi Nakada and git
409a13e9ea
[ruby/stringio] Update write-barrier at copying
...
http://ci.rvm.jp/results/trunk-asserts@ruby-sp2-docker/4552803
```
verify_internal_consistency_reachable_i: WB miss (O->Y) 0x00007f752ddd5550 [3LM ] strio (StringIO)strio -> 0x00007f752d19b7d0 [0 ] T_STRING (String) len: 8, capa: 15 "to_strio"
<internal:/tmp/ruby/src/trunk-asserts/lib/rubygems/core_ext/kernel_require.rb>:53: [BUG] gc_verify_internal_consistency: found internal inconsistency.
```
https://github.com/ruby/stringio/commit/2e8ab43cba
2023-05-03 05:38:27 +00:00
Sutou Kouhei and git
67743d5823
[ruby/stringio] Development of 3.0.7 started.
...
https://github.com/ruby/stringio/commit/5d39880f70
2023-04-14 06:38:51 +00:00
Jean Boussier and git
71dae78b89
[ruby/stringio] Implement write barrier on StringIO
...
It only has a single reference set in 3 places which
makes it fairly easy to implement.
https://github.com/ruby/stringio/commit/009896b973
2023-02-28 03:07:10 +00:00
BurdetteLamar and git
d3ee9e590c
[ruby/stringio] Remove (newly unneeded) remarks about aliases
...
https://github.com/ruby/stringio/commit/60bb320477
2023-02-25 08:38:19 +00:00
Nobuyoshi Nakada and git
cbd5de4f88
[ruby/stringio] Development of 3.0.6 started.
...
https://github.com/ruby/stringio/commit/a7561f447b
2023-02-03 07:49:31 +00:00
Nobuyoshi Nakada and git
89d9547800
[ruby/stringio] Revert "bump up to 3.0.6" [ci skip]
...
This reverts commit https://github.com/ruby/stringio/commit/325933500b35 .
It is bumped to 3.0.5 in advance but not released yet.
https://github.com/ruby/stringio/commit/af67c36693
2023-02-02 12:44:53 +00:00
Nobuyoshi Nakada and git
8087ba736e
[ruby/stringio] bump up to 3.0.6
...
https://github.com/ruby/stringio/commit/325933500b
2023-02-02 04:44:38 +00:00
Nobuyoshi Nakada and git
21dced8b01
[ruby/stringio] [Bug #19389 ] Fix chomping with longer separator
...
https://github.com/ruby/stringio/commit/eb322a9716
2023-01-28 13:00:08 +00:00
Sutou Kouhei and Hiroshi SHIBATA
10c9ce9d4c
bump up to 3.0.5
2022-12-26 15:09:21 +09:00
Hiroshi SHIBATA
7d04cddfef
Merge stringio-3.0.4
2022-12-09 16:36:22 +09:00
Sutou Kouhei and git
8bbf4e5d8d
[ruby/stringio] bump up to 3.0.5
...
https://github.com/ruby/stringio/commit/e62b9d78d3
2022-12-08 20:58:53 +00:00
Sutou Kouhei and git
b9d055d760
[ruby/stringio] bump up to 3.0.4
...
https://github.com/ruby/stringio/commit/5ba853d6ff
2022-12-08 05:12:15 +00:00
Hiroshi SHIBATA and git
faafb7b740
[ruby/stringio] Revert "Bump version to 3.0.4"
...
This reverts commit https://github.com/ruby/stringio/commit/aeb7e1a0bde6 .
https://github.com/ruby/stringio/commit/003dd0d003
2022-12-05 08:03:29 +00:00
Hiroshi SHIBATA and git
95e272baf8
[ruby/stringio] Bump version to 3.0.4
...
https://github.com/ruby/stringio/commit/aeb7e1a0bd
2022-12-05 08:02:25 +00:00
Burdette Lamar and git
35e03a44b8
[ruby/stringio] [DOC] Enhanced RDoc for StringIO
...
(https://github.com/ruby/stringio/pull/36 )
Treats:
- #each_codepoint
- #gets
- #readline (shows up in doc for module IO::generic_readable, not class
StringIO)
- #each_line
https://github.com/ruby/stringio/commit/659aca7fe5
2022-10-21 14:12:45 +00:00
Burdette Lamar and git
c32180d5ce
[ruby/stringio] [DOC] Enhanced RDoc for StringIO
...
(https://github.com/ruby/stringio/pull/35 )
Treated:
- #getc
- #getbyte
- #ungetc
- #ungetbyte
- #readchar
- #readbyte
- #each_char
https://github.com/ruby/stringio/commit/6400af8d9f
2022-10-19 15:33:08 +00:00
Burdette Lamar and Nobuyoshi Nakada
18b96d8a82
[ruby/stringio] [DOC] StringIO doc enhancements
...
(https://github.com/ruby/stringio/pull/33 )
Treated:
- ::new
- ::open
- #string
- #string=
- #close
- #close_read
- #close_write
- #closed?
- #closed_read?
- #closed_write?
- #eof?
https://github.com/ruby/stringio/commit/be9b64d739
2022-10-19 09:12:18 +09:00
Nobuyoshi Nakada
01d56b99bf
[DOC] Fix rdoc-ref
2022-10-19 08:52:29 +09:00