Hello community,

here is the log from the commit of package gjs for openSUSE:Factory checked in 
at 2013-08-30 16:22:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gjs (Old)
 and      /work/SRC/openSUSE:Factory/.gjs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gjs"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gjs/gjs.changes  2013-07-16 14:57:17.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.gjs.new/gjs.changes     2013-08-30 
16:22:01.000000000 +0200
@@ -1,0 +2,9 @@
+Tue Aug 20 20:21:26 UTC 2013 - [email protected]
+
+- Update to version 1.37.6:
+  + stack: Add BeginRequest / EndRequest.
+  + context: Turn on type inference.
+  + configure: Remove HAVE_JS_CLASS_TRACE gunk.
+  + Bugs fixed: bgo#704343, bgo#704406, bgo#704902, bgo#703826.
+
+-------------------------------------------------------------------

Old:
----
  gjs-1.37.4.tar.xz

New:
----
  gjs-1.37.6.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gjs.spec ++++++
--- /var/tmp/diff_new_pack.DDWjoB/_old  2013-08-30 16:22:02.000000000 +0200
+++ /var/tmp/diff_new_pack.DDWjoB/_new  2013-08-30 16:22:02.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           gjs
-Version:        1.37.4
+Version:        1.37.6
 Release:        0
 # FIXME: find out if tapsets should really be in devel package or in main 
package
 Summary:        JavaScript bindings based on gobject-introspection and Mozilla

++++++ gjs-1.37.4.tar.xz -> gjs-1.37.6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/Makefile-insttest.am 
new/gjs-1.37.6/Makefile-insttest.am
--- old/gjs-1.37.4/Makefile-insttest.am 2013-07-10 18:13:33.000000000 +0200
+++ new/gjs-1.37.6/Makefile-insttest.am 2013-08-20 02:08:07.000000000 +0200
@@ -106,6 +106,7 @@
        installed-tests/js/testMainloop.js                      \
        installed-tests/js/testMetaClass.js                     \
        installed-tests/js/testParamSpec.js                     \
+       installed-tests/js/testReflectObject.js                 \
        installed-tests/js/testSignals.js                       \
        installed-tests/js/testSystem.js                        \
        installed-tests/js/testTweener.js                       \
@@ -114,4 +115,11 @@
 if ENABLE_CAIRO
 dist_jstests_DATA += installed-tests/js/testCairo.js
 endif
+
+%.test: installed-tests/scripts/%.js installed-tests/script.test.in Makefile
+       sed -e s,@pkglibexecdir\@,$(pkglibexecdir), -e s,@name\@,$(notdir $<), 
< $(srcdir)/installed-tests/script.test.in > [email protected] && mv [email protected] $@
+
+jsscripttestsdir = $(gjsinsttestdir)/scripts
+jsscripttests_DATA = installed-tests/scripts/testSystemExit.js
+installedtestmeta_DATA += testSystemExit.test
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/Makefile.in new/gjs-1.37.6/Makefile.in
--- old/gjs-1.37.4/Makefile.in  2013-07-10 18:47:59.000000000 +0200
+++ new/gjs-1.37.6/Makefile.in  2013-08-20 20:57:15.000000000 +0200
@@ -101,7 +101,8 @@
 @ENABLE_CAIRO_TRUE@    $(NULL)
 
 @ENABLE_CAIRO_TRUE@am__append_4 = libcairoNative.la
-@BUILDOPT_INSTALL_TESTS_TRUE@am__append_5 = jsunit.test
+@BUILDOPT_INSTALL_TESTS_TRUE@am__append_5 = jsunit.test \
+@BUILDOPT_INSTALL_TESTS_TRUE@  testSystemExit.test
 gjsinsttest_PROGRAMS = $(am__EXEEXT_2)
 @BUILDOPT_INSTALL_TESTS_TRUE@am__append_6 = jsunit
 @BUILDOPT_INSTALL_TESTS_TRUE@am__append_7 = libregress.la libwarnlib.la 
libgimarshallingtests.la
@@ -132,6 +133,7 @@
 @BUILDOPT_INSTALL_TESTS_TRUE@  installed-tests/js/testMainloop.js              
        \
 @BUILDOPT_INSTALL_TESTS_TRUE@  installed-tests/js/testMetaClass.js             
        \
 @BUILDOPT_INSTALL_TESTS_TRUE@  installed-tests/js/testParamSpec.js             
        \
+@BUILDOPT_INSTALL_TESTS_TRUE@  installed-tests/js/testReflectObject.js         
        \
 @BUILDOPT_INSTALL_TESTS_TRUE@  installed-tests/js/testSignals.js               
        \
 @BUILDOPT_INSTALL_TESTS_TRUE@  installed-tests/js/testSystem.js                
        \
 @BUILDOPT_INSTALL_TESTS_TRUE@  installed-tests/js/testTweener.js               
        \
@@ -182,8 +184,9 @@
        "$(DESTDIR)$(gjstweenerdir)" "$(DESTDIR)$(jstestsdir)" \
        "$(DESTDIR)$(gjsinsttestdir)" \
        "$(DESTDIR)$(installedtestmetadir)" \
-       "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(tapsetdir)" \
-       "$(DESTDIR)$(typelibdir)" "$(DESTDIR)$(gjs_module_includedir)" \
+       "$(DESTDIR)$(jsscripttestsdir)" "$(DESTDIR)$(pkgconfigdir)" \
+       "$(DESTDIR)$(tapsetdir)" "$(DESTDIR)$(typelibdir)" \
+       "$(DESTDIR)$(gjs_module_includedir)" \
        "$(DESTDIR)$(gjs_public_includedir)"
 LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) \
        $(privlib_LTLIBRARIES)
@@ -390,6 +393,7 @@
        installed-tests/js/testMainloop.js \
        installed-tests/js/testMetaClass.js \
        installed-tests/js/testParamSpec.js \
+       installed-tests/js/testReflectObject.js \
        installed-tests/js/testSignals.js \
        installed-tests/js/testSystem.js \
        installed-tests/js/testTweener.js \
@@ -397,8 +401,9 @@
        installed-tests/js/testCairo.js
 DATA = $(dist_gjsjs_DATA) $(dist_gjsoverride_DATA) \
        $(dist_gjstweener_DATA) $(dist_jstests_DATA) \
-       $(gjsinsttest_DATA) $(installedtestmeta_DATA) $(noinst_DATA) \
-       $(pkgconfig_DATA) $(tapset_DATA) $(typelib_DATA)
+       $(gjsinsttest_DATA) $(installedtestmeta_DATA) \
+       $(jsscripttests_DATA) $(noinst_DATA) $(pkgconfig_DATA) \
+       $(tapset_DATA) $(typelib_DATA)
 HEADERS = $(nobase_gjs_module_include_HEADERS) \
        $(nobase_gjs_public_include_HEADERS) $(noinst_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
@@ -857,6 +862,8 @@
 noinst_DATA = $(am__append_14)
 jstestsdir = $(gjsinsttestdir)/js
 dist_jstests_DATA = $(am__append_15) $(am__append_16)
+@BUILDOPT_INSTALL_TESTS_TRUE@jsscripttestsdir = $(gjsinsttestdir)/scripts
+@BUILDOPT_INSTALL_TESTS_TRUE@jsscripttests_DATA = 
installed-tests/scripts/testSystemExit.js
 
 # Colin's handy Makefile bits for:
 # 1) stuffing tarballs with pre-generated scripts from your workstation
@@ -1881,6 +1888,27 @@
        @list='$(installedtestmeta_DATA)'; test -n "$(installedtestmetadir)" || 
list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(installedtestmetadir)'; $(am__uninstall_files_from_dir)
+install-jsscripttestsDATA: $(jsscripttests_DATA)
+       @$(NORMAL_INSTALL)
+       @list='$(jsscripttests_DATA)'; test -n "$(jsscripttestsdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(jsscripttestsdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(jsscripttestsdir)" || exit 1; \
+       fi; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(jsscripttestsdir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(jsscripttestsdir)" || exit $$?; \
+       done
+
+uninstall-jsscripttestsDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(jsscripttests_DATA)'; test -n "$(jsscripttestsdir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       dir='$(DESTDIR)$(jsscripttestsdir)'; $(am__uninstall_files_from_dir)
 install-pkgconfigDATA: $(pkgconfig_DATA)
        @$(NORMAL_INSTALL)
        @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
@@ -2217,7 +2245,7 @@
 install-binPROGRAMS: install-libLTLIBRARIES
 
 installdirs:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(privlibdir)" 
"$(DESTDIR)$(bindir)" "$(DESTDIR)$(gjsinsttestdir)" "$(DESTDIR)$(gjsjsdir)" 
"$(DESTDIR)$(gjsoverridedir)" "$(DESTDIR)$(gjstweenerdir)" 
"$(DESTDIR)$(jstestsdir)" "$(DESTDIR)$(gjsinsttestdir)" 
"$(DESTDIR)$(installedtestmetadir)" "$(DESTDIR)$(pkgconfigdir)" 
"$(DESTDIR)$(tapsetdir)" "$(DESTDIR)$(typelibdir)" 
"$(DESTDIR)$(gjs_module_includedir)" "$(DESTDIR)$(gjs_public_includedir)"; do \
+       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(privlibdir)" 
"$(DESTDIR)$(bindir)" "$(DESTDIR)$(gjsinsttestdir)" "$(DESTDIR)$(gjsjsdir)" 
"$(DESTDIR)$(gjsoverridedir)" "$(DESTDIR)$(gjstweenerdir)" 
"$(DESTDIR)$(jstestsdir)" "$(DESTDIR)$(gjsinsttestdir)" 
"$(DESTDIR)$(installedtestmetadir)" "$(DESTDIR)$(jsscripttestsdir)" 
"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(tapsetdir)" "$(DESTDIR)$(typelibdir)" 
"$(DESTDIR)$(gjs_module_includedir)" "$(DESTDIR)$(gjs_public_includedir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: $(BUILT_SOURCES)
@@ -2282,7 +2310,7 @@
 install-data-am: install-dist_gjsjsDATA install-dist_gjsoverrideDATA \
        install-dist_gjstweenerDATA install-dist_jstestsDATA \
        install-gjsinsttestDATA install-gjsinsttestPROGRAMS \
-       install-installedtestmetaDATA \
+       install-installedtestmetaDATA install-jsscripttestsDATA \
        install-nobase_gjs_module_includeHEADERS \
        install-nobase_gjs_public_includeHEADERS install-pkgconfigDATA \
        install-privlibLTLIBRARIES install-tapsetDATA \
@@ -2339,7 +2367,7 @@
        uninstall-dist_gjsoverrideDATA uninstall-dist_gjstweenerDATA \
        uninstall-dist_jstestsDATA uninstall-gjsinsttestDATA \
        uninstall-gjsinsttestPROGRAMS uninstall-installedtestmetaDATA \
-       uninstall-libLTLIBRARIES \
+       uninstall-jsscripttestsDATA uninstall-libLTLIBRARIES \
        uninstall-nobase_gjs_module_includeHEADERS \
        uninstall-nobase_gjs_public_includeHEADERS \
        uninstall-pkgconfigDATA uninstall-privlibLTLIBRARIES \
@@ -2365,8 +2393,9 @@
        install-exec install-exec-am install-exec-hook \
        install-gjsinsttestDATA install-gjsinsttestPROGRAMS \
        install-html install-html-am install-info install-info-am \
-       install-installedtestmetaDATA install-libLTLIBRARIES \
-       install-man install-nobase_gjs_module_includeHEADERS \
+       install-installedtestmetaDATA install-jsscripttestsDATA \
+       install-libLTLIBRARIES install-man \
+       install-nobase_gjs_module_includeHEADERS \
        install-nobase_gjs_public_includeHEADERS install-pdf \
        install-pdf-am install-pkgconfigDATA \
        install-privlibLTLIBRARIES install-ps install-ps-am \
@@ -2378,7 +2407,8 @@
        uninstall-dist_gjsjsDATA uninstall-dist_gjsoverrideDATA \
        uninstall-dist_gjstweenerDATA uninstall-dist_jstestsDATA \
        uninstall-gjsinsttestDATA uninstall-gjsinsttestPROGRAMS \
-       uninstall-installedtestmetaDATA uninstall-libLTLIBRARIES \
+       uninstall-installedtestmetaDATA uninstall-jsscripttestsDATA \
+       uninstall-libLTLIBRARIES \
        uninstall-nobase_gjs_module_includeHEADERS \
        uninstall-nobase_gjs_public_includeHEADERS \
        uninstall-pkgconfigDATA uninstall-privlibLTLIBRARIES \
@@ -2416,6 +2446,9 @@
 
 $(foreach gir,$(TEST_INTROSPECTION_GIRS),$(eval $(call 
introspection-scanner,$(gir))))
 
+@BUILDOPT_INSTALL_TESTS_TRUE@%.test: installed-tests/scripts/%.js 
installed-tests/script.test.in Makefile
+@BUILDOPT_INSTALL_TESTS_TRUE@  sed -e s,@pkglibexecdir\@,$(pkglibexecdir), -e 
s,@name\@,$(notdir $<), < $(srcdir)/installed-tests/script.test.in > [email protected] && 
mv [email protected] $@
+
 prepare-release-tag: Makefile
        git tag -m "Tag $(TAG_VERSION)" -a $(TAG_PREFIX)$(TAG_VERSION)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/config.h.in new/gjs-1.37.6/config.h.in
--- old/gjs-1.37.4/config.h.in  2013-07-10 18:47:57.000000000 +0200
+++ new/gjs-1.37.6/config.h.in  2013-08-20 20:57:14.000000000 +0200
@@ -21,9 +21,6 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
-/* Define if we still have JS_CLASS_TRACE */
-#undef HAVE_JS_CLASS_TRACE
-
 /* Define if you have the readline library (-lreadline). */
 #undef HAVE_LIBREADLINE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/configure new/gjs-1.37.6/configure
--- old/gjs-1.37.4/configure    2013-07-10 18:47:57.000000000 +0200
+++ new/gjs-1.37.6/configure    2013-08-20 20:57:14.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gjs 1.37.4.
+# Generated by GNU Autoconf 2.69 for gjs 1.37.6.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gjs>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='gjs'
 PACKAGE_TARNAME='gjs'
-PACKAGE_VERSION='1.37.4'
-PACKAGE_STRING='gjs 1.37.4'
+PACKAGE_VERSION='1.37.6'
+PACKAGE_STRING='gjs 1.37.6'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gjs'
 PACKAGE_URL=''
 
@@ -1394,7 +1394,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gjs 1.37.4 to adapt to many kinds of systems.
+\`configure' configures gjs 1.37.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1464,7 +1464,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gjs 1.37.4:";;
+     short | recursive ) echo "Configuration of gjs 1.37.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1608,7 +1608,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gjs configure 1.37.4
+gjs configure 1.37.6
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2098,7 +2098,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gjs $as_me 1.37.4, which was
+It was created by gjs $as_me 1.37.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2961,7 +2961,7 @@
 
 # Define the identity of the package.
  PACKAGE='gjs'
- VERSION='1.37.4'
+ VERSION='1.37.6'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3017,7 +3017,7 @@
 
 
 
-$as_echo "#define GJS_VERSION (1 * 100 + 37) * 100 + 4" >>confdefs.h
+$as_echo "#define GJS_VERSION (1 * 100 + 37) * 100 + 6" >>confdefs.h
 
 
 GETTEXT_PACKAGE=gjs
@@ -16022,46 +16022,6 @@
 done
 
 
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $JS_CFLAGS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JS_CLASS_TRACE macro" >&5
-$as_echo_n "checking for JS_CLASS_TRACE macro... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-            #include <jsapi.h>
-           #ifndef JS_CLASS_TRACE
-           #error "No JS_CLASS_TRACE"
-           #endif
-
-int
-main ()
-{
-(void) 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  have_js_class_trace=yes
-else
-  have_js_class_trace=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test "x$have_js_class_trace" = xyes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_JS_CLASS_TRACE 1" >>confdefs.h
-
-else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-CFLAGS="$save_CFLAGS"
-
 
 
 
@@ -17531,7 +17491,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gjs $as_me 1.37.4, which was
+This file was extended by gjs $as_me 1.37.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17597,7 +17557,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gjs config.status 1.37.4
+gjs config.status 1.37.6
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/configure.ac new/gjs-1.37.6/configure.ac
--- old/gjs-1.37.4/configure.ac 2013-07-10 18:42:11.000000000 +0200
+++ new/gjs-1.37.6/configure.ac 2013-08-20 20:56:48.000000000 +0200
@@ -3,7 +3,7 @@
 
 m4_define(pkg_major_version, 1)
 m4_define(pkg_minor_version, 37)
-m4_define(pkg_micro_version, 4)
+m4_define(pkg_micro_version, 6)
 m4_define(pkg_version, pkg_major_version.pkg_minor_version.pkg_micro_version)
 m4_define(pkg_int_version, (pkg_major_version * 100 + pkg_minor_version) * 100 
+ pkg_micro_version)
 
@@ -71,30 +71,6 @@
 AC_CHECK_HEADERS([malloc.h])
 AC_CHECK_FUNCS(mallinfo)
 
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $JS_CFLAGS"
-AC_MSG_CHECKING([for JS_CLASS_TRACE macro])
-AC_COMPILE_IFELSE(
-    [AC_LANG_PROGRAM(
-        [[
-            #include <jsapi.h>
-           #ifndef JS_CLASS_TRACE
-           #error "No JS_CLASS_TRACE"
-           #endif
-        ]],
-        [[(void) 0;]]
-    )],
-    [have_js_class_trace=yes],
-    [have_js_class_trace=no])
-
-if test "x$have_js_class_trace" = xyes; then
-    AC_MSG_RESULT([yes])
-    AC_DEFINE([HAVE_JS_CLASS_TRACE], [1], [Define if we still have 
JS_CLASS_TRACE])
-else
-    AC_MSG_RESULT([no])
-fi
-CFLAGS="$save_CFLAGS"
-
 GOBJECT_INTROSPECTION_REQUIRE([1.37.1])
 
 common_packages="gmodule-2.0 gthread-2.0 gio-2.0 >= glib_required_version 
mozjs-17.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/gi/value.c new/gjs-1.37.6/gi/value.c
--- old/gjs-1.37.4/gi/value.c   2013-07-10 18:13:33.000000000 +0200
+++ new/gjs-1.37.6/gi/value.c   2013-08-20 02:08:07.000000000 +0200
@@ -469,10 +469,12 @@
 
         if (gjs_value_to_int64 (context, value, &value_int64)) {
             GEnumValue *v;
+            gpointer gtype_class = g_type_class_ref(gtype);
 
             /* See arg.c:_gjs_enum_to_int() */
-            v = g_enum_get_value(G_ENUM_CLASS(g_type_class_peek(gtype)),
+            v = g_enum_get_value(G_ENUM_CLASS(gtype_class),
                                  (int)value_int64);
+            g_type_class_unref(gtype_class);
             if (v == NULL) {
                 gjs_throw(context,
                           "%d is not a valid value for enumeration %s",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/gjs/context.c new/gjs-1.37.6/gjs/context.c
--- old/gjs-1.37.4/gjs/context.c        2013-07-10 18:13:33.000000000 +0200
+++ new/gjs-1.37.6/gjs/context.c        2013-08-20 02:08:07.000000000 +0200
@@ -200,7 +200,6 @@
     JS_BeginRequest(context);
 
     str = g_string_new("");
-    (void)JS_EnterLocalRootScope(context);
     for (n = 0; n < argc; ++n) {
         JSExceptionState *exc_state;
         JSString *jstr;
@@ -217,7 +216,6 @@
 
         if (jstr != NULL) {
             if (!gjs_string_to_utf8(context, STRING_TO_JSVAL(jstr), &s)) {
-                JS_LeaveLocalRootScope(context);
                 JS_EndRequest(context);
                 g_string_free(str, TRUE);
                 return JS_FALSE;
@@ -228,7 +226,6 @@
             if (n < (argc-1))
                 g_string_append_c(str, ' ');
         } else {
-            JS_LeaveLocalRootScope(context);
             JS_EndRequest(context);
             *buffer = g_string_free(str, TRUE);
             if (!*buffer)
@@ -237,7 +234,6 @@
         }
 
     }
-    JS_LeaveLocalRootScope(context);
     *buffer = g_string_free(str, FALSE);
 
     JS_EndRequest(context);
@@ -595,7 +591,7 @@
 
     if (!g_getenv("GJS_DISABLE_JIT")) {
         gjs_debug(GJS_DEBUG_CONTEXT, "Enabling JIT");
-        options_flags |= JSOPTION_METHODJIT;
+        options_flags |= JSOPTION_METHODJIT | JSOPTION_TYPE_INFERENCE;
     }
 
     JS_SetOptions(js_context->context,
@@ -634,6 +630,9 @@
                            JSPROP_READONLY | JSPROP_PERMANENT))
         g_error("No memory to export global object as 'window'");
 
+    if (!JS_InitReflect(js_context->context, js_context->global))
+        g_error("Failed to register Reflect Parser Api");
+
     /* Define a global function called log() */
     if (!JS_DefineFunction(js_context->context, js_context->global,
                            "log",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/gjs/jsapi-util-error.c 
new/gjs-1.37.6/gjs/jsapi-util-error.c
--- old/gjs-1.37.4/gjs/jsapi-util-error.c       2013-07-10 18:13:33.000000000 
+0200
+++ new/gjs-1.37.6/gjs/jsapi-util-error.c       2013-08-20 02:08:07.000000000 
+0200
@@ -75,8 +75,6 @@
 
     result = JS_FALSE;
 
-    (void)JS_EnterLocalRootScope(context);
-
     if (!gjs_string_from_utf8(context, s, -1, &v_message)) {
         JS_ReportError(context, "Failed to copy exception string");
         goto out;
@@ -97,8 +95,6 @@
 
  out:
 
-    JS_LeaveLocalRootScope(context);
-
     if (!result) {
         /* try just reporting it to error handler? should not
          * happen though pretty much
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/gjs/jsapi-util.c 
new/gjs-1.37.6/gjs/jsapi-util.c
--- old/gjs-1.37.4/gjs/jsapi-util.c     2013-07-10 18:13:33.000000000 +0200
+++ new/gjs-1.37.6/gjs/jsapi-util.c     2013-08-20 02:08:07.000000000 +0200
@@ -212,11 +212,6 @@
 
     JS_BeginRequest(context);
 
-    if (!JS_EnterLocalRootScope(context)) {
-        JS_EndRequest(context);
-        return JS_FALSE;
-    }
-
     if (array_length == -1)
         array_length = g_strv_length((char**)array_values);
 
@@ -238,8 +233,6 @@
             array = NULL;
     }
 
-    JS_LeaveLocalRootScope(context);
-
     JS_EndRequest(context);
     return array;
 }
@@ -368,12 +361,6 @@
 
     JS_BeginRequest(context);
 
-    /* We potentially create new strings, plus the property iterator,
-     * that could get collected as we go through this process. So
-     * create a local root scope.
-     */
-    (void)JS_EnterLocalRootScope(context);
-
     props_iter = JS_NewPropertyIterator(context, obj);
     if (props_iter == NULL) {
         gjs_log_exception(context);
@@ -410,7 +397,6 @@
     }
 
  done:
-    JS_LeaveLocalRootScope(context);
     JS_EndRequest(context);
 }
 
@@ -429,8 +415,6 @@
 
     JS_BeginRequest(context);
 
-    (void)JS_EnterLocalRootScope(context);
-
     gjs_debug(GJS_DEBUG_SCOPE,
               "  Context: %p %s",
               context,
@@ -462,8 +446,6 @@
               chain->str);
     g_string_free(chain, TRUE);
 
-    JS_LeaveLocalRootScope(context);
-
     JS_EndRequest(context);
 }
 
@@ -756,11 +738,6 @@
 
     JS_BeginRequest(context);
 
-    if (!JS_EnterLocalRootScope(context)) {
-        JS_EndRequest(context);
-        return JSVAL_VOID;
-    }
-
     if (!JS_GetClassObject(context, JS_GetGlobalObject(context), JSProto_Date,
                            &date_constructor))
         g_error("Failed to lookup Date prototype");
@@ -774,7 +751,6 @@
     date = JS_New(context, JSVAL_TO_OBJECT (date_prototype), 1, args);
 
     result = OBJECT_TO_JSVAL(date);
-    JS_LeaveLocalRootScope(context);
     JS_EndRequest(context);
 
     return result;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/gjs/stack.c new/gjs-1.37.6/gjs/stack.c
--- old/gjs-1.37.4/gjs/stack.c  2013-07-10 18:13:33.000000000 +0200
+++ new/gjs-1.37.6/gjs/stack.c  2013-08-20 02:08:07.000000000 +0200
@@ -55,12 +55,15 @@
 {
     jsval v_constructor;
     JSObject *err_obj;
+    JSBool ret = JS_FALSE;
+
+    JS_BeginRequest(context);
 
     if (!JS_GetProperty(context, JS_GetGlobalObject(context),
                         "Error", &v_constructor) ||
         !JSVAL_IS_OBJECT(v_constructor)) {
         g_error("??? Missing Error constructor in global object?");
-        return JS_FALSE;
+        goto out;
     }
 
     err_obj = JS_New(context, JSVAL_TO_OBJECT(v_constructor), 0, NULL);
@@ -68,22 +71,26 @@
     if (stack != NULL) {
         if (!gjs_object_get_property_const(context, err_obj,
                                            GJS_STRING_STACK, stack))
-            return JS_FALSE;
+            goto out;
     }
 
     if (fileName != NULL) {
         if (!gjs_object_get_property_const(context, err_obj,
                                            GJS_STRING_FILENAME, fileName))
-            return JS_FALSE;
+            goto out;
     }
 
     if (lineNumber != NULL) {
         if (!gjs_object_get_property_const(context, err_obj,
                                            GJS_STRING_LINE_NUMBER, lineNumber))
-            return JS_FALSE;
+            goto out;
     }
 
-    return JS_TRUE;
+    ret = JS_TRUE;
+
+ out:
+    JS_EndRequest(context);
+    return ret;
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/installed-tests/js/testReflectObject.js 
new/gjs-1.37.6/installed-tests/js/testReflectObject.js
--- old/gjs-1.37.4/installed-tests/js/testReflectObject.js      1970-01-01 
01:00:00.000000000 +0100
+++ new/gjs-1.37.6/installed-tests/js/testReflectObject.js      2013-08-20 
02:08:07.000000000 +0200
@@ -0,0 +1,15 @@
+// application/javascript;version=1.8
+const JSUnit = imports.jsUnit;
+
+function testReflect() {
+    JSUnit.assertTrue(Reflect.parse instanceof Function);
+
+    var expr = Reflect.parse("var a = 10;");
+
+    JSUnit.assertEquals("Program", expr.type);
+    JSUnit.assertEquals("VariableDeclaration", expr.body[0].type);
+    JSUnit.assertEquals("a",expr.body[0].declarations[0].id.name);
+    JSUnit.assertEquals(10,expr.body[0].declarations[0].init.value);
+}
+
+JSUnit.gjstestRun(this, JSUnit.setUp, JSUnit.tearDown);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.37.4/modules/system.c 
new/gjs-1.37.6/modules/system.c
--- old/gjs-1.37.4/modules/system.c     2013-07-10 18:13:33.000000000 +0200
+++ new/gjs-1.37.6/modules/system.c     2013-08-20 02:08:07.000000000 +0200
@@ -113,7 +113,7 @@
 {
     jsval *argv = JS_ARGV(cx, vp);
     gint32 ecode;
-    if (!gjs_parse_args(context, "exit", "i", argc, argv, &ecode))
+    if (!gjs_parse_args(context, "exit", "i", argc, argv, "ecode", &ecode))
         return JS_FALSE;
     exit(ecode);
     return JS_TRUE;
@@ -155,7 +155,7 @@
     if (!JS_DefineFunction(context, module,
                            "exit",
                            (JSNative) gjs_exit,
-                           0, GJS_MODULE_PROP_FLAGS))
+                           1, GJS_MODULE_PROP_FLAGS))
         return JS_FALSE;
 
     retval = JS_FALSE;

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to