diff -urN tdebindings/korundum/bin/Makefile.am tdebindings.new/korundum/bin/Makefile.am --- tdebindings/korundum/bin/Makefile.am 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/korundum/bin/Makefile.am 2012-02-25 22:12:17.000000000 -0600 @@ -1,4 +1,4 @@ -INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) +INCLUDES = $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt bin_PROGRAMS = krubyinit krubyinit_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 -L$(top_srcdir)/smoke/kde/ -L$(RUBY_LIBDIR) -lkmdi -lknewstuff diff -urN tdebindings/korundum/bin/krubyinit.cpp tdebindings.new/korundum/bin/krubyinit.cpp --- tdebindings/korundum/bin/krubyinit.cpp 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/korundum/bin/krubyinit.cpp 2012-02-25 22:13:38.000000000 -0600 @@ -24,6 +24,6 @@ int main(int argc, char **argv) { ruby_init(); ruby_script((char*)script_name); - ruby_options(argc, argv); - ruby_run(); + void* node = ruby_options(argc, argv); + ruby_run_node(node); } diff -urN tdebindings/korundum/rubylib/korundum/Korundum.cpp tdebindings.new/korundum/rubylib/korundum/Korundum.cpp --- tdebindings/korundum/rubylib/korundum/Korundum.cpp 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/korundum/rubylib/korundum/Korundum.cpp 2012-02-25 22:13:50.000000000 -0600 @@ -805,7 +805,7 @@ // isn't in the Smoke runtime TQValueList windowList; - for (long i = 0; i < RARRAY(result)->len; i++) { + for (long i = 0; i < RARRAY_LEN(result); i++) { VALUE item = rb_ary_entry(result, i); smokeruby_object *o = value_obj_info(item); if( !o || !o->ptr) @@ -822,7 +822,7 @@ // And special case this type too TQValueList propertyList; - for (long i = 0; i < RARRAY(result)->len; i++) { + for (long i = 0; i < RARRAY_LEN(result); i++) { VALUE item = rb_ary_entry(result, i); propertyList.append(TQCString(StringValuePtr(item))); } @@ -836,7 +836,7 @@ // Convert the ruby hash to an array of key/value arrays VALUE temp = rb_funcall(result, rb_intern("to_a"), 0); - for (long i = 0; i < RARRAY(temp)->len; i++) { + for (long i = 0; i < RARRAY_LEN(temp); i++) { VALUE action = rb_ary_entry(rb_ary_entry(temp, i), 0); VALUE item = rb_ary_entry(rb_ary_entry(temp, i), 1); @@ -926,7 +926,7 @@ { VALUE dcopObject = rb_funcall(kde_module, rb_intern("createDCOPObject"), 1, self); - TQString signalname(rb_id2name(rb_frame_last_func())); + TQString signalname(rb_id2name(rb_frame_this_func())); VALUE args = getdcopinfo(self, signalname); if(args == Qnil) return Qfalse; @@ -1020,7 +1020,7 @@ if (rb_funcall(kde_module, rb_intern("hasDCOPSignals"), 1, klass) == Qtrue) { VALUE signalNames = rb_funcall(kde_module, rb_intern("getDCOPSignalNames"), 1, klass); - for (long index = 0; index < RARRAY(signalNames)->len; index++) { + for (long index = 0; index < RARRAY_LEN(signalNames); index++) { VALUE signal = rb_ary_entry(signalNames, index); rb_define_method(klass, StringValuePtr(signal), (VALUE (*) (...)) k_dcop_signal, -1); } @@ -1088,9 +1088,9 @@ TQStrList *args = new TQStrList; if (value_args != Qnil) { - for (long i = 0; i < RARRAY(value_args)->len; i++) { + for (long i = 0; i < RARRAY_LEN(value_args); i++) { VALUE item = rb_ary_entry(value_args, i); - args->append(TQString::fromLatin1(StringValuePtr(item), RSTRING(item)->len)); + args->append(TQString::fromLatin1(StringValuePtr(item), RSTRING_LEN(item))); } } diff -urN tdebindings/korundum/rubylib/korundum/Makefile.am tdebindings.new/korundum/rubylib/korundum/Makefile.am --- tdebindings/korundum/rubylib/korundum/Makefile.am 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/korundum/rubylib/korundum/Makefile.am 2012-02-25 22:12:17.000000000 -0600 @@ -1,6 +1,6 @@ -INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_ARCHDIR) +INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt -rubylibdir = $(RUBY_ARCHDIR) +rubylibdir = $(RUBY_LIBDIR) rubylib_LTLIBRARIES = korundum.la korundum_la_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 korundum_la_METASOURCES = AUTO diff -urN tdebindings/korundum/rubylib/korundum/configure.in.in tdebindings.new/korundum/rubylib/korundum/configure.in.in --- tdebindings/korundum/rubylib/korundum/configure.in.in 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/korundum/rubylib/korundum/configure.in.in 2012-02-25 22:12:17.000000000 -0600 @@ -8,10 +8,30 @@ RUBY_SITEARCHDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'` RUBY_SITEDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'` RUBY_RUBYLIBDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubylibdir"@:>@)'` - AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR]) + RUBY_LIBDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` + if test -n "ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'"; then + # Ruby 1.9 + RUBY_INCLUDEDIR=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'` + RUBY_VERSION_H=ruby/version.h + else + # not Ruby 1.9 + RUBY_INCLUDEDIR=$RUBY_ARCHDIR + RUBY_VERSION_H=version.h + fi + RUBY_LIBRUBYARG=`ruby -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` + AC_MSG_RESULT([ + archdir $RUBY_ARCHDIR, + sitearchdir $RUBY_SITEARCHDIR, + sitedir $RUBY_SITEDIR, + libdir $RUBY_LIBDIR, + includedir $RUBY_INCLUDEDIR, + librubyarg $RUBY_LIBRUBYARG]) AC_SUBST(RUBY_ARCHDIR) AC_SUBST(RUBY_SITEARCHDIR) - AC_SUBST(RUBY_RUBYLIBDIR) AC_SUBST(RUBY_SITEDIR) + AC_SUBST(RUBY_RUBYLIBDIR) + AC_SUBST(RUBY_LIBDIR) + AC_SUBST(RUBY_INCLUDEDIR) + AC_SUBST(RUBY_LIBRUBYARG) fi diff -urN tdebindings/korundum/rubylib/korundum/kdehandlers.cpp tdebindings.new/korundum/rubylib/korundum/kdehandlers.cpp --- tdebindings/korundum/rubylib/korundum/kdehandlers.cpp 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/korundum/rubylib/korundum/kdehandlers.cpp 2012-02-25 22:14:03.000000000 -0600 @@ -122,7 +122,7 @@ break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); QCStringList *stringlist = new QCStringList; for(long i = 0; i < count; i++) { @@ -131,7 +131,7 @@ stringlist->append(TQCString()); continue; } - stringlist->append(TQCString(StringValuePtr(item), RSTRING(item)->len + 1)); + stringlist->append(TQCString(StringValuePtr(item), RSTRING_LEN(item) + 1)); } m->item().s_voidp = stringlist; @@ -184,19 +184,19 @@ VALUE optionslist = *(m->var()); if (optionslist == Qnil || TYPE(optionslist) != T_ARRAY - || RARRAY(optionslist)->len == 0 ) + || RARRAY_LEN(optionslist) == 0 ) { m->item().s_voidp = 0; break; } // Allocate 'length + 1' entries, to include an all NULLs last entry - KCmdLineOptions *cmdLineOptions = (KCmdLineOptions *) calloc( RARRAY(optionslist)->len + 1, + KCmdLineOptions *cmdLineOptions = (KCmdLineOptions *) calloc( RARRAY_LEN(optionslist) + 1, sizeof(struct KCmdLineOptions) ); VALUE options; long i; - for(i = 0; i < RARRAY(optionslist)->len; i++) { + for(i = 0; i < RARRAY_LEN(optionslist); i++) { options = rb_ary_entry(optionslist, i); VALUE temp = rb_ary_entry(options, 0); cmdLineOptions[i].name = StringValuePtr(temp); @@ -244,7 +244,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); TQValueList *valuelist = new TQValueList; long i; for(i = 0; i < count; i++) { @@ -815,7 +815,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); KURL::List *kurllist = new KURL::List; long i; for(i = 0; i < count; i++) { @@ -916,11 +916,11 @@ KIO::UDSEntryList *cpplist = new KIO::UDSEntryList; - for(long i = 0; i < RARRAY(list)->len; i++) { + for(long i = 0; i < RARRAY_LEN(list); i++) { VALUE item = rb_ary_entry(list, i); KIO::UDSEntry *cppsublist = new KIO::UDSEntry; - for (int j = 0; j < RARRAY(item)->len; j++) { + for (int j = 0; j < RARRAY_LEN(item); j++) { VALUE subitem = rb_ary_entry(item, j); smokeruby_object *o = value_obj_info(subitem); if(!o || !o->ptr) @@ -998,7 +998,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); ItemList *cpplist = new ItemList; long i; for(i = 0; i < count; i++) { @@ -1103,7 +1103,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); ItemList *cpplist = new ItemList; long i; for(i = 0; i < count; i++) { @@ -1211,7 +1211,7 @@ // Convert the ruby hash to an array of key/value arrays VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); - for (long i = 0; i < RARRAY(temp)->len; i++) { + for (long i = 0; i < RARRAY_LEN(temp); i++) { VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); @@ -1316,7 +1316,7 @@ // Convert the ruby hash to an array of key/value arrays VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); - for (long i = 0; i < RARRAY(temp)->len; i++) { + for (long i = 0; i < RARRAY_LEN(temp); i++) { VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); diff -urN tdebindings/qtruby/bin/Makefile.am tdebindings.new/qtruby/bin/Makefile.am --- tdebindings/qtruby/bin/Makefile.am 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/qtruby/bin/Makefile.am 2012-02-25 22:12:17.000000000 -0600 @@ -1,4 +1,4 @@ -INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) +INCLUDES = $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt bin_PROGRAMS = qtrubyinit qtrubyinit_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 -L$(top_srcdir)/smoke/qt/ -L$(RUBY_LIBDIR) diff -urN tdebindings/qtruby/bin/qtrubyinit.cpp tdebindings.new/qtruby/bin/qtrubyinit.cpp --- tdebindings/qtruby/bin/qtrubyinit.cpp 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/qtruby/bin/qtrubyinit.cpp 2012-02-25 22:13:23.000000000 -0600 @@ -24,6 +24,6 @@ int main(int argc, char **argv) { ruby_init(); ruby_script((char*)script_name); - ruby_options(argc, argv); - ruby_run(); + void* node = ruby_options(argc, argv); + ruby_run_node(node); } diff -urN tdebindings/qtruby/rubylib/designer/rbuic/Makefile.am tdebindings.new/qtruby/rubylib/designer/rbuic/Makefile.am --- tdebindings/qtruby/rubylib/designer/rbuic/Makefile.am 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/qtruby/rubylib/designer/rbuic/Makefile.am 2012-02-25 22:12:17.000000000 -0600 @@ -4,7 +4,7 @@ bin_PROGRAMS = rbuic noinst_LTLIBRARIES = librbuic.la -INCLUDES = $(all_includes) +INCLUDES = $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt METASOURCES = AUTO @@ -12,8 +12,8 @@ librbuic_la_LIBADD = $(LIB_QT) $(LIBZ) rbuic_SOURCES = main.cpp -rbuic_LDADD = librbuic.la $(all_libraries) -rbuic_LDFLAGS = +rbuic_LDADD = librbuic.la $(all_libraries) +rbuic_LDFLAGS = EXTRA_DIST = domtool.cpp domtool.h embed.cpp form.cpp globaldefs.h main.cpp object.cpp parser.cpp parser.h subclassing.cpp uic.cpp uic.h widgetdatabase.cpp widgetdatabase.h widgetinterface.h diff -urN tdebindings/qtruby/rubylib/designer/uilib/Makefile.am tdebindings.new/qtruby/rubylib/designer/uilib/Makefile.am --- tdebindings/qtruby/rubylib/designer/uilib/Makefile.am 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/qtruby/rubylib/designer/uilib/Makefile.am 2012-02-25 22:12:17.000000000 -0600 @@ -1,6 +1,6 @@ -INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_ARCHDIR) +INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt -rubylibdir = $(RUBY_ARCHDIR) +rubylibdir = $(RUBY_LIBDIR) rubylib_LTLIBRARIES = qui.la qui_la_SOURCES = qui.cpp qui_la_LDFLAGS = -module -export-dynamic $(all_libraries) -version-info 0:0:0 diff -urN tdebindings/qtruby/rubylib/qtruby/Makefile.am tdebindings.new/qtruby/rubylib/qtruby/Makefile.am --- tdebindings/qtruby/rubylib/qtruby/Makefile.am 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/qtruby/rubylib/qtruby/Makefile.am 2012-02-25 22:12:17.000000000 -0600 @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/smoke $(all_includes) -I$(RUBY_ARCHDIR) +INCLUDES = -I$(top_srcdir)/smoke $(all_includes) -I$(RUBY_INCLUDEDIR) -I/usr/include/tqt noinst_HEADERS = qtruby.h marshall.h smokeruby.h extconf.rb diff -urN tdebindings/qtruby/rubylib/qtruby/Qt.cpp tdebindings.new/qtruby/rubylib/qtruby/Qt.cpp --- tdebindings/qtruby/rubylib/qtruby/Qt.cpp 2012-02-21 13:58:54.000000000 -0600 +++ tdebindings.new/qtruby/rubylib/qtruby/Qt.cpp 2012-02-25 22:12:52.000000000 -0600 @@ -110,7 +110,7 @@ }; #define logger logger_backend -void rb_str_catf(VALUE self, const char *format, ...) __attribute__ ((format (printf, 2, 3))); +void rb_str_catf_1(VALUE self, const char *format, ...) __attribute__ ((format (printf, 2, 3))); static VALUE (*_new_kde)(int, VALUE *, VALUE) = 0; static VALUE (*_kconfigskeletonitem_immutable)(VALUE) = 0; @@ -820,7 +820,7 @@ } }; -void rb_str_catf(VALUE self, const char *format, ...) +void rb_str_catf_1(VALUE self, const char *format, ...) { va_list ap; va_start(ap, format); @@ -985,16 +985,16 @@ VALUE r = rb_str_new2(""); Smoke::Method &meth = qt_Smoke->methods[id]; const char *tname = qt_Smoke->types[meth.ret].name; - if(meth.flags & Smoke::mf_static) rb_str_catf(r, "static "); - rb_str_catf(r, "%s ", (tname ? tname:"void")); - rb_str_catf(r, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); + if(meth.flags & Smoke::mf_static) rb_str_catf_1(r, "static "); + rb_str_catf_1(r, "%s ", (tname ? tname:"void")); + rb_str_catf_1(r, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); for(int i = 0; i < meth.numArgs; i++) { - if(i) rb_str_catf(r, ", "); + if(i) rb_str_catf_1(r, ", "); tname = qt_Smoke->types[qt_Smoke->argumentList[meth.args+i]].name; - rb_str_catf(r, "%s", (tname ? tname:"void")); + rb_str_catf_1(r, "%s", (tname ? tname:"void")); } - rb_str_catf(r, ")"); - if(meth.flags & Smoke::mf_const) rb_str_catf(r, " const"); + rb_str_catf_1(r, ")"); + if(meth.flags & Smoke::mf_const) rb_str_catf_1(r, " const"); return r; } @@ -1177,7 +1177,7 @@ // Start with # from the original inspect() call // Drop the closing '>' VALUE inspect_str = rb_call_super(0, 0); - rb_str_resize(inspect_str, RSTRING(inspect_str)->len - 1); + rb_str_resize(inspect_str, RSTRING_LEN(inspect_str) - 1); smokeruby_object * o = 0; Data_Get_Struct(self, smokeruby_object, o); @@ -1220,7 +1220,7 @@ // Start with # // Drop the closing '>' VALUE inspect_str = rb_funcall(self, rb_intern("to_s"), 0, 0); - rb_str_resize(inspect_str, RSTRING(inspect_str)->len - 1); + rb_str_resize(inspect_str, RSTRING_LEN(inspect_str) - 1); rb_funcall(pp, rb_intern("text"), 1, inspect_str); rb_funcall(pp, rb_intern("breakable"), 0); @@ -1236,7 +1236,7 @@ VALUE obj = getPointerObject(qobject->parent()); if (obj != Qnil) { VALUE parent_inspect_str = rb_funcall(obj, rb_intern("to_s"), 0, 0); - rb_str_resize(parent_inspect_str, RSTRING(parent_inspect_str)->len - 1); + rb_str_resize(parent_inspect_str, RSTRING_LEN(parent_inspect_str) - 1); parentInspectString = StringValuePtr(parent_inspect_str); } else { parentInspectString.sprintf("#<%s:0x0", qobject->parent()->className()); @@ -1382,7 +1382,7 @@ return *(c.var()); } else if ( argc == 1 && TYPE(argv[0]) == T_ARRAY - && RARRAY(argv[0])->len > 0 + && RARRAY_LEN(argv[0]) > 0 && TYPE(rb_ary_entry(argv[0], 0)) != T_STRING ) { _current_method = new_qvariant_qlist; @@ -1741,7 +1741,7 @@ VALUE * local_argv = (VALUE *) calloc(argc + 1, sizeof(VALUE)); VALUE temp = rb_ary_dup(argv[0]); rb_ary_unshift(temp, rb_gv_get("$0")); - local_argv[0] = INT2NUM(RARRAY(temp)->len); + local_argv[0] = INT2NUM(RARRAY_LEN(temp)); local_argv[1] = temp; result = new_qt(2, local_argv, klass); free(local_argv); @@ -1772,7 +1772,7 @@ VALUE getmetainfo(VALUE self, int &offset, int &index) { - const char * signalname = rb_id2name(rb_frame_last_func()); + const char * signalname = rb_id2name(rb_frame_this_func()); VALUE metaObject_value = rb_funcall(qt_internal_module, rb_intern("getMetaObject"), 1, self); smokeruby_object *ometa = value_obj_info(metaObject_value); @@ -1862,7 +1862,7 @@ // Now, I need to find out if this means me int index; char *slotname; - bool isSignal = qstrcmp(rb_id2name(rb_frame_last_func()), "qt_emit") == 0; + bool isSignal = qstrcmp(rb_id2name(rb_frame_this_func()), "qt_emit") == 0; VALUE mocArgs = getslotinfo(self, id, slotname, index, isSignal); if(mocArgs == Qnil) { // No ruby slot/signal found, assume the target is a C++ one @@ -2009,7 +2009,7 @@ return Qnil; } TQByteArray * dataArray = (TQByteArray*) o->ptr; - dataArray->setRawData(StringValuePtr(data), RSTRING(data)->len); + dataArray->setRawData(StringValuePtr(data), RSTRING_LEN(data)); return self; } @@ -2195,7 +2195,7 @@ m->name = new char[strlen(name) + 1]; // this too strcpy((char*)m->name, name); m->parameters = 0; - m->count = RARRAY(params)->len; + m->count = RARRAY_LEN(params); if (m->count > 0) { m->parameters = new QUParameter[m->count]; @@ -2213,7 +2213,7 @@ static VALUE make_QMetaData_tbl(VALUE /*self*/, VALUE list) { - long count = RARRAY(list)->len; + long count = RARRAY_LEN(list); QMetaData *m = new QMetaData[count]; for (long i = 0; i < count; i++) { @@ -2281,7 +2281,7 @@ static VALUE add_signal_methods(VALUE self, VALUE klass, VALUE signalNames) { - for (long index = 0; index < RARRAY(signalNames)->len; index++) { + for (long index = 0; index < RARRAY_LEN(signalNames); index++) { VALUE signal = rb_ary_entry(signalNames, index); rb_define_method(klass, StringValuePtr(signal), (VALUE (*) (...)) qt_signal, -1); } @@ -2597,28 +2597,28 @@ { VALUE errmsg = rb_str_new2(""); if(rmeths != Qnil) { - int count = RARRAY(rmeths)->len; + int count = RARRAY_LEN(rmeths); for(int i = 0; i < count; i++) { - rb_str_catf(errmsg, "\t"); + rb_str_catf_1(errmsg, "\t"); int id = NUM2INT(rb_ary_entry(rmeths, i)); Smoke::Method &meth = qt_Smoke->methods[id]; const char *tname = qt_Smoke->types[meth.ret].name; if(meth.flags & Smoke::mf_enum) { - rb_str_catf(errmsg, "enum "); - rb_str_catf(errmsg, "%s::%s", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); - rb_str_catf(errmsg, "\n"); + rb_str_catf_1(errmsg, "enum "); + rb_str_catf_1(errmsg, "%s::%s", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); + rb_str_catf_1(errmsg, "\n"); } else { if(meth.flags & Smoke::mf_static) rb_str_catf(errmsg, "static "); - rb_str_catf(errmsg, "%s ", (tname ? tname:"void")); - rb_str_catf(errmsg, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); + rb_str_catf_1(errmsg, "%s ", (tname ? tname:"void")); + rb_str_catf_1(errmsg, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); for(int i = 0; i < meth.numArgs; i++) { - if(i) rb_str_catf(errmsg, ", "); + if(i) rb_str_catf_1(errmsg, ", "); tname = qt_Smoke->types[qt_Smoke->argumentList[meth.args+i]].name; - rb_str_catf(errmsg, "%s", (tname ? tname:"void")); + rb_str_catf_1(errmsg, "%s", (tname ? tname:"void")); } - rb_str_catf(errmsg, ")"); - if(meth.flags & Smoke::mf_const) rb_str_catf(errmsg, " const"); - rb_str_catf(errmsg, "\n"); + rb_str_catf_1(errmsg, ")"); + if(meth.flags & Smoke::mf_const) rb_str_catf_1(errmsg, " const"); + rb_str_catf_1(errmsg, "\n"); } } } diff -urN tdebindings/qtruby/rubylib/qtruby/configure.in.in tdebindings.new/qtruby/rubylib/qtruby/configure.in.in --- tdebindings/qtruby/rubylib/qtruby/configure.in.in 2011-12-25 00:54:23.000000000 -0600 +++ tdebindings.new/qtruby/rubylib/qtruby/configure.in.in 2012-02-25 22:12:17.000000000 -0600 @@ -9,13 +9,29 @@ RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'` RUBY_RUBYLIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubylibdir"@:>@)'` RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` + if test -n "$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'"; then + # Ruby 1.9 + RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'` + RUBY_VERSION_H=ruby/version.h + else + # not Ruby 1.9 + RUBY_INCLUDEDIR=$RUBY_ARCHDIR + RUBY_VERSION_H=version.h + fi RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` - AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR, libdir $RUBY_LIBDIR, librubyarg $RUBY_LIBRUBYARG]) + AC_MSG_RESULT([ + archdir $RUBY_ARCHDIR, + sitearchdir $RUBY_SITEARCHDIR, + sitedir $RUBY_SITEDIR, + libdir $RUBY_LIBDIR, + includedir $RUBY_INCLUDEDIR, + librubyarg $RUBY_LIBRUBYARG]) AC_SUBST(RUBY_ARCHDIR) AC_SUBST(RUBY_SITEARCHDIR) AC_SUBST(RUBY_SITEDIR) AC_SUBST(RUBY_RUBYLIBDIR) AC_SUBST(RUBY_LIBDIR) + AC_SUBST(RUBY_INCLUDEDIR) AC_SUBST(RUBY_LIBRUBYARG) fi diff -urN tdebindings/qtruby/rubylib/qtruby/handlers.cpp tdebindings.new/qtruby/rubylib/qtruby/handlers.cpp --- tdebindings/qtruby/rubylib/qtruby/handlers.cpp 2012-02-21 13:58:54.000000000 -0600 +++ tdebindings.new/qtruby/rubylib/qtruby/handlers.cpp 2012-02-25 22:13:09.000000000 -0600 @@ -755,7 +755,7 @@ break; } - int len = RSTRING(rv)->len; + int len = RSTRING_LEN(rv); char* mem = (char*) malloc(len+1); memcpy(mem, StringValuePtr(rv), len); mem[len] ='\0'; @@ -788,7 +788,7 @@ m->item().s_voidp = 0; break; } - int len = RSTRING(rv)->len; + int len = RSTRING_LEN(rv); char* mem = (char*) malloc(len+1); memcpy(mem, StringValuePtr(rv), len); mem[len] ='\0'; @@ -824,7 +824,7 @@ TQString * s; if (qstrcmp(KCODE, "UTF8") == 0) - s = new TQString(TQString::fromUtf8(StringValuePtr(rstring), RSTRING(rstring)->len)); + s = new TQString(TQString::fromUtf8(StringValuePtr(rstring), RSTRING_LEN(rstring))); else if (qstrcmp(KCODE, "EUC") == 0) s = new TQString(codec->toUnicode(StringValuePtr(rstring))); else if (qstrcmp(KCODE, "SJIS") == 0) @@ -832,7 +832,7 @@ else if(qstrcmp(KCODE, "NONE") == 0) s = new TQString(TQString::fromLatin1(StringValuePtr(rstring))); else - s = new TQString(TQString::fromLocal8Bit(StringValuePtr(rstring), RSTRING(rstring)->len)); + s = new TQString(TQString::fromLocal8Bit(StringValuePtr(rstring), RSTRING_LEN(rstring))); return s; } @@ -944,7 +944,7 @@ s = new TQCString(); } else { // Add 1 to the ruby string length to allow for a TQCString '\0' terminator - s = new TQCString(StringValuePtr(*(m->var())), RSTRING(*(m->var()))->len + 1); + s = new TQCString(StringValuePtr(*(m->var())), RSTRING_LEN(*(m->var())) + 1); } m->item().s_voidp = s; @@ -1007,7 +1007,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(av)->len; + int count = RARRAY_LEN(av); QCOORD *coord = new QCOORD[count + 2]; for(long i = 0; i < count; i++) { VALUE svp = rb_ary_entry(av, i); @@ -1167,15 +1167,15 @@ VALUE arglist = *(m->var()); if (arglist == Qnil || TYPE(arglist) != T_ARRAY - || RARRAY(arglist)->len == 0 ) + || RARRAY_LEN(arglist) == 0 ) { m->item().s_voidp = 0; break; } - char **argv = new char *[RARRAY(arglist)->len + 1]; + char **argv = new char *[RARRAY_LEN(arglist) + 1]; long i; - for(i = 0; i < RARRAY(arglist)->len; i++) { + for(i = 0; i < RARRAY_LEN(arglist); i++) { VALUE item = rb_ary_entry(arglist, i); char *s = StringValuePtr(item); argv[i] = new char[strlen(s) + 1]; @@ -1207,7 +1207,7 @@ break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); TQStringList *stringlist = new QStringList; for(long i = 0; i < count; i++) { @@ -1269,7 +1269,7 @@ break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); TQStrList *stringlist = new QStrList; for(long i = 0; i < count; i++) { @@ -1278,7 +1278,7 @@ stringlist->append(TQString()); continue; } - stringlist->append(TQString::fromUtf8(StringValuePtr(item), RSTRING(item)->len)); + stringlist->append(TQString::fromUtf8(StringValuePtr(item), RSTRING_LEN(item))); } m->item().s_voidp = stringlist; @@ -1331,7 +1331,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); ItemList *cpplist = new ItemList; long i; for(i = 0; i < count; i++) { @@ -1421,7 +1421,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); TQValueList *valuelist = new TQValueList; long i; for(i = 0; i < count; i++) { @@ -1513,7 +1513,7 @@ // Convert the ruby hash to an array of key/value arrays VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); - for (long i = 0; i < RARRAY(temp)->len; i++) { + for (long i = 0; i < RARRAY_LEN(temp); i++) { VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); (*map)[TQString(StringValuePtr(key))] = TQString(StringValuePtr(value)); @@ -1569,7 +1569,7 @@ // Convert the ruby hash to an array of key/value arrays VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); - for (long i = 0; i < RARRAY(temp)->len; i++) { + for (long i = 0; i < RARRAY_LEN(temp); i++) { VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); @@ -1673,7 +1673,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); QRgb *rgb = new QRgb[count + 2]; long i; for(i = 0; i < count; i++) { @@ -1702,7 +1702,7 @@ case Marshall::FromVALUE: { VALUE list = *(m->var()); - if (TYPE(list) != T_ARRAY || RARRAY(list)->len != 2) { + if (TYPE(list) != T_ARRAY || RARRAY_LEN(list) != 2) { m->item().s_voidp = 0; break; } @@ -1770,7 +1770,7 @@ m->item().s_voidp = 0; break; } - int count = RARRAY(list)->len; + int count = RARRAY_LEN(list); ItemList *cpplist = new ItemList; long i; for(i = 0; i < count; i++) {