# Ruby 1.9 compatibility for GtkFileChooser (String encodings)

**URL:** <https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870>\
**Category:** Ruby-Gnome 2\
**Created:** [October 1, 2010, 4:37pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870 "2010-10-01T16:37:38Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 1, 2010, 4:37pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/1 "2010-10-01T16:37:38Z")

</div>

This is to propose a patch to correctly handle filenames to/from rg2  
with ruby 1.9, in GtkFileChooser.

It is stated in GtkFileChooser documentation that “filenames are  
always returned in the character set specified by the  
G\_FILENAME\_ENCODING environment variable”. Also, “while you can pass  
the result of gtk\_file\_chooser\_get\_filename() to open(2) or fopen(3),  
you may not be able to directly set it as the text of a GtkLabel  
widget unless you convert it first to UTF-8, which all GTK+ widgets  
expect. You should use g\_filename\_to\_utf8() to convert filenames into  
strings that can be passed to GTK+ widgets.”

Also, I wasn’t sure what is the behaviour of File methods in Ruby 1.9.  
My experimentation shows that the bytes from the encoding of the  
String passed are used, e.g. without converting. For example in a  
UTF-8 system, File.new(“mÃ©mÃ©”) isn’t the same as  
File.new(“mÃ©mÃ©”.encode(“ISO-8859-1”)) (the last one gives ENOENT).

So, I think Strings representing files got from GTK+ in rg2 should:

1- have an associated encoding, so that they can be displayed in GTK+  
without the programmer needing to do conversions (because my new  
RVAL2CSTR will send UTF-8 char\* to GtkLabel etc)  
2- use the encoding expected by the operating system so that File.new  
will work

First step is to use g\_filename\_to\_utf8(), so that we are 100%  
confident we can create a correct String (by using these bytes in Ruby  
UTF-8 encoding).

Second step is to change the encoding of the String for realizing the  
(2) item above. After looking at Glib documentation, I think that  
using the first item from g\_get\_filename\_charsets() should be fine.

I have made a patch for doing this. I have tested in a UTF-8 system  
with a file with an accent, with default settings and also by forcing  
filename encoding to ISO-8859-1 (by launching the program with  
LC\_ALL=en\_US in parameter), all works great! Here’s my little test  
program:

-=-=—=-=—=-=—=-=–  
#! /usr/bin/ruby

require ‘gtk2’

Gtk.init

fc = Gtk::FileChooserDialog.new(“Foo”,  
nil,  
Gtk::FileChooser::ACTION\_OPEN,  
nil,  
[Gtk::Stock::OK,  
Gtk::Dialog::RESPONSE\_ACCEPT], [Gtk::Stock::CANCEL,  
Gtk::Dialog::RESPONSE\_CANCEL])  
if fc.run == Gtk::Dialog::RESPONSE\_ACCEPT  
puts fc.filename  
puts fc.filename.encoding  
puts File.exists?(fc.filename)  
end  
-=-=—=-=—=-=—=-=–

The patch is pretty much complete for rbgtkfilechooser.c, however it  
might be necessary  
to deploy a similar approach for other places in rg2 dealing with  
filenames.

What do you think?

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 3, 2010, 10:21am UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/2 "2010-10-03T10:21:14Z")

</div>

Hi,

In [AANLkTikDHNxx0MmcAFV=removed\_email\_address@domain.invalid](mailto:AANLkTikDHNxx0MmcAFV=removed_email_address@domain.invalid)  
“[ruby-gnome2-devel-en] Ruby 1.9 compatibility for GtkFileChooser  
(String encodings)” on Fri, 1 Oct 2010 16:36:57 +0200,  
Guillaume C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> This is to propose a patch to correctly handle filenames to/from rg2  
> with ruby 1.9, in GtkFileChooser.  
> …  
> The patch is pretty much complete for rbgtkfilechooser.c, however it  
> might be necessary  
> to deploy a similar approach for other places in rg2 dealing with filenames.
> 
> What do you think?

THanks!  
It looks almost good to me. Could you commit the patch after  
appling some my comments?

I think that other places should be handled in other patch.

> — gtk2/ext/gtk2/extconf.rb (revision 3938)  
> +++ gtk2/ext/gtk2/extconf.rb (working copy)  
> @@ -51,6 +51,8 @@  
> end  
> raise “can’t find gdkkeysyms.h” if gdkincl.nil?
> 
> +ruby\_header = “ruby.h”  
> +have\_func(“rb\_str\_encode”, ruby\_header)

You can use HAVE\_RUBY\_ENCODING\_H macro defined in ruby.h of  
1.9. You don’t need to call the have\_func().

> — gtk2/ext/gtk2/rbgtkfilechooser.c (revision 3938)  
> +++ gtk2/ext/gtk2/rbgtkfilechooser.c (working copy)  
> @@ -22,7 +22,82 @@  
> …  
> static VALUE  
> +filename\_to\_ruby\_free(filename)
> 
> - gchar\* filename;  
> +{

Could you use

filename\_to\_ruby\_free(gchar \*filename)

style? We want to deprecate legacy ANSI style.

> +#ifdef HAVE\_RB\_STR\_ENCODE

> - gchar\* filename2;

Please use

gchar \*filename\_utf8;

instead of it. We want to use meaningful name.

> - GError \*err = NULL;

Please use ‘error’ instead of ‘err’. We don’t use  
abbreviated name.

> - VALUE s = Qnil;

Please use ‘rb\_filename’ or something meaningful name.

> +#else
> 
> - return CSTR2RVAL2(filename);  
> +#endif

Please use CSTR2RVAL\_FREE() because CSTR2RVAL2() is  
deprecated. We want to use meaningful name.

## Thanks,

kou

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 4, 2010, 9:39am UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/3 "2010-10-04T09:39:19Z")

</div>

> 1.9. You don’t need to call the have\_func().  
> Why not, but I already used HAVE\_RB\_STR\_ENCODE in revision 3938, and I  
> got it that way because of your revision 3744.

So revisions 3744 and 3938 should be fixed first with using  
HAVE\_RUBY\_ENCODING\_H, right?

> filename\_to\_ruby\_free(gchar \*filename)
> 
> style? We want to deprecate legacy ANSI style.

Ok. Once upon a time, I used this style in a previous patch and you  
made me use legacy ANSI style, so that’s now what I do…

Suggestion: if some style rule changes, a script should modify all  
source code to match new style, isn’t it? So when we copy-paste  
another similar code in the project to try to do a correct patch, we  
don’t end up with using old style..

> > +#ifdef HAVE\_RB\_STR\_ENCODE
> 
> > - gchar\* filename2;
> 
> Please use
> 
> gchar \*filename\_utf8;
> 
> instead of it. We want to use meaningful name.

Ok.

> > - GError \*err = NULL;
> 
> Please use ‘error’ instead of ‘err’. We don’t use  
> abbreviated name.

That was taken from some other code in rg2.. but ok.

> > +#else
> > 
> > - return CSTR2RVAL2(filename);  
> > +#endif
> 
> Please use CSTR2RVAL\_FREE() because CSTR2RVAL2() is  
> deprecated. We want to use meaningful name.

Oh, that one is really easy: remove CSTR2RVAL2, and perl (err, ruby)  
-pi -e all uses to new style. Why not doing that?

Thanks,

–  
Guillaume C. - [NVC Communication Obstacles Game](http://zarb.org/~gc/)

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 6, 2010, 4:25pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/4 "2010-10-06T16:25:50Z")

</div>

2010/10/6 Kouhei S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> ## Thanks,
> 
> kou

Could you explain the use of “ruby -pi -e”. If I found time next week  
I will take a look at this point.

–  
Vincent C.

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 6, 2010, 6:18am UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/5 "2010-10-06T06:18:50Z")

</div>

Hi,

2010/10/4 Guillaume C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > You can use HAVE\_RUBY\_ENCODING\_H macro defined in ruby.h of  
> > 1.9. You don’t need to call the have\_func().
> 
> Why not, but I already used HAVE\_RB\_STR\_ENCODE in revision 3938, and I  
> got it that way because of your revision 3744.
> 
> So revisions 3744 and 3938 should be fixed first with using  
> HAVE\_RUBY\_ENCODING\_H, right?

Yes. Could you fix those changes? We want to use HAVE\_RUBY\_ENCODING\_H  
rather tan HAVE\_RB\_STR\_ENCODE.

> > Could you use
> > 
> > filename\_to\_ruby\_free(gchar \*filename)
> > 
> > style? We want to deprecate legacy ANSI style.
> 
> Ok. Once upon a time, I used this style in a previous patch and you  
> made me use legacy ANSI style, so that’s now what I do…

I’m sorry about my inconsistent comments…  
We want to drop legacy ANSI style because Ruby itself drops it.

> Suggestion: if some style rule changes, a script should modify all  
> source code to match new style, isn’t it? So when we copy-paste  
> another similar code in the project to try to do a correct patch, we  
> don’t end up with using old style..

Yes. You’re right. But we don’t have time to do it…  
So we just improve it step by step for now…

> > Please use ‘error’ instead of ‘err’. We don’t use  
> > abbreviated name.
> 
> That was taken from some other code in rg2.. but ok.

It also a TODO item…  
We want to improve other places.

> > Please use CSTR2RVAL\_FREE() because CSTR2RVAL2() is  
> > deprecated. We want to use meaningful name.
> 
> Oh, that one is really easy: remove CSTR2RVAL2, and perl (err, ruby)  
> -pi -e all uses to new style. Why not doing that?

Just no time for it…

## Thanks,

kou

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 6, 2010, 10:29pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/6 "2010-10-06T22:29:59Z")

</div>

> Could you explain the use of “ruby -pi -e”. If I found time next week  
> I will take a look at this point.

it’s an inplace edit. a bit like “sed -i” but on steroids since you  
have the power of ruby (or perl) (personally, I still use perl for  
that, because it’s helpful to have more default values etc than ruby  
for one liners).

in the last thing we were talking about, you could do:

perl -pi -e ‘s/\bCTR2RVAL2\b/CSTR2RVAL\_FREE/’ \*.c

it’s kinda trivial, i was about to propose doing it soon. but if you  
want to play with it, why not.

–  
Guillaume C. - [NVC Communication Obstacles Game](http://zarb.org/~gc/)

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 6, 2010, 10:42pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/7 "2010-10-06T22:42:51Z")

</div>

> > Why not, but I already used HAVE\_RB\_STR\_ENCODE in revision 3938, and I  
> > got it that way because of your revision 3744.
> > 
> > So revisions 3744 and 3938 should be fixed first with using  
> > HAVE\_RUBY\_ENCODING\_H, right?
> 
> Yes. Could you fix those changes? We want to use HAVE\_RUBY\_ENCODING\_H  
> rather tan HAVE\_RB\_STR\_ENCODE.

Done.

> > > filename\_to\_ruby\_free(gchar \*filename)
> > > 
> > > style? We want to deprecate legacy ANSI style.
> > 
> > Ok. Once upon a time, I used this style in a previous patch and you  
> > made me use legacy ANSI style, so that’s now what I do…
> 
> I’m sorry about my inconsistent comments…

No, it was not inconsistent, it was just changing over time so it was  
a surprise for me 🙂

> We want to drop legacy ANSI style because Ruby itself drops it.
> 
> > Suggestion: if some style rule changes, a script should modify all  
> > source code to match new style, isn’t it? So when we copy-paste  
> > another similar code in the project to try to do a correct patch, we  
> > don’t end up with using old style..
> 
> Yes. You’re right. But we don’t have time to do it…

I can try to do a script/one liner to fix all this in one step. Are  
you ok if I do that and show you the patch, or do you think it’s too  
dangerous?

> > Oh, that one is really easy: remove CSTR2RVAL2, and perl (err, ruby)  
> > -pi -e all uses to new style. Why not doing that?
> 
> Just no time for it…

I can do that 🙂

–  
Guillaume C. - [NVC Communication Obstacles Game](http://zarb.org/~gc/)

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 7, 2010, 2:15pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/8 "2010-10-07T14:15:13Z")

</div>

Hi,

In [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
“Re: [ruby-gnome2-devel-en] Ruby 1.9 compatibility for GtkFileChooser  
(String encodings)” on Wed, 6 Oct 2010 22:42:17 +0200,  
Guillaume C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > Yes. Could you fix those changes? We want to use HAVE\_RUBY\_ENCODING\_H  
> > rather tan HAVE\_RB\_STR\_ENCODE.
> 
> Done.

Thanks!

> > > Suggestion: if some style rule changes, a script should modify all  
> > > source code to match new style, isn’t it? So when we copy-paste  
> > > another similar code in the project to try to do a correct patch, we  
> > > don’t end up with using old style..
> > 
> > Yes. You’re right. But we don’t have time to do it…
> 
> I can try to do a script/one liner to fix all this in one step. Are  
> you ok if I do that and show you the patch, or do you think it’s too  
> dangerous?

Yes please!

> > > Oh, that one is really easy: remove CSTR2RVAL2, and perl (err, ruby)  
> > > -pi -e all uses to new style. Why not doing that?
> > 
> > Just no time for it…
> 
> I can do that 🙂

Please also do it!

–  
kou

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 6, 2010, 11:10pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/9 "2010-10-06T23:10:57Z")

</div>

2010/10/6 Guillaume C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> perl -pi -e ‘s/\bCTR2RVAL2\b/CSTR2RVAL\_FREE/’ \*.c
> 
> it’s kinda trivial, i was about to propose doing it soon. but if you  
> want to play with it, why not.

Not necessary. I was just curious about these options.  
It seemed easy to patch this point that why I proposed to do it but If  
you have time you can do it. You seem more aware of this process than  
me

–  
Vincent C.

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 7, 2010, 2:19pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/10 "2010-10-07T14:19:20Z")

</div>

On Thu, Oct 7, 2010 at 14:14, Kouhei S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> In [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> > I can try to do a script/one liner to fix all this in one step. Are  
> > you ok if I do that and show you the patch, or do you think it’s too  
> > dangerous?
> 
> Yes please!

Protoize turns K&R-style declarations to ANSI-style declarations:

> **[Running Protoize - Using the GNU Compiler Collection (GCC)](https://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Running-Protoize.html)**
>
> Using the GNU Compiler Collection (GCC)

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 7, 2010, 3:47pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/11 "2010-10-07T15:47:09Z")

</div>

Hi,

In [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
“Re: [ruby-gnome2-devel-en] Ruby 1.9 compatibility for GtkFileChooser  
(String encodings)” on Thu, 7 Oct 2010 15:27:56 +0200,  
Guillaume C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> So here’s a patch to remove CSTR2RVAL2 and RVAL2CSTR2 and use their  
> explicit counterpart.
> 
> Notice, I’ve also seen that CSTR2RVAL2 properly returns Qnil if the  
> passed gchar\* is NULL, so the patch also simplifies uses like “str ?  
> CSTR2RVAL2(str) : Qnil” into “CSTR2RVAL\_FREE(str)”.
> 
> Is the patch looking good?

Yes but don’t remove CSTR2RVAL2 and RVAL2CSTR2.  
They are deprecated but we should keep provides them until  
Ruby-GNOME2 1.0.0. We should just warn for using them.

Others are OK for me.

## Thanks,

kou

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 7, 2010, 4:37pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/12 "2010-10-07T16:37:32Z")

</div>

> > Is the patch looking good?
> 
> Yes but don’t remove CSTR2RVAL2 and RVAL2CSTR2.  
> They are deprecated but we should keep provides them until  
> Ruby-GNOME2 1.0.0. We should just warn for using them.

Why not, but why? Is there external dependencies to them? Since I have  
removed them all, they should be useless now. So keeping them would  
only let someone forgetting about not using them, to use them..

–  
Guillaume C. - [NVC Communication Obstacles Game](http://zarb.org/~gc/)

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 7, 2010, 3:28pm UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/13 "2010-10-07T15:28:25Z")

</div>

> > > > Oh, that one is really easy: remove CSTR2RVAL2, and perl (err, ruby)  
> > > > -pi -e all uses to new style. Why not doing that?
> > > 
> > > Just no time for it…
> > 
> > I can do that 🙂
> 
> Please also do it!

So here’s a patch to remove CSTR2RVAL2 and RVAL2CSTR2 and use their  
explicit counterpart.

Notice, I’ve also seen that CSTR2RVAL2 properly returns Qnil if the  
passed gchar\* is NULL, so the patch also simplifies uses like “str ?  
CSTR2RVAL2(str) : Qnil” into “CSTR2RVAL\_FREE(str)”.

Is the patch looking good?

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 8, 2010, 10:15am UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/14 "2010-10-08T10:15:39Z")

</div>

> libraries.)  
> Ok.

> What about the following steps?
> 
> 1. Don’t remove CSTR2RVAL2 and RVAL2CSTR2.
> 2. Release Ruby-GNOME2 with CSTR2RVAL2 and RVAL2CSTR2 are  
> deprecated announce.
> 3. Remove CSTR2RVAL2 and RVAL2CSTR2.
> 4. Release Ruby-GNOME2 with CSTR2RVAL2 and RVAL2CSTR2 are  
> removed announce.

Fine with me!

–  
Guillaume C. - [NVC Communication Obstacles Game](http://zarb.org/~gc/)

---

<div class="post-metadata">

**Author:** ![blueprint](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/cc9497/32.png) [@blueprint](https://www.ruby-forum.com/u/blueprint)\
**Post date:** [October 8, 2010, 12:42am UTC](https://www.ruby-forum.com/t/ruby-1-9-compatibility-for-gtkfilechooser-string-encodings/195870/15 "2010-10-08T00:42:47Z")

</div>

Hi,

In [AANLkTimcNT3LFyhGxRY+r6=s-VFeUZGKD1bZ5hE=removed\_email\_address@domain.invalid](mailto:AANLkTimcNT3LFyhGxRY+r6=s-VFeUZGKD1bZ5hE=removed_email_address@domain.invalid)  
“Re: [ruby-gnome2-devel-en] Ruby 1.9 compatibility for GtkFileChooser  
(String encodings)” on Thu, 7 Oct 2010 16:37:02 +0200,  
Guillaume C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > > Is the patch looking good?
> > 
> > Yes but don’t remove CSTR2RVAL2 and RVAL2CSTR2.  
> > They are deprecated but we should keep provides them until  
> > Ruby-GNOME2 1.0.0. We should just warn for using them.
> 
> Why not, but why? Is there external dependencies to them? Since I have  
> removed them all, they should be useless now. So keeping them would  
> only let someone forgetting about not using them, to use them..

Maybe yes. There are some programs/libraries that use  
Ruby-GNOME2 C API. (e.g. rbclutter. And I have some  
libraries.)

What about the following steps?

1. Don’t remove CSTR2RVAL2 and RVAL2CSTR2.
2. Release Ruby-GNOME2 with CSTR2RVAL2 and RVAL2CSTR2 are  
deprecated announce.
3. Remove CSTR2RVAL2 and RVAL2CSTR2.
4. Release Ruby-GNOME2 with CSTR2RVAL2 and RVAL2CSTR2 are  
removed announce.

(It’s better that warning messages are showen for those  
macro use at 2. release.)

## Thanks,

kou
