Commit Graph

53979 Commits

Author SHA1 Message Date
morse%netscape.com
66a3fad9de oops -- I carelessly left out a carriage return in my last checkin
git-svn-id: svn://10.0.0.236/trunk@49732 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 21:07:01 +00:00
morse%netscape.com
6558fcffeb fix profile-manager bustage in todays build, checked in by request of leaf
git-svn-id: svn://10.0.0.236/trunk@49731 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 20:59:16 +00:00
kipp%netscape.com
ef2c286317 Fixed uninitialized members in the TreeNode struct
git-svn-id: svn://10.0.0.236/trunk@49729 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 20:25:53 +00:00
norris%netscape.com
19a71ea13f Fix bug found by Andrew Wason (see below).
Problem was that one transformation of a node to GETVAR wasn't protected by a check of inWithStatement().

======================================
Subject:
        multiple scopes
   Date:
        Fri, 01 Oct 1999 12:39:14 -0400
   From:
        Andrew Wason <aw@softcom.com>
     To:
        norris@netscape.com
    CC:
        Howard Lin <howard@softcom.com>




When I create two scopes, and one scope evaulates a string in the other
scope, it works.  However, if I do this while handling an exception thrown
within a JavaAdapter method, it fails with an exception.

Run the attached Java program with the two script files.  scope1.js
evaluates a string "printMessage" in the scope of scope2.js.  This returns
a function object which is then invoked.  This works in 3 cases, but fails
in the 4th (in the catch in the JavaAdapter).  Even in the 4th case where
it fails, printing the function object looks normal.

Am I doing something wrong, or is there a bug here?

java CrossScope scope1.js scope2.js

Outside of JavaAdapter
works before exception
works after exception
Inside of JavaAdapter
works before exception
Caught exception
pma=
function printMessage(msg) {
     java.lang.System.out.println(msg);
}

Exception in thread "main" org.mozilla.javascript.JavaScriptException:
org.mozilla.javascript.EvaluatorException: The undefined value has no
properties.
         at
org.mozilla.javascript.JavaScriptException.wrapException(JavaScriptException
.java:61)
         at
org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java,
Compiled Code)
         at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1256)
         at org.mozilla.javascript.Interpreter.interpret(Interpreter.java,
Compiled Code)
         at
org.mozilla.javascript.InterpretedScript.call(InterpretedScript.java:49)
         at
org.mozilla.javascript.InterpretedScript.exec(InterpretedScript.java:37)
         at org.mozilla.javascript.Context.evaluateReader(Context.java:697)
         at CrossScope.<init>(CrossScope.java:30)
         at CrossScope.main(CrossScope.java:10)


Thanks,
Andrew

import java.io.*;
import org.mozilla.javascript.*;

public class CrossScope {
	private Context m_jsContext;
	private Scriptable m_scope1;
	private Scriptable m_scope2;

	public static void main(String args[]) throws Exception {
		new CrossScope(args[0], args[1]);
	}

	private CrossScope(String strFile1, String strFile2) throws Exception {
		// Associate Context with main thread
		m_jsContext = Context.enter();
                m_jsContext.setOptimizationLevel(-1);

		// Init scope1, expose Scope object
  		m_scope1 = m_jsContext.initStandardObjects(new ImporterTopLevel());
		m_scope1.put("Scope", m_scope1, this);

		// Init scope2
		m_scope2 = m_jsContext.initStandardObjects(new ImporterTopLevel());

		// Run script in scope2
		Reader r2 = new FileReader(strFile2);
		m_jsContext.evaluateReader(m_scope2, r2, strFile2, 1, null);

		// Eval input JS in scope1 - it can in turn eval JS over in scope2
		Reader r1 = new FileReader(strFile1);
		Object obj = m_jsContext.evaluateReader(m_scope1, r1, strFile1, 1, null);
		if (obj instanceof Throwable)
			((Throwable)obj).printStackTrace();

		m_jsContext.exit();
	}

	public Object scope1Eval(String str) throws JavaScriptException {
			Context cx = Context.enter(m_jsContext);
			Object objResult = cx.evaluateString(m_scope1, str, "scope1EvalString", 1, null);
			cx.exit();
			return objResult;
	}

	public Object scope2Eval(String str) throws JavaScriptException {
			Context cx = Context.enter(m_jsContext);
			Object objResult = cx.evaluateString(m_scope2, str, "scope2EvalString", 1, null);
			cx.exit();
			return objResult;
	}
}


// Scope1

importPackage(java.lang);

System.out.println("Outside of JavaAdapter");

try {
	var pm = Scope.scope2Eval("printMessage");
	pm("works before exception");
	System.arraycopy(null, 5, null, 5, 100);
} catch (e) {
	var pma = Scope.scope2Eval("printMessage");
	pma("works after exception");
}

var obj = new Runnable() {
	run: function() {
		System.out.println("Inside of JavaAdapter");
		try {
			var pm = Scope.scope2Eval("printMessage");
			pm("works before exception");
			System.arraycopy(null, 5, null, 5, 100);
		} catch (e) {
			System.out.println("Caught exception");
			var pma = Scope.scope2Eval("printMessage");
			System.out.println("pma=" + pma);
			pma("works after exception");
		}
	}
};

obj.run();



// Scope2

function printMessage(msg) {
	java.lang.System.out.println(msg);
}


git-svn-id: svn://10.0.0.236/trunk@49726 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 18:27:30 +00:00
endico%mozilla.org
36e083362c make file searches case insentive
git-svn-id: svn://10.0.0.236/trunk@49725 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 18:11:27 +00:00
tao%netscape.com
d2b440e23a First checkin of da-DK files (from Henrik) into l10n/lang.
git-svn-id: svn://10.0.0.236/trunk@49724 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 18:01:19 +00:00
valeski%netscape.com
1c2b2f6390 adding keyword protocol handler to tree. this code is NOT in the build yet.
git-svn-id: svn://10.0.0.236/trunk@49722 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 16:34:45 +00:00
kipp%netscape.com
86725c9808 Added -R flag and logic for managing refcnt dumping better
git-svn-id: svn://10.0.0.236/trunk@49721 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 16:32:03 +00:00
neeti%netscape.com
0cb4e10e77 cookie module conversion done
git-svn-id: svn://10.0.0.236/trunk@49720 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 14:34:54 +00:00
neeti%netscape.com
1c9d47ade0 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@49719 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 14:08:52 +00:00
rods%netscape.com
ff1ff17b9d fixes bug #15265, changes reviewed by kmcclusk. Changes in the way it used the computed values
git-svn-id: svn://10.0.0.236/trunk@49718 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 13:49:00 +00:00
colin%theblakes.com
2eb916adb2 Don't link against xptinfo - its not needed. r=ramiro
git-svn-id: svn://10.0.0.236/trunk@49717 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 10:44:49 +00:00
colin%theblakes.com
41dd85d37f Make mkdepend lines shorter (OpenVMS only). r=ramiro
git-svn-id: svn://10.0.0.236/trunk@49716 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 10:43:28 +00:00
duncan%be.com
d0d0e41c47 Hack into compileable shape.
git-svn-id: svn://10.0.0.236/trunk@49715 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 08:52:17 +00:00
karnaze%netscape.com
c3e71c904f column allocation does fixed and adjusted fixed (colspans) in separate steps. Simplified AllocateConstrained. Fixed bug 14332.
git-svn-id: svn://10.0.0.236/trunk@49714 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 05:19:32 +00:00
ramiro%netscape.com
b6cc6b0ab0 Fix for xlib build bustage.
git-svn-id: svn://10.0.0.236/trunk@49713 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 04:49:45 +00:00
karnaze%netscape.com
399a1319c0 regression test changes
git-svn-id: svn://10.0.0.236/trunk@49712 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 04:48:13 +00:00
dp%netscape.com
77b37126c4 bug# 15433 Fixed call to NS_ADDREF() that would cause double
evaluation when MOZ_REFCNT is defined. Fixed checking for
OUT_OF_MEMORY condition. r=hyatt


git-svn-id: svn://10.0.0.236/trunk@49711 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 02:27:09 +00:00
mscott%netscape.com
2e4127024c Bug #14680...migrating this bug from the M10 branch. make input and output stream for the converter pipe non-blocking.
r=ducarroz


git-svn-id: svn://10.0.0.236/trunk@49709 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 01:01:48 +00:00
mscott%netscape.com
322798e844 Bug #11837 --> rewrite the imap factory to use nsIModule. This meant adding appropriate factory methods to the components.
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@49708 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 00:29:18 +00:00
mscott%netscape.com
94f2a23952 Bug #11837 --> rewrite the imap factory to use nsIModule.
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@49707 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 00:27:42 +00:00
mscott%netscape.com
18a7fb8d42 Bug #15192 --> build the pab before the history ab for name completion.
r=bienvenu.


git-svn-id: svn://10.0.0.236/trunk@49706 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 00:26:10 +00:00
mscott%netscape.com
b36e29928a Bug #000...trivial fix so no bug # filed. Fix a leak of nsIURI by using nsCOMPtr.
r=bienvenu.


git-svn-id: svn://10.0.0.236/trunk@49705 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-04 00:25:12 +00:00
beard%netscape.com
9a1b140b6b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@49702 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 23:28:33 +00:00
beard%netscape.com
90cd1e6284 File Removed.
git-svn-id: svn://10.0.0.236/trunk@49701 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 23:26:57 +00:00
beard%netscape.com
9f5a8b5090 breakage fixing, gc_stdout -> GC_stdout
git-svn-id: svn://10.0.0.236/trunk@49700 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 22:30:35 +00:00
sdagley%netscape.com
6c3f751156 changed from directly using "MSL ShLibRuntime.Lib" to using "NSLibraryStartup.o" to enable GC leak detector. r=beard
git-svn-id: svn://10.0.0.236/trunk@49699 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 22:04:08 +00:00
sdagley%netscape.com
e9dac37427 using __NSTerminate() rather than __terminate, for GC leak detector. r=beard
git-svn-id: svn://10.0.0.236/trunk@49698 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 22:04:07 +00:00
beard%netscape.com
bc66d4807f removed pulling of mozilla/gc/boehm, no longer building NStdLibGC target. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49697 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 21:51:39 +00:00
beard%netscape.com
508a0c5b7d Added GC exports, so Stubs target will generate them.
git-svn-id: svn://10.0.0.236/trunk@49696 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 21:49:41 +00:00
beard%netscape.com
795fab8784 removed NSStdLibGC target, and .exp file. Moved exports to the one true NSStdLib.exp, so that Stubs target will see them. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49695 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 21:48:57 +00:00
beard%netscape.com
3ecbfc5cdf added more GC stub functions, so that NSStdLib can export them. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49694 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 21:47:11 +00:00
beard%netscape.com
f038869d64 fixed breakage, until mozilla/gc/boehm gets added to the default module.
git-svn-id: svn://10.0.0.236/trunk@49693 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 21:31:43 +00:00
beard%netscape.com
0c2f0d51f9 calling __NSInitialize/__NSTerminate to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49692 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:53:11 +00:00
beard%netscape.com
75c8c9cd12 changed from directly using "MSL ShLibRuntime.Lib" to using "NSLibraryStartup.o" to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49691 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:47:12 +00:00
beard%netscape.com
da97767078 changed from directly using "MSL DropInRuntime.Lib" to using "NSComponentStartup.o" to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49690 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:46:23 +00:00
beard%netscape.com
eaf44edde8 changed from directly using "MSL AppRuntime.Lib" to using "NSAppStartup.o" to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49689 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:43:01 +00:00
beard%netscape.com
ed2580f15a changed from directly using "MSL ShLibRuntime.Lib" to using "NSLibraryStartup.o" to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49688 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:37:53 +00:00
beard%netscape.com
cd941313ec changed from directly using "MSL ShLibRuntime.Lib" to using "NSLibraryStartup.o" to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49686 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:23:01 +00:00
beard%netscape.com
f25b9d367d changed from directly using "MSL DropInRuntime.Lib" to using "NSLibraryStartup.o" to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49685 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:13:50 +00:00
beard%netscape.com
da4024048d changed from directly using "MSL AppRuntime.Lib" to using "NSAppStartup.o" to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49684 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:11:44 +00:00
beard%netscape.com
a50c5f3df5 changed from directly using "MSL ShLibRuntime.Lib" to using "NSLibraryStartup.o" to enable GC leak detector. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49683 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:08:40 +00:00
beard%netscape.com
4133a2fff5 added pulling of mozilla/gc/boehm, conditionally building gc.mcp if $GC_LEAK_DETECTOR is true, and building MemAllocator.mcp[MemAllocatorGC.o], NSStdLib.mcp[NSStdLibGC.shlb] if $GC_LEAK_DETECTOR is true. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49682 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:06:10 +00:00
beard%netscape.com
50068fd6e0 Added $GC_LEAK_DETECTOR. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49681 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:03:39 +00:00
beard%netscape.com
7835dfb07e added GC_LEAK_DETECTOR variable. r=smfr
git-svn-id: svn://10.0.0.236/trunk@49680 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 20:01:48 +00:00
tonyr%fbdesigns.com
86f12df7f4 Update progID's from component://netscape/* to component://mozilla/*
git-svn-id: svn://10.0.0.236/trunk@49679 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 18:02:22 +00:00
tonyr%fbdesigns.com
9895a33add Fix bustage caused by new account manager API's
git-svn-id: svn://10.0.0.236/trunk@49678 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 18:00:23 +00:00
tonyr%fbdesigns.com
90b1f42534 Update to use nsIModule
git-svn-id: svn://10.0.0.236/trunk@49677 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 17:59:09 +00:00
tonyr%fbdesigns.com
0534ba836d Updated to use nsIModule
git-svn-id: svn://10.0.0.236/trunk@49676 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 17:55:56 +00:00
mcafee%netscape.com
1193314ab4 Better variable names for readability.
git-svn-id: svn://10.0.0.236/trunk@49675 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-03 08:13:41 +00:00