[#123172] [Ruby Bug#21560] RUBY_MN_THREADS=1 causes large performance regression in Puma 7 — "schneems (Richard Schneeman) via ruby-core" <ruby-core@...>

Issue #21560 has been reported by schneems (Richard Schneeman).

13 messages 2025/09/03

[#123197] [Ruby Misc#21566] Transfer Shopify/yjit-bench and speed.yjit.org to ruby/ruby-bench and *.ruby-lang.org — "k0kubun (Takashi Kokubun) via ruby-core" <ruby-core@...>

Issue #21566 has been reported by k0kubun (Takashi Kokubun).

7 messages 2025/09/08

[#123207] [Ruby Bug#21568] Requiring core libraries when already requiring mutliple user defined libraries with the same name can error — "alexalexgriffith (Alex Griffith) via ruby-core" <ruby-core@...>

Issue #21568 has been reported by alexalexgriffith (Alex Griffith).

9 messages 2025/09/10

[#123209] [Ruby Bug#21569] [armv7, musl] SIGBUS in ibf_load_object_float due to unaligned VFP double load when reading IBF — "amacxz (Aleksey Maximov) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxNTY5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGFtYWN4eiAoQWxla3NleSBNYXhpbW92

8 messages 2025/09/10

[#123257] [Ruby Misc#21606] DevMeeting-2025-10-23 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

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

9 messages 2025/09/16

[#123261] [Ruby Bug#21607] require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 — "satadru (Satadru Pramanik) via ruby-core" <ruby-core@...>

Issue #21607 has been reported by satadru (Satadru Pramanik).

17 messages 2025/09/16

[#123279] [Ruby Misc#21609] Propose Stan Lo (@st0012) as a core committer — "tekknolagi (Maxwell Bernstein) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxNjA5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHRla2tub2xhZ2kgKE1heHdlbGwgQmVy

12 messages 2025/09/17

[#123288] [Ruby Bug#21610] Use ec->interrupt_mask to prevent interrupts. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxNjEwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh

7 messages 2025/09/18

[#123319] [Ruby Feature#21615] Introduce `Array#values` — "matheusrich (Matheus Richard) via ruby-core" <ruby-core@...>

Issue #21615 has been reported by matheusrich (Matheus Richard).

9 messages 2025/09/23

[#123350] [Ruby Bug#21618] Allow to use the build-in prism version to parse code — "Earlopain (Earlopain _) via ruby-core" <ruby-core@...>

Issue #21618 has been reported by Earlopain (Earlopain _).

15 messages 2025/09/30

[ruby-core:123284] [Ruby Feature#21573] Simpler syntax errors

From: "kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>
Date: 2025-09-17 16:53:16 UTC
List: ruby-core #123284
Issue #21573 has been updated by kddnewton (Kevin Newton).


I'm not sure if you ran with my patch enabled, since the patch above explicitly adds column information. When I run it with the patch, I get:

```
./miniruby: -:1: syntax errors found (SyntaxError)
-:1:5: unexpected integer, expecting end-of-input
-:1:7: unexpected 'do', expecting end-of-input
-:1:7: unexpected 'do', ignoring it
-:2:0: unexpected 'do', ignoring it
```

To respond to your specific concerns:

* Yes, the desire to obtain error column information is included. The proposed patch does achieve this goal.
* I believe it is one syntax error per line. I understand that there are 3 `unexpected 'do'`, but these are each being interpreted in a different context. I think the error message could be improved, but these are different errors. I believe this does achieve the goal.
* Ruby 3.3 parse.y also changed to include more of the interpreter path, sometimes consolidating multiple errors into a buffer. I can change it to match if you would like, but it is a moving target. My understanding was that the only guarantees on error messages were covered by the tests, which we all pass.

I do think it is reasonable to use Prism directly, but I imagine flycheck isn't the only tool attempting to parse out values from the command line using regexp. I wanted to support that use case (which is detailed in the issue), as opposed to making them invoke Ruby _again_ after the script has already been run (seeing as it might have side effects).

----------------------------------------
Feature #21573: Simpler syntax errors
https://bugs.ruby-lang.org/issues/21573#change-114655

* Author: kddnewton (Kevin Newton)
* Status: Open
----------------------------------------
Right now both the prism and parse.y parsers add some context to syntax errors to make it easier to understand where they are coming from. This works well for humans, but is tough for tools (see https://github.com/ruby/prism/issues/3455 for some additional context). I would like to propose a feature that can be enabled via environment variable (or some other mechanism like a configure switch) that makes syntax errors output minimal information (i.e., `file:line:col: message`).

The diff would be fairly small for prism, below is the entirety of the change:

```diff
diff --git a/prism_compile.c b/prism_compile.c
index 578e6f240f..d14c23eb94 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -11018,13 +11018,15 @@ pm_parse_process_error(const pm_parse_result_t *result)
         (parser->error_list.size > 1) ? "s" : ""
     );
 
-    if (valid_utf8) {
+    if (!getenv("SIMPLE_ERRORS") && valid_utf8) {
         pm_parse_errors_format(parser, &parser->error_list, &buffer, highlight, true);
     }
     else {
         for (const pm_diagnostic_t *error = head; error != NULL; error = (const pm_diagnostic_t *) error->node.next) {
             if (error != head) pm_buffer_append_byte(&buffer, '\n');
-            pm_buffer_append_format(&buffer, "%.*s:%" PRIi32 ": %s", (int) pm_string_length(filepath), pm_string_source(filepath), (int32_t) pm_location_line_number(parser, &error->location), error->message);
+
+            pm_line_column_t location = pm_newline_list_line_column(&parser->newline_list, error->location.start, parser->start_line);
+            pm_buffer_append_format(&buffer, "%.*s:%" PRIi32 ":%" PRIu32 ": %s", (int) pm_string_length(filepath), pm_string_source(filepath), location.line, location.column, error->message);
         }
     }
```



-- 
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/lists/ruby-core.ml.ruby-lang.org/


In This Thread

Prev Next