Граф коммитов

435 Коммитов

Автор SHA1 Сообщение Дата
warren%netscape.com 7720555e35 Fixed crashes in reporting errors on failure to initialize. 1998-08-04 21:37:16 +00:00
bjorn%netscape.com 3f07b83d17 Additional xpcom support for JS. Currently not in use by anyone. See MyScriptable.{h,cpp}
for an example of how to use this interface.
1998-08-04 20:34:20 +00:00
shaver%netscape.com 2690be0ced added JSVERSION_1_4, removed prconv.sed NULs 1998-08-01 19:52:50 +00:00
shaver%netscape.com a97c0e5ee9 added JSVersion JSVERSION_1_4 1998-08-01 19:43:23 +00:00
warren%netscape.com 2a36bb5ca9 removed jsj for MOZ_JAVA 1998-08-01 00:03:31 +00:00
warren%netscape.com 9bfdf95092 Removed build of java classes. 1998-07-31 21:54:16 +00:00
warren%netscape.com 94f09d2f58 Fixed _jni dir problem 1998-07-31 21:22:43 +00:00
warren%netscape.com 55c184c158 Removed unzip step. 1998-07-31 21:12:32 +00:00
warren%netscape.com 207bbebb65 Landing changes in the OJI_19980727_BRANCH since the OJI_19980727_TIP_MERGE tag. 1998-07-31 20:19:50 +00:00
mccabe%netscape.com 0ce06a27df Another attempt to remove trailing nul characters added courtesy CVS. 1998-07-31 01:45:05 +00:00
mccabe%netscape.com 97db8e8a7c Propagating numerous fixes from js/ref
and development branches, including but
not limited to:

- Preliminary exception handling per
ECMA proposal; try, multiple
catchblocks, and finally.  Catchblocks
are of the form catch (v) or
catch(v:<guard>), where guard is an
optional boolean expression that is
evaluated to determine whether the
exception is to be caught by that block.

- ECMA-proposed 'in' operator; "'foo' in
o" or "4 in o" asks if o has property
foo or element 4.

- Added a new set of defines in
jsconfig.h for js 1.4
features-in-progress.  (in, instanceof,
exception handling.)  Default build
version is now 1.4.  Fixed a few
conditional features that had become
broken.

- Progress towards porting to FreeBSD
and Alpha; casts of NaN and friends to
int are a little more localized.  Not
there yet...

- New config files to compile on more
OSes; various fixes to improve
portability.
1998-07-31 00:07:22 +00:00
mccabe%netscape.com d6b6b2000c Propagating work and bug fixes from
development branch:

- Preliminary exception handling per
ECMA proposal; try, multiple
catchblocks, and finally.  Catchblocks
are of the form catch (v) or
catch(v:<guard>), where guard is an
optional boolean expression that is
evaluated to determine whether the
exception is to be caught by that block.

- ECMA-proposed 'in' operator; "'foo' in
o" or "4 in o" asks if o has property
foo or element 4.

- Added a new set of defines in
jsconfig.h for js 1.4
features-in-progress.  (in, instanceof,
exception handling.)  Default build
version is now 1.4.  Fixed a few
conditional features that had become
broken.

- Progress towards porting to FreeBSD
and Alpha; casts of NaN and friends to
int are a little more localized.  Not
there yet...

- New config files to compile on more
OSes; various fixes to improve
portability.
1998-07-30 23:46:29 +00:00
mccabe%netscape.com 980224a89e Added NPL. 1998-07-30 23:44:39 +00:00
warren%netscape.com a0c375aaa0 Committed from OJI_19980618_TIP_MERGE1. 1998-07-28 02:07:25 +00:00
mccabe%netscape.com 999a28a323 typedef of int64 for osf now avoids long long - because long long is a
compiler extension, and we want to be able to turn off compiler
extensions for osf.  And longs are long long there anyway.

Propagated from nspr, courtesy wtc.
1998-07-24 23:12:09 +00:00
bjorn%netscape.com d9a5c6f446 Restoring tree to previous version. Should not affect the build. The previous
checkin had no impact on the build either, but I'll wait with these changes until
the tree is open again. Sorry for the inconvenience.
1998-07-23 22:25:16 +00:00
bjorn%netscape.com 719cb64323 New version of jsIScriptable.h (clobbers the old one). New files added for
testing (MyScriptable) and embedding support (JSWrapper,jsIScriptable,main).
1998-07-23 20:46:28 +00:00
warren%netscape.com f3f8ff88a6 Added generated files for when we're not building java anymore. 1998-07-21 05:42:12 +00:00
mccabe%netscape.com 9bb08237dc added some more #if JS_HAS_SHARP_VARS checks so towards compiliation
under version 120 in jsconfig.h.  Other fixes needed, though...
1998-07-17 21:18:41 +00:00
mccabe%netscape.com 1b95117e0b Fixed #ifdef to #if for various features defined in jsconfig.h -
JS_HAS_IN_OPERATOR, and JS_HAS_INITIALIZERS.
1998-07-17 20:46:12 +00:00
mccabe%netscape.com 80154fca8a Fixed interpretation of JSOP_IN to match our ECMA proposal - throw a
runtime error if the RHS is not an object.
1998-07-17 19:10:46 +00:00
mccabe%netscape.com 9c24e20796 Modified grammar for for/in and the in operator to exclude parsing the
'in' keyword as an operator in the init clause of for loops; this
disambiguates for/in loop parsing.  (Previously, there was some
treenode examination magic going on.)  Per recent ECMA submission.
1998-07-17 02:56:04 +00:00
shaver a9cc847e2b more jsI?Context stuff, some Scriptable hackery 1998-07-15 16:59:47 +00:00
mccabe 9b0d78bf05 Added configuration section for js 1.4, with in/instanceof/exceptions turned
on.  (Default configuration is still 1.3.)
1998-07-15 03:00:24 +00:00
shaver fc9cae6d8f support int JSVALs in XDRValue (duh) 1998-07-13 16:12:41 +00:00
danm f2ba7ea301 optionally include GlowCode. bug 299200 a:don. 1998-07-13 00:22:53 +00:00
ramiro 8992e74cbe Fix broken '#if defined' and no new line at end of makefile. 1998-07-11 12:45:01 +00:00
mccabe 2bc52deb90 Added newline in 2nd comment to make the LXR indexer slightly happier.
Thanks to Dawn Endico <dawn@cannibal.mi.org> for LXR hacking.
1998-07-10 02:13:17 +00:00
danm 181ec43df6 glowcode. bug 299200 a:don. 1998-07-09 16:33:15 +00:00
shaver f49ed3305e start at jsContext and jsRuntime implementations, enough to run trivial script 1998-07-08 16:53:49 +00:00
mccabe 53b3ff3224 Changed the definition of JSDOUBLE_IS_INT(d, i) to delay a (jsint)d
cast until after the double in question has been determined to be
finite, not NaN, etc.  This may make the code a little more XP for
platforms like BSD and Alpha Linux that don't like casting strange
values to int.  Thanks go to Uncle George <gatgul@voicenet.com> and
hankin <hankin@consultco.com> for their porting work.
1998-07-08 07:56:43 +00:00
mccabe 314d515509 Made the assign hack conditional on JSVERSION_IS_ECMA. 1998-07-07 23:59:45 +00:00
shaver e907c6a086 tentative and likely useless script verifier for XDR (-DJS_XDR_SCRIPT_VERIFIER) 1998-07-04 19:45:46 +00:00
fur e30c123261 These files were moved to js/ref/liveconnect/macbuild/JavaSession. 1998-07-03 19:00:59 +00:00
fur 47c9f09d1c + Fixed heap corruption caused by free'ing of an uninitialized pointer.
+ Changed the way JS wrapper functions for Java instance methods are constructed.

  Previously, these were computed the first time that an instance method was
  accessed for a particular JavaObject and cached in the native, private portion
  of that JavaObject.  However, the required call to JS_AddRoot() causes an root
  to appear as a link in a cyclical graph, leading to uncollectible objects, i.e.
  the JavaObject has a root pointer to the function object and the function has
  a parent that points back to the JavaObject.  Now, we compute the functions
  at the time a class is reflected and use JS_CloneFunctionObject() each time
  a JS wrapper function is needed, which is slower, but avoids this GC problem.
1998-07-03 15:50:16 +00:00
fur fe28615c39 Tweaked comment. 1998-07-03 02:43:34 +00:00
fur 1ec2b0195b Fix Win32 warnings that were introduced as a result of curing Mac warnings. 1998-07-03 02:42:16 +00:00
fur d05cdfd43c Got rid of debug printf(). 1998-07-03 02:41:31 +00:00
fur 444c8ac8b5 Added Compatibility discussion.
Tweaked Mac build instructions.
1998-07-03 02:40:48 +00:00
fur c3e5f43f8a Fixed incorect argument type in jlong_to_jdouble() which was causing Java long values to get mangled. 1998-07-03 00:00:15 +00:00
fur 1aabd69b34 Use Types.h instead of more modern MacTypes.h so that we can build with CodeWarrior 2 on the Mac. 1998-07-02 04:11:53 +00:00
montulli 9c9326fee5 merge montulli1 branch with tip 1998-07-02 02:39:54 +00:00
shaver 749a0b5238 forgot the NPL 1998-07-01 19:59:06 +00:00
beard 58f464c1a2 Fixed unintended assignment warning in lookup_member_by_id. 1998-07-01 18:58:29 +00:00
beard 9a3929928e Fixed unintended assignment warning in access_java_array_element. 1998-07-01 18:55:49 +00:00
beard 9aa7eabbba Added prototype for jsj_ConvertJavaStringToJSString. 1998-07-01 18:48:12 +00:00
beard 111a471158 enter_js now static, since it had no external prototype. 1998-07-01 18:47:26 +00:00
beard 447cc5f8c3 define_JavaPackage now static since it had no external prototype. 1998-07-01 18:46:23 +00:00
beard 530433d35c JavaObject_getObjectOps now static since it had no external prototype. 1998-07-01 18:45:32 +00:00
beard dd15f11c8f JavaClass_getObjectOps, jsj_new_JavaClass now static, since they had no external prototypes anyway. 1998-07-01 18:44:50 +00:00
beard 11c6174e80 Made JavaArray_getObjectOps static to fix no prototype warning. 1998-07-01 18:43:16 +00:00
beard 4010b5a9bb Fixed unintended assignment warnings, made default_map_java_object_to_js_object static to fix no prototype warning. 1998-07-01 18:42:27 +00:00
beard 42c8b526c8 Removed some dead code. 1998-07-01 18:37:43 +00:00
shaver ec8eaafa11 adding XPCOM interface support (non-functional) -- not part of Gromit 1998-07-01 18:18:00 +00:00
fur 20d5f40cd0 If the same JSObject is reflected into Java more than once then we should
return the same Java object, both for efficiency and so that the '=='
operator works as expected in Java when comparing two JSObjects.
However, it is not possible to hold a reference to a Java object without
inhibiting GC of that object, at least not in a way that is portable
to all vendor's JVMs, i.e. a weak reference. So, for now, JSObject identity
is broken.
1998-07-01 06:11:39 +00:00
fur c6cc90820d Added equals() method to override java.lang.Object.equals(). This is
necessary because the '==' operator won't work with LC2.
1998-07-01 06:00:10 +00:00
brendan f51f103f5f - Remove duplicate error fprintf from js.c:Load.
- Revise exception handling runtime info (now called trynotes a la srcnotes)
  for more efficient loop control under JSOP_THROW.  Avoid all uses of catch
  and throw while at it, to make C++ lusers happy.
- Combine JSStackFrame.exception with rval, and rename
  JSStackFrame.exceptPending to be ...throwing.
- Optimize JS_TypeOfValue a bit.
- Name, control flow, whitespace, etc. cleanup.
1998-07-01 02:12:45 +00:00
beard e77b637d38 Changed jsj_HashJavaObject to conform to JSJHashFunction. 1998-07-01 00:21:18 +00:00
beard 506e677fb4 #defined PR_IMPLEMENT for XP_MAC/XP_UNIX cases. 1998-06-30 22:18:23 +00:00
beard 7d1aa0cc28 Fixed JSVAL_TO_JLONG_JVALUE macro for XP_MAC -- can't assign 0 directly to a jlong. 1998-06-30 22:17:19 +00:00
beard e9e03ff3a0 Added jsj_hash.c, turned on debugging by default. 1998-06-30 22:15:38 +00:00
fur 4405f1fa76 = Replicate the JS engine machinery that gives the appearance of converting
all element access expressions to strings, e.g. so that obj["3"] and
  obj[3] refer to the same property for a JavaArray object.

= Return false when using 'delete' operator on JavaArray objects.
1998-06-30 18:18:03 +00:00
fur 08d4074f40 Return false when using the 'delete' operator on JavaClass or JavaObject objects. 1998-06-30 18:10:14 +00:00
fur 50264a5e7c Eliminated the last uses of the JNIEnv global variable. Unfortunately, this
means that we had to switch from using NSPR hash tables to a private version.
The new jsj_hash.c file is derived from plhash.c, but it provides for an additional
argument to be passed to the hash key comparison function.  This capability
is used to pass in the JNIEnv pointer.

On shutdown, LiveConnect now removes all references to Java objects and classes,
so that the JVM might be able to GC them.
1998-06-30 10:04:32 +00:00
norris 2a47d9d74f (Not part of Communicator build.)
fur's fix for repeating properties in enumeration bug.
1998-06-29 22:01:22 +00:00
norris 01de94ae24 (Not part of Communicator build.)
Handle NaNs better for non-PC platforms as well.
1998-06-29 22:00:11 +00:00
fur 3c7a558a65 Aggressively track and release JNI local references to constructed
Java objects, because otherwise at least one JVM is reticent about
GC'ing them.
1998-06-28 07:53:04 +00:00
fur b3ed642dea = Force result to zero when converting JS NaN to Java integral types.
= Aggressively track and release JNI local references to constructed
  Java objects, because otherwise at least one JVM is reticent about
  GC'ing them.
1998-06-28 07:52:23 +00:00
fur e10f8ee310 Added toString() method for JavaPackage objects. 1998-06-28 07:51:27 +00:00
fur 16ed24093e Property deletion should be silent for ECMA-conformant versions of JS. 1998-06-28 07:50:47 +00:00
fur 63088e0c39 Property deletion should be silent for ECMA-conformant versions of JS. 1998-06-28 07:39:58 +00:00
beard 676718eae4 Added code that guarantees MRJ will be shutdown when the program exits. 1998-06-27 18:24:26 +00:00
atotic 14470024a9 Remove NavigatorStubs dependency Added new targets (JavaScriptNoJSJ$D) to build JavaScript without JSJ dependency. 1998-06-26 23:37:04 +00:00
atotic 7b84cc7141 Implemented MyReadLocation inline to remove the NavigatorStubs dependency 1998-06-26 23:35:01 +00:00
fur 3c8f508577 Tweaked error messages and comments. 1998-06-26 06:46:15 +00:00
fur 8425419f94 Store overloaded methods in the same order as they arrive from the JVM, so
that overloaded method resolution works the same as before, although probably
only with the Sun JVM, because this order isn't specified anywhere.
1998-06-26 06:45:04 +00:00
fur 628c8791a7 When running in ECMA-compatibility mode, silently ignore attempts to delete
properties of JavaArray objects.
1998-06-26 05:44:02 +00:00
mccabe 2f4d5633c4 (Not part of the client build.)
Parenthesized assignment-in-conditional to quiet gcc compiler warning.
1998-06-25 18:36:53 +00:00
mccabe 10d07c269f Extend #ifdef SHELL_HACK from recent fix to 187538 (mistakenly 187537)
to avoid compiler warning on defined-but-unused 'Exec'.
1998-06-25 18:34:13 +00:00
norris 464cc2edf4 (Not part of Communicator build.)
Fix GC bug involving load().
1998-06-25 15:56:19 +00:00
spider 7b08c23fa4 NORMANDY_DDAY merge... 1998-06-25 05:50:45 +00:00
mccabe c4d65a486e Fix to 187537. The 'assign' hack was interacting with the 'shell
command' hack - the resolver defined by js.c would get called to look
up 'assign' - and on Irix systems, it would find the 'assign' command
in the current path, and decide to define a function called 'assign'
in the global object that would run the assign command.  Then when an
attempt was made to assign a property to the global object, the assign
command would get run, and unexpected behavior followed.
1998-06-25 02:07:13 +00:00
fur 988bea1d98 Conversion to a primitive now results in a string value, even with a
hint of JSTYPE_NUMBER.  This is a case that nobody cares about, but it's
used in a LiveConnect test case.

Added more registered Java packages for reduced server-roundtrips.  Also,
loosened restrictions on accessing unregistered packages under "java" and
some of the other packages, in case Sun or somebody adds a "java.fooBar"
package.
1998-06-24 05:47:46 +00:00
fur 35236c8aeb Allow closures when the JS version is JSVERSION_DEFAULT. 1998-06-24 05:37:44 +00:00
fur b68f47ddfe Fix bug in which leaving the JS version as JSVERSION_DEFAULT would return
all enumerated property names as strings, as was the case in JS1.1, instead
of the modern (>=JS1.2) behavior of allowing either string or integer property
names.
1998-06-24 05:36:46 +00:00
fur 735aabc1a1 Ignore generated files 1998-06-24 03:18:48 +00:00
fur 86f7a56ad9 Files moved to liveconnect/macbuild subdir 1998-06-24 03:09:57 +00:00
beard 78c1f66d2d Updated Mac build instructions. 1998-06-24 02:44:30 +00:00
beard 15366060ea Turned off LIVECONNECT for default case. 1998-06-24 02:25:36 +00:00
beard 1c6783c5ef Made JavaSession stuff conditional on LIVECONNECT. 1998-06-24 02:24:58 +00:00
beard 7aac32d9fa First Checked In. 1998-06-24 02:20:45 +00:00
beard da6fe2cab8 builds standalone JS shell, without LiveConnect. 1998-06-24 02:15:02 +00:00
norris d7e232a7cd (Not part of Communicator build)
Fix warning for unspecified prototype.
1998-06-23 23:28:36 +00:00
fur 9c6c9f3755 Allow NULL name argument for JS_NewFunction() 1998-06-23 22:40:24 +00:00
fur f79184c1a5 Print java error messages even when netscape.javascript classes
are not accessible.
1998-06-23 21:11:37 +00:00
norris 5e3ef1a221 (Not part of Communicator build)
Fix 111202 ECMA: division and modulo operator special cases (/ %)
Another instance of the MSVC NaN == 0 bug.
1998-06-23 20:53:12 +00:00
norris 44218fbcf5 (Not part of Communicator build.)
Fix array length updating for negative indices.
1998-06-23 18:20:59 +00:00
norris 49a4d96be6 (Not part of Communicator build)
Fix 105721 ECMA: assigning String.prototype.indexOf to the global object
1998-06-23 18:16:02 +00:00
fur d83ba92d16 Prevent crash when accessing numeric properties of a JavaPackage
object.  (Such properties should never exist, but we shouldn't crash.)
1998-06-23 08:15:40 +00:00
fur 1e963a652b Simplifications and aesthetic tweaks to changes required to build on the Mac.
Also, eliminated uses of tab characters.
1998-06-23 06:28:14 +00:00
fur b9a1b38251 Ignore generated files 1998-06-23 06:09:44 +00:00
mlm 76466f8bf4 - Merge with 4.06 sources: Add another byte to source numbering so that
scripts that start on lines >32K still work.
- Fix is from fur
1998-06-23 02:32:45 +00:00
beard 197aeac07c First Checked In. 1998-06-23 02:05:14 +00:00
beard e1314c7b91 Added prototype for strdup. 1998-06-23 02:04:48 +00:00
beard 33f9340983 #define LIVECONNECT 1 1998-06-23 02:04:22 +00:00
beard 93c008874e Added prosdep.h to get strdup prototype. 1998-06-23 02:03:59 +00:00
beard ca2e0a8a4c Added XP_MAC changes to export the JSObject native methods. 1998-06-23 02:03:10 +00:00
beard ad3d1c9924 Added XP_MAC changes for struct-based jlongs. 1998-06-23 02:01:53 +00:00
beard 64ea5912cb Added prosdep.h to get strdup prototype. Corrected JSJ_InitJSContext to match its prototype. 1998-06-23 01:59:26 +00:00
beard ca9b90e3e5 MacOS/MSL malloc also needs non-zero size. 1998-06-23 01:57:05 +00:00
beard 11a65a5e14 Added XP_MAC initialization function. 1998-06-23 01:55:31 +00:00
beard 948cc11ad6 Added Mac build instructions. 1998-06-23 01:54:20 +00:00
beard 334e791b4f First Checked In. 1998-06-23 01:48:49 +00:00
beard d96642568c First Checked In. 1998-06-23 01:31:44 +00:00
spider 8f94f24ac8 Normandy Merge .... 1998-06-22 21:21:28 +00:00
norris 74c9a3c83d (Not part of Communicator build.)
Fix crash occurring on most tests, nits from brendan code review.
1998-06-22 17:53:05 +00:00
fur 76eeef872f Minor updates to build instructions and file descriptions 1998-06-22 17:41:18 +00:00
fur e9e2825e28 [Not used for Mozilla builds]
These project files were just checked in temporarily and are replaced by the
LiveConnectShell project files located in the js/ref/liveconnect subdirectory.
1998-06-22 17:28:12 +00:00
fur 1c7ec1a23d [Doesn't build with mozilla]
Java files associated with new LiveConnect.
1998-06-22 17:23:57 +00:00
fur e151cac90e Added the getClass() method for backward-compatibility with old LiveConnect. 1998-06-21 06:51:27 +00:00
fur 62ffdc677a Removed all ifdef NO_JSOBJECTOPS code. This was older code that used the
"classic" JSAPI, rather than the new, faster JSObjectOps API.
1998-06-21 05:17:15 +00:00
fur e871f15495 [Not in the mozilla build]
This new vendor-neutral version of LiveConnect is designed to replace the older
one in the js/jsj directory, which only works with the Netscape JVM.  It is part
of the OJI initiative.
1998-06-20 17:46:42 +00:00
mccabe 6d8e801623 ECMA (sort of) fix to 156615, platform-dependent troubles on Solaris.
There was a check in our mini-nspr against asking the OS time services
what the DST offset was for time 0... but the check didn't do what the
comment said it did.  So we got the wrong DST offset for... (drum roll
please) the two seconds on either side of the eve of 1970 GMT.

I have a similar fix ready for prmjtime.c, but I'll wait until the
stability freeze settles down.
1998-06-20 01:21:01 +00:00
norris 6b8695f5b9 (Not part of Communicator build.)
Add implementation version API call.
1998-06-19 23:47:07 +00:00
norris 59050f89b1 (Not part of Communicator build.)
Fix 153640 monkey crash calling Math as function or constructor
Just added a null pointer check
1998-06-19 22:21:36 +00:00
norris 67a77a0190 (Not part of Communicator build.)
Fix 123724 hippo: problems declaring var in an eval statement
This ended up being more complex than I initially thought it would be.
See comments in jsparse.c.
1998-06-19 21:52:14 +00:00
mlm 7a703c3fe8 Merge Win16 "fixes" from Dogbert4xDevelopment_BRANCH
- Reorder identical code
 - Move scope of local variable
 - ifdef out stderr
1998-06-19 20:13:15 +00:00
norris b6b17eceb8 (Not part of Communicator build.)
Change C++ keyword "catch" (and Java keyword "finally" for good measure)
to other identifiers to help out embedders calling JS from C++.
1998-06-18 23:43:51 +00:00
norris ec70f09501 (Not part of Communicator build.)
More functionality for debug print functions.
1998-06-18 00:13:08 +00:00
norris bd8f152eb1 (Not part of Communicator build.)
This comment is for checkin of version 1.8: mistakenly gave wrong comment
for that version.
Fix 123724 hippo: problems declaring var in an eval statement
The problem was that Variable() in jsparse.c used the scope from calling
js_FindVariableScope to determine whether or not to convert the operator
to GETVAR, but LookupArgOrVar did not. This caused a mismatched set and
get in the code generated from the eval script due to the presence of the
var in the function frame.
1998-06-18 00:11:51 +00:00
norris 2871b10428 (Not part of Communicator build.)
More functionality for debug print functions.
1998-06-18 00:04:38 +00:00
brendan 3d1e7ac80b - Fix function in with statement to form a closure with the right scope chain
on activation (120172, mlm).
- Use #ifdef CHECK_RETURN_EXPR to hide CheckFinalReturn as well as its calls.
- 80th column tyranny, typedef symmetry, other cosmetics.
1998-06-17 19:37:53 +00:00
mccabe 80299f312d (Not part of the mozilla build)
Added a guard against casting infinity->int, towards porting to alpha linux.
1998-06-17 19:36:29 +00:00
norris 0f9a664fae (Not part of Communicator build.)
Fix warning messages for lack of function prototype.
1998-06-17 16:23:29 +00:00
norris 85bd0d4f26 (Not part of Communicator build)
Add ability for scripts to access their arguments.
1998-06-16 23:10:57 +00:00
norris a19e129aab (Not part of Communicator build.)
Fix 129824 monkey: evaling a function with many arguments fails
1998-06-16 18:36:57 +00:00
mccabe 76bafea085 Undid the ECMA fix that disallowed '08' and '09' numeric literals. According to the ECMA lexical grammar, these literals should be scanned as two consecutive NUMBER tokens ('0' and '9') - which is always a syntax error under the grammar. Unfortunately, the javascript engine has supported these literals (with mathematical values 8 and 9) in the past, and they're likely to crop up in date code... so we probably need to remove this fix. This leaves us a superset of ECMA - by accepting these literals, we accept scripts that are not valid ECMA scripts. 1998-06-13 01:10:30 +00:00
norris bdd7836760 (Not part of Communicator build.)
Tweak last fix not to depend on size of char.
1998-06-12 22:20:06 +00:00
norris adcde586f1 (Not part of Communicator build.)
Fix bug 123802 hippo / js1.2 some regular expression tests fail
1998-06-12 22:17:13 +00:00
norris 9b4001bc60 (Not part of Communicator build.)
Fix 111199 ECMA: don't enumerate parseInt.length
1998-06-12 17:22:04 +00:00
mccabe 0636694244 (Not part of the gromit/mozilla build.)
Added NPL notice.
1998-06-12 00:54:15 +00:00
norris b6ded7a99f (Not part of Communicator build.)
Fix 123552 Array length updating is incorrect
1998-06-12 00:10:52 +00:00
norris 3348b831c0 (Not build as part of Communicator)
Fix 123788 test crashes spidermonkey: simple null pointer check
1998-06-12 00:09:08 +00:00
waldemar 3395527f32 Fixed compiler warning 1998-06-11 20:27:22 +00:00
waldemar 66b374bb93 Fixed bugs 123565, 123874, 122877, 122882, 123560, and 77391, all having to do with various errors in reading integers and floating-point numbers and interpreting whitespace around them. Whitespace was being treated inconsistently in parseInt, parseFloat, and ToNumber; made all of these accept any Unicode whitespace in anticipation of the future ECMA v2. 1998-06-10 21:18:05 +00:00
waldemar 2dbbb855cc Changed js_strtod and js_strtointeger APIs to fix bugs 123565, 123874, 122877, 122882, 123560, and 77391. Added comments. 1998-06-10 21:14:41 +00:00
waldemar 8767d33caa Updated for changed js_strtod and js_strtointeger APIs needed to fix bugs 123565, 123874, 122877, 122882, 123560, and 77391. 1998-06-10 21:13:52 +00:00
waldemar aa307d7be3 Added js_SkipWhiteSpace. 1998-06-10 21:11:00 +00:00
fur a10aeda1e6 Propagation of numerous bug fixes from 4.06 (which have been reviewed
and tested in that release):

#114564: Fix JS_Enumerate to return an empty id array instead of null
#115395: Fix JS garbage collection
#115200: Security dialog no longer blows assertion
#123211: Make sure output of sort array function is -1, 0, or 1.
#116195: Fix ImportProperty(), cope with an existing local variable
         of the same name as the imported property
         Unbusticate JS_invoke() so that closures work again
#115384,#115395: Handle bugs in toSource that strike when
         getProperty is non-idempotent.  Fix crash during JavaScript
         garbage collection after enumerating object properties.

#??????: mjudge - Win16 files to make ptrdiff_t be 32 bits on Win16
1998-06-09 23:04:48 +00:00
shaver 4c77e03db6 added JS_YieldRequest to API (me), and removed assertion in InitClass (mlm) 1998-06-09 21:39:58 +00:00
shaver caa47a82ca added JS_YieldRequest to API 1998-06-09 21:24:14 +00:00
shaver 87560172d1 first arg to Script.prototype.exec is scopeobj, not second-with-ignored-first 1998-06-09 21:10:45 +00:00
fur f234cdf3c5 Replacement for stddef.h in the JS interpreter which defines ptrdiff_t to be 32 bits rather than 16 bits on Win16 only 1998-06-09 21:05:54 +00:00
shaver 55f321ec3a first arg to Script.prototype.exec is scopeobj, not second-with-ignored-first 1998-06-09 17:28:41 +00:00
norris 1728f11fa1 Fix 123552 Array length updating is incorrect
js> a = new Array()

js> a["3.00"] = "three"
three
js> a.length
4

Since "3.00" is not an array index as defined by ECMA, a.length should be 0.
1998-06-09 16:47:00 +00:00
norris 3349516d84 Fix bug 104191 "ECMA: multiple params w/ same name":
Decompiling "function f(a,b,a) { ... }" would only print two parameters.
1998-06-08 23:41:54 +00:00
mccabe 19091642bf ECMA fix to bug (93557). When excecuting the Function constructor,
treat all the 'arguments arguments' as if they were concatenated
together as a comma-separated list, and treat the list as if it were
the arguments list in a normal function declaration.  That is, allow
comments, arbitrary whitespace, etc.

Fixed by introducing a TokenStream instance in the Function contructor
code.
1998-06-08 19:04:17 +00:00
shaver 502cfb91ca added XDR-based compile-and-run examples 1998-06-08 16:16:10 +00:00
fur 0ae91f2cf1 Added jsstddef.h 1998-06-05 17:52:18 +00:00
mccabe 2902045215 Added a few (JSOp) casts to appease Macintosh compiler workings.
Enums are types!
1998-06-04 00:22:55 +00:00
sfraser 1af0fac3d3 Changes to project and prefix files for Mac commercial build 1998-06-03 23:01:03 +00:00
sfraser f63b044186 First Checked In. 1998-06-03 23:00:41 +00:00
sfraser ac426b6602 First Checked In. 1998-06-03 22:38:01 +00:00
mccabe ff3a76fcf6 Reinstated backed-out changes. 1998-06-03 06:08:21 +00:00
mccabe 9ffb355ee8 Hopefully removed the offending jsstddef.h for good. 1998-06-03 03:55:10 +00:00
sar 124900d570 backing out mccabes checkin 1998-06-03 02:30:46 +00:00
jgellman 3eed711ae4 merge from OJI branch 1998-06-03 00:37:20 +00:00
mccabe 0bd53d7a87 Removed reference to jsstddef.h - which got propagated over from
recent changes to js/ref.  We need to fix prconv.sed or check in
src/jsstddef.h!
1998-06-03 00:23:57 +00:00
scc 48c6bf24d4 First Checked In. 1998-06-02 23:54:58 +00:00
mccabe 71be32cc6b Cleanup of parseInt checkin, including comment changes. The code is
now a little more explit about when it expects js strings to be
null-terminated.
1998-06-02 23:21:08 +00:00
waldemar a0636b8dd9 Fixed bug 122884 1998-06-02 22:04:31 +00:00
waldemar 6dbcf272b1 Updated comment after new-expression bug fix 1998-06-02 22:03:04 +00:00
waldemar 1e7311af09 Fixed bugs 76103 and 122787: parsing of new-expressions 1998-06-02 01:54:31 +00:00
fur ff71ee8c9c JavaScript project file for MSVC5 1998-06-01 16:39:11 +00:00
fur 7bd0403a56 Temporary check-in of project files to build LiveConnect-enabled shell 1998-06-01 16:26:13 +00:00
fur e8261717d2 Merge several bug fixes from client 4.1 branch 1998-06-01 00:31:59 +00:00
sfraser 307100b604 Fix a warning about an uninitialized variable when JAVA is not defined. 1998-05-28 19:39:05 +00:00
sfraser 04e353ecaf Changes for new build system, and unified prefix files. 1998-05-28 19:22:54 +00:00
waldemar 1f58951cb4 Fixed bug 114508: delete can now delete fields of objects put into scope by with statements 1998-05-27 20:10:13 +00:00
shaver 25bd73d391 tracking ref fixes: XDR and jsnum 1998-05-27 14:24:39 +00:00
shaver 863160943a allow NULL Scripts for JS_NewScriptObject 1998-05-27 14:18:51 +00:00
mccabe 91d734edd7 Conditionalized a (jsint) cast to ask JSDOUBLE_IS_NaN first -
hopefully avoiding a SIGPFE on Alpha Linux.  (And others?)
1998-05-27 04:53:37 +00:00
waldemar 03446ab36e Fixed bug 117404: typeof should return "function" on scripts and regular expressions. 1998-05-26 22:11:00 +00:00
waldemar 3362a36d8d Fixed syntax errors 1998-05-26 21:25:41 +00:00
shaver 04a16316b0 actually define the function properties of a script when decoding 1998-05-26 13:25:26 +00:00
shaver f00f946ddc preserve sprop->id across XDR 1998-05-26 12:18:18 +00:00
sfraser 061bb4d1e2 First Checked In. 1998-05-23 01:14:17 +00:00
mccabe 6e79958e11 Fix to (83996), global parseInt function fails for numbers > 2^31.
It now passes all of the tests in 15.1.2.2-1 (except that parseInt
still has the .length property, which is a different bug) - so I'll
close the bug.

Still possibly at issue is whether we conform to ECMA language about
decimal numbers that are too large to fit in a double.  I treat
decimal digits after the 20th as zero, but there could be some
floating-point rounding wackiness going on.  In particular - are we
doing the right thing for numbers that are powers of 2, but larger
than 2^54, that are representable in a double?
1998-05-21 23:15:24 +00:00
matt 07ac2d4533 ifdef include on prosdep. If should not be dependent. Was breaking js/src builds 1998-05-21 22:41:18 +00:00
mccabe 8b5ed4b2ed Removed the escape and unescape functions, as they are now part of the
core engine.  (They've become part of the ECMA spec.)  Fix to (97681).
1998-05-20 03:25:41 +00:00
brendan b88487f16a Modernize README 1998-05-16 00:55:35 +00:00
mccabe 56ffce3bba ECMA fix to (117144).
Array.prototype.sort(comparefn) was casting the result of the compare
to an int, which lost when the compare function returned (ecma-valid)
strange double values.  These now get clamped to -1, 0, 1.
1998-05-13 23:29:52 +00:00
mccabe 41b281cfe2 Warning fix - added an (int16) cast to quiet a Windows warning. 1998-05-13 22:13:30 +00:00
mccabe 344e347f7a (Not part of the mozilla build process.)
Added support in the javascript shell for the #! unix script hack; if
the first line read by the shell (from a file, not interactive) starts
with #, the line is treated as a comment.

This should make
#!/usr/bin/js work...
1998-05-09 05:54:12 +00:00
mccabe 3081de25df Added #if defined ( SNI ) to a few existing #if tests, for compiling
on SINIX.
1998-05-01 07:06:12 +00:00
mccabe cc35c93a1f Another place where error reporting hadn't caught up to 16-bit
character strings; added a js_DeflateString call.  Thanks to gcc 2.8.1
for catching this - it complained about "char format, different type
arg (arg 4)" - which means that it looked in the (printf-style) format
string and checked type against it.  Wow.
1998-05-01 01:39:51 +00:00
mccabe 4d8ee8feb3 Restoring changes that were backed out because of a one-line error in
prmjtime.c.
1998-05-01 00:22:06 +00:00
hshaw fd0d6642de Back out changes which are breaking builds (at request of mccabe) 1998-04-30 08:18:42 +00:00
hshaw 69505fcd61 Back out changes which are breaking builds (at request of mccabe) 1998-04-30 08:10:05 +00:00
mccabe bb4220a9d1 Changed pr[mj]time.c to just return 0 for failure in FormatTime, and
changed jsdate.c to detect failure and default to using toString in
place of toLocaleString whenever FormatTime fails.
1998-04-30 03:51:26 +00:00
mccabe 552e6a855b Fixes for getting the timezone string fot toString, and for asking for
a localized string from the os for toLocaleString.  The time struct
used to interface to the os time-formatting functions only takes a
16-bit year, so we map to an equivalent year (for getting the timezone
string) or clamp for years outside that range.
1998-04-30 00:27:43 +00:00
mccabe 22a0d6201a Removed some unused constants. 1998-04-30 00:14:07 +00:00
mccabe ff2981c6f8 Removed some unused lines related to jsdate.c. 1998-04-30 00:11:31 +00:00
mccabe 5b41f43d8b ECMA-conformance fix to (95045) - added 'enum' and 'debugger' as
reserved words, and changed the versioning check that previously
applied to 'export' to accept any 'ecma' version... which means that
export becomes a keyword for the default version.  Does this mean
we'll need to unreserve all the java keywords?  Not sure we want to do
that...
1998-04-29 23:57:20 +00:00
mccabe e1312c52c9 Fixed error message associated with trying to use a keyword as an
identifier; it was only printing the first character of the
identifier, because it expected 8-bit chars, and was being called with
a 16-bit representation of the offending keyword.
1998-04-29 23:52:40 +00:00
mccabe ea62776503 Added some #ifdef JAVA guards to remove compile warnings.
Thanks go to rick@spacey.net (Rick Osborne) for finding these.
1998-04-29 02:39:43 +00:00
donm 368bad2ee2 removing Henrit's jsfile.c and jsfile.h to fix unix build bustage. 1998-04-28 18:00:54 +00:00
donm fe9991189f backing out Henrit's changes to fix build bustage. 1998-04-28 18:00:00 +00:00
sar e94dd2d5e6 jsfile doesn't compile on unix. Backing out the changes that henrit put it 1998-04-28 17:57:43 +00:00
sar 36574b8d79 reapply henrit's change since we can add it to unix as well. 1998-04-28 17:23:08 +00:00
donm 096b348c44 fixing unix build bustage. 1998-04-28 17:19:14 +00:00
sar f674c79b23 backing out henrit's changes 1998-04-28 17:02:22 +00:00
henrit 3122034b72 Adding a first version of the js File object. Developped and (slightly) tested on win32 only. 1998-04-28 11:36:17 +00:00
mccabe 79ca3a6a54 Added public license header. 1998-04-28 07:33:09 +00:00
mccabe dd1decc76f Propagated some #defines to work with irix 6.3 as well as 6.2.
(HAVE_ALIGNED_DOUBLES)
1998-04-28 06:35:55 +00:00
mccabe 0e431325f0 Corrected BUILD_OPT oversight where a = instead of a += override the
OPTIMIZER flag in the included config/*.mk file.
1998-04-28 06:06:09 +00:00
mccabe 526ad0cfde Added disambiguating braces to appease gcc 2.8.1 warning. 1998-04-28 01:22:19 +00:00
mccabe 0be70b4852 Fix to (115008). ECMA fix - revert to earlier behavior of decompiling
functions created with new Function as "function anonymous (...)".
Now only version 1.2 decompiles to the source for an anonymous
function.
1998-04-25 08:37:06 +00:00
mccabe 42be7f7de0 Pared down prmjtime.c and prmjtime to just what is needed by jsdate.c
and synchronized them with js/ref/prtime.[ch].
1998-04-25 07:42:22 +00:00
mccabe 0323249b9e Propagate a fix for #ifndef HAVE_LONG_LONG that found its way into src/prmjtime.c but not ref/prtime.c 1998-04-25 05:26:09 +00:00
mccabe ea33ecccbb Add some braces to quiet dangling-else warnings by gcc 2.8.1. 1998-04-25 05:24:42 +00:00
mccabe d0db7fbf8d Call JS_GC instead of js_GC within JS_MaybeGC. Thanks to
A. Hodgkinson <ahodgkin@acorn.co.uk> for finding this (and to chouck
for checking it in to js/ref/jsapi.c.)
1998-04-25 05:11:41 +00:00
jband c0bdf6358a removing code that is not supposed to be released to the public at this time. This code still lives (for now) under m/src/ns/js/ref/jsd/ on the branch JSFUN13_BRANCH 1998-04-24 22:59:00 +00:00
bjorn d73079e324 Protection around ASFILES added, so that gcc runs smoothly. 1998-04-24 19:02:01 +00:00
fur 62c17fc483 When JS_MaybeGC() has decided to do a garbage collection, really do
it, even when the only assignments have been to local JS variables.
Thanks to ahodgkin@acorn.co.uk for noticing.
1998-04-24 18:08:04 +00:00
fur 0ba91bad7e Eliminate non-ECMA warnings about lack of return value 1998-04-24 17:56:47 +00:00
fur fc914d6143 Fix numerous cut-and-paste errors in last checkin 1998-04-24 06:57:00 +00:00
fur e64dc00b0a Temporarily disable charSet info so we can compile 1998-04-24 06:26:57 +00:00
fur 6e3fd78464 (These files not built by any version of Navigator)
Initial check-in:
JSRef is migrating from /m/src JSFUN13_BRANCH to trunk /m/pub repository
1998-04-24 01:42:37 +00:00
fur d62f4f4df3 (This code is not built by any flavor of Navigator)
Initial check-in to mozilla tree: JSRef development is migrating from
JSFUN13_BRANCH of /m/src repository to /m/pub
1998-04-24 01:35:13 +00:00
fur a2cd7ccc22 JS1.3 initial check-in 1998-04-24 01:28:40 +00:00
fur 395d7ac2d1 Initial checkin of JavaScript 1.3, migrated from JSFUN13_BRANCH in /m/src repository 1998-04-24 00:31:11 +00:00
mccabe 58b80a70f0 Makefile hacking to make 'gmake js' work in ns/js/src. Abstracted a
few constants, added -ldl for Linux.  Tested on Irix 6.3, SunOs 5.6,
Linux 2.031.
1998-04-23 00:39:10 +00:00
briano f3b78d2995 Changed the 'MACLINUX' macro reference to 'MKLINUX'. 1998-04-14 00:00:42 +00:00
ltabb 781c480871 Free the lizard 1998-03-28 02:44:41 +00:00