Bug #8599

CSV module - error when trying to set backslash as quote_char

Added by Lars Mai 10 months ago. Updated 10 months ago.

Target version:-
ruby -v:1.9.3-p392 Backport:1.9.3: UNKNOWN, 2.0.0: UNKNOWN


There may be a bug in the CSV module. I found it impossible to set the backslash as quote_char, trying so gives the following:

1.9.3-p392 :055 > out = CSV.new($stdout, quote_char: "\")
RegexpError: premature end of char-class: /[][]/

I tried using Regexp.escape, too, but no luck:

1.9.3-p392 :060 > out = CSV.new($stdout, quotechar: Regexp.escape("\"))
ArgumentError: :quote
char has to be a single character String

Is this expected behaviour?

I'm not sure if it's related, but here the internal and external encodings:
1.9.3-p392 :061 > Encoding.defaultexternal
=> #Encoding:UTF-8
1.9.3-p392 :062 > Encoding.default
=> nil



#1 Updated by Lars Mai 10 months ago

Actually, I mistook quotechar for escapechar. Setting a backslash as quote_char is probably not a desired feature. I was looking for a way to escape double quotes differently than using two double quotes. Sorry for the noise.

#2 Updated by Shota Fukumori 10 months ago

  • Status changed from Open to Rejected

Okay to close?

Also available in: Atom PDF