[#114348] [Ruby master Feature#19832] Method#destructive?, UnboundMethod#destructive? — "sawa (Tsuyoshi Sawada) via ruby-core" <ruby-core@...>

Issue #19832 has been reported by sawa (Tsuyoshi Sawada).

15 messages 2023/08/06

[#114365] [Ruby master Bug#19834] Segmentation fault while running in docker — "ramachandran@... (Ramachandran A) via ruby-core" <ruby-core@...>

Issue #19834 has been reported by ramachandran@mallow-tech.com (Ramachandran A).

7 messages 2023/08/09

[#114380] [Ruby master Bug#19837] Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2 — "kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>

Issue #19837 has been reported by kjtsanaktsidis (KJ Tsanaktsidis).

7 messages 2023/08/11

[#114399] [Ruby master Feature#19839] Need a method to check if two ranges overlap — "shouichi (Shouichi KAMIYA) via ruby-core" <ruby-core@...>

Issue #19839 has been reported by shouichi (Shouichi KAMIYA).

27 messages 2023/08/18

[#114410] [Ruby master Bug#19841] Marshal.dump stack overflow with recursive Time — "segiddins (Samuel Giddins) via ruby-core" <ruby-core@...>

Issue #19841 has been reported by segiddins (Samuel Giddins).

9 messages 2023/08/18

[#114422] [Ruby master Feature#19842] Intorduce M:N threads — "ko1 (Koichi Sasada) via ruby-core" <ruby-core@...>

Issue #19842 has been reported by ko1 (Koichi Sasada).

30 messages 2023/08/21

[#114590] [Ruby master Bug#19857] Eval coverage is reset after each `eval`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19857 has been reported by ioquatix (Samuel Williams).

21 messages 2023/08/30

[ruby-core:114486] [Ruby master Bug#19784] String#delete_prefix! problem

From: "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date: 2023-08-24 11:48:20 UTC
List: ruby-core #114486
Issue #19784 has been updated by mame (Yusuke Endoh).





Discussed at the dev meeting.

We agreed that both `start_with?` and `delete_prefix` should compare charac=
ter by character if valid, and byte by byte for invalid.



```ruby

"\xFF\xFE".start_with?("\xFF")   #=3D> true   # not changed

"\xFF\xFE".delete_prefix("\xFF") #=3D> "\xFE" # changed

"=C4".start_with?("\xC3")          #=3D> false  # changed

"=C4".delete_prefix("\xC3")        #=3D> "=C4"    # not changed

```



Note that encoding validity is checked on a position-by-position basis:



```ruby

"\xFF=C4".delete_prefix("\xFF") #=3D> should be "=C4"

"\xFF=C4".delete_prefix("\xFF\xC3") #=3D> should be "\xFF=C4"

"\xFF=C4".delete_prefix("\xFF\xC3\x84") #=3D> should be ""

```



----------------------------------------

Bug #19784: String#delete_prefix! problem

https://bugs.ruby-lang.org/issues/19784#change-104272



* Author: inversion (Yura Babak)

* Status: Open

* Priority: Normal

* ruby -v: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]

* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN

----------------------------------------

Here is the snipped and the question is in the comments:

``` ruby

fp =3D 'with_BOM_16.txt'

body =3D File.read(fp).force_encoding('UTF-8')



p body                            # "\xFF\xFE1\u00001\u0000"

p body.start_with?("\xFF\xFE")    # true



body.delete_prefix!("\xFF\xFE")   # !!! why doesn't work?

p body                            # "\xFF\xFE1\u00001\u0000"

p body.start_with?("\xFF\xFE")    # true



body[0, 2] =3D ''

p body                            # "1\u00001\u0000"

p body.start_with?("\xFF\xFE")    # false



```

Works same=20

on Linux (ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux])

and Windows (ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt])







--=20

https://bugs.ruby-lang.org/

 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-c=
ore.ml.ruby-lang.org/

In This Thread