Feature #5650
closed
Add rb_enc_raise() to allow C extensions to raise errors with messages with correct encoding
Added by now (Nikolai Weibull) about 13 years ago.
Updated over 12 years ago.
Description
Currently, rb_raise raises exceptions with a message with an encoding set to ASCII-8BIT. Adding rb_enc_raise() will allow the caller to raise an exception with a message with a given encoding.
Files
- Tracker changed from Bug to Feature
- Status changed from Open to Feedback
- Target version set to 2.0.0
I agree that exceptions need to consider encodings.
But I'm curious about your usage. Which needs the encoding, the format string or arguments to be converted?
On Mon, Nov 21, 2011 at 10:14, Nobuyoshi Nakada nobu@ruby-lang.org wrote:
I agree that exceptions need to consider encodings.
But I'm curious about your usage. Which needs the encoding, the format string or arguments to be converted?
Well, I simply think that passing the encoding to rb_enc_vsprintf as
in the patch should be fine. That, as I understand it, sets the
encoding of the format string and then any arguments will be converted
to the format strings encoding. Is that correct?
- Status changed from Feedback to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r35283.
Nikolai, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- error.c (rb_enc_raise): new function to raise an exception with
the message in the given encoding. patched by now (Nikolai
Weibull) at [ruby-core:41160]. [Feature #5650]
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0