[#118346] [Ruby master Bug#20586] Some filesystem calls in dir.c are missing error handling and can return incorrect results if interrupted — "ivoanjo (Ivo Anjo) via ruby-core" <ruby-core@...>
Issue #20586 has been reported by ivoanjo (Ivo Anjo).
13 messages
2024/06/19
[ruby-core:118291] [Ruby master Bug#20573] Warning.warn shouldn't be called for disabled warnings
From:
"tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>
Date:
2024-06-11 16:00:24 UTC
List:
ruby-core #118291
Issue #20573 has been updated by tenderlovemaking (Aaron Patterson).
byroot (Jean Boussier) wrote in #note-6:
> In [Feature #16345] it was stated:
>
> > We chose Warning.disable(:deprecated) instead of
> re-defining Warning.warn in order to avoid string object generation.
>
> The intent was clearly for `Warning.warn` not to be called.
I'm reading the ticket the same way. It sounds like this is a bug.
----------------------------------------
Bug #20573: Warning.warn shouldn't be called for disabled warnings
https://bugs.ruby-lang.org/issues/20573#change-108795
* Author: tenderlovemaking (Aaron Patterson)
* Status: Open
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
Currently `Warning.warn` will be called for all warnings, even if that particular category is disabled.
For example
```ruby
module Warning
def warn(message, category:)
p message => category
end
end
def get_var
$=
end
p Warning[:deprecated]
get_var
```
I think that internally we should _not_ call `Warning.warn` unless the category is enabled.
I've sent a PR here: https://github.com/ruby/ruby/pull/10960
--
https://bugs.ruby-lang.org/