summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-04-13 06:49:34 +0100
committerSam James <sam@gentoo.org>2022-04-13 06:54:55 +0100
commitf8fc07ab40492a9024d5ab57e98b53f8cea28175 (patch)
tree323c48aec5da33832a847453dd894d23ec3df47f /dev-perl/JavaScript-SpiderMonkey/files
parentwww-client/firefox-bin: add 99.0.1, drop 99.0 (diff)
downloadgentoo-f8fc07ab40492a9024d5ab57e98b53f8cea28175.tar.gz
gentoo-f8fc07ab40492a9024d5ab57e98b53f8cea28175.tar.bz2
gentoo-f8fc07ab40492a9024d5ab57e98b53f8cea28175.zip
dev-perl/JavaScript-SpiderMonkey: treeclean
Closes: https://bugs.gentoo.org/832313 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-perl/JavaScript-SpiderMonkey/files')
-rw-r--r--dev-perl/JavaScript-SpiderMonkey/files/JavaScript-SpiderMonkey-0.210.0-no-dot-inc.patch167
-rw-r--r--dev-perl/JavaScript-SpiderMonkey/files/mozjs185.patch486
2 files changed, 0 insertions, 653 deletions
diff --git a/dev-perl/JavaScript-SpiderMonkey/files/JavaScript-SpiderMonkey-0.210.0-no-dot-inc.patch b/dev-perl/JavaScript-SpiderMonkey/files/JavaScript-SpiderMonkey-0.210.0-no-dot-inc.patch
deleted file mode 100644
index f76aaa95a1ce..000000000000
--- a/dev-perl/JavaScript-SpiderMonkey/files/JavaScript-SpiderMonkey-0.210.0-no-dot-inc.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From c89a871ead0a961f8a0125d875cbe28974e23f29 Mon Sep 17 00:00:00 2001
-From: Kent Fredric <kentnl@gentoo.org>
-Date: Thu, 26 Oct 2017 18:50:34 +1300
-Subject: Fix test failures without '.' in @INC
-
-Bug: https://bugs.gentoo.org/617006
-Bug: https://rt.cpan.org/Ticket/Display.html?id=121452
----
- t/00array.t | 2 +-
- t/01doc-href.t | 2 +-
- t/02nav-appv.t | 2 +-
- t/03doc-write.t | 2 +-
- t/04loop.t | 2 +-
- t/05form.t | 2 +-
- t/06form2.t | 2 +-
- t/07func.t | 2 +-
- t/08func2.t | 2 +-
- t/09meth.t | 2 +-
- t/10elobj.t | 2 +-
- 11 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/t/00array.t b/t/00array.t
-index 3bd85a6..ba36807 100755
---- a/t/00array.t
-+++ b/t/00array.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- $js->array_by_path("document.form");
-
-diff --git a/t/01doc-href.t b/t/01doc-href.t
-index 7f79c95..c545ca7 100755
---- a/t/01doc-href.t
-+++ b/t/01doc-href.t
-@@ -6,7 +6,7 @@ print "1..1\n";
-
- $init = "";
-
--require "t/init.pl";
-+require "./t/init.pl";
-
- my $source = <<EOT;
- $init
-diff --git a/t/02nav-appv.t b/t/02nav-appv.t
-index d038f3e..2e0d7f6 100755
---- a/t/02nav-appv.t
-+++ b/t/02nav-appv.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- my $source = <<EOT;
- $init
-diff --git a/t/03doc-write.t b/t/03doc-write.t
-index 9b38e21..f757592 100755
---- a/t/03doc-write.t
-+++ b/t/03doc-write.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- my $source = <<EOT;
- $init
-diff --git a/t/04loop.t b/t/04loop.t
-index 3757c1d..768067a 100755
---- a/t/04loop.t
-+++ b/t/04loop.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- my $source = <<EOT;
- $init
-diff --git a/t/05form.t b/t/05form.t
-index 0dc763a..3212d05 100755
---- a/t/05form.t
-+++ b/t/05form.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- my $source = <<EOT;
- $init
-diff --git a/t/06form2.t b/t/06form2.t
-index 9aacb7a..fdf1bd2 100755
---- a/t/06form2.t
-+++ b/t/06form2.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- my $a = $js->array_by_path("document.array");
- my $e = $js->array_set_element($a, 0, "gurkenhobel");
-diff --git a/t/07func.t b/t/07func.t
-index c0f95cc..9b12633 100644
---- a/t/07func.t
-+++ b/t/07func.t
-@@ -6,7 +6,7 @@ print "1..1\n";
-
- $init = "";
- $buffer = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- my $source = <<EOT;
- $init
-diff --git a/t/08func2.t b/t/08func2.t
-index 6b49ef7..95c7749 100644
---- a/t/08func2.t
-+++ b/t/08func2.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- $args = "";
-
-diff --git a/t/09meth.t b/t/09meth.t
-index 4b5da81..2b86a9c 100644
---- a/t/09meth.t
-+++ b/t/09meth.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- $args = "";
-
-diff --git a/t/10elobj.t b/t/10elobj.t
-index d4eca5c..2c097b9 100644
---- a/t/10elobj.t
-+++ b/t/10elobj.t
-@@ -5,7 +5,7 @@
- print "1..1\n";
-
- $init = "";
--require "t/init.pl";
-+require "./t/init.pl";
-
- $submitted = "0";
-
---
-2.14.3
-
diff --git a/dev-perl/JavaScript-SpiderMonkey/files/mozjs185.patch b/dev-perl/JavaScript-SpiderMonkey/files/mozjs185.patch
deleted file mode 100644
index 788a523b8c8b..000000000000
--- a/dev-perl/JavaScript-SpiderMonkey/files/mozjs185.patch
+++ /dev/null
@@ -1,486 +0,0 @@
-From 9c0fbdce2ee643c23b3be8fa391b779fc6afbab3 Mon Sep 17 00:00:00 2001
-From: Ian Stakenvicius <axs@gentoo.org>
-Date: Fri, 12 Oct 2012 08:09:57 +1300
-Subject: Support spidermonkey 1.8.5 and newer
-
-Fix support for x86_64
-
-Bug: https://bugs.gentoo.org/404129
----
- Makefile.PL | 44 ++++++++++++-----
- SpiderMonkey.pm | 5 +-
- SpiderMonkey.xs | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- t/error.t | 2 +-
- 4 files changed, 180 insertions(+), 21 deletions(-)
-
-diff --git a/Makefile.PL b/Makefile.PL
-index 901b773..6095dcd 100644
---- a/Makefile.PL
-+++ b/Makefile.PL
-@@ -12,6 +12,7 @@
- ######################################################################
-
- use ExtUtils::MakeMaker;
-+use ExtUtils::PkgConfig;
- use Getopt::Long;
-
- # Get the right lib and include dirs for different platforms
-@@ -39,7 +40,7 @@ my %possible_install_paths = (
- "/opt/local/lib" => "/opt/local/include", # MacPorts
- );
-
--my ($JS_LIB_DIR, @JS_INCL_DIRS, $JS_LIB_NAME);
-+my ($JS_LIB_DIR, @JS_INCL_DIRS, $JS_LIB_NAME, $JS_LIBS, $JS_INCLUDES);
-
- #### Determine compile options
- ##############################
-@@ -59,6 +60,19 @@ GetOptions(
- "JS_LIB_DIR=s" => \$JS_LIB_DIR,
- "JS_LIB_NAME=s" => \$JS_LIB_NAME,
- );
-+
-+# try to find spidermonkey via pkg-config first
-+
-+$JS_LIBS = ExtUtils::PkgConfig->libs ('mozjs187');
-+if ("".$JS_LIBS ne "") {
-+ $JS_INCLUDES = ExtUtils::PkgConfig->cflags ('mozjs187');
-+} else {
-+ $JS_LIBS = ExtUtils::PkgConfig->libs ('mozjs185');
-+ if ("".$JS_LIBS ne "") {
-+ $JS_INCLUDES = ExtUtils::PkgConfig->cflags ('mozjs185');
-+ } else {
-+
-+# pkg-config did not work, use the old (direct) way to find older libs
- if ($JS_LIB_DIR) {
- push @JS_INCL_DIRS, $JS_LIB_DIR;
- }
-@@ -80,13 +94,15 @@ foreach my $install_path(keys %possible_install_paths) {
- }
- }
- if (scalar(@JS_INCL_DIRS) == scalar(@c_header_files)) {
-- $JS_LIB_DIR = $libfile;
-+ $JS_LIB_DIR = "-L".$libfile;
- $JS_LIB_DIR =~ s/$possible_lib$//;
-
- $JS_LIB_NAME = $possible_lib;
- $JS_LIB_NAME =~ s/\.(a|so|dll)$//;
- $JS_LIB_NAME =~ s/^lib//;
-
-+ $JS_LIBS = "-l".$JS_LIB_NAME;
-+
- last;
- } else {
- @JS_INCL_DIRS = ();
-@@ -96,15 +112,22 @@ foreach my $install_path(keys %possible_install_paths) {
- }
- last if $JS_LIB_DIR;
- }
-+foreach my $include_dir(@JS_INCL_DIRS) {
-+ $JS_INCLUDES.=" -I".$include_dir;
-+}
-
- if ($JS_INCL_DIRS[0] eq $JS_INCL_DIRS[1]) {
- shift @JS_INCL_DIRS;
- }
-
-+} # end of pkgcfg mozjs185
-+} # end of pkgcfg mozjs187
-+
-+
- ## If no SpiderMonkey library found report that and exit.
- ## Otherwise print lib and include paths.
-
--if (!$JS_LIB_DIR) {
-+if (!$JS_LIBS) {
- print <<EOT;
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-@@ -113,17 +136,13 @@ README file on how to download, compile and link it.
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- EOT
-- exit 0;
-+ exit 1;
- } else {
-- print "JS_LIB_DIR: $JS_LIB_DIR\n";
-- foreach my $include_dir(@JS_INCL_DIRS) {
-- print "JS_INCL_DIR: $include_dir\n";
-- }
-- print "JS_LIB_NAME: $JS_LIB_NAME\n";
-+ print "JS_LIBS: $JS_LIBS\n";
-+ print "JS_INCLUDES: $include_dir\n";
- }
-
-
--
- ## Determine library name and system-related defines
- if ($^O ne 'MSWin32') {
- $JS_DEFINE = '-DXP_UNIX';
-@@ -162,10 +181,11 @@ WriteMakefile(
- ($] >= 5.005 ? ## Add these new keywords supported since 5.005
- (ABSTRACT_FROM => 'SpiderMonkey.pm', # retrieve abstract from module
- AUTHOR => 'Mike Schilli <m@perlmeister.com>') : ()),
-- 'LIBS' => ["-L$JS_LIB_DIR -l$JS_LIB_NAME"],
-+ 'LIBS' => ["$JS_LIB_DIR $JS_LIBS"],
- 'DEFINE' => $JS_DEFINE, # e.g., '-DHAVE_SOMETHING'
- # Insert -I. if you add *.h files later:
-- 'INC' => "-I".join " -I", @JS_INCL_DIRS,
-+# 'INC' => "-I".join " -I", @JS_INCL_DIRS,
-+ 'INC' => $JS_INCLUDES,
- # Un-comment this if you add C files to link with later:
- # 'OBJECT' => '$(O_FILES)', # link all the C files too
- );
-diff --git a/SpiderMonkey.pm b/SpiderMonkey.pm
-index 223204a..de210c3 100644
---- a/SpiderMonkey.pm
-+++ b/SpiderMonkey.pm
-@@ -162,9 +162,8 @@ sub init {
- $self->{global_class} =
- JavaScript::SpiderMonkey::JS_GlobalClass();
- $self->{global_object} =
-- JavaScript::SpiderMonkey::JS_NewObject(
-- $self->{context}, $self->{global_class},
-- $self->{global_class}, $self->{global_class});
-+ JavaScript::SpiderMonkey::JS_NewCompartmentAndGlobalObject(
-+ $self->{context}, $self->{global_class});
-
- JavaScript::SpiderMonkey::JS_InitStandardClasses($self->{context},
- $self->{global_object});
-diff --git a/SpiderMonkey.xs b/SpiderMonkey.xs
-index 4d97117..1cfc9a5 100644
---- a/SpiderMonkey.xs
-+++ b/SpiderMonkey.xs
-@@ -20,10 +20,13 @@
- #define snprintf _snprintf
- #endif
-
-+#ifndef JSCLASS_GLOBAL_FLAGS
-+#define JSCLASS_GLOBAL_FLAGS 0
-+#endif
- /* JSRuntime needs this global class */
- static
- JSClass global_class = {
-- "Global", 0,
-+ "Global", JSCLASS_GLOBAL_FLAGS,
- JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,
- JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub
- };
-@@ -67,10 +70,18 @@ JSBool getsetter_dispatcher(
- * I hope all reasonable machines can hold an address in
- * an int.
- */
-- XPUSHs(sv_2mortal(newSViv((int)obj)));
-+ XPUSHs(sv_2mortal(newSViv(PTR2IV(obj))));
-+#if JS_VERSION < 185
- XPUSHs(sv_2mortal(newSVpv(JS_GetStringBytes(JSVAL_TO_STRING(id)), 0)));
-+#else
-+ XPUSHs(sv_2mortal(newSVpv(JS_EncodeString(cx, JSVAL_TO_STRING(id)), 0)));
-+#endif
- XPUSHs(sv_2mortal(newSVpv(what, 0)));
-+#if JS_VERSION < 185
- XPUSHs(sv_2mortal(newSVpv(JS_GetStringBytes(JSVAL_TO_STRING(*vp)), 0)));
-+#else
-+ XPUSHs(sv_2mortal(newSVpv(JS_EncodeString(cx, JSVAL_TO_STRING(*vp)), 0)));
-+#endif
- PUTBACK;
- call_pv("JavaScript::SpiderMonkey::getsetter_dispatcher", G_DISCARD);
- FREETMPS;
-@@ -83,10 +94,21 @@ JSBool getsetter_dispatcher(
- JSBool getter_dispatcher(
- JSContext *cx,
- JSObject *obj,
-+#if JS_VERSION < 185
- jsval id,
-+#else
-+ jsid iid,
-+#endif
- jsval *vp
- /* --------------------------------------------------------------------- */
- ) {
-+#if JS_VERSION >= 185
-+ jsval id;
-+ if (!JS_IdToValue(cx,iid,&id)) {
-+ fprintf(stderr, "getter_dispatcher: JS_IdToValue failed.\n");
-+ return JS_FALSE;
-+ }
-+#endif
- return getsetter_dispatcher(cx, obj, id, vp, "getter");
- }
-
-@@ -94,10 +116,22 @@ JSBool getter_dispatcher(
- JSBool setter_dispatcher(
- JSContext *cx,
- JSObject *obj,
-+#if JS_VERSION < 185
- jsval id,
-+#else
-+ jsid iid,
-+ JSBool strict,
-+#endif
- jsval *vp
- /* --------------------------------------------------------------------- */
- ) {
-+#if JS_VERSION >= 185
-+ jsval id;
-+ if (!JS_IdToValue(cx,iid,&id)) {
-+ fprintf(stderr, "setter_dispatcher: JS_IdToValue failed.\n");
-+ return JS_FALSE;
-+ }
-+#endif
- return getsetter_dispatcher(cx, obj, id, vp, "setter");
- }
-
-@@ -128,10 +162,19 @@ int debug_enabled(
-
- /* --------------------------------------------------------------------- */
- static JSBool
-+#if JS_VERSION < 185
- FunctionDispatcher(JSContext *cx, JSObject *obj, uintN argc,
- jsval *argv, jsval *rval) {
-+#else
-+FunctionDispatcher(JSContext *cx, uintN argc, jsval *vp) {
-+#endif
- /* --------------------------------------------------------------------- */
- dSP;
-+#if JS_VERSION >= 185
-+ JSObject *obj = JS_THIS_OBJECT(cx,vp);
-+ jsval *argv = JS_ARGV(cx,vp);
-+ jsval rval;
-+#endif
- SV *sv;
- char *n_jstr;
- int n_jnum;
-@@ -149,12 +192,20 @@ FunctionDispatcher(JSContext *cx, JSObject *obj, uintN argc,
- ENTER ;
- SAVETMPS ;
- PUSHMARK(SP);
-- XPUSHs(sv_2mortal(newSViv((int)obj)));
-+ XPUSHs(sv_2mortal(newSViv(PTR2IV(obj))));
- XPUSHs(sv_2mortal(newSVpv(
-- JS_GetFunctionName(fun), 0)));
-+#if JS_VERSION < 185
-+ JS_GetStringBytes(JS_GetFunctionId(fun)), 0)));
-+#else
-+ JS_EncodeString(cx, JS_GetFunctionId(fun)), 0)));
-+#endif
- for(i=0; i<argc; i++) {
- XPUSHs(sv_2mortal(newSVpv(
-+#if JS_VERSION < 185
- JS_GetStringBytes(JS_ValueToString(cx, argv[i])), 0)));
-+#else
-+ JS_EncodeString(cx, JS_ValueToString(cx, argv[i])), 0)));
-+#endif
- }
- PUTBACK;
- count = call_pv("JavaScript::SpiderMonkey::function_dispatcher", G_SCALAR);
-@@ -174,7 +225,11 @@ FunctionDispatcher(JSContext *cx, JSObject *obj, uintN argc,
-
- if(Debug)
- fprintf(stderr, "DEBUG: %lx is a ref!\n", (long) sv);
-- *rval = OBJECT_TO_JSVAL(SvIV(SvRV(sv)));
-+#if JS_VERSION < 185
-+ *rval = OBJECT_TO_JSVAL(INT2PTR(JSObject *,SvIV(SvRV(sv))));
-+#else
-+ JS_SET_RVAL(cx,vp,OBJECT_TO_JSVAL(INT2PTR(JSObject *,SvIV(SvRV(sv)))));
-+#endif
- }
- else if(SvIOK(sv)) {
- /* It appears that we have been sent an int return
-@@ -183,7 +238,11 @@ FunctionDispatcher(JSContext *cx, JSObject *obj, uintN argc,
- n_jnum=SvIV(sv);
- if(Debug)
- fprintf(stderr, "DEBUG: %lx is an int (%d)\n", (long) sv,n_jnum);
-+#if JS_VERSION < 185
- *rval = INT_TO_JSVAL(n_jnum);
-+#else
-+ JS_SET_RVAL(cx,vp,INT_TO_JSVAL(n_jnum));
-+#endif
- } else if(SvNOK(sv)) {
- /* It appears that we have been sent an double return
- * value. Thats fine we can give javascript an double
-@@ -192,11 +251,20 @@ FunctionDispatcher(JSContext *cx, JSObject *obj, uintN argc,
-
- if(Debug)
- fprintf(stderr, "DEBUG: %lx is a double(%f)\n", (long) sv,n_jdbl);
-+#if JS_VERSION < 185
- *rval = DOUBLE_TO_JSVAL(JS_NewDouble(cx, n_jdbl));
-+#else
-+ JS_NewNumberValue(cx, n_jdbl, &rval);
-+ JS_SET_RVAL(cx,vp,rval);
-+#endif
- } else if(SvPOK(sv)) {
- n_jstr = SvPV(sv, PL_na);
- //warn("DEBUG: %s (%d)\n", n_jstr);
-+#if JS_VERSION < 185
- *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, n_jstr));
-+#else
-+ JS_SET_RVAL(cx,vp,STRING_TO_JSVAL(JS_NewStringCopyZ(cx, n_jstr)));
-+#endif
- }
- }
-
-@@ -240,8 +308,13 @@ ErrorReporter(JSContext *cx, const char *message, JSErrorReport *report) {
- }
-
- /* --------------------------------------------------------------------- */
-+#if JS_VERSION < 181
- static JSBool
- BranchHandler(JSContext *cx, JSScript *script) {
-+#else
-+static JSBool
-+BranchHandler(JSContext *cx) {
-+#endif
- /* --------------------------------------------------------------------- */
- PJS_Context* pcx = (PJS_Context*) JS_GetContextPrivate(cx);
-
-@@ -374,11 +447,46 @@ JS_NewObject(cx, class, proto, parent)
- JSObject *obj;
- CODE:
- {
-+#ifdef JS_THREADSAFE
-+ JS_BeginRequest(cx);
-+#endif
- obj = JS_NewObject(cx, class, NULL, NULL);
- if(!obj) {
- XSRETURN_UNDEF;
- }
- RETVAL = obj;
-+#ifdef JS_THREADSAFE
-+ JS_EndRequest(cx);
-+#endif
-+ }
-+ OUTPUT:
-+ RETVAL
-+
-+######################################################################
-+JSObject *
-+JS_NewCompartmentAndGlobalObject(cx, class)
-+ JSContext * cx
-+ JSClass * class
-+######################################################################
-+ PREINIT:
-+ JSObject *obj;
-+ CODE:
-+ {
-+#ifdef JS_THREADSAFE
-+ JS_BeginRequest(cx);
-+#endif
-+#if JS_VERSION < 185
-+ obj = JS_NewObject(cx, class, NULL, NULL);
-+#else
-+ obj = JS_NewCompartmentAndGlobalObject(cx, class, NULL);
-+#endif
-+ if(!obj) {
-+ XSRETURN_UNDEF;
-+ }
-+ RETVAL = obj;
-+#ifdef JS_THREADSAFE
-+ JS_EndRequest(cx);
-+#endif
- }
- OUTPUT:
- RETVAL
-@@ -404,6 +512,9 @@ JS_InitClass(cx, iobj, parent_proto, clasp, constructor, nargs, ps, fs, static_p
- na = (uintN) nargs;
- CODE:
- {
-+#ifdef JS_THREADSAFE
-+ JS_BeginRequest(cx);
-+#endif
- obj = JS_InitClass(cx, iobj, parent_proto, clasp,
- constructor, nargs, ps, fs, static_ps,
- static_fs);
-@@ -411,6 +522,9 @@ JS_InitClass(cx, iobj, parent_proto, clasp, constructor, nargs, ps, fs, static_p
- XSRETURN_UNDEF;
- }
- RETVAL = obj;
-+#ifdef JS_THREADSAFE
-+ JS_EndRequest(cx);
-+#endif
- }
- OUTPUT:
- RETVAL
-@@ -469,11 +583,17 @@ JS_InitStandardClasses(cx, gobj)
- JSBool rc;
- CODE:
- {
-+#ifdef JS_THREADSAFE
-+ JS_BeginRequest(cx);
-+#endif
- rc = JS_InitStandardClasses(cx, gobj);
- if(!rc) {
- XSRETURN_UNDEF;
- }
- RETVAL = (int) rc;
-+#ifdef JS_THREADSAFE
-+ JS_BeginRequest(cx);
-+#endif
- }
- OUTPUT:
- RETVAL
-@@ -582,10 +702,18 @@ JS_GetProperty(cx, obj, name)
- rc = JS_GetProperty(cx, obj, name, &vp);
- if(rc) {
- str = JS_ValueToString(cx, vp);
-+#if JS_VERSION < 185
- if(strcmp(JS_GetStringBytes(str), "undefined") == 0) {
-+#else
-+ if(strcmp(JS_EncodeString(cx, str), "undefined") == 0) {
-+#endif
- sv = &PL_sv_undef;
- } else {
-+#if JS_VERSION < 185
- sv_setpv(sv, JS_GetStringBytes(str));
-+#else
-+ sv_setpv(sv, JS_EncodeString(cx, str));
-+#endif
- }
- } else {
- sv = &PL_sv_undef;
-@@ -675,10 +803,18 @@ JS_GetElement(cx, obj, idx)
- rc = JS_GetElement(cx, obj, idx, &vp);
- if(rc) {
- str = JS_ValueToString(cx, vp);
-+#if JS_VERSION < 185
- if(strcmp(JS_GetStringBytes(str), "undefined") == 0) {
-+#else
-+ if(strcmp(JS_EncodeString(cx, str), "undefined") == 0) {
-+#endif
- sv = &PL_sv_undef;
- } else {
-+#if JS_VERSION < 185
- sv_setpv(sv, JS_GetStringBytes(str));
-+#else
-+ sv_setpv(sv, JS_EncodeString(cx, str));
-+#endif
- }
- } else {
- sv = &PL_sv_undef;
-@@ -718,7 +854,11 @@ JS_SetMaxBranchOperations(cx, max_branch_operations)
- PJS_Context* pcx = (PJS_Context *) JS_GetContextPrivate(cx);
- pcx->branch_count = 0;
- pcx->branch_max = max_branch_operations;
-+#if JS_VERSION < 181
- JS_SetBranchCallback(cx, BranchHandler);
-+#else
-+ JS_SetOperationCallback(cx, BranchHandler);
-+#endif
- }
- OUTPUT:
-
-diff --git a/t/error.t b/t/error.t
-index 732226c..de977a1 100644
---- a/t/error.t
-+++ b/t/error.t
-@@ -9,7 +9,7 @@ my $js1 = JavaScript::SpiderMonkey->new ();
- $js1->init ();
- ok (!$js1->eval ($jscode1));
- ok ($@ !~ "\n");
--ok ($@ =~ "SyntaxError");
-+ok ($@ =~ "SyntaxError" || $@ =~ "ReferenceError: invalid assignment left-hand side");
- #print "$@\n";
- my $jscode2 =<<EOF;
- var fruit = non_existant_function ();
---
-2.14.3
-