[#112638] [Ruby master Bug#19470] Frequent small range-reads from and then writes to a large array are very slow — "giner (Stanislav German-Evtushenko) via ruby-core" <ruby-core@...>

Issue #19470 has been reported by giner (Stanislav German-Evtushenko).

8 messages 2023/03/01

[#112664] [Ruby master Bug#19473] can't be called from trap context (ThreadError) is too limiting — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>

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

28 messages 2023/03/02

[#112681] [Ruby master Misc#19475] Propose Matthew Valentine-House (@eightbitraptor) as a core committer — "k0kubun (Takashi Kokubun) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NDc1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGswa3VidW4gKFRha2FzaGkgS29rdWJ1

11 messages 2023/03/03

[#112744] [Ruby master Bug#19485] Unexpected behavior in squiggly heredocs — "jemmai (Jemma Issroff) via ruby-core" <ruby-core@...>

Issue #19485 has been reported by jemmai (Jemma Issroff).

9 messages 2023/03/08

[#112746] [Ruby master Bug#19518] Recent Source Releases Do Not Compile on CentOS 7 Due to configure Script Error Generated By autoconf >= 2.70 — "eviljoel (evil joel) via ruby-core" <ruby-core@...>

Issue #19518 has been reported by eviljoel (evil joel).

7 messages 2023/03/08

[#112770] [Ruby master Feature#19520] Support for `Module.new(name)` and `Class.new(superclass, name)`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

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

42 messages 2023/03/09

[#112773] [Ruby master Feature#19521] Support for `Module#name=` and `Class#name=`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

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

31 messages 2023/03/09

[#112818] [Ruby master Misc#19525] DevMeeting-2023-04-13 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

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

8 messages 2023/03/10

[#112871] [Ruby master Bug#19529] [BUG] ObjectSpace::WeakMap can segfault after compaction — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

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

12 messages 2023/03/14

[#112926] [Ruby master Misc#19535] Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID` — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

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

8 messages 2023/03/17

[#112933] [Ruby master Feature#19538] Performance warnings — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

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

11 messages 2023/03/17

[#112944] [Ruby master Feature#19541] Proposal: Generate frame unwinding info for YJIT code — "kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NTQxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtqdHNhbmFrdHNpZGlzIChLSiBUc2Fu

13 messages 2023/03/19

[#113033] [Ruby master Feature#19555] Allow passing default options to `Data.define` — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>

Issue #19555 has been reported by p8 (Petrik de Heus).

7 messages 2023/03/28

[#113045] [Ruby master Feature#19559] Introduce `Symbol#+@` and `Symbol#-@`, and eventually replace boolean arguments with symbols — "sawa (Tsuyoshi Sawada) via ruby-core" <ruby-core@...>

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

20 messages 2023/03/30

[#113059] [Ruby master Bug#19563] Ripper.tokenize(code).join != code when heredoc and multiline %w[] literal is on the same line — "tompng (tomoya ishida) via ruby-core" <ruby-core@...>

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

6 messages 2023/03/31

[ruby-core:112892] [Ruby master Bug#19485] Unexpected behavior in squiggly heredocs

From: "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>
Date: 2023-03-15 08:40:11 UTC
List: ruby-core #112892
Issue #19485 has been updated by ioquatix (Samuel Williams).


I don't think it's a good idea to assume a tab is 8 spaces.

Regarding indentation, it might be a nice simplification to only consider the first line in the squiggly heredoc. That's what I've done in the past - it's predictable and easy to explain.

i.e.

```
  x = <<~FOO
    1
      2
  3
  FOO
```

At most 4 spaces is removed from each line. The first line determines this. Anyway, maybe it's irrelevant to this discussion. But that's how I've implemented it in my own language/interpreter in the past.

----------------------------------------
Bug #19485: Unexpected behavior in squiggly heredocs
https://bugs.ruby-lang.org/issues/19485#change-102408

* Author: jemmai (Jemma Issroff)
* Status: Assigned
* Priority: Normal
* Assignee: core
* ruby -v: 3.2.1
* Backport: 2.7: UNKNOWN, 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED
----------------------------------------
Based on [the squiggly heredoc documentation](https://ruby-doc.org/3.2.1/syntax/literals_rdoc.html), I found the following to be unexpected behavior. Explicitly, the documentation specifies, "The indentation of the least-indented line will be removed from each line of the content." 

After running:

```ruby
File.write("test.rb", "p <<~EOF\n\ta\n  b\nEOF\n")
```

and then `ruby test.rb`, I get the following output:

```
"\ta\nb\n"
```


The least-indented line above is `  b`, however, no leading whitespace is removed from the line containing `\ta`. 

For another example:

```ruby
File.write("test.rb", "p <<~EOF\n\tA\n  \tB\nEOF\n")
```

`ruby test.rb` gives:

```
"A\nB\n"
```

In this case, the `\t` was removed from the line containing `A`, but more whitespace than that (`  \t`) was removed from the line containing `B`.

After seeing the first example, I assumed that the documentation was out of date, and that I should fix it to read that `\t` would never be converted into space characters in order to remove leading whitespace. But after the second example, it seems like this is a bug in removing leading whitespace.

Can someone please explain what the rules should be on squiggly heredocs? I can implement a fix to adhere to the rules, or can update the documentation, I am just unsure of what the rules should be because the above two examples reflect unexpected behavior in two distinct ways.



-- 
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