[#105104] [Ruby master Bug#18141] Marshal load with proc yield strings before they are fully initialized — "byroot (Jean Boussier)" <noreply@...>

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

10 messages 2021/09/01

[#105114] [Ruby master Feature#18143] Add a new method to change GC.stress only in the given block such as GC.with_stress(flag) {...} — "kou (Kouhei Sutou)" <noreply@...>

Issue #18143 has been reported by kou (Kouhei Sutou).

8 messages 2021/09/02

[#105180] [Ruby master Bug#18156] 3.0.2 configuration checks by default for C++ compiler instead of C? — "vo.x (Vit Ondruch)" <noreply@...>

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

11 messages 2021/09/08

[#105191] [Ruby master Bug#18159] Integrate functionality of dead_end gem into Ruby — duerst <noreply@...>

Issue #18159 has been reported by duerst (Martin D=FCrst).

37 messages 2021/09/11

[#105269] [Ruby master Bug#18169] Local copies of gemified libraries are being released out of sync with their gems — "headius (Charles Nutter)" <noreply@...>

Issue #18169 has been reported by headius (Charles Nutter).

15 messages 2021/09/15

[#105276] [Ruby master Bug#18170] Exception#inspect should not include newlines — "mame (Yusuke Endoh)" <noreply@...>

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

29 messages 2021/09/16

[#105310] [Ruby master Misc#18174] DevelopersMeeting20211021Japan — "mame (Yusuke Endoh)" <noreply@...>

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

14 messages 2021/09/16

[#105313] [Ruby master Misc#18175] Propose Jean Boussier (@byroot) as a core committer — "tenderlovemaking (Aaron Patterson)" <noreply@...>

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

11 messages 2021/09/16

[#105354] [Ruby master Feature#18181] Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value — "kyanagi (Kouhei Yanagita)" <noreply@...>

Issue #18181 has been reported by kyanagi (Kouhei Yanagita).

16 messages 2021/09/20

[#105361] [Ruby master Feature#18183] make SecureRandom.choose public — "olleicua (Antha Auciello)" <noreply@...>

Issue #18183 has been reported by olleicua (Antha Auciello).

17 messages 2021/09/21

[#105377] [Ruby master Bug#18187] Float#clamp() returns ArgumentError (comparison of Float with 1 failed) — "SouravGoswami (Sourav Goswami)" <noreply@...>

SXNzdWUgIzE4MTg3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IFNvdXJhdkdvc3dhbWkgKFNvdXJhdiBH

7 messages 2021/09/22

[#105391] [Ruby master Bug#18189] `rb_cString` can be NULL during `Init_Object` — "ioquatix (Samuel Williams)" <noreply@...>

SXNzdWUgIzE4MTg5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh

9 messages 2021/09/23

[#105428] [Ruby master Bug#18194] No easy way to format exception messages per thread/fiber scheduler context. — "ioquatix (Samuel Williams)" <noreply@...>

SXNzdWUgIzE4MTk0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh

16 messages 2021/09/26

[#105450] [Ruby master Feature#18228] Add a `timeout` option to `IO.copy_stream` — "byroot (Jean Boussier)" <noreply@...>

SXNzdWUgIzE4MjI4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

11 messages 2021/09/27

[#105452] [Ruby master Feature#18229] Proposal to merge YJIT — "maximecb (Maxime Chevalier-Boisvert)" <noreply@...>

SXNzdWUgIzE4MjI5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG1heGltZWNiIChNYXhpbWUgQ2hldmFs

21 messages 2021/09/27

[#105500] [Ruby master Feature#18231] `RubyVM.keep_script_lines` — "ko1 (Koichi Sasada)" <noreply@...>

SXNzdWUgIzE4MjMxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtvMSAoS29pY2hpIFNhc2FkYSkuCgot

19 messages 2021/09/30

[#105504] [Ruby master Bug#18232] Ractor.make_shareable is broken in code loaded with RubyVM::InstructionSequence.load_from_binary — "byroot (Jean Boussier)" <noreply@...>

SXNzdWUgIzE4MjMyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

7 messages 2021/09/30

[ruby-core:105309] [Ruby master Feature#18159] Integrate functionality of dead_end gem into Ruby

From: "mame (Yusuke Endoh)" <noreply@...>
Date: 2021-09-16 15:14:18 UTC
List: ruby-core #105309
Issue #18159 has been updated by mame (Yusuke Endoh).


In today's dev meeting, we discussed this. Basically, no one was opposed to=
 the concept. But some concerns were discussed.

@ko1 and @knu were concerned about whether the heuristic algorithm was matu=
re enough. If dead_end prints a misguided summary, it may rather confuse us=
ers. They wanted to take an experimental period after dead_end is integrate=
d to the ruby core. There are only three months until Ruby 3.1 release, so =
they suggested to try the integration towards Ruby 3.2.

@nobu and I briefly read the source code, and had some concerns about the i=
mplementation details:

* Currently, there are no good way to allow dead_end to hook a syntax error=
 and extend its message. The redefinition of `Kernel#require` is never a pr=
eferable way. (discussed later)
* The implementation uses timeout, five seconds by default. The heuristic a=
lgorithm may take so long time?
* The gem includes "exe/dead_end" command. Should it be shipped with the ru=
by tarball, too?
* dead_end seems to extend NoMethodError to show a code snippet where the e=
rror occurs (if it is not running in production?). Does this conflict with =
error_highlight?

If dead_end is integrated to the core, we want to avoid the redefinition of=
 `Kernel#require` and `require_relative`. It does not work well against an =
syntax error of an entrypoint file (a file passed the ruby interpreter). Bu=
t unfortunately, there is no good API for the feature. `did_you_mean` and `=
error_highlight` extend the error message of NameError by defining `NameErr=
or#message`. It would be good if dead_end can do the same (define `SyntaxEr=
ror#message`), but unfortunately it does not work because the current parse=
r outputs an error message directly to tty, not via `SyntaxError#message`. =
@nobu is now trying to sort it out to allow the following API design. @schn=
eems What do you think?

```
class SyntaxError
  attr_reader :file_path # the file path that caused this syntax error

  def message
    dead_end_error_message =3D DeadEnd.call(source: File.read(file_path), .=
..)

    "#{ super }\n\nDeadEnd: Unmatched `end` detected ..." + dead_end_error_=
message
  end
end
```

----------------------------------------
Feature #18159: Integrate functionality of dead_end gem into Ruby
https://bugs.ruby-lang.org/issues/18159#change-93719

* Author: duerst (Martin D=FCrst)
* Status: Open
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
* Target version: 3.1
----------------------------------------
Missing 'end' errors are difficult to fix. We should integrate the function=
ality of the dead_end gem (https://github.com/zombocom/dead_end) into Ruby =
similar to how we integrated did_you_mean. It would greatly help programmin=
g Ruby, in particular for beginners.

See also Ruby Kaigi Takeout 2021 talk by Richard Schneeman https://rubykaig=
i.org/2021-takeout/presentations/schneems.html.



-- =

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

Unsubscribe: <mailto:[email protected]?subject=3Dunsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread