This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 132229

Summary: Must prefer foo-debug.js over foo.js when indexing
Product: javascript Reporter: Torbjorn Norbye <tor>
Component: EditorAssignee: Torbjorn Norbye <tor>
Status: RESOLVED FIXED    
Severity: blocker CC: martin_adamek, mschovanek, pjiricka
Priority: P1    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:

Description Torbjorn Norbye 2008-04-07 17:41:47 UTC
(This was reported by an external user during offline communication in verifying the fix for 130218).

Most JavaScript libraries ship with both "minimized" (optimized/stripped) and "debug" versions of their libraries.  When
indexing for code completion, we want to skip the minimized version, since for example all parameter names are squished
down to single-letter names like "A", "B" etc.  We also don't want to index both files since you then end up with
duplicate classes and functions in code completion.

For YUI, there are three pairs of files:   foo-min.js, foo-debug.js and foo.js.  foo-debug.js is almost the same as
foo.js except it has some additional logging - so my code would basically skip both "foo-min.js" and "foo-debug.js" and
prefer foo.js.

However, I was just made aware that the Ext library doesn't have a -min.js; they only ship

ext-all.js and ext-all-debug.js
(and ditto for ext-core.js, ext-core-debug.js etc).  In this scenario, "ext-all.js" is an optimized library. 

Thus, it's best for us to always prefer "*-debug.js" when it exists.

This was fixed in changeset http://hg.netbeans.org/main/rev/d5c6dcf1a2ca this weekend.
I have just added a bunch of unit tests to verify that the behavior is correct in the various scenarios:
http://hg.netbeans.org/main/diff/f4c936d2d768/javascript.editing/test/unit/src/org/netbeans/modules/javascript/editing/JsIndexerTest.java


Martin A, can you review this fix?
Martin S, do you agree with this integration?

To verify the fix, go to http://extjs.com/download and copy both ext-all-debug.js and ext-all.js to your project
directory, and after restarting the IDE confirm that code completion on Ext.| works.
Comment 1 martin_adamek 2008-04-07 19:03:53 UTC
Looks good.
Comment 2 Torbjorn Norbye 2008-04-08 00:08:57 UTC
This should be fixed in 6.1 as well now with changesets
482de2b04191, 75ef9f55a99d and d6388bb273e9.
Comment 3 pslechta 2008-05-15 11:24:29 UTC
The fix has been ported into the release61_fixes repository.

See Issue 135059 for more details.
Comment 4 Marian Mirilovic 2008-08-01 11:22:14 UTC
move back to consistent state RESOLVED/FIXED