260 Commits

Author SHA1 Message Date
norris
596a0147f0 (Not part of Communicator build.)
Fix 129824 monkey: evaling a function with many arguments fails


git-svn-id: svn://10.0.0.236/trunk@3903 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-16 18:36:57 +00:00
mccabe
75a2fd1cff 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.
git-svn-id: svn://10.0.0.236/trunk@3746 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-13 01:10:30 +00:00
norris
65e0df27c8 (Not part of Communicator build.)
Tweak last fix not to depend on size of char.


git-svn-id: svn://10.0.0.236/trunk@3734 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-12 22:20:06 +00:00
norris
f11fae67c4 (Not part of Communicator build.)
Fix bug 123802 hippo / js1.2 some regular expression tests fail


git-svn-id: svn://10.0.0.236/trunk@3733 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-12 22:17:13 +00:00
norris
bf64e5a774 (Not part of Communicator build.)
Fix 111199 ECMA: don't enumerate parseInt.length


git-svn-id: svn://10.0.0.236/trunk@3714 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-12 17:22:04 +00:00
mccabe
0cb471d35b (Not part of the gromit/mozilla build.)
Added NPL notice.


git-svn-id: svn://10.0.0.236/trunk@3694 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-12 00:54:15 +00:00
norris
6622fa3251 (Not part of Communicator build.)
Fix 123552 Array length updating is incorrect


git-svn-id: svn://10.0.0.236/trunk@3692 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-12 00:10:52 +00:00
norris
61a2bf2e56 (Not build as part of Communicator)
Fix 123788 test crashes spidermonkey: simple null pointer check


git-svn-id: svn://10.0.0.236/trunk@3691 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-12 00:09:08 +00:00
waldemar
7d191cd32e Fixed compiler warning
git-svn-id: svn://10.0.0.236/trunk@3665 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-11 20:27:22 +00:00
waldemar
af8de6ee7b 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.
git-svn-id: svn://10.0.0.236/trunk@3625 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-10 21:18:05 +00:00
waldemar
753acc4b7c Changed js_strtod and js_strtointeger APIs to fix bugs 123565, 123874, 122877, 122882, 123560, and 77391. Added comments.
git-svn-id: svn://10.0.0.236/trunk@3624 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-10 21:14:41 +00:00
waldemar
69a73252a5 Updated for changed js_strtod and js_strtointeger APIs needed to fix bugs 123565, 123874, 122877, 122882, 123560, and 77391.
git-svn-id: svn://10.0.0.236/trunk@3623 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-10 21:13:52 +00:00
waldemar
ff457f223c Added js_SkipWhiteSpace.
git-svn-id: svn://10.0.0.236/trunk@3622 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-10 21:11:00 +00:00
shaver
a4c7b3bca0 added JS_YieldRequest to API
git-svn-id: svn://10.0.0.236/trunk@3564 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-09 21:24:14 +00:00
shaver
ea99a264a9 first arg to Script.prototype.exec is scopeobj, not second-with-ignored-first
git-svn-id: svn://10.0.0.236/trunk@3541 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-09 17:28:41 +00:00
norris
b7d3aba53f 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.


git-svn-id: svn://10.0.0.236/trunk@3539 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-09 16:47:00 +00:00
norris
b44d1646cf Fix bug 104191 "ECMA: multiple params w/ same name":
Decompiling "function f(a,b,a) { ... }" would only print two parameters.


git-svn-id: svn://10.0.0.236/trunk@3519 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-08 23:41:54 +00:00
mccabe
afa5375ed6 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.


git-svn-id: svn://10.0.0.236/trunk@3500 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-08 19:04:17 +00:00
shaver
cc464c7409 added XDR-based compile-and-run examples
git-svn-id: svn://10.0.0.236/trunk@3489 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-08 16:16:10 +00:00
fur
14c7110ef5 Added jsstddef.h
git-svn-id: svn://10.0.0.236/trunk@3343 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-05 17:52:18 +00:00
mccabe
84e1fd30b8 Added a few (JSOp) casts to appease Macintosh compiler workings.
Enums are types!


git-svn-id: svn://10.0.0.236/trunk@3150 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-04 00:22:55 +00:00
mccabe
b0eb2c7a3d Reinstated backed-out changes.
git-svn-id: svn://10.0.0.236/trunk@3020 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-03 06:08:21 +00:00
sar
964270c59d backing out mccabes checkin
git-svn-id: svn://10.0.0.236/trunk@2997 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-03 02:30:46 +00:00
mccabe
d032f71431 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.


git-svn-id: svn://10.0.0.236/trunk@2964 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-02 23:21:08 +00:00
waldemar
c309352e95 Fixed bug 122884
git-svn-id: svn://10.0.0.236/trunk@2957 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-02 22:04:31 +00:00
waldemar
c72135749d Updated comment after new-expression bug fix
git-svn-id: svn://10.0.0.236/trunk@2955 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-02 22:03:04 +00:00
waldemar
24465967b0 Fixed bugs 76103 and 122787: parsing of new-expressions
git-svn-id: svn://10.0.0.236/trunk@2902 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-02 01:54:31 +00:00
fur
3f80334382 JavaScript project file for MSVC5
git-svn-id: svn://10.0.0.236/trunk@2810 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-01 16:39:11 +00:00
fur
73bfeaea67 Temporary check-in of project files to build LiveConnect-enabled shell
git-svn-id: svn://10.0.0.236/trunk@2808 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-01 16:26:13 +00:00
fur
76813139a0 Merge several bug fixes from client 4.1 branch
git-svn-id: svn://10.0.0.236/trunk@2791 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-01 00:31:59 +00:00
waldemar
3f6f86757c Fixed bug 114508: delete can now delete fields of objects put into scope by with statements
git-svn-id: svn://10.0.0.236/trunk@2381 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-27 20:10:13 +00:00
shaver
69c0f00221 allow NULL Scripts for JS_NewScriptObject
git-svn-id: svn://10.0.0.236/trunk@2348 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-27 14:18:51 +00:00
mccabe
1403ada266 Conditionalized a (jsint) cast to ask JSDOUBLE_IS_NaN first -
hopefully avoiding a SIGPFE on Alpha Linux.  (And others?)


git-svn-id: svn://10.0.0.236/trunk@2335 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-27 04:53:37 +00:00
waldemar
6f622be91c Fixed bug 117404: typeof should return "function" on scripts and regular expressions.
git-svn-id: svn://10.0.0.236/trunk@2295 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-26 22:11:00 +00:00
waldemar
66bf5ae377 Fixed syntax errors
git-svn-id: svn://10.0.0.236/trunk@2291 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-26 21:25:41 +00:00
shaver
ca7d9cbe28 actually define the function properties of a script when decoding
git-svn-id: svn://10.0.0.236/trunk@2262 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-26 13:25:26 +00:00
shaver
6b2c0b6ca0 preserve sprop->id across XDR
git-svn-id: svn://10.0.0.236/trunk@2261 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-26 12:18:18 +00:00
mccabe
d90f218a88 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?


git-svn-id: svn://10.0.0.236/trunk@2143 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-21 23:15:24 +00:00
mccabe
f491c91092 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).


git-svn-id: svn://10.0.0.236/trunk@2006 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-20 03:25:41 +00:00
mccabe
b8c778ab5e 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.


git-svn-id: svn://10.0.0.236/trunk@1570 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-13 23:29:52 +00:00
mccabe
a603cb7869 Warning fix - added an (int16) cast to quiet a Windows warning.
git-svn-id: svn://10.0.0.236/trunk@1555 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-13 22:13:30 +00:00
mccabe
afa28896ca (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...


git-svn-id: svn://10.0.0.236/trunk@1376 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-09 05:54:12 +00:00
mccabe
5332947894 Added #if defined ( SNI ) to a few existing #if tests, for compiling
on SINIX.


git-svn-id: svn://10.0.0.236/trunk@994 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-01 07:06:12 +00:00
mccabe
9b313afb01 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.


git-svn-id: svn://10.0.0.236/trunk@963 18797224-902f-48f8-a5cc-f745e15eee43
1998-05-01 01:39:51 +00:00
mccabe
4747d02fa9 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.


git-svn-id: svn://10.0.0.236/trunk@895 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-30 03:51:26 +00:00
mccabe
246b37fa96 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.


git-svn-id: svn://10.0.0.236/trunk@886 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-30 00:27:43 +00:00
mccabe
e6a6db8cd7 Removed some unused constants.
git-svn-id: svn://10.0.0.236/trunk@885 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-30 00:14:07 +00:00
mccabe
6a0e192f5f 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...


git-svn-id: svn://10.0.0.236/trunk@881 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-29 23:57:20 +00:00
mccabe
6c9a40d28d 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.


git-svn-id: svn://10.0.0.236/trunk@880 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-29 23:52:40 +00:00
mccabe
a9f37501c2 Propagated some #defines to work with irix 6.3 as well as 6.2.
(HAVE_ALIGNED_DOUBLES)


git-svn-id: svn://10.0.0.236/trunk@746 18797224-902f-48f8-a5cc-f745e15eee43
1998-04-28 06:35:55 +00:00