[#99426] [Ruby master Bug#17098] Float#negative? reports negative zero as not negative — chris@...

Issue #17098 has been reported by chrisseaton (Chris Seaton).

12 messages 2020/08/01

[#99449] [Ruby master Bug#17100] Ractor: a proposal for new concurrent abstraction without thread-safety issues — ko1@...

Issue #17100 has been reported by ko1 (Koichi Sasada).

41 messages 2020/08/03

[#99474] [Ruby master Feature#17103] Add a :since option to ObjectSpace.dump_all — jean.boussier@...

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

9 messages 2020/08/04

[#99485] [Ruby master Misc#17104] Why are interpolated string literals frozen? — bughitgithub@...

Issue #17104 has been reported by bughit (bug hit).

23 messages 2020/08/05

[#99499] [Ruby master Bug#17105] A single `return` can return to two different places in a proc inside a lambda inside a method — eregontp@...

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

10 messages 2020/08/06

[#99582] [Ruby master Feature#17122] Add category to Warning#warn — eileencodes@...

Issue #17122 has been reported by eileencodes (Eileen Uchitelle).

20 messages 2020/08/13

[#99700] [Ruby master Bug#17129] bundle install `eventmachine` and `sassc` fails since 914b2208ab3eddec478cdc3e079e6c30d0f0892c — yasuo.honda@...

SXNzdWUgIzE3MTI5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHlhaG9uZGEgKFlhc3VvIEhvbmRhKS4N

9 messages 2020/08/26

[ruby-core:99647] [Ruby master Bug#17126] String#gsub fails to escape single quote for shell

From: merch-redmine@...
Date: 2020-08-19 17:57:10 UTC
List: ruby-core #99647
Issue #17126 has been updated by jeremyevans0 (Jeremy Evans).

Status changed from Open to Closed

`\'` means something special in a sub/gsub replacement string, see the documentation for details: https://docs.ruby-lang.org/en/2.7.0/String.html#method-i-gsub

As the documentation explains, use four backslashes:

```ruby
puts "Hello ' World".gsub(/'/, "'\\\\''")
# Output:
# Hello '\'' World
```

----------------------------------------
Bug #17126: String#gsub fails to escape single quote for shell
https://bugs.ruby-lang.org/issues/17126#change-87128

* Author: AndyMaleh (Andy Maleh)
* Status: Closed
* Priority: Normal
* ruby -v: 2.7.1
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
Hi, I don't know if I'm misunderstanding how `String#gsub` works, but I encountered an issue in the Ruby "git" gem with escaping single quotes for shell, which I fixed and [contributed back](https://github.com/ruby-git/ruby-git/pull/480).

I thought I'd report here too since it was caused by Ruby `String#gsub` malfunctioning, just in case there is a bug in Ruby.

**Description:**

When calling `String#gsub("'", "'\\''")` on a String that contains a single-quote (e.g. `"Hello ' World"`), it is duplicating the substring following the single-quote in the returned String instead of simply replacing the single-quote with escaped single quotes.

**Code to Demonstrate Problem:**

```ruby
"Hello ' World".gsub('\'', '\'\\\'\'')
```

or

```ruby
"Hello ' World".gsub("'", "'\\''")
```

or

```ruby
"Hello ' World".gsub(/'/, "'\\''")
```

**Output:**

```
 => "Hello ' World' World"
```

**Expected Output:**

```
 => "Hello '\'' World"
```

In fact, I tested this same regex replacement in Java and got the expected output above.

I look forward to hearing back about this puzzling problem.

Perhaps it is not a bug and I am just misunderstanding how `String#gsub` works in Ruby as I noticed it behaves the same exact way in JRuby too.

Best regards,

Andy Maleh



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

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

In This Thread