Skip to main content

Bug Tracker

Side navigation

#3129 closed bug (duplicate)

Opened July 03, 2008 11:08PM UTC

Closed August 12, 2008 07:41PM UTC

Array.prototype.call definition breaks jQuery 1.2.6 (OK in 1.2.3)

Reported by: geary Owned by: flesler
Priority: major Milestone: 1.3
Component: core Version: 1.2.6
Keywords: Cc: geary
Blocked by: Blocking:
Description

If a program defines an Array.prototype.call() method, the makeArray() function in jQuery 1.2.6 becomes confused and handles arrays incorrectly. This is because of the array.call test in makeArray().

script.aculo.us effects.js v1.7.1_beta3 defines such a method and breaks jQuery. effects.js v1.8.1 no longer defines this method, so the practical impact of this conflict may be small, except for people who are using the older version of effects.js.

This conflict is the cause of the problem reported in this thread:

http://groups.google.com/group/jquery-en/browse_thread/thread/5a83b3b23e38a6a7

The fix is not immediately obvious to me, but I posted a couple of simplified test cases for 1.2.3 and 1.2.6 here:

http://mg.to/jquery/apc126/test-123.html

http://mg.to/jquery/apc126/test-126.html

Attachments (0)
Change History (4)

Changed July 07, 2008 11:43PM UTC by flesler comment:1

owner: → flesler
status: newassigned

Changed July 23, 2008 04:24PM UTC by flesler comment:2

resolution: → wontfix
status: assignedclosed

You can fix this issue by just upgrading to Scriptaculous 1.8.x.

So I see no point on hacking our code for this.

Changed August 12, 2008 07:41PM UTC by flesler comment:3

resolution: wontfix
status: closedreopened

Changed August 12, 2008 07:41PM UTC by flesler comment:4

cc: → geary
resolution: → duplicate
status: reopenedclosed

This has been taken into account in the end. Fixed at [5825].