Activity
From 07/04/2019 to 07/10/2019
07/10/2019
-
07:41 PM Bug #15993 (Open): 'require' doesn't work if there are Cyrillic chars in the path to Ruby dir
- I’m trying to build a cross-platform portable application with Ruby onboard and there is a problem on Windows.
A user usually installs it to the Roaming folder which sits inside a user folder which can often have not a Latin name or co... - 06:37 PM Revision d57ce99b (git): * 2019-07-11
-
05:03 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- So this is my hacked up test case:
~~~
$ git diff
diff --git a/test/ruby/test_jit.rb b/test/ruby/test_jit.rb
index 08494cbbbb..9ace7754d4 100644
--- a/test/ruby/test_jit.rb
+++ b/test/ruby/test_jit.rb
@@ -944,9 +944,15 @@ def as... -
04:12 PM Revision 12762b76 (git): Don't manipulate GC flags directly
- We need to disable the GC around compaction (for now) because object id
book keeping can cause malloc to happen and that can trigger GC. -
09:27 AM Feature #10463: :~@ and :!@ are not parsed correctly
- Interesting - I did not know this. sawa finds stuff. :)
Personally I would be in favour of changing the behaviour as Jeremy described (I also think this
may be a bug or perhaps an oddity), but I guess it depends on a) whether matz wa... -
09:15 AM Bug #15992 (Closed): An exception breaks monitor state and cause deadlock
- Applied in changeset commit:git|f91879a7b548284c93743168acfd11e3d2aeefac.
----------
handle_interrupt to defend monitor state [Bug #15992]
If an exception is raised from another thread for example Timeout
and this thread is just after ... -
06:55 AM Bug #15992 (Closed): An exception breaks monitor state and cause deadlock
- lib/monitor.rb provides Monitor.
But its state handling is weak for interrupts caused by Thread.kill for example timeout libraries.
Timeout exception may happen everywhere. If it raised when the thread is executing
```ruby
def ... -
09:13 AM Revision f91879a7 (git): handle_interrupt to defend monitor state [Bug #15992]
- If an exception is raised from another thread for example Timeout
and this thread is just after `mon_exit`'s `@mon_owner = nil`,
the exception breaks the state of MonitorMixin. To prevent that situation,
it need to block interruption in ... -
04:48 AM Misc #15930: DevelopersMeeting20190711Japan
- * [Bug #10463] :~@ and :!@ are not parsed correctly (jeremyevans0)
* Can we deprecate the automatic conversion of `~@` to `~` and `!@` to `!` in method names and symbols? -
04:33 AM Misc #15930: DevelopersMeeting20190711Japan
- * [Feature #15865] `<expr> in <pattern>` expression (mame)
* We have some opinions: scoping, matching strictness, the keyword `in`, and the word order. But all are not specific to the one-line matching. I think it is acceptable if `... -
04:42 AM Bug #10003 (Closed): Hash#fetch performance issue
-
04:40 AM Bug #10025 (Feedback): Incorrect wrapping of base64 output of Array.pack()
- I agree this is a bug. I am not sure if it is a documentation bug or code bug. The existing documentation for `Array#pack` does suggest the count should specify output bytes (`width of the resulting field`), while the `m` count current...
-
03:51 AM Bug #10104: Fileutils cp_r fails on sockets or fifes even if File.mknod and File.mkfifo are defined
- I agree this is a bug. This has been broken since the code was originally added in commit:18c0a86cc680929bbd8c48f4f45a197e3e68c70a. I added a pull request upstream to fix it: https://github.com/ruby/fileutils/pull/36
-
03:33 AM Revision 1d2ec4b2 (git): Added Etc::VERSION
-
03:32 AM Revision 612b7b62 (git): Removed unused files
07/09/2019
-
11:18 PM Feature #15991: Allow questionmarks in variable names
- shevegen (Robert A. Heiler) wrote:
> I do not see why this would make the design more "coherent", per se.
I guess "design coherence" is a very subjective notion \^\^"
What I meant by that is that in most cases in Ruby, whether an i... -
06:53 AM Feature #15991: Allow questionmarks in variable names
- I personally often write code like this:
```ruby
class Foobar
attr_reader :completed
def completed?
@completed
end
end
```
This feels unnecessary complex to me. In #12046 it was discussed to allow `attr_reader :... -
12:44 AM Feature #15991: Allow questionmarks in variable names
- I couldn't find an existing proposal for a local variable that ends with `?`. There are many proposals for "attr_reader :foo?" (#5781 #10720 #11167 #12046), but all the tickets have been rejected. (#5781 is still open, but I guess it i...
-
07:57 PM Feature #15897: `it` as a default block parameter
- As a user of both Kotlin and RSpec, here's my 0.01 cents: I've been using Kotlin for almost 1.5 years, and the implicit `it` is really nice shortcut, without making the code too harder to understand. Even newcomers seem to get `it` prett...
-
02:53 PM Feature #15897: `it` as a default block parameter
- I think we should listen to RSpec users here like @joallard and would welcome more users to reply on this thread.
People who maintain software defining `it` probably have a different view than their users.
If RSpec users understand `it... -
02:50 PM Feature #15897: `it` as a default block parameter
- JonRowe (Jon Rowe) wrote:
> its a "this shadows the most commonly used method in the most downloaded rubygem"[1], its not one or two people this will affect.
It only "shadows" (by that I understand "no longer works in that case") for... -
11:06 AM Feature #15897: `it` as a default block parameter
- @mame I did, I apologise for not making it clear, I'm reiterating it to add weight to the con, its not just a simple "it is somewhat fragile, it may refer to a wrong variable" its a "this shadows the most commonly used method in the most...
-
06:34 PM Feature #15899: String#before and String#after
- I'd like to add my +1 to this idea. Splitting a string by a substring (and only caring about the first result) is a use case I run into all the time. In fact, the example given by @kke of splitting a `Content-Type` HTTP header by the sem...
-
06:02 PM Revision cc936402 (git): C90 for old versions
-
05:07 PM Revision de4889ce (git): Use the found version number
-
04:57 PM Revision 9c48472b (git): Removed useless `freeze`s
-
04:53 PM Feature #10463: :~@ and :!@ are not parsed correctly
- nobu (Nobuyoshi Nakada) wrote:
> jeremyevans0 (Jeremy Evans) wrote:
> ...
Well, `foo.!@` would be a syntax error with the patch. Is there a reason other than backwards compatibility to keep this automatic aliasing of `!@` to `!` and `... -
04:40 PM Feature #10463: :~@ and :!@ are not parsed correctly
- jeremyevans0 (Jeremy Evans) wrote:
> nobu (Nobuyoshi Nakada) wrote:
> ...
Sorry, forgot `@`, I wanted to mean `!foo` and `foo.!@`. -
03:56 PM Feature #10463: :~@ and :!@ are not parsed correctly
- nobu (Nobuyoshi Nakada) wrote:
> If `:!@` and `:!` are different things, also `!foo` and `foo.!` are different things.
I don't believe that is true. With the above patch:
```ruby
class A
def !; :! end
def ~; :~ end
end
... -
03:30 PM Feature #10463: :~@ and :!@ are not parsed correctly
- If `:!@` and `:!` are different things, also `!foo` and `foo.!` are different things.
This means a backward incompatibility. -
03:58 AM Feature #10463: :~@ and :!@ are not parsed correctly
- I did some research, and this is related to the fact that Ruby allows `!@` and `~@` as method names (back to the initial SVN revision for `~@`), silently dropping the `@` from the method name:
```ruby
class A
def !@; :!@ end
de... -
04:21 PM Revision db844749 (git): Added StringIO::VERSION
-
03:54 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- FYI: RubyCI platforms include [RHEL 7.1 s390x][1] and [Ubuntu armv8 (aarch64)][2], and their results are both green at the present time. So the cause would be the other factor than CPU, I guess.
[1]: https://rubyci.org/logs/rubyci.s3... -
02:40 PM Bug #15986 (Feedback): `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- I see. Thanks for the information. At this moment I cannot do anything either, so I'll wait for you to collect the information from the CI system somehow.
-
12:48 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- I wish this was easier to debug. The problem is that this is test failure and it happens on build system, where I don't have access. Trying to reproduce it on my system, this does not work:
~~~
$ echo "
def multiply(a, b)
a *= b
... -
03:20 PM Revision 49cad676 (git): Removed duplicate assignment
- This `last_state` is set to `lex.state` just before the `switch`
statement, and `token_flush` nor `nextc` never change the state. - 03:09 PM Revision 57b8ca21 (git): * 2019-07-10
-
02:38 PM Feature #15973: Let Kernel#lambda always return a lambda
- alanwu (Alan Wu) wrote:
> `Kernel#lambda` is in a weird spot. Even though it's a method, making it behave like one has the unfortunate side-effect of allowing proc transformation.
Yes, the semantics of `Kernel#lambda` have always bee... -
02:32 PM Feature #15973: Let Kernel#lambda always return a lambda
- > Can I ask you why you need this feature?
I want to be able to forward a block to `Kernel#lambda`.
`Kernel#lambda` is in a weird spot. Even though it's a method, making it behave like one has the unfortunate side-effect of allowi... -
02:22 PM Feature #15923: New independent string without memcpy
- It should be OK when passing the buffer from callers, but doesn't work with a library which returns a buffer allocated inside.
FYI: you can allocate the buffer by `rb_str_new(NULL, size_you_want)` at once. -
02:14 PM Feature #15923: New independent string without memcpy
- Instead of working on a separate buffer then asking Ruby to take ownership, you could make changes to the buffer of a string:
```c
VALUE new_string = rb_str_new("", 0);
rb_str_resize(new_string, size_you_want);
do_work(RSTRING_PTR(... -
02:13 PM Revision d0ef5c21 (git): Check dependencies on Travis-CI
-
12:22 PM Revision b1be349b (git): Make symlink to "ruby" only from the install-name
-
12:16 PM Revision 9f275f79 (git): Restore support library for only test files that are digest and csv.
-
12:04 PM Revision f9a24408 (git): Restore support library for only test files.
-
06:55 AM Bug #15832 (Closed): IPAddr.new accepts invalid mask IP address
- I merged it.
-
05:25 AM Feature #15982 (Assigned): Remove y2racc and racc2y
-
05:16 AM Bug #10147 (Closed): URI parsing with ruby 2.2.0dev
-
05:01 AM Bug #10184 (Closed): irb terminates with no method error
- This was fixed between Ruby 2.2 and 2.3:
```
$ irb22
irb(main):001:0> def !; end
=> :!
irb(main):002:0> !
/usr/local/lib/ruby/2.2/irb/input-method.rb:151:in `gets': private method `!' called for false:FalseClass (NoMethodError)
... -
04:47 AM Revision d905ff61 (git): Update dependencies
-
04:37 AM Bug #10362 (Closed): spawn doesn't raise exception on redirection error
- `system` was made more strict for redirection errors between Ruby 2.2 and 2.3:
```
speedstar$ ruby22 -e "p system('true', out: %w(bad/file.txt w))"
nil
speedstar$ ruby23 -e "p system('true', out: %w(bad/file.txt w))"
-e:1:in `s... -
04:33 AM Bug #10374 (Closed): FileUtils.mv can't move broken symlinks
-
04:15 AM Revision 8a831e5c (git): Do not make Unicode tables timestamp phony
-
04:08 AM Bug #10429 (Closed): Ruby 2.x exponents produce wildly varying precision for integers vs decimals
-
04:01 AM Revision 515e106f (git): [DOC] Add link to Enumerable#grep from Enumerable#select
-
04:00 AM Bug #10427 (Third Party's Issue): The WebKit of QtRuby crashed
-
02:08 AM Bug #10507 (Closed): URI Error: bad URI(is not URI?) in Ruby 2.0.0, 2.1.5, 2.2.0preview1
- This was fixed between 2.1 and 2.2:
```
$ ruby21 -ruri -e "p URI 'http://localhost:3000/?url=google.com&clipRect={"top":0,"left":0,"width":1050,"height":700}'"
/usr/local/lib/ruby/2.1/uri/common.rb:176:in `split': bad URI(is not... -
02:02 AM Bug #10535 (Closed): Potential uninitialized reference pipe_open() in io.c
- I believe this issue was fixed by commit:aa107497cd379b713eba8cecdb9a882bb1e0dd89, which removed the `argc` and `argv` variables in favor of using `rb_execarg_commandline(eargp, &prog)`, and `eargp` and `prog` are always initialized.
-
01:58 AM Revision 4cda2e50 (git): Moved error messages
-
01:32 AM Bug #10567 (Closed): A fiber issue with `autoload`: `fiber called across stack rewinding barrier (FiberError)`
- This issue was fixed between Ruby 2.2 and 2.3:
```
$ ruby23 test.rb
User
$ ruby22 test.rb
.../user.rb:4:in `yield': fiber called across stack rewinding barrier (FiberError)
from .../user.rb:4:in `<top (required)>'
... -
01:20 AM Bug #10605 (Third Party's Issue): doc (Kernel rubydoc %x syntax examples mix %x and `)
- ruby-doc.org is a third party site, so this would be an issue to report to them. However, `%xdate` no longer appears on the linked page.
-
01:05 AM Bug #10614 (Closed): strpdate and Leap Days
- I don't think this is a bug, the current behavior is consistent and what I would expect. It would be inconsistent to assume the current year for `%m/%d` format in some cases and not in others. It is better to raise an exception if that...
07/08/2019
- 11:39 PM Revision 9b18cb34 (git): * 2019-07-09
-
11:37 PM Feature #15897: `it` as a default block parameter
- @JonRowe Thank you for your opinion, but I'd be happy if you could read my original proposal carefully. I've already pointed out the issue (and said my opinion against the issue).
> Cons:
> ...
I hear from some people that they are ... -
04:36 PM Feature #15897: `it` as a default block parameter
- Its worth pointing out that this would always have to be lower priority than methods and other such locals defined in order to allow code to work. If precedence for this was changed to later override existing definitions of it, or simply...
-
11:31 PM Revision 2a8be8ec (git): Suppress uninitialized instance variable warnings
-
05:08 PM Feature #15991: Allow questionmarks in variable names
- > I thought such an issue would've already been discussed but no number of searches
> ...
I think this has been discussed before - I can not point to another issue request for this,
though, so perhaps I misremember. I also don't rememb... -
10:13 AM Feature #15991: Allow questionmarks in variable names
- If this proposal will not cause some serious conflicts, it seems to be also useful for those cases:
```ruby
class Task
def initiailize(name, ready)
@name, @ready = name, ready
end
attr_reader :name
def ready?
... -
09:18 AM Feature #15991 (Assigned): Allow questionmarks in variable names
- Hi,
I thought such an issue would've already been discussed but no number of searches allowed me to find a similar request. Feel free to close if I missed a previous refusal.
From time to time, especially when trying to clear up co... -
01:49 PM Feature #15973: Let Kernel#lambda always return a lambda
- "It's already broken, why not break it more" is not what I can follow.
Can I ask you why you need this feature? If this not more than a matter of consistency, I would like to second @eregon's proposal: lambdas without literal blocks ... -
12:35 AM Feature #15973: Let Kernel#lambda always return a lambda
- I would also like to note that if we revert back to the behavior in 2.4, code that relied on `lambda` without block will not have an easy upgrade path.
```ruby
def make_a_lambda
lambda
end
```
is not equivalent to
```rub... -
12:20 AM Feature #15973: Let Kernel#lambda always return a lambda
- The 2.4 spec is a bit problematic since it makes it impossible to forward a
block to `Kernel#lambda` with a block pass. In the rest of the language
forwarding a block has no effect on semantics compared to passing one
literally. The i... -
11:31 AM Revision ad38f026 (git): Adopt the directory structure of ruby repository for racc extension.
-
10:02 AM Feature #5735 (Closed): Extending the use of splat operator to when it is inside a hash
-
09:53 AM Feature #5735: Extending the use of splat operator to when it is inside a hash
- A similar feature has already been realized as the double splat operator. Please close this issue.
-
09:16 AM Bug #15989: irb-1.1.0.pre.1 crashes on using arrow up, home and delete
- I can reproduce (by hitting del at the end of the line). The cause is in the snippet below.
``` ruby
Reline::Unicode.get_next_mbchar_size('')
# => nil
```
`get_next_mbchar_size()` doesn't always return a number.
According to ... -
08:09 AM Revision 995ae6d5 (git): Check indent of `end` against `else` if present
-
07:05 AM Revision e0a3c547 (git): Get rid of toplevel methods
- 07:00 AM Revision 93c9405e (git): * expand tabs.
-
06:13 AM Revision 663d58ff (git): Fix indent
-
06:07 AM Revision a8c54932 (git): Renamed fib to fiber
-
04:30 AM Revision 612cad5d (git): Let struct dump_config in objspace fit in a single cache line
- Let dump_config boolean members roots and full_heap be bit flags
instead
Closes: https://github.com/ruby/ruby/pull/2274 -
04:05 AM Bug #10626 (Feedback): BUS error from nesting lambda's and calls to methods defined with define_method
- I tried the last two gists with many Ruby versions (1.9-2.7) and could not produce a crash. These were compiled with clang 7 on OpenBSD. It's possible with a different compiler and compiler options the results would be different. Can ...
-
04:03 AM Revision e9907122 (git): Suppress a warning when `write_headers: true`
-
03:54 AM Bug #10635 (Closed): cmp_failed warnings in 2.2 are very hard to track down
- `cmp_failed` was removed in Ruby 2.3.
-
03:49 AM Bug #10654 (Closed): Nil -> Rational Inconsistency
-
03:19 AM Bug #10651: pkg_config does not report required include headers
- anatolik (Anatol Pomozov) wrote:
> Could anyone explain what this change tries to do?
It tries to separate the `-I` cflags from the non `-I` ones, as they are stored in different global variables. In general it probably doesn't caus... -
02:35 AM Feature #14183: "Real" keyword argument
- sawa (Tsuyoshi Sawada) wrote:
> Can someone answer my question in https://bugs.ruby-lang.org/issues/14183#note-68? Perhaps @mame knows? If it is not decisive yet, that is fine. I just want to know what the developers have in mind at thi... -
01:58 AM Feature #14183: "Real" keyword argument
- Can someone answer my question in https://bugs.ruby-lang.org/issues/14183#note-68? Perhaps @mame knows? If it is not decisive yet, that is fine. I just want to know what the developers have in mind at this point.
-
02:20 AM Bug #10715: WEBrick::HTTPResponse#to_s calls send_response(), and make debugging quite difficult.
- It looks like `WEBrick::HTTPResponse#to_s` is currently broken anyway (https://github.com/ruby/webrick/pull/20). I agree that it makes sense to remove the method, and added a pull request to do so (https://github.com/ruby/webrick/pull/22).
-
01:59 AM Bug #10928 (Closed): optparse Switch#summarize code doesn't reflect its documentation
- Applied in changeset commit:git|3fcffceafd2bce7186851bf4899484c545a9ace8.
----------
Fix default argument values for OptParse::Switch#summarize
The documentation describes these arguments being hashes, and the method
is called with has... -
01:46 AM Bug #10928: optparse Switch#summarize code doesn't reflect its documentation
- Thank you, I've missed it.
Commit it please. - 01:59 AM Revision a2e0aaea (git): * 2019-07-08
-
01:55 AM Bug #10747 (Assigned): DNS resolution should fall back to TCP on Errno::EACCES
- I'm not sure I would consider this a bug, but it seems like a reasonable change. Attached is an updated patch that applies against master.
-
01:34 AM Bug #10789 (Feedback): X-forwarded-Proto required when using Reverse Proxy
- I don't think this is a bug. If Apache doesn't pass the `X-Forwarded-Proto` header, and the `X-Forwarded-Host` header doesn't include the port, then how would Webrick know that the request was originally submitted via https? I'm not su...
-
01:21 AM Bug #10741 (Closed): const_defined? triggers autoload where it did not before
- This was fixed between 2.6 and 2.7.0-preview1:
```
$ ruby26 a.rb
in b
true
$ ruby27 a.rb
true
``` -
01:17 AM Bug #10764 (Closed): TracePoint API reports events for the last last line of multiline ||=
- From testing, this issue was resolved between Ruby 2.4 and 2.5.
2.4 output:
```
c_return -e:3 enable
line -e:5
c_call -e:5 method_added
c_return -e:5 method_added
line -e:8
... -
01:09 AM Bug #10878 (Closed): require: cannot load such file
-
01:07 AM Bug #10891 (Closed): /[[:punct:]]/ POSIX group broken (with string literals?)
- This was apparently fixed between Ruby 2.3 and 2.4:
```
$ ruby23 -e 'p("<".force_encoding("UTF-8") =~ /[[:punct:]]/)'
nil
$ ruby24 -e 'p("<".force_encoding("UTF-8") =~ /[[:punct:]]/)'
0
```
-
01:03 AM Bug #10892 (Closed): Deadlock in autoload
-
01:01 AM Bug #10901: Object#singleton_methods behaves differently depending on whether the singleton_class exists
- I think this is a bug and it should be fixed. Attached is a patch that fixes the issue by checking if the receiver is already a singleton class, and if so, calling `rb_singleton_class` to force the creation of the singleton class of the...
07/07/2019
-
09:19 PM Bug #10916 (Third Party's Issue): What the Ruby? SegFault?
- This appears to be a bug in the ffi gem, see https://github.com/ffi/ffi/issues/337.
-
09:07 PM Bug #10924 (Closed): String#b
- Considering `String#b` has now been present since Ruby 2.0, and renaming it would break tons of code, I think there is no chance of it being renamed. It looks like Radix has adjusted to it and works with `String#b` being defined by defa...
-
09:04 PM Feature #15897: `it` as a default block parameter
- Eregon (Benoit Daloze) wrote:
> I think this ambiguity is fairly intuitive and easy to resolve:
> ...
I would echo Benoit's comments here. As an avid RSpec user, I employ `it "does something"` without a block fairly often for prototyp... -
08:57 PM Bug #10928 (Assigned): optparse Switch#summarize code doesn't reflect its documentation
- I agree that this is a bug and it should be fixed. You can trigger it by calling `OptionParser::Switch#summarize` without arguments:
```ruby
require 'optparse'
o = OptionParser.new
o.on('-c'){}
o.instance_variable_get(:@stack)[2]... -
08:49 PM Revision 3fcffcea (git): Fix default argument values for OptParse::Switch#summarize
- The documentation describes these arguments being hashes, and the method
is called with hashes, so a hash default makes more sense.
The method would fail previously if called without arguments and @short
or @long contained a non-integer... -
05:43 PM Bug #10955 (Closed): invoke_block_from_c segfault
-
04:31 PM Bug #10961 (Closed): Zlib corrupts data when receive signal
- It appears this was fixed between ruby 2.3 and 2.4:
```
$ ruby24 /home/jeremy/Downloads/zlib.rb
62780
generating len=1000000000 string...
string length=1000000000
compressing...
^CINT
decompressing...
true
$ ruby23 /home/... -
04:20 PM Bug #11016 (Closed): method calls without parenthesis makes SyntaxError when DVAR exists
- The `ng_assoc19.rb` and `ng_assoc19_strvalue.rb` examples are no longer syntax errors, so I think this can be closed.
-
11:16 AM Revision c1ebb384 (git): Fix a typo
-
10:05 AM Revision fc4dd7d3 (git): Git branch name can contain `#{}` too
-
10:02 AM Bug #11022: opening an eigenclass does not change the class variable definition context
- Class variable lookup just ignores singleton classes currently.
I assume this is intentional behavior so one can use the same variable in singleton methods (when defined under `class<<self`) and instance methods. -
05:56 AM Bug #11022: opening an eigenclass does not change the class variable definition context
- This issue is not specific to opening a singleton class (`class <<`), but applies to any case where the class being opened is a singleton class. You get the same output for:
```ruby
module Mod1
O = Object.new.singleton_class
c... -
10:01 AM Revision 19a4c42d (git): Unescape #{} in the last commit title
- Get rid of unknown escape sequence warning, as `#` is not a
special character in C.
```
version.c:126:26: warning: unknown escape sequence '\#' [-Wunknown-escape-sequence]
fputs("last_commit=" RUBY_LAST_COMMIT_TITLE, stdout);
... -
09:33 AM Revision 68e58040 (git): Add coroutine context switch for i386-mingw32
- It's essentially a translation of Context.asm from Intel
to AT&T syntax. -
09:18 AM Revision a13636e7 (git): Message to pipe should end with a newline
-
06:51 AM Feature #15990 (Closed): "else if" causes confusing syntax error
- Applied in changeset commit:git|d548073f68ae719933c328686df224f74a60d366.
----------
Enable indentation warning against `if` just after `else`
```ruby
if false
puts 'false'
else if true
puts 'true'
end # -:5: warning: mismatched in... -
04:27 AM Feature #15990: "else if" causes confusing syntax error
- Warning only after a syntax error?
```
$ ./ruby -w
if false
else if true
end
-:3: syntax error, unexpected end-of-input, expecting `end'
-:3: `end' of `if' matched `else' before `if'
-:2: maybe `elsif'?
``` -
12:18 AM Feature #15990: "else if" causes confusing syntax error
The problem is that this is valid Ruby:
``` ruby
if false
puts 'false'
else if true
puts 'true'
end
end
```
So we can't really tell if `else if` is invalid until we parse the second `end`.
- 06:50 AM Revision a33948f4 (git): * 2019-07-07
-
06:47 AM Revision d548073f (git): Enable indentation warning against `if` just after `else`
- ```ruby
if false
puts 'false'
else if true
puts 'true'
end # -:5: warning: mismatched indentations at 'end' with 'if' at 3
end
```
[Feature #15990] -
05:43 AM Revision 789e49dc (git): Renamed column in token_info to indent
-
05:34 AM Bug #11059 (Closed): When saving a hash to YAML or JSON the default value isn't stored
-
05:16 AM Bug #11040 (Closed): Mutex can be locked by multiple threads, causing Monitor to sometimes hang
- Fixed by commit:7be5169804ee0cfe1991903fa10c31f8bd6525bd.
-
05:11 AM Bug #11120 (Closed): Unexpected behavior when mixing Module#prepend with method aliasing
-
05:09 AM Bug #11178 (Closed): possible bug: a thread killed when waiting on ConditionVariable locks the mutex again before real exit
- I don't think this is a bug. Killing a thread requires running ensure blocks until the thread exits, the ensure block for `ConditionVariable#wait` needs to reacquire the mutex. If it didn't, the method would exit with the mutex not loc...
-
04:53 AM Bug #11119 (Closed): Anonymous classes and modules have terrible #name and #inspect performance
-
04:46 AM Bug #11209 (Closed): [PATCH] Fix for String#+ when subclassed
-
04:44 AM Bug #11250 (Closed): open-uri broken when fetching from ftp over proxy
- Looking at the mentioned commit, I'm not sure how it is possible that the commit broke it. The only code change is:
```diff
- http = klass.new(target_host, target_port)
+ http = proxy ? klass.new(target_host, target_port) : k...
07/06/2019
-
04:45 PM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- @sawa Could you write a code example in the description? It would be very helpful to make the developer meeting efficiently.
```
p Integer("z", exception: false) #=> nil
p Integer("z", exception: nil) #=> excepted: nil, actual: i... -
02:00 PM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- I agree for methods taking an :exception keyword argument.
I would consider this a bug to treat `nil` as "want exception".
Do you have examples of other methods taking a boolean option and treating `nil` the same as `true`?
Those sh... -
03:36 PM Misc #15930: DevelopersMeeting20190711Japan
- * [Feature #15987] Let boolean option (such as `exception` in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational`) be falsy vs. truthy
* Does this issue need matz approval or can it be fixed directly? If it does, doe... -
03:24 PM Feature #15966: Introducing experimental features behind a flag, disabled by default
- josh.cheek (Josh Cheek) wrote:
> Why not a comment pragma for this, too? A flag seems out of place.
Thanks for your reply.
I think a pragma is pretty bad for changing the default value when there is no pragma, from the experience wi... -
03:11 PM Feature #15966: Introducing experimental features behind a flag, disabled by default
- palkan (Vladimir Dementyev) wrote:
> I think, most gems won't use these features anyway: we, gem authors, need to support older versions;
Thanks for your reply. Agreed, I was thinking to that as well but did not mention it explictly.... -
01:55 PM Feature #15897: `it` as a default block parameter
- JonRowe (Jon Rowe) wrote:
> > FWIW, MSpec's it requires the description argument, so it cannot ever be ambiguous for the user.
> ...
I think this ambiguity is fairly intuitive and easy to resolve:
it's exactly the same rule as for met... -
01:44 PM Bug #11304: [PATCH] Kernel.global_variables should observe $~.
- `$1` - `$N` (there can be more than 9 of them) are treated specially by the parser.
In fact, the only way they can work is special treatment by the parser, because there is potentially an infinite number of them.
And that's probably ... -
09:46 AM Revision 9d8855b6 (git): Added assertions for Unicode escaped CHAR scanner events
-
07:34 AM Feature #15990: "else if" causes confusing syntax error
- I guess it should be possible to distinguish between "else if" and "elsif"
by the ruby parser already, since it does fail if the 'e ' part is there
in the first case, as otherwise the parser would accept the syntax. So I
think it woul... -
01:53 AM Feature #15990 (Closed): "else if" causes confusing syntax error
- ```ruby
if false
puts 'false'
else if true
puts 'true'
end
```
This fails with "syntax error: unexpected end-of-input, expecting end". `else if` isn't `elsif`, of course, but if a file contains `else if` (especially on one l... -
03:56 AM Bug #15988: Time#dst? vs "real" timezones
- I've noticed it and have a patch, but haven't committed it yet as not written the test using dummy timezone objects.
-
03:45 AM Bug #15985 (Closed): Segmentation Fault exception when using dot-colon method reference on literals
- Applied in changeset commit:git|f296c260ef3b2d1a9299dbb4a84df567972453f2.
----------
Fix segfault when using method reference operator without using result
Fixes [Bug #15985] -
03:36 AM Bug #15985: Segmentation Fault exception when using dot-colon method reference on literals
- Seems fine.
-
03:43 AM Revision f296c260 (git): Fix segfault when using method reference operator without using result
- Fixes [Bug #15985]
-
03:31 AM Revision 688cef21 (git): Refactored width calculations
-
03:11 AM Revision 44aae5fe (git): Simplified
07/05/2019
-
11:54 PM Bug #11143 (Closed): it should always be possible to return from an if
- Fixed by commit:01b3a3804334be19d013526d3edde2b84399ae43.
-
11:50 PM Bug #11153 (Closed): Defining singleton methods using `class << self` sometimes fails when using threads
-
11:26 PM Bug #11175 (Feedback): possible fibers memory leak or risky GC behavior
- I think this may be operating system/platform specific and could be fixed in a previous version. I could replicate the behavior on ruby 2.4.1p111 on x86_64-linux, but memory seemed to stablize around 180MB on ruby 2.7.0dev on i686-linux...
-
11:05 PM Bug #11184 (Closed): Tests fail when configured with different program prefix and suffix
- Rubygems upstream merged the pull request, so this can be closed.
-
11:03 PM Bug #11214: Cannot Get Correct Binding from inside of C Method
- > I'm fairly sure having binding capture arguments passed to C methods is not possible.
TruffleRuby could do that! Sorry I know it's boasting and not relevant to MRI :) -
10:59 PM Bug #11214 (Feedback): Cannot Get Correct Binding from inside of C Method
- I'm fairly sure having `binding` capture arguments passed to C methods is not possible. Ruby doesn't know the C function's parameter names at runtime. Even if that were possible, you wouldn't be able to handle cases where a C function t...
-
11:02 PM Bug #11197 (Rejected): POSIX matchers broken in Regexp
-
10:31 PM Bug #11234 (Closed): RubyVM::InstructionSequence.load で case が落ちる
- I think this can be closed. It doesn't look like 2.3 actually shipped with `RubyVM::InstructionSequence.load` (disabled at commit:22ea03bb7e213d60e49a9cdd1ec1b221ef802e2a), and the equivalent code with `RubyVM::InstructionSequence.load_...
-
10:22 PM Bug #11233 (Closed): Module#include, Module#prepend can accept no arguments
- 10:20 PM Revision 833cfeb2 (git): * 2019-07-06
-
10:19 PM Revision 89e178c7 (git): Fix showing document of ClassName.method_name in IRB
- In IRB, Time.new is split as "Time", ".", and "new". The receiver "Time"
is processed by #class method but it means that "Time" changes to
"Class". This commit fixes it. -
10:14 PM Bug #11275 (Assigned): RFC3986_Parser accepts invalid URIs containing %
- I agree that this is a bug that should be fixed. The implementation automatically percent escapes invalid characters instead of rejecting them by design. However, I don't think that implies we should accept invalid percent escapes alrea...
-
09:09 PM Bug #11282 (Closed): ruby.exe never run. ebtry point not found
-
09:08 PM Bug #11290 (Closed): Abort: 6 error running sample app
-
09:07 PM Bug #11301 (Closed): Module#prepend should have always added the module before the current
- This was fixed between Ruby 2.2 and Ruby 2.3:
```
$ ruby23 -e "module M; end; class A; prepend M; end; class B<A; prepend M; end; p B.ancestors"
[M, B, M, A, Object, Kernel, BasicObject]
$ ruby22 -e "module M; end; class A; prepend... -
08:59 PM Bug #15988 (Assigned): Time#dst? vs "real" timezones
- The behavior seems even worse in the master branch and 2.7.0-preview1, with a RuntimeError without a calculation, and always false after a calculation:
```ruby
require 'tzinfo'
z = TZInfo::Timezone.get('Europe/Kiev')
t = Time.new(2... -
12:09 PM Bug #15988: Time#dst? vs "real" timezones
- Even funnier:
```ruby
winter = Time.new(2019, 12, 1, 14, 30, 12, z) # => 2019-12-01 14:30:12 +0200 -- offset is correct
winter.dst? # => true -- this is wrong!
(winter + 1).dst? ... -
09:00 AM Bug #15988 (Closed): Time#dst? vs "real" timezones
- My current timezone is Europe/Kiev.
With default zone (how it was previously):
```ruby
summer = Time.new(2019, 6, 1, 14, 30, 12) # => 2019-06-01 14:30:12 +0300
summer.zone # => "EEST"
summer.dst? ... -
06:05 PM Bug #11304: [PATCH] Kernel.global_variables should observe $~.
- All of the other similar regexp variables (`$& $' $+ $~ $(backquote)`) are listed by `global_variables`, so it would make sense for `$1` and similar to appear, or alternatively for the other 5 regexp globals not to appear if there is no ...
-
05:10 PM Bug #11326: Defining a writer as a Struct member allowed?
- This issue still exists in the master branch. Eric's patch no longer applies, but attached is a similar approach that works and includes a test. However, maybe there was a reason this wasn't committed originally?
-
04:40 PM Bug #15989: irb-1.1.0.pre.1 crashes on using arrow up, home and delete
- Adding a demo gif code
-
04:29 PM Bug #15989 (Rejected): irb-1.1.0.pre.1 crashes on using arrow up, home and delete
- When I do this:
1. Start irb
2. Define empty string `''`
3. Press arrow up
4. Press Home
5. Press Delete to remove first `'`
6. irb crashes
I get following exception:
```
33: from ../install/bin/irb:23:in `<main>'
32: f... -
02:11 PM Bug #15841 (Closed): SegFault in OpenSSL::PKey::RSA#private_encrypt
-
12:38 PM Bug #15841: SegFault in OpenSSL::PKey::RSA#private_encrypt
- Both of PR is merged and this issue is resolved, so this can be closed.
- https://github.com/ruby/openssl/pull/255
- https://github.com/ruby/openssl/pull/258
Thanks! -
01:39 PM Revision d746a41e (git): Multiple codepoints are not allowed at single character literal
- It has unintentionally passed since 2.5.
-
01:24 PM Misc #15930: DevelopersMeeting20190711Japan
- * [Feature #15631] Let round_capa for ID table not allocate excess capacity for power of 2 ints >= 4
* PR and further due diligence comments in https://github.com/ruby/ruby/pull/2278
- 10:01 AM Revision 0a2f598d (git): * 2019-07-05
-
10:00 AM Revision fae4489a (git): Fix a typo
-
07:44 AM Feature #15897: `it` as a default block parameter
- > Is that used in practice though? I know pending examples, but I would expect they at least have a description.
No but as Ruby doesn't allow method overloading you do create that ambiguity, and the possibility for future bugs due to ... -
06:23 AM Feature #15966: Introducing experimental features behind a flag, disabled by default
- > This is how frozen string literal support was introduced to Ruby (in addition to the per-file magic comment).
Why not a comment pragma for this, too? A flag seems out of place. A flag also sets it globally, preventing one from optin... -
06:02 AM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- I don't have a huge preference either way, but this may be a design decision, so perhaps we
can ask matz either way; also in how strong the concept of "falsy" and "truthy" is in ruby.
I assume there were design considerations for when ... -
03:12 AM Bug #15987 (Closed): Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- The `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, and `Kernel#Rational` distinguishes `false` vs. other values.
```ruby
Integer("z", exception: false) #=> nil
Integer("z", exception: nil) #>> ArgumentErro... -
04:39 AM Bug #11374 (Closed): crash when using Thread.new{Tk.mainloop}
- tk was removed in Ruby 2.4.
-
04:37 AM Bug #11311 (Closed): STRING::Scan method badly interpret i option - Ruby 2.1.*
-
03:23 AM Bug #11381 (Feedback): String のサブクラスをハッシュのキーに指定した時に hash メソッドが呼ばれない
- This behavior hasn't changed since the initial report. However, it seems odd to just treat string subclasses (or strings with singleton classes) differently. Currently the behavior is to use C functions for (at least) String, Symbol, I...
-
01:25 AM Bug #11417 (Closed): Wrong description for `limit` parameter for IO#gets
- This was fixed in commit:965e9df38045594d126991e6a109c5746242d2ba.
-
01:09 AM Bug #11436 (Closed): Date parsing probably doesn't match for the longest regular expression
-
12:41 AM Bug #11448 (Closed): Requiring a given library may take 23x longer depending on `require` context
- I don't think this is a significant issue with current Ruby, though it was certainly a bigger issue in previous versions. From some testing:
```
$ ruby22 -r active_record -e "t = Time.now; require 'English'; p(Time.now - t)"
0.004... -
12:25 AM Bug #11425 (Closed): super_method fails to find the super method when combined with Module#prepend
- This was fixed between Ruby 2.3 and 2.4:
```
$ ruby23 -e '
> class C; def a() end end
> ...
nil
$ ruby24 -e '
> class C; def a() end end
> ...
#<UnboundMethod: C#a>
```
07/04/2019
-
10:32 PM Bug #15985: Segmentation Fault exception when using dot-colon method reference on literals
- I think the attached patch should fix it. Passes `make check`. This is my first time working on the compiler though, so a more experienced committer should probably check the patch.
With the patch:
```
$ ruby --dump=insns -e 'ni... -
08:35 PM Bug #15985: Segmentation Fault exception when using dot-colon method reference on literals
- I can reproduce this. Here's a backtrace:
```
Thread 1 received signal SIGSEGV, Segmentation fault.
0x000006441ce6cdcd in check_funcall_callable (ec=0x643ddd44e48, me=0x64472043dc0) at ./vm_eval.c:365
365 return rb_method... -
11:01 AM Bug #15985 (Closed): Segmentation Fault exception when using dot-colon method reference on literals
- I have a simple script that actually does nothing:
``` ruby
nil.:|;1
```
or
```ruby
:|.:!;:|
```
When I run it with `make run` for `miniruby` or I run it with the full built master.
I get a segmentation fault as follow... -
10:14 PM Feature #15966: Introducing experimental features behind a flag, disabled by default
- Eregon (Benoit Daloze) wrote:
> I expect gems wouldn't use it anyway because of the extra needed flag.
I think, most gems won't use these features anyway: we, gem authors, need to support older versions; it doesn't make a lot of sens... -
07:44 PM Bug #15984 (Feedback): deleting from a collection while iterating on it
-
10:06 AM Bug #15984: deleting from a collection while iterating on it
- > This generates a wrong output collection after doing this action.
Could you provide some examples and explain exactly what is wrong with the output collection? -
09:53 AM Bug #15984: deleting from a collection while iterating on it
- I don't think ruby should disallow this via an exception. The use case
seems fairly odd, too - it is often more idiomatic to do .map, .select,
.reject etc... -
09:38 AM Bug #15984: deleting from a collection while iterating on it
- that totally depends on how you interate over the collection.
if you do it right, ruby has no problem with that -
07:58 AM Bug #15984 (Closed): deleting from a collection while iterating on it
- If you tried to delete from a collection while iterating on it Ruby will allow you to do this flawlessly. This generates a wrong output collection after doing this action. An exception should be thrown to disallow this to be done.
-
04:24 PM Feature #15897: `it` as a default block parameter
- JonRowe (Jon Rowe) wrote:
> it # creates a pending example with no implementation
Is that used in practice though? I know pending examples, but I would expect they at least have a description.
FWIW, MSpec's `it` requires the descr... -
10:17 AM Feature #15897: `it` as a default block parameter
- Eregon (Benoit Daloze) wrote:
> What do you think about `_`?
> ...
I think Jon express my feelings with a clear example.
For `_` same thing. It is already use and it can lead to an issue: https://bugs.ruby-lang.org/issues/15897#note-3 -
01:06 PM Feature #11460: Unhelpful error message when naming a module with the same name as an existing class
- > I would appreciate feedback on whether this more detailed error message is an improvement.
I think this depends on what the ruby user at hand is doing; and how much expertise that
ruby user may have. Some behaviour in ruby can be c... -
07:35 AM Feature #11460: Unhelpful error message when naming a module with the same name as an existing class
- nobu (Nobuyoshi Nakada) wrote:
> Is “a Integer” OK? :)
"a(n) Integer" -
07:16 AM Feature #11460: Unhelpful error message when naming a module with the same name as an existing class
- Is “a Integer” OK? :)
-
01:15 AM Feature #11460: Unhelpful error message when naming a module with the same name as an existing class
- jeremyevans0 (Jeremy Evans) wrote:
> So I don't think there is a bug here. It is possible to change the format the error message, though. Attached is a patch that changes the error message to the include the current class of the objec... -
12:54 PM Bug #15986 (Assigned): `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- Thanks to report. I'd like to know more about the context to fix the issue.
* Does the error happen at the same place when you retry running the tests?
* If so, could you share the output of the following command and all .c/.h files ... -
12:24 PM Bug #15986 (Closed): `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- I am trying to build the Ruby 2.7 snapshot for Fedora Rawhide [1], but I observe the following test failure on s390x and aarch64 platforms:
~~~
1) Failure:
TestJIT#test_block_handler_with_possible_frame_omitted_inlining [/builddir... -
11:58 AM Revision 6c2b59f9 (git): Support Control- and Meta-
-
11:05 AM Feature #14183: "Real" keyword argument
- I would like to ask for clarification.
I understand that this feature removes the rule that complements argument-final brace-less key-value pairs with braces. That is, the rule that interprets:
```ruby
foo("bar", a: 1, b:2)
```
... -
10:34 AM Revision d9f8b88b (git): Move a comment to proper place
-
10:29 AM Revision 6fa7ed45 (git): Check commented out line in inputrc correctly
-
09:54 AM Revision 265b9a0e (git): Parse key sequence more strictly
-
09:49 AM Revision 12e06d32 (git): Use lstrip instead of gsub which can match only once
-
09:48 AM Bug #15981 (Closed): irb immediately crashes when typing any character
- Applied in changeset commit:git|ee861e43f70d827abd1f8d26b2e97920237348b4.
----------
Skip indented comment lines [Bug #15981] -
04:07 AM Bug #15981: irb immediately crashes when typing any character
- I was asked (apparently in private mail) about `^D` and `^C`. `^D` produces the same Traceback. `^C` produces another prompt, still with the number 001.
-
12:58 AM Bug #15981: irb immediately crashes when typing any character
- I attached my .inputrc, and my .irbrc also just in case you might need that. I can't remember ever modifying these files in any way. I didn't even know there was a .inputrc file.
-
09:47 AM Revision ee861e43 (git): Skip indented comment lines [Bug #15981]
-
09:12 AM Revision 0c3e6e86 (git): Suppress uninitialized instance variable warnings
-
09:01 AM Misc #15930: DevelopersMeeting20190711Japan
- * [Feature #11460] Unhelpful error message when naming a module with the same name as an existing class
-
07:45 AM Feature #15983: Can we have a similar syntax (string interpolation) the way V language has?
- Let's look at this purely from a syntax point of view first, so that we can avoid
other issues such as backwards incompatible changes (which may be a big reason
why this request will not be implemented; but you have to ask matz).
I ... -
06:23 AM Feature #15983: Can we have a similar syntax (string interpolation) the way V language has?
- There are other languages that use $ in string interpolation. One of them is Perl. Perl is much more famous and widely used than V. Ruby was created as a better Perl. $variable_name may work (most of the time, but not always) in language...
-
05:43 AM Feature #15983 (Rejected): Can we have a similar syntax (string interpolation) the way V language has?
- Sorry, guys, This is the first feature that I am writing in this Ruby issue tracking system, and If I make any mistake, please understand :).
Today I was going through this language, i.e. V language (mainly their website) and found it... -
07:14 AM Bug #11485 (Closed): Ripper parser generates nil tokens for ignored_nl event during parse errors
- Applied in changeset commit:git|f19e048d244c709e2990ddbb0f986e8b51357bd2.
----------
Do not dispatch a nil token in ripper
As a comment token includes the newline, so delayed newline token
just follows it should not be dispatched. [Bu... -
07:09 AM Bug #11485: Ripper parser generates nil tokens for ignored_nl event during parse errors
- > `[ruby-core:<unknown>]`
This seems not having sent to the ML, and it happens sometimes, but I'm not sure why. -
07:06 AM Bug #11485: Ripper parser generates nil tokens for ignored_nl event during parse errors
- Thank you for the patch, somehow I've missed this issue at all.
`dispatch_delayed_token` is an empty expression unless ripper, so it is useless inside `#ifndef RIPPER`.
And delayed tokens should not be `nil` generally. -
06:58 AM Revision f19e048d (git): Do not dispatch a nil token in ripper
- As a comment token includes the newline, so delayed newline token
just follows it should not be dispatched. [Bug #11485]
Co-Authored-By: Jeremy Evans <code@jeremyevans.net>