[#111121] [Ruby master Bug#19165] Method (with no param) delegation with *, **, and ... is slow — "matsuda (Akira Matsuda)" <noreply@...>

Issue #19165 has been reported by matsuda (Akira Matsuda).

9 messages 2022/12/01

[#111135] [Ruby master Bug#19167] Object#inspect does not correctly show NilClass TrueClass and FalseClass stored in instance variables — "tompng (tomoya ishida)" <noreply@...>

Issue #19167 has been reported by tompng (tomoya ishida).

7 messages 2022/12/01

[#111183] [Ruby master Misc#19178] How does CRuby handle CVE issues in stdlib gems which get patched? — "Segaja (Andreas Schleifer)" <noreply@...>

Issue #19178 has been reported by Segaja (Andreas Schleifer).

14 messages 2022/12/03

[#111220] [Ruby master Bug#19187] Ruby 3.1.3 testsuite fails after timezone 2022g update is applied — "coolo (Stephan Kulow)" <noreply@...>

Issue #19187 has been reported by coolo (Stephan Kulow).

11 messages 2022/12/06

[#111264] [Ruby master Feature#19197] Add Exception#root_cause — "AMomchilov (Alexander Momchilov)" <noreply@...>

Issue #19197 has been reported by AMomchilov (Alexander Momchilov).

8 messages 2022/12/12

[#111272] [Ruby master Bug#19231] Integer#step and Float::INFINITY - inconsistent behaviour when called with and without a block — "andrykonchin (Andrew Konchin)" <noreply@...>

Issue #19231 has been reported by andrykonchin (Andrew Konchin).

7 messages 2022/12/13

[#111279] [Ruby master Bug#19233] Failed to install sqlite3 gem since 7f1ca666424849134990d022266bcd4d6636465f using Docker — "yahonda (Yasuo Honda)" <noreply@...>

Issue #19233 has been reported by yahonda (Yasuo Honda).

9 messages 2022/12/14

[#111306] [Ruby master Feature#19236] Allow to create hashes with a specific capacity from Ruby — "byroot (Jean Boussier)" <noreply@...>

Issue #19236 has been reported by byroot (Jean Boussier).

15 messages 2022/12/15

[#111318] [Ruby master Misc#19240] DevMeeting-2023-01-19 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19240 has been reported by mame (Yusuke Endoh).

14 messages 2022/12/16

[#111339] [Ruby master Feature#19245] Strict mode for Array#pack that doesn't silently truncate numbers that are too large for the given directive — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19245 has been reported by byroot (Jean Boussier).

8 messages 2022/12/20

[#111342] [Ruby master Bug#19246] Rebuilding the loaded feature index much slower in Ruby 3.1 — "thomthom (Thomas Thomassen) via ruby-core" <ruby-core@...>

Issue #19246 has been reported by thomthom (Thomas Thomassen).

22 messages 2022/12/20

[#111361] [Ruby master Bug#19248] TestGCCompact#test_moving_objects_between_size_pools test failure — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

Issue #19248 has been reported by vo.x (Vit Ondruch).

25 messages 2022/12/21

[#111400] [Ruby master Bug#19254] Enabling YJIT configuration option breaks rspec-core test suite — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

Issue #19254 has been reported by vo.x (Vit Ondruch).

7 messages 2022/12/23

[#111448] [Ruby master Bug#19266] URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER — "gareth (Gareth Adams) via ruby-core" <ruby-core@...>

Issue #19266 has been reported by gareth (Gareth Adams).

9 messages 2022/12/26

[#111456] [Ruby master Bug#19271] irb ignores rbs and debug with YJIT enabled — "olivierlacan (Olivier Lacan) via ruby-core" <ruby-core@...>

Issue #19271 has been reported by olivierlacan (Olivier Lacan).

9 messages 2022/12/27

[#111461] [Ruby master Feature#19272] Hash#merge: smarter protocol depending on passed block arity — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19272 has been reported by zverok (Victor Shepelev).

9 messages 2022/12/27

[#111465] [Ruby master Bug#19273] [Regexp] regexp does not does not match expected — "taichi730 (Taichi Ishitani) via ruby-core" <ruby-core@...>

Issue #19273 has been reported by taichi730 (Taichi Ishitani).

8 messages 2022/12/28

[#111477] [Ruby master Bug#19275] Bundled gems extensions are not installed with 3.2.0 release tarball — "xtkoba (Tee KOBAYASHI) via ruby-core" <ruby-core@...>

Issue #19275 has been reported by xtkoba (Tee KOBAYASHI).

8 messages 2022/12/28

[#111480] [Ruby master Misc#19276] It is not possible to reply to emails from rubymine — "graywolf (Gray Wolf) via ruby-core" <ruby-core@...>

Issue #19276 has been reported by graywolf (Gray Wolf).

8 messages 2022/12/28

[#111484] [Ruby master Bug#19278] Constructing subclasses of Data with positional arguments — "tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>

Issue #19278 has been reported by tenderlovemaking (Aaron Patterson).

16 messages 2022/12/28

[#111485] [Ruby master Bug#19279] Allow `Coverage.supported?` to recognize oneshot lines mode — "kevin-j-m (Kevin Murphy) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5Mjc5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtldmluLWotbSAoS2V2aW4gTXVycGh5

7 messages 2022/12/28

[#111526] [Ruby master Bug#19288] Ractor JSON parsing significantly slower than linear parsing — "maciej.mensfeld (Maciej Mensfeld) via ruby-core" <ruby-core@...>

Issue #19288 has been reported by maciej.mensfeld (Maciej Mensfeld).

24 messages 2022/12/30

[#111529] [Ruby master Bug#19289] RbConfig::CONFIG["STRIP"] should keep `rb_abi_version` and `rb_abi_version` should always be part of Ruby — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>

Issue #19289 has been reported by Eregon (Benoit Daloze).

8 messages 2022/12/30

[ruby-core:111255] [Ruby master Bug#19192] IO has third data mode, document is incomplete.

From: "alanwu (Alan Wu)" <noreply@...>
Date: 2022-12-11 20:41:10 UTC
List: ruby-core #111255
Issue #19192 has been updated by alanwu (Alan Wu).


Ugh, it's quite weird. The `:crlf_newline` option is an [encoding option](https://docs.ruby-lang.org/en/master/encodings_rdoc.html#label-Encoding+Options),
but `File.open` uses it in a way different from `String#encode`.
With `String#encode`, it replaces `\n` with `\r\n`:
```ruby
p "\n".encode(crlf_newline: true) # => "\r\n"
```
With `File.open`, it controls DOS TEXT mode, which is Windows-specific and
does the inverse conversion when reading.
Also, when used in conjunction with encoding conversion, it doesn't do any newline conversion on Windows:

```ruby
require 'tempfile'
content = "\x1a \r \r\n \n".freeze
tmp = Tempfile.new.binmode
tmp.write(content)
tmp.flush
File.open(tmp.path, "r:US-ASCII:UTF-8", crlf_newline: true) do
  read_content = _1.read
  p content
  p read_content
  p content == read_content
end

__END__
F:\> ruby.exe -v .\19192.rb
ruby 3.2.0dev (2022-12-09T14:34:17Z master 12b5268679) [x64-mswin64_140]
"\u001A \r \r\n \n"
"\u001A \r \r\n \n"
true
```

There seems to be no way to get just CRLF conversion without also getting
special treatment for `0x1A`. This is probably because Ruby has to rely on the Windows
system library to do the conversion. The `:universal_newline` option is built into
Ruby so it works cross-platform.


----------------------------------------
Bug #19192: IO has third data mode, document is incomplete.
https://bugs.ruby-lang.org/issues/19192#change-100549

* Author: YO4 (Yoshinao Muramatsu)
* Status: Open
* Priority: Normal
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN
----------------------------------------
The documentation on the mode parameter of File.open is incomplete, I would like to clarify IO's data mode actual behavior here.

document says
```
To specify whether data is to be treated as text or as binary data, either of the following may be suffixed to any of the string read/write modes above:
't': Text data; sets the default external encoding to Encoding::UTF_8; on Windows, enables conversion between EOL and CRLF and enables interpreting 0x1A as an end-of-file marker.
'b': Binary data; sets the default external encoding to Encoding::ASCII_8BIT; on Windows, suppresses conversion between EOL and CRLF and disables interpreting 0x1A as an end-of-file marker.
If neither is given, the stream defaults to text data.
```
But actually it's more complicated than that.

There is three Data Mode
* text mode. Can convert encoding and newline.
* binary mode. Cannot convert encoding nor newline. Encoding is treated as Encoding::ASCII_8BIT.
* third mode: DOS TEXT mode. That enables conversion between EOL and CRLF and enables interpreting 0x1A as an end-of-file marker.

On Windows platform
't' textmode with universal newline conversion.
'b' binary mode.
If neither is given, DOS TEXT mode.

On other platforms
't' textmode with universal newline conversion.
'b' binary mode.
If neither is given, textmode without newline conversion.

On Windows, there are some special cases.
If Encoding conversion is specified, DOS TEXT mode is ignored and universal newline conversion applied.
If access mode is "a+", last (only one) EOF charactor is overwritten when DOS TEXT mode.
There are more parameter combinations, see https://gist.github.com/YO4/262e9bd5e44a37a7a2fa9118e271b30b
Is this all? I have not fully investigated.

Since the topic of data mode spanned access mode and encoding conversion, I don't think my English skills will allow me to summarize this into rdoc without breaking something...




-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- [email protected]
 To unsubscribe send an email to [email protected]
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/

In This Thread

Prev Next