[Pkg-javascript-commits] [node-nwmatcher] branch master created (now ba198ec)

Wolfgang Borgert debacle at moszumanska.debian.org
Sun Sep 21 01:12:37 UTC 2014


This is an automated email from the git hooks/post-receive script.

debacle pushed a change to branch master
in repository node-nwmatcher.

        at  ba198ec   bumped version to 1.3.3, updated release date and copyright years, updated tests and ender integration

This branch includes the following new commits:

       new  3d16410   first commit
       new  5ba75cc   start naming variables and trying to enhance readability
       new  ee611d7   fix obvious typos
       new  e4b29d8   fix obvious typos
       new  d4d45ad   Add SlickSpeed benchmarks
       new  6bfe7f0   Fix npseudos
       new  15999be   Replace vars with longer names
       new  06fdd80   more variable expansion and syntax cleaning
       new  eb113a6   Add Prototype's Selector unit tests to test NWMatcher
       new  2c0b6f4   Plugs NWMatcher in Prototype tests
       new  f133590   Fix stupid bug...
       new  e52edf3   Add test stylesheets
       new  6fe89b4   Fix few bugs in NWMatcher
       new  80d6bf3   Mark 'compile' helper as testing method
       new  11e2e1f   Fix getAttribute, :empty and :disabled, no cache in tests
       new  ab0ab3d   fix id
       new  6c9a5a5   modified attributes regexp to address more cases
       new  698fd6a   tentative fixes and typos, changed attribute regexp again
       new  efd3f0e   :empty detection adjusted
       new  5507ab6   changed indentation to spaces
       new  81b81f0   changed attributes regexp again, fixed disabled / checked and namespaced attributes
       new  c8b260b   added missing namespaced attributes to html node
       new  d1495ba   update and commented list of failing tests
       new  d1d4693   changed to xhtml doctype
       new  01086ad   adjusted :not selector and recursion, compile anonymous function, and attributes test
       new  606c383   changes to reflect passed tests
       new  68269d0   changed string concatenation, fixed more selectors in test unit, cleanup
       new  17ec774   made IE pass most of the test, disabled cache by default
       new  639f4ea   fix typo errors during variable names expansion
       new  59b3f83   removed debug builds and tests
       new  00c48fb   improved caching system on W3C browsers, disabled by default on IE
       new  fd533fd   signature versions updated after recent fixes and changes on caching system
       new  72eecaa   fixed bug in case sensitivity and more cleanups
       new  e801c2d   fixed bug where multiple/mixed nth selectors would have failed, pointed out by eleith
       new  1bc6495   more fixes for the nth indexing bug (eleith), tweaked comments and other fixes
       new  b1d41f0   caching disabled on IE by default, revised case sensitivity and URI attributes, cleanup and more comments
       new  7046203   cleanup of comments and changed some tabs, no functional changes
       new  b0200ba   update version strings to 1.0 for published release
       new  ecbbfb5   added DOMAttrModified to the Mutation Events, cache expires too on attribute changes
       new  50ca24b   changed version strings, added querySelectorAll for the select() method (only available on Safari > 3 currently)
       new  de9e6aa   camelProps converted to an object, shorter and faster way to match attribute names
       new  d25c167   more speed improvements, added native Selector API support, reorganized attributesMap and general cleanup
       new  91c953e   removed unused match variable, tweaked comment
       new  2949969   update version strings to 1.0.1 for releasing to original Google Code repository
       new  c7cbe43   fixed bug in class name check, missing spaces around match parameter
       new  bca2663   prototype selector test unit written by Andrew Dupont, adaptor for prototype written by Samuel Lebeau
       new  5ca7d62   update prototype to version 1.6.0.3 for testing with their selector unit
       new  5da119b   jquery selector test unit, converted to standalone for use in NWMatcher testing
       new  5cf615b   needed helpers and data files for jQuery selector test unit
       new  d41fe02   complete rewrite of the engine and the caching system, now uses Mutation Events correctly if available
       new  9bfae8d   an adapter/extension example on how to replicate the functionality of jQuery special selector in NWMatcher
       new  ff928e3   added a revised insensitivity map and related checks suggested by jdalton
       new  27f4712   bug fix, forgot to clear an array used recursively
       new  19e3bf3   previous clear array fix was applied at wrong line, moved down
       new  0be6e11   typo error that prevented DOMNodeRemoved events to flush the cache
       new  53e92e5   better detection for best children collection, fixes Safari 2.0.x having a different children implementation
       new  293ada3   removed elementsCount() method, dangerous as public method, code now compiled inline
       new  6197f34   removed expireResults() method, DOMAttrModified events will call expireCache() now
       new  7739931   removed getID() generation method, substituted by faster inline code
       new  806165d   removed unused feature testing methods and constants, fixed typo errors in comments, adjusted descriptions
       new  1d1e27a   removed duplicate :root and :empty cases, were moved to structural peudo-classes
       new  a77eb04   added a check for Safari 2.0.x in insensitivityMap treatment
       new  623e46a   reduced the caching system to get some additional performance
       new  3fd0546   fixed bug where document would go in a loop it should not enter, the children collection does not exist on document
       new  23cec63   in previous caching optimization I forgot to clear the local storage when doing nth child queries in browser not supporting Mutation Events (IE)
       new  4d2d2fb   reworked stripTags() method used as replacement of buggy innerText in Safari 2, corrected regular expression and function as for kangax suggestion
       new  78775e4   handle Opera bug with gEBCN on utf-8 class names, correctly use tested functionality (BUGGY_GEBCN)
       new  8027c04   adjusted regexp to catch more cases of serialization for built-in functions
       new  ba9ecd8   added extra spaces to attribute regexp to make matching less strict
       new  e7d9b3d   extra check on id attribute for conflicts with name attribute (IE)
       new  c149555   reverted previous fix, it didn't fix anything on IE
       new  3e5a03d   improved checks in selectors with ID, removed unused code
       new  5fb0d3a   improved byId() method by checking for conflicting names, now used in #foo selection/optimization
       new  bf06236   fixed and improved internal getAttribute() method, now uses getAttributeNode() most of the time to avoid nasty id/name/length conflicts in html source code (especially in forms)
       new  bcc3db2   reduced the number of replace() to handle special escaped chars in identifiers like ID, NAME, CLASS, now centralized in each related method (suggested by jdalton)
       new  cc5acc5   changed internal name to attributesURI, added extra attributes to the list, removed unused attributesXml regexp, cleaned up some syntax, removed not pertinent comment
       new  fff95df   reworking byId() method to catch edge cases overwriting of element properties like id/name
       new  ab11c86   cleaned up and shortened the slicing optimization block
       new  53ebad1   avoid using length property of HTML collections in byId() method
       new  53fc4aa   avoid lint errors and console warnings in firefox 'strict mode', add better fix for Safari bug with selectedIndex property
       new  a0124ed   readded internal NATIVE_GEBID and BUGGY_GEBID testings as backup, current tests maybe do not completely cover all aspects of XML documents and/or document created using native implementations
       new  21e092b   avoid warnings in firefox 'strict mode'
       new  e12acc5   commented currently unused Attributes map, now attribute name case mapping should be resolved by using getAttributeNode
       new  9d684f9   fix unicode range to include charachters 161 and higher (UNICODE 310/ISO 10646)
       new  1c8cbd4   changed nwmatcher version to 1.1.0 for release
       new  8648c03   improved :not() pseudo class to accept more complex selectors as parameters, fix to avoid ID optimizations inside :not() expressions
       new  dd5055e   fixed buggy expression missing escapes in :target pseudo class resolver (jddalton)
       new  fd733e2   increment version to 1.1.1beta, applied pending fixes to previous 1.1.0
       new  adf0fac   better feature test for functional slice() method (to exclude Opera 9.2x), this let us shorten/improve the toArray() method (jddalton)
       new  177ef2f   fix inconsistency for the :xxxxx-of-type() pseudo class where it could have failed in mixed lowercase uppercase tags (jddalton), changed strategy to avoid visiting non element nodes in nthElement() and nthOfType() methods
       new  b8c9326   reduce the number of access to nodeName and className properties (kangax, jddalton), optimize result set augmentation by adding few extra variable names to main loop
       new  c43f990   syncronize changes done to nwmatcher, optimized augmentation of the result set
       new  ce4c353   minor code changes to attributes and :target resolvers
       new  92bd993   reduce the number of function calls by calling native getElementsByTag() directly, comment nodes bugs are handled conditionally for IE in the main loop over the result set
       new  8713d90   added missing variables to the match() method, changed the :target resolver again to use the hash property, always define a working base document, cleaned up extra parenthesis and obsolete lines
       new  f158db4   nwmatcher: release 1.1.1 (bugfix)
       new  9af0827   changed all node names checks to use lower case uniformly, fixes HTML/XHTML/XML node names checking, removed ugly optimization on siblings in favor of cleaner/shorter code, adjusted comments/syntax
       new  fcbd827   revert part of previous change http://github.com/dperini/nwevents/commit/52fac32b0d7d2775339f0d1befa0aaa210e81a51 on nthElement() and nthOfType() methods, the previous variant was slightly faster
       new  38e13a3   fixed missing variable initialization (kangax)
       new  4009bcc   added back a better optimization for general siblings combinator removed in previous commits
       new  e63b83f   moved back to previous in-line code compilation, for 6 types of selectors (first|last|only)-(child|of-type), in place of more expensive function calls to NW.Dom methods
       new  da1598c   passing host object (document) and root element (documentElement) to compiled function can improve some selectors
       new  9e62426   fixed wrong loop termination in sibling combinator, due to optimization done in http://github.com/dperini/nwevents/commit/8777e3b3dae5ee330578e1e04f38e03267673fea
       new  c588a4b   fixed sibling loop optimization again, reversing the original strategy has been tricky for this, original loop using previousSibling left in and commented
       new  15a9f23   fixes for unicode range bugs in Safari 2.0.x using a negated hexadecimal range class instead of a unicode range class
       new  3b84373   uniformed the feature tests, cleanup used references to avoid leaks
       new  c4e1f61   fixed/improved testing in pseudo classes :active, :hover, :focus and in ui-states pseudos :enabled, :disable, :checked, :selected
       new  78f5897   improved performance on DOM fragments, reorder of prefiltering optimizations
       new  5fa9f0b   minor tweaking to internal native replacements byId, byClass and getAttribute
       new  ff8e3c0   added new bug detection for when querySelectorAll does not take in cosideration hidden input elements while querying the DOM for :enabled or :disabled pseudos (Safari 3/4)
       new  1d6d851   fixed prototype test unit for querying enabled/disabled control elements
       new  e09fece   expanded variable names to something meaningful in feature testing
       new  93deea4   solved browsers bugs in qsa api implementations, reworked bugs detection to account for selecting :link pseudos broken in latest Safari browsers, doesn't handle the mailto: protocol on hyperlinks
       new  b1feb97   fixed support for UI element states and dynamic pseudo-classes, should now be more compliant to specifications (:target, :active, :focus, :link, :visited)
       new  ef26a1d   fixed bug in match() method when using comma separated group of selectors (jdalton), changed compile() to accept a second 'mode' parameter, this specify compilation for match() or select() operations
       new  6f00b34   tweaked again qsa bugs detection, adjusted some comments, moved slice declaration at top for reuse and corrected :link pseudo check
       new  bf8aa72   corrected behavior for selector extensions, status of each external selector should be ORed and error check should be moved out of the loop
       new  bda53a7   minor comments tweaking
       new  0930be8   adjustment in bugs detection for querySelector API and IE8, reduced code, improved resolution through fall back client_api() (thanks to kangax for the HTML5 tip and to jdalton for tweaking/reduce the needed code)
       new  4e18a32   adjustments to CSS3/HTML5 specifications for :enabled/:disabled and :link/:visited pseudos, added small isLink() helper to reduce code size
       new  508810a   improved isLink() method to use hasAttribute() to comply with specs (tip from jdalton), unrolled comparisons are faster than equivalent regexp (tip from kangax)
       new  7c64f0e   reverted Prototype test unit for :link as is in the original, it is correct how it tests :enabled and :disabled pseudos
       new  47c4e6d   added an optional parameter in select() method that allows to pass in an initial array object, in this way libraries can pass their own Array or Array like object (kendsnyder, jdalton)
       new  e7a6fc0   changed the add-on to use the push() method, removed a compiler variable
       new  ceaa7fd   added traversal file, contain methods from Juriy Zaytsev fork, up/down/previous/next to match Prototype behavior
       new  0fbe346   improved byTags() method, removed unused variable and duplicate code, reduced two .toLowerCase() calls to an insensitive case .test()
       new  45d3e74   removed the '_' character from various RegExp, it is already included in the \w class (from comments by kangax)
       new  797dab2   minor bug in select_qsa(), forgot to pass the new 'data' parameter to client_api() fall back method (submitted by jdalton)
       new  a18f813   corrected and tweaked comments, reorganized/moved some code (non CSS3 standard selector moved as last), no functional changes
       new  0570207   added support for newer Element Traversal properties previousElementSibling/nextElementSibling to improve speed on browser supporting them like FF3.5 (suggestion by kangax)
       new  80139c9   improved isNative() to detect methods by matching browsers specific decompilation signatures
       new  0b222e8   updated table of attributes that must be handled in a case-insensitive way, tweaked comments that turns Safari into the correct implementor in quirks-mode (jdalton)
       new  4531a43   corrected testing for faster traversal properties 'nextElementSibling' and 'previousElementSibling' present in newer browser versions (kangax)
       new  d55d268   forgot changes to reverse testing code for case sensitivity bugs in quirks mode (jdalton)
       new  7936be6   corrected xhtml and html tables for case-insensititvity even for 'class' attribute exception in Quirks mode, added check for XHTML documents to assign correct table
       new  04e5a63   removed some blocks of comment lines related to attributes mapping between DOM and HTML namespace to avoid further confusion, moved HTML5 case-insensitivity comment near it's related table
       new  3b1005e   removed unused getChildren() method, leaving that in as public method was a bad idea leading to confusion as for the naming and meaning [GarretS]
       new  c994485   stealing decompiled signature from a more related method, preparing to be forced to accept Opera 10 unconscious way to freely do that differently for different methods even in the same browser context
       new  7137e5f   added more feature test for a recent Opera bug in QSA with the :checked pseudo-class, modular bug adding for QSA showing it's strength here: no speed penalties and no errors
       new  9219913   removed XHTML self closing tags on input fields since as for current specs are forbidden [jdalton]
       new  0c959a8   use a more explicit syntax to steal the 'window.open' decompiled signature
       new  263632e   remove dangerous comments between 'else's and 'if's statements, they will confuse the packer while minifying sources
       new  25e85aa   fixed syntax errors, variables redeclarations, ambiguosity and missing function return values, should always run jslint and not blindly trust :-)
       new  ac506c4   replaced some UTF-8 chars in the code after being hitten by minifiers, a great improvement to keep the charset range 0-127
       new  564c43b   corrected another error in the check for the correct property name [pdanpdan]
       new  fb096a8   fixed a typo error, some missing chars in the validator expression and an overwritten arguments
       new  ee51b48   cleaned up syntax/indentation and jslint warnings
       new  0c67ebc   Safari 2 support fixes, missing compatMode property and fails to return named functions
       new  6db90fb   marked as version 1.2.0, removed an extra comment line
       new  a5de218   moved Safari 2 stripTags() near other fixes for the same browser, methods only used internally not exposed as public, added missing comments to the compatMode fix too (I like comments)
       new  7236e66   removed all instances of the 'this' keyword, removed the need to use the call() method to adjust context, should make things easier for implementors
       new  717d6ac   changed a variable name to camel case for consistency in class resolver (kangax), corrected duplicated comments and some wrongly described return values
       new  8e3d6bf   replaced mistyped char in the tagName regular expression
       new  c2483c6   fixed a doctype handling/misbehavior in Safari 3.1, if not set/present or if set to the new HTML5 format document.doctype.systemId will be null (jdalton)
       new  9a357f2   tweaked the regular expressions for ID, TAG, CLASS and grouping, they are now longer but slightly faster, they will be needed for the upcoming changes to the select() iterator
       new  8cb4f8f   better cleanups in the feature testing sections, shortened code and maybe avoid some mem leak on IE, changed a couple of comments and removed unused ascii charset references
       new  3883dd4   further modifications to the regular expressions and their grouping, optimized the operators and pseudo matching code to better extract parameters and avoid code for repetitive replaces of parenthesis and apices
       new  add0ab3   reviewed id, tag and class conditionals, choosed the most spec compliant matching, leaved out some speed improvement in favor of less variables declared in the scope of each selection, removed commented alternatives
       new  538bbc8   improve descendants and children macthers by exiting the loop before stepping up to passed context and as soon as one match is found
       new  8c41b4e   added a new check to avoid caching disconnected nodes and fragments (Mutation Events will not work on those nodes), new isDisconnected() internal method added to resolve this, added a 'from' parameter also to the matcher, it may be useful for future extensions
       new  8960d45   added a bit of native elements api for child pseudos just to start with it, could be improved for newer browsers in a later review
       new  9bea153   moved docType variable atop the file, removed dangerous '*' fallback in byTag() method to avoid returning inverted selections, cleaned up variable names in byClass reusing the same names for consistency and better file compression
       new  1aacf42   context handling moved out of conditional block to ensure context is always correctly set, changed to [ ] notation in place of new Array()
       new  5d912af   reverted to use array augmentation through the length property in compiled functions
       new  f721988   changed Snapshot object into constructor and made methods reference members of the Snapshot prototype (jdalton, webreflection)
       new  7c17d42   new timestamp, removing unused methods they are now embedded in the compiled functions, faster and less code
       new  96e0839   adding new concatList() and concatCall() methods that will replace toArray() for fast nodeList conversion and concatenation (jdalton)
       new  f8506fb   make the caching mechanism temporarily pause itself if it detect an abusive caching pattern (jdalton)
       new  41b710d   fixed bug with IE where the engine was checking elements against the document using .contains()
       new  831f63b   adjustments to the latest caching patch, define private var 'snap' after the Snapshot prototype is defined and create the 'isCacheable' variable for easy access inside 'client_api (jdalton)'
       new  9831952   reverting to older method for id matching in bad html, this is needed to pass Prototype selector unit test
       new  3984688   remove an optimization that seems to break recursion with multiple combined operators
       new  85af3f5   removed unused code to optimize size and speed, residuals of testing IE caching alternatives (fearphage)
       new  4375f50   added an extra fallback method to isDisconnected() for browsers missing both .compareDocumentPosition() and .contains() in case one exists (jdalton)
       new  977e9d8   added 'documentOrder()' and 'unique()' methods preparing to handle coming iterations method
       new  b4c0c34   change QSA branch to use new concatList() and concatCall() methods to handle the new callback parameter, removed some duplicate validations and checks
       new  f1116f5   reworked and renamed 'documentOrder' method to 'sortByContextOrder()' (jdalton, kangax)
       new  d15386e   fixed bug in non yet used unique() method: data was not returned, use client_api when passed a context, make more extraneous API private to avoid confusing developers with cluttered API
       new  d76f790   indentation and white spaces adjustments
       new  261afdd   fixed incorrect slice() testing in IE, added Safari 3.2 gEBCN bug testing, simplified mutation events checking, changed isBuggy for isSupported where more meaningful (jdalton)
       new  d4c635b   added more needed regular expressions, added more new Element API optimizations, improved select_qsa to now fallback to faster client_api engine with simple selectors (jdalton), avoid quirky ways of getting undefined variables
       new  0c60263   added callback capabilities, element being added to the result set will be passed to the provided function as parameter
       new  d150660   fixed Safari 3.2 feature test for bug with cached class names, reverted to a previous faster version of the sibling selector optimized for browsers having new Elements API (jdalton)
       new  228487d   improved the catching ability of the simpleSelector regular expression (kangax)
       new  0c0bd75   changed the external jquery extension to synchronize with changes in compiled functions in nwmatcher.js
       new  80940ab   invoke provided callbacks also when returning cached results, use a faster resolver for simple selectors in client_api
       new  af9eadb   avoid creating dynamic regular expressions in while loop, unrolled into an or conditional to check both lowercase/uppercase with the latter having precedence
       new  8abe85b   regular expressions now to use new character class to match specs whitespace definition, reverted to previous method of normalizing class names and matching using indexOf(), stronger check for className property to detect if it is an usable string (jdalton, kangax)
       new  f52e6a4   added native trim if available and a better fallback, tweaked regular expressions and removed space in className test, renamed a var 'node' to 'element' for better code compression (jdalton)
       new  be76caf   improved table lookup access time for Structural and other pseudo classes (jdalton)
       new  3376b81   forgot the 'break' statements in the switch, changed variable 'node' to 'element' for consistency/compression, use a lookup table in the isLink() method in place of three conditionals
       new  c2945ef   rewritten part of the id, tag, class optimimzation block, temporarily removed MULTI TAG optimization, will probably reintroduce it later, removed the byTags() function used to apply this optimization
       new  78e0386   split apart the check for disconnected nodes, fixed changes of var 'node' to 'element', avoid one var in isDisconnected() method and removed unneeded double parenthesis
       new  4707973   rewritten the byClass() method optimization to also respect case insensitivity (jdalton)
       new  871f585   moved more regular expressions atop the file as static, added missing isClassNameLowered definition, corrected manual collection of elements, moved the compilation of the ad-hoc functions inside the loop to not build them when not necessary (jdalton)
       new  63fbfde   short-circuited some duplicated code in ID optimizationi and removed a unnecessary nodeList conversion, added missing className variable, removed unneded parenthesis (jdalton)
       new  79c4ca4   moved trim declaration atop the file and added a feature testing, removed an unnecessary [ ] and tweaked some comments
       new  9a79489   indentation changes
       new  72484cb   moved the Selectors object down near the companion Operators object (jdalton)
       new  ba4d36f   speed up id matching in compiled functions, shortened code in compileGroup(), added reTrim used to remove leading/trailing spaces from passed selector strings
       new  84a2365   speed up optional pseudo extensions by using native DOM methods instead of calling out replacements methods
       new  577199a   replaced variable names to more meaningful ones, formatting changes to improve readability
       new  aa0b47c   added newest jQuery unit tests and external support file
       new  adbcec2   added newest jQuery unit tests and external support file
       new  d343c86   removed unused IS_EMPTY() and toArray() methods
       new  9b82dbd   Merge branch 'master' of github.com:dperini/nwmatcher
       new  6f20039   added LICENSE file
       new  c9f5d5d   shortened compileGroup() code, improved 'id' resolution in compiled functions maintaining safeguards against IE bugs in getAttribute()
       new  8a12625   renamed storage for passed in contexts from Roots to proper Contexts
       new  6bdd332   cleared probably dirty 'expr' variable in user extensions code (jdalton)
       new  370d91d   set DOM results caching to false by default to give the developer the option of enabling it at their own discretion via NW.Dom.setCache(true) (jdalton)
       new  2a8c80f   correction for simple 'id' selectors, avoid returning 'null' value in the results when the element is not found
       new  89573f8   fixed bug in Opera 9.25 related with similar IE bug with id/name resolution (jdalton)
       new  f2cbc6a   better detection for comma group selectors, saved result in new var 'isSingle', moved down code only needed for single selectors
       new  02be602   improved optimization step before invocation of the resolver, added helpers method getChildren() and getNextSibling()
       new  04cfac8   improved code size and speed of byClass() method and enabled its use for browsers missing native gEBCN
       new  62ba621   improved code size and speed in the resolvers for positional selectors (nth/of-type), do not add expandos on IE browsers to avoid leaks and page reflow (Dean Edwards)
       new  5f20d47   avoid creating a global 'j' variable, the declaration was incorrectly mangled (jdalton)
       new  de30636   added exclusion patterns to BUGGY_QSA since these are not handled, these pseudos and the '!=' attribute operator will be resolved through client_api, some warnings in the js console will also be avoided
       new  5a5bced   reduced code size and improved first/last/only/of-type pseudos resolution, added better/faster code for NATIVE_TRAVERSAL_API on browsers supporting it
       new  7ec924e   avoid repeating tokenization of the selector string if it has not changed (jdalton)
       new  5e1e63d   reordering of code and formatting changes only, renamed some var names to uppercase, removed CHILD_NODES definition, removed unique() and sortByContextOrder() not currenlty used (jdalton)
       new  ca18a56   renamed some RE moved atop the file and removed unused ones, avoid creating extra variable 'disconnected', changed nth resolver to use a shorter path to indexes now renamed indexesByNodeType and indexesByNodeName
       new  fd3bf5a   avoid repeating node list conversions or passing array to concatList() if not necessary, improved last optimization pass to catch and reduce more cases
       new  96d5430   changed to preincrement in loops wherever possible, removed unused code/vars, ajusted argument name 'fn' to callback
       new  286857d   added callback invocation when only one element is found since we exit early without calling the compiled function (jdalton)
       new  f3ead8f   added fix to NATIVE_MUTATION_EVENTS feature detection to account for bogus implementations (jdalton)
       new  73275b0   added feature testing for lowercase tag names support, tweaked 'id' and 'tag' resolvers for performances
       new  060350f   added case-insensitive match resolver for className in quirks mode (jdalton)
       new  178a407   added a new parameter to resolvers so they accept the 'data' parameter, adjustments to the compiler to reduce unused local variables and changed the iteration to a while loop, shortened code size for returning the reulst set and used 'data' parameter to do concatenation in the lambdas themselves
       new  868b9f6   made byClass() method always return array for consistency, 'elements' now defined as empty array
       new  948bb5e   tweaked descendant operators, added a byClass() call to catch more cases in the ending optimization block
       new  1887ff8   temporarily removed the caching system, will be implemented later as an external add-on
       new  897150a   added rewrite of the caching system as an add-on, this is most of what has been removed from the main engine file in the previous commit, doesn't work yet.
       new  bc67a7b   added a separate native_api resolver for simple selectors id/tag/class used by both engine forks
       new  fe285ed   added 'data' and 'callback' parameters also to the match() method, fixed not passing correct arguments to lambdas (jdalton)
       new  ea780a6   changed/moved the definition of the simple selector regular expression, it is now featured tested for speed performances
       new  cb3b117   opted for a slower but much safer solution in simlpe ID selector resolver (jdalton)
       new  715b3a2   small adjustments to feature testings, uniformed used names, nullify testee divs and forced to return booleans
       new  f9d2e76   ensures the .style property exists before accessing it in Safari 2 (jdalton)
       new  e7c48cc   changed names of some regular expressions in feature testing (jdalton)
       new  70bc317   made optimization on tag name safer, removed unneded '*' from Optimize.(id|tag|class) regular expressions and adjusted optimization blocks accordingly (jdalton)
       new  bac53a2   reverted sibling resolver to older but safer and shorter code
       new  dee0a44   fixed 'of-type' queries for when no context is specified
       new  12ea13e   added 'context' fall back to byClass, avoid double conversions to array
       new  53d43e3   reworked native_api for simple selectors, reduced code size
       new  79b72d1   rewritten client_api method to avoid unneeded extra optimizations that are handled better by the dynamic selector compiler
       new  6e80f5c   shortened code in byId method and minor formatting changes
       new  0546c43   fix simple selectors 'id' resolver to correctly match passed context with disconnected nodes
       new  aed374e   tweaked select_api for performance, short-circuit query to client_api if lambda already compiled (jdalton)
       new  fce366d   added missing 'context' fall back to IE fork of byClass since it is exposed as public method
       new  62bacf8   added '*' processing to simple selectors for non-IE browsers
       new  e011eae   added '*' processing to simple selectors for non-IE browsers
       new  3c1244f   removed forgotten code block in select_qsa from last cleanup
       new  e3ccee3   Merge branch 'master' of github.com:dperini/nwmatcher
       new  21cc888   removed currently unused methods: getChildren, getElements, getNextSibling
       new  5c51ceb   fixed GEBCN feature test to use a string instead of a regular expression, formatting changes
       new  3b1d564   allow browsers missing native GEBCN to take advantages of the forked byClass() mehod, for IE and older browsers
       new  a8fb929   fixed wrong feature testing for :enabled/:disabled pseudos
       new  02cb2cc   reverted last commit to adhere to latest spec drafts even if not all QSA implementations agree yet
       new  1dfb9c9   removed function name from declaration of 'client_api' method since it is not supported cross-browser, removed formatting spaces in other functions for consistency
       new  cdebbfe   revert back a check in child/descendant resolvers to avoid stepping up to document node
       new  d251ba7   added setQSA() method as a debug helper to enable/disable the use of native QSA (jdalton)
       new  27a6967   avoid extracting parenthesis around pseudos parameters and having to remove them later
       new  3038621   corrected and readded complete of-type resolvers, check nodeName instead of nodeType to ensure filtering out non element nodes
       new  065ab73   avoid checking for strict true/false booleans on control elements, they are actually strings if set in the source HTML as attribute values
       new  7243bc7   remove duplicated checks using the 'in' operator on control elements, test 'hasFocus()' method is available before using it
       new  ee39861   use an alternate method to find the index/position of the last match to avoid using non standard RegExp.leftContext (jdalton)
       new  f4c06d9   changed variable name from NATIVE_TAG_MATCH to TO_UPPER_CASE for clarity (jdalton)
       new  c5ca73a   completely rewritten structural pseudo class resolver in the compiler to better match QSA behavior and results
       new  dd9cd89   globally changed/tweaked previous checks for element nodes, avoid using a slower '.test()', it now uses charCodeAt(0) to verify that 'nodeName' first character is at least A-Za-z, in IE browsers this filters both comment nodes and fake closed tag elements as in '/video', '/canvas' etc. (jdalton)
       new  555a758   added a feature test for native '.hasFocus()' support, used 'isNative()' since IE6/7/8 have different function representations (jdalton)
       new  2b4d45b   reworked all feature tests to not use '.innerHTML', removed duplicate 'context' variable and used 'base' as replacement
       new  800283b   moved down the indexes resetting just before calling lambdas and only if necessary, removed 'data' assignment in favor of inline conditional return where needed
       new  b27f6c3   change to avoid resetting current element in the first iteration of 'compileGroup()', reordered lambdas var declaration, tweaked some comments
       new  a3e45d0   made reSplitToken and reSplitGroup shorter and added escaped character to the latter, tweaked byClass() to check for className being a string
       new  589685b   forced check for ':enabled' and ':disabled' pseudo resolvers to be case insensitive (jdalton)
       new  7bd22f9   remove unneeded node type checks on child and descendant combinators
       new  41a8713   added an optimization for [name=...] attribute resolver
       new  5d6b7f9   reverted to previous reSplitGroup and reSplitToken regular expressions, leaved in previously missing escaped character
       new  c8988ad   added an extra check to verify className is not null and contains a valid string
       new  5bc8060   missed a '+' character in reEdgeSpaces, renamed to reWhiteSpace to match what it represents
       new  b7e3064   removed extraneous characters that were added in a previous commit, removed unneded '|| [ ]'
       new  541c289   reverted to using 'in' operator in the resolvers for ':enabled' and ':disabled' dynamic pseudo classes on control elements
       new  37d55c9   correct a typo error in 'byClass()' and retrieve 'className' using 'getAttribute()' to ensure coverage on more host objects
       new  0339c30   changed compiler 'macro' name from SKIP_COMMENTS to SKIP_NON_ELEMENTS to match more precisely what the process in it does (jdalton)
       new  cba4084   changed the name of 'base' to 'doc' to avoid confusion, 'doc' variable is updated for each selection so the in-line tests all references the ownerDocument of the scrutinized elements (kangax)
       new  b614750   check for missing left/right context in the query and add it using defaults, added more precise validation cases to reValidator (jdalton)
       new  6418c30   improved 'byId' method changed var names for consistency, added fall back loop if GEBID method is missing on the host (jdalton)
       new  bf3005c   fixed older jQuery test to use the proprietary pseudo extensions ':first' (jdalton)
       new  bb9a765   changed name of 'isClassNameLowered' to 'isQuirks' which reflect the test we perform, added helper variable 'isXML' to aid in picking up correct methods for different hosts
       new  fc6ef4b   added detection for different host objects and choice of methods in className resolvers (jdalton)
       new  0b9bef4   moved persistent parsing declarations atop and initialized 'doc' to current loading context, removed some empty lines
       new  310d51d   made the 'isXML' declaration to be refreshed for each selection operation
       new  f202f69   removed strict check for (even/odd) in the 'spseudos' RE and changed a closing parenthesis to hex notation to avoid breaking correct highlightning '()' pairs in text editors
       new  9923f24   optimized a bit the extraction of 'lastSlice' avoiding repeated access to matched results
       new  aaa2b8f   shortened and improved the id, tag and class optimizations blocks
       new  5408070   cleanup jQuery adapters, improve syntax and avoid globals (jdalton)
       new  fe18488   added a check for XML hosts to 'select_qsa' fork, avoids using buggy QSA for non HTML/XHTML hosts
       new  356b7ef   removed 'name' optimization since it opens up a can of worms, compiler handles those bugs perfectly for now
       new  90a3cdc   improved IE id/name conflict detection to cover more cases where GEBID is not usable, without using 'innerHTML' it is hard or impossible to set 'name' and 'type' attributes on controls in IE and expect meaningful results; even if this is just an inference for IE it seems to cover similar bugs also on Opera
       new  ea7005c   made previous patch test for 'getElementsByName' method before using it in-line, this handles host objects missing 'getElementsByName' which is necessary for the GEBID feature test, shortened declaration for the isQuirks flag (kangax)
       new  72c883c   changed using 'uniqueID' instead of 'sourceIndex' in IE as an element indexing source (jdalton)
       new  d56c115   toggled setting for the 'class' attribute in Quirks mode, tweaked attributes resolver to do better case-insensitivity matches in those enviroments
       new  d21abfa   added a feature test for Safari 3.2 (and <= 4.0.2) for a QSA bug with class name case-insensitivity in Quirks Mode (jdalton)
       new  1034211   toggled order of tests to ensure the bug is met (jdalton)
       new  c214e87   merged 'isQuirks' / 'compatMode' and removed the latter since both are based on the same detection informations, moved and reordered blocks in feature testing removed commented code, applied adjustment needed to pass jslint
       new  e89920d   replaced 'slice()' test for conversion to array support (kangax CFT)
       new  001663f   added a BUGGY_DOM_LENGTH for bugs when an element with 'id=length' is present in the document, not necessarily in a control element for some browsers, not used currently because we already avoid using the '.length' property of DOM objects like HTMLCollections or NodeList
       new  9f8b60f   removed dangerous typo error, replaced semicolon for colon (jlint)
       new  8e13004   improved RE_SIMPLE_SELECTOR regular expression by reusing 'encoding' string (jdalton)
       new  8282c88   uniformed all remaining loops to use 'element' and 'elements' variables for better compression, added missing comments to conactList and concatCall, bumped datestamp
       new  edbb1d7   reverted to previous insensitive double check on 'nodeName' necessary to cover mixed HTML/XML fragments on the same document, the TO_UPPER_CASE macro is not safe here at the moment since it relies on browser caps instead of document type and namespace (jresig)
       new  e6240ce   fixed Safari 2 detection of Strict/Quirks mode after merging of 'isQuirks' and 'compatMode' (kangax)
       new  1b06535   reformatted the long feature test checking the QSA implementation in various browsers
       new  123c748   moved 'compile' and 'setQSA' methods as internals in debugging utilities, avoid the 'this' keyword to make integration easier, removed non necessary 'toString' conversion of compiled functions, tweaked/added comments
       new  cdbaf33   added regular expression to aid in guessing document type, added missing comment
       new  cdf3781   changed jQuery & Prototype selector unit tests to avoid using non standard '!=' attribute operator
       new  d4e6694   refactored attribute resolver to avoid some unneeded replaces and other operations in case of 'hasAttribute', removed the non standard '!=' negation operator, the CSS standard negated pseudo-class (:not) should be used instead
       new  a7c3cb1   minor corrections to the last commit for the attribute resolver
       new  b1cd8e6   tweaked id optimizations, removed duplicate LTR id optimization, removed commented code
       new  0cc341a   corrected detection of a buggy state in the DOM, maybe due to an element having id='length', transformed into a callable and left in the BUGGY section while looking for a better method name, not currently used
       new  b94ea05   converted static isXML detection to a method (accepts elements/documents), tweaked byClass duplicating the loop to maintain the speed and to avoid a check for each node, changed var names to use element/elements in the loop for consistency
       new  bdcae84   added an alternate method to guess the type of document by parsing prolog/doctype nodes, maybe useful on IE/Opera and/or when needed info are not available, Firefox has 'document.contentType' property to check which type of HTTP headers were sent too but is the only browser having it
       new  57276d4   reverted to fixed declaration of empty 'data' array if not passed to reduce the number of times it is done in the code
       new  beb6069   added an extra check on 'length' property for className values found in 'byClass', tweaked comments
       new  a61b453   improved document detection for class resolution in browsers not supporting document related XML properties
       new  1d7cc51   prepended extra check for element having a 'type' property in enabled/disabled pseudos since it is faster, corrected jlint warnings and tweaked a comment
       new  798787e   added document type detection in TAG resolver for sensitive nodeName match in XML documents
       new  0deae4e   improved detection of correct insensitivity table to use, catches more cases for the parsed document type like HTML5, should probably be transformed in a method too
       new  3caae6c   added doctype detection to the ID resolver since properties may not be accessible on some host, use 'getAttribute' on those hosts
       new  9862353   changed variable name from 'element' to 'node' in get/hasAttribute to be consistent with what it contains, removed unneeded 'toLowerCase()' since get/hasAttribute are case-insensitive on attribute names (jdalton)
       new  0889a9e   added resolver for the CSS3 'lang' pseudo-class, tweaked 'active', 'hover' to avoid XML documents, tweaked 'target' to check 'location' before using it and be more precise on the check for the 'href' property, removed unneeded cast to boolean in 'visited'
       new  bafeb51   forked version 1.3.0, will remove unused code in master to freeze 1.2.0 for release
       new  41e2aac   removed currently unused code 'BUGGY_GEBID', 'BUGGY_DOM_LENGTH', 'isDisconnected', 'getDocumentType' and a related regular expression, they will be reintroduced in upcoming versions if necessary
       new  b33a7af   removed a couple of optimizations on compiled functions that are not strictly necessary for now
       new  c185e3d   fixed 'lang' resolver to take in account any parent having the 'lang' attribute set (jdalton)
       new  143f6dd   no need to exclude QSA for XML documents, seems to work well enough for most use cases
       new  d4bfd97   improved granularity of RE_SIMPLE_SELECTOR (jdalton)
       new  1225db8   fixed a couple of jslint warnings
       new  949e341   retouched byClass again to avoid having duplicate code and still maintain the speed, renamed variable again for consistency with other methods, removed a space
       new  5a03aba   made setQSA work again from user space by short-circuiting 'select_qsa', changed 'select_qsa' to use NodeList methods and 'push()' to get element references which is normally faster in newer browsers having QSA, minor shortening in the 'one' element case
       new  623e17e   reordered pseudos exclusion in RE_BUGGY_QSAPI regexp, moved ':selected' and ':contains' at the end, removed match for negated attribute values '!=' for consistency with 'client_api' since it is not standard and alternatives exists
       new  dbfe504   slightly moved blocks of code to avoid checking several times the 'done' flag, 'done' signals that the selection has ended but result conversion may still be needed
       new  1eaa59e   reinserted optimization for IE on 'nodeName' resolver, now XML is checked and the expression adjusted adequately (case sensitive)
       new  5041a85   minor improvement in 'match()' method getting 'doc' and 'root' references
       new  18af0b2   moved 'data' arguments as last parameter for both the 'select()' and the 'match()' public method, changed also in internal calls to 'native_api'
       new  9f8a083   removed static INSENSITIVE_TABLE in favor of a more dynamic method 'getAttributeCaseMap' to detect the document type
       new  f325b4b   fixed wrong optimization in returning elements in previous commit
       new  81e2e4c   changed isQuirks and isXML to both be dynamic methods depending on passed host and have related isQuirksMode and isXMLDocument variables to keep state, added an extra check on child/descendants to avoid stepping up to document, do not save compiledSelectors for extraneous document types (XML/SVG)
       new  49fd657   added back an optimization (corrected) that was removed previously, fixed a minor problem with the attributeCaseMap, fixed a jslint warning correctly identifing a problem in 'byClass()' about a variable declaration hiding arguments
       new  32a8e3d   avoid querying XML documents by id also if they seems to exposes an usable GEBID method
       new  5daf2cf   added a check to short-circuit 'byId()' for XML documents, shortened and improved check for buggy id/name attribute conflicts to cover various Opera and IE bugs
       new  f370357   ensure the 'from' argument contains a valid node before calling 'native_api' even if caller did not provide one
       new  3c94aff   tweaked the 'isXML()' method to correctly handle more cases on more browsers
       new  e16df2f   avoid repeating a statement, should only be executed the first time a selector group is parsed/visited
       new  ec98548   removed 'N' variable in compiled functions, instead use 'c[k]' for 'select()' and 'k' for 'match()', changed compiler loops to 'for' since we need to increment 'k' later now
       new  f495b26   removed 'N' variable in compiled functions, instead use 'c[k]' for 'select()' and 'k' for 'match()', changed compiler loops to 'for' since we need to increment 'k' later now
       new  0d0ae07   trimmed code size in 'byId' by reusing the same while loop, also avoid a call-out to 'byTag' for perf (jdalton)
       new  8a12964   changed the checks for non-elements using alpha comparison of nodeName '@'
       new  944aac2   made 'byClass' and 'byTag' always return array, 'byTag' now removes non-elements earlier, removed SKIP_NON_ELEMENTS from compiled function since now only elements are passed to compiled functions
       new  f37e24f   rescued and reviewed previous optimization for nested general siblings, fixed case non returning converted array as result
       new  ed18cc5   swapped order of CLASS & TAG optimizations, CLASS is now last
       new  c5b9574   fixed 'byTag' which could severely mess up results with '*' on IE
       new  3928bcc   fixed a problem with general siblings resolver missing a check for non elements in the non NATIVE_TRAVERSAL_API fork
       new  d5eabc6   slightly improved code for the 'byTag' method on IE browsers
       new  2e9b223   changed the ID optimization RTL to execute before the LTR one and tweaked to return earlier for not found ids, removed a blank line
       new  de3b672   enabled RE_SIMPLE_SELECTOR optimizations that were left disabled for IE, now both 'byTag' and 'byClass' methods are returning converted array
       new  51138f5   removed non needed lines to conditionally convert node list to array, now all needed methods already return array
       new  552d861   duplicated code for TAG & CLASS RTL optimizations, one branch for browsers having GEBCN and one for those not having it, the optimizations must be performed in reversed order for performances
       new  f9da03c   removed unused Safari 2.0 detection using [object AbstractView] uniqueness, added/tweaked comments
       new  53aaf90   reverted NATIVE_SLICE_PROTO feature test to check first element of the array because Safari 2.0 actually returns an Array with undefined values in it, added check for this feature as safeguard to 'byTag' and 'byClass' methods
       new  cce0332   correction to 'lang' pseudo resolver 'en' matches any of 'en', 'en-gb', 'en-us', and if not set on the element itself it is inherited from a parent (jdalton)
       new  c16d906   minor tweaking to Prototype unit test description of a changed test, '!=' in attribute operators has been deprecated
       new  a9013a3   fixed missing 'substr()' on source of comparison too for 'lang' pseudo resolver, added extra safeguard agains XML documents by checking the 'lang' property is not 'undefined', removed a space (jdalton)
       new  3a517eb   avoid invoking 'getAttributeCaseMap()' for every selection operation, just do it when necessary in the attribute resolver
       new  326e78a   changed the way XHTML_TABLE and HTML_TABLE are selected for matching in attribute resolver, XHTML_TABLE will be used only for correctly served XML/XHTML documents, this change was necessary since IE doesn't handle yet the XHTML Media Type and to avoids bugging users/devs about wrongly served XHTML pages
       new  dc61acb   changed the way XHTML_TABLE and HTML_TABLE are selected for matching in attribute resolver, XHTML_TABLE will be used only for correctly served XML/XHTML documents, this change was necessary since IE doesn't handle yet the XHTML Media Type and to avoids bugging users/devs about wrongly served XHTML pages (jdalton)
       new  94d94a1   Merge branch 'master' of github.com:dperini/nwmatcher
       new  7e89c5a   removed 'getAttributeCaseMap' method since it is not currenlty in use, removed an extra space
       new  b5da3e9   moved down DEBUGGING block, after NATIVE_QSAPI is defined, since 'setQSA' method uses it to correctly initialize USE_QSA flag
       new  7b3b063   improved ':focus' pseudo resolution, added 'A' and 'AREA' elements as focussable (jdalton)
       new  6d22e1b   avoid returning elements for wrong pseudo selectors when extending NWMatcher with add-ons
       new  fab0adb   changed pretty indentation, was breaking my internal *NIX builds, 'else if' were turned to 'elseif' during comments/blanks removal for minimization
       new  d04786b   added 'setERR' method to enable/disable internal error notification to console for wrong selectors, slightly changed 'setQSA' method, no need to return the actual state
       new  87d6540   removed 'data' parameter (last), if needed it could be easily reintroduced later
       new  a94ec32   removed a remaining 'data' parameter from previous commit, removed a space
       new  58e4ee9   fixed Opera 9.25 bug with detection of a valid NATIVE_SLICE_PROTO when document contain an element with ID of 'length'
       new  9c8ef14   rewritten 'byId' method for performances and to allow for fragments
       new  dc93904   slightly changed 'byTag' method, optimizing performances on IE
       new  2d35141   added a more specific RE_SIMPLE_SELECTOR_QSA to speed up some slow 'querySelectorAll' selection on IE8, moved USE_QSA check as first check in the same conditional with others
       new  25f5fea   removed an unneeded check now that we have move it in the 'byId' method, use 'getElementsByTag' method directly in IE, it is safe since there are no chances to get an universal ('*') selector there
       new  3a7252a   added curly braces in some places, moved variables declaration down for when they are needed
       new  24324ce   maintain different copies of compiled selector resolvers for XML and HTML documents, renamed 'compiledSelectors' to 'HTMLResolvers', 'compiledMatchers' to 'HTMLMatchers' and added 'XMLResolvers', reverted compiler loops to use 'while' and pre-increment, added a couple more missing curly braces
       new  46bb348   marking Version 1.2.0 for public release, update release date
       new  3607a69   removed copy with a too new version number to avoid confusion
       new  55a13f7   temporarily fixed bug in 'match()' method for when mixed HTML/XML documents are queried subsequently, the context informations and detections where not updated correctly and previous informations were used (Apostolos Tsakpinis)
       new  f2f7e53   added feature test for non resolvable ':selected' pseudos on Webkit/Chrome browsers and added the check in the related resolver, happens when none of the option elements is set to 'selected' state
       new  31823f6   modified most recent external jquery add-on checks in the resolvers for ':hidden' and ':visible' pseudos, needed to pass jquery unit tests in Safari 2.0.x browsers (jdalton)
       new  5cb7801   added more checks and validations to the 'match()' method, improved HTML/XML handling by saving compiled functions to separate storages (copied from 'select' method), boost performances by not reparsing context information, moved 'isSingle' as external reference to avoid checking again if the selector doesn't change
       new  a6dc031   added back corrected BUGGY_GEBID feature test to inequivocably catch and avoid old IE/Opera bugs in 'byId()' method
       new  55f76cf   added a feature test for attributes treated as booleans on IE browsers, excluded them from executing with QSA, adjusted 'getAttribute' and 'hasAttribute' methods to account for the bug (Mike Taylor)
       new  574a3ca   removed a duplicated declaration of the same variable
       new  5561e12   added a 'contains' method to help resolving contextual matches, added forgotten callback parameter to be executed also on the 'match' method
       new  58a5a16   ensure the check for 'selected' property is only executed on 'option' elements
       new  dc7707e   Ensure 'getAttribute()' method returns an empty string for null/undefined attributes (jdalton)
       new  27c8f60   only add to resolver if there is an actual 'hash' in the URL (oniram88)
       new  edb38d2   fix bug with 'nth-last-child' and 'nth-last-of-type' selectors (Keith Clark)
       new  f393b1c   allow using the standard :checked pseudo on option elements by checking both checked and selected states (jdalton
       new  eb9e64a   avoid adding code to operator resolvers if empty attribute values are passed, does not apply for the equal '=' operator
       new  21ebb65   added a check for empty, null and undefined selector values passed to the 'match()' method, bumped release date
       new  47d1fa7   removed non necessary extra checks done in previous change (eb9e64a0335bd9c17c2d41169b1a2519f2a0211b), the code is already checking for empty attribute values and only uses 'hasAttribute()' in those cases
       new  68f0037   removed beta status, version to 1.2.1 bumped release date, include fixes for nth-last-child and nth-last-of-type, fixed ':target' resolver to only do checks if an hash is present in the URL, added 'option' elements to the ':checked' resolver, improved speed for context queries and fixed callback parameter in the 'match()' method, added BUGGY_GEBID and BUGGY_SELECTED feature tests
       new  0385abb   avoid using same variables names to preserve parsed data in 'match' and 'select' methods, now each method have its own set of parsed data variables, fixes bug where alternated invocation of these methods using the same selector in a selector group may lead to unexpected results (jdalton)
       new  6bd703d   correction to the ':nth-' pseudo classes when passed '(n)' as parameter (all), not a very useful pseudo selector but still in the specifications (jdalton)
       new  6f2f2ee   improvements for :nth- pseudo classes matching, added a variable 'N' in the compiler to cache repeated properties access in compiled resolver functions
       new  ba95d64   big boost to the negation pseudo class ':not()', instead of calling the 'match()' method I use an inline negated 'compileGroup' function (only created once) to nullify parsing processing time on each element, this yields impressive performance gains
       new  eafc64b   uniformed testing and removed the slow 'in' operator from ':checked/:enabled/:disabled' resolvers, excluded testing ':focus' pseudo class on XML document
       new  a33f570   fixes previous commit related to the neagted pseudo class, the change was still escaping quotes but it was not necessary and produced wrong results (pdanpdan)
       new  a12100f   made 'reValidator' regexp more selective/strict in that '.#:' should only be followed by alpha characters, added curly braces to the list of accepted grouping characters to allow using them in add-on/extensions
       new  0409002   fixes previous two commits related to the ':not()' pseudo class, do not pass the 'callback' parameter to the compiled matcher when calling it internally to resolve negated pseudo selectors, moved compiled 'function' out of the conditional expression to make things look a bit less ugly, the boost remains :-)
       new  a53c5be   cleaned up 'getAttribute' method, reduced parenthesis and extra conversions to string, reordered attributes constants definitions
       new  0517100   modified the 'reValidator' regular expression to accept 'utf-8' characters in the allowed positions
       new  6dbfe31   fix IE overwriting attribute values with dynamic property values, happens when users interact with input form controls, in those case don't use the 'getAttribute' method and instead read the values using defaultValue/defaultChecked/defaultSelected properties (jdalton/davidmark)
       new  b7f4f17   wrapped global initialization of 'NW' and 'NW.Dom' inside the main scope, window does not normally exists in many server side javascript environments also NWMatcher itself is of no use without a DOM layer (needs env.js or similar DOM emulation layer for SpiderMonkey/V8), bumped release date
       new  10eeab0   made ':lang' pseudo class case insensitive (jdalton)
       new  7f2bce8   tweaked IE 'getAttribute' method, 'option' elements also have a 'value' attribute but do not have a 'defaultValue' property in IE
       new  b4f471e   add an extra element check in the four combinators resolvers (' >+~'), this avoid the risk of stepping out of the tree in very complex ':not()' selectors and multiple combinators
       new  7846b87   added 'backslash' to the range of accepted characters in attribute names, this allow for escaped characters in names
       new  d4f50ec   avoid comparing element properties with undefined values, use a safer 'typeof' check instead, modified 'getAttribute' method and ':checked/:enabled/:disabled' resolvers, removed non necessary undefined argument in global (jdalton)
       new  4e708df   let the ':lang()' pseudo resolver inherit from the document in case it is not defined on the element itself, solves inconsistent results and passes CSS3 Selectors tests
       new  7d107fb   correct wrong interpretation of empty attribute values with operators in IE tests
       new  e15c4d3   removed a typo error in previous 'getAttribute' commit, a space slipped in a 'type of' :-)
       new  a507184   fix for wrong results when 'even' parameter was passed in ':nth-last' and ':nth-last-of-type' cases
       new  76561e5   exclude some buggy attribute operator selectors for IE8 when 'querySelectorAll' is used
       new  270db31   exclude some buggy attribute operator selectors for IE8 when 'querySelectorAll' is used
       new  cfdfa6f   modified 'isQuirks()' method to use a safer 'typeof' check on the '.compatMode' string property since '.indexOf()' will be used on it, slightly changed related comments (jdalton)
       new  a21d1df   Merge branch 'master' of github.com:dperini/nwmatcher
       new  5033a29   added the ':target' pseudo-class selector to the list of excluded selectors for QSA on all browsers, bumped release date
       new  8d79432   fixed a typo error in the commit to 'isQuirks()' method, happens in the nights :-)
       new  59ccc29   added code to disable complex selectors for ':not()' pseudo-classes in QSA branch but left it commented out, it will break too many tests units, accepting multiple nested complex selectors should not be seen as an error and does not produce as many negative effects as preventing it
       new  3249f29   fixed ':empty' resolver to traverse the content instead of just checking first node (jdalton)
       new  848a2d2   fixed ':target' resolver to remove first character of hash property ('#') and not be restrictive to just links, allow for any element having the matching ID
       new  a5faa15   added commented code for the ':not()' resolver in the compiler to avoid nested complex selectors (if necessary), fixed regular expression missing escaped parenthesis in previous part of the related fix in 'select_qsa', removed a couple of spaces
       new  eaad27c   fix attribute resolvers to ensure no expression is built if operators or values are missing, in that case, attribute presence/existence is checked using the 'hasAttribute()' method
       new  083e5dc   fixed edge case handling of attribute operators matching empty values, removed commented code from 'select_qsa'
       new  490dd2b   reorganized tests in separate directories, added current Prototype tests and new 'css3-compat' test to compare bug fixing and consistency between selector engines
       new  489fdd0   ensure compiled resolvers are able to handle complex combinations and nested selectors in ':not()' pseudo classes, bumped release date
       new  296d096   added a 'configure({ })' method to enable/disable features instead of having a specific method for each feature, features that can be specified in the passed object with boolean values are 'USE_QSAPI', 'SIMPLENOT' and 'VERBOSITY'
       new  8df7b45   modified 'css3-compat' test to better fit engines with different signature, added disabling of complex selectors in ':not()' pseudo-classes for NWMatcher, arranged engines array to allow commenting out frameworks
       new  0ca05a6   modified 'reValidator' expression replacing '?' with '*' to allow selector strings starting with several spaces
       new  55ef7c5   tweaked and removed some comments, removed beta status and bumped release for version 1.2.2
       new  d96865b   update the css3-compat test, added version numbers to each framework/library, forced test to use the fall back engine instead of the native 'querySelectorAll()', fixed a problem with double firing events on Opera, relaxed comparison of 'nwmatcher' to properly configure any version >= 1.2.2, removed unneeded comment lines, bumped version
       new  42ed629   updated css3-compat.html file to remove the ':root' test since it is not widely supported by selectors engines and it was hiding important parts of the test, modified some bottom description test to reflect this change
       new  c003815   added missing check needed to short-circuit 'className' matching for SVG elements in compiled resolvers (Apostolos Tsakpinis)
       new  0ab00dd   added new 'byTagRaw()' internal method used when querying document fragments or other type of nodes that do not expose the needed DOM API
       new  8730074   added a 'getAttribute()' feature test to catch browsers failing correct boolean attribute handling, avoids using the native DOM API in IE8 and others failing, added forgotten beta state in the code version variable
       new  295ee6d   completely reviewed QSA feture testing, removed obsolete bug test for Opera10beta3, added feature test for empty attribute values for IE8/Opera10, reordered and corrected various comments
       new  c9bfd4e   merged internal methods 'native_api()' and 'select_qsa()' into 'client_api()' and renamed it 'select', reworked a bit the code of both 'select()' and 'match()' for size, added better error handling for cases when passed selector is not valid, added missing declaration of XMLMatchers object
       new  253fd6a   added 'reSimpleNot' regular expression to improve checking for simple selectors inside ':not()' pseudo-class and adjusted the code in the compiled resolver, added error notification for unsupported attribute operators, added cleanup of saved resolvers when switching the SIMPLENOT feature
       new  62274b3   corrected regular expressions to exclude IE/Opera QSA for empty attribute values and tweaked RE_SIMPLE_SELECTOR to ensure id/class names start with a letter
       new  1c1e67c   tweaked reValidator regular expression to accept parenthesis and to discard empty pair of parenthesis, brackets and curly brackets
       new  7143d94   changed default behavior to disallow complex selector nested in ':not()' pseudo-class as per specifications, can be changed at start or run-time by using 'NW.Dom.configure({SIMPLENOT:false})' should it be needed
       new  156a345   tweaked some comments and removed a trailing blank
       new  2624fae   reviewed error/warning notifications to better simulate current browsers behavior (QSA) of throwing a DOMException.SYNTAX_ERR (12) on invalid selectors, changed default of 'VERBOSITY' to 'true' for throwing errors
       new  5a98bf4   added 'configure({SIMPLENOT:false,VERBOSITY:false})' directive to both jQuery selectors test units to enable extra features in NWMatcher to correctly handle and pass those non standard specific tests
       new  67419fa   changed a couple of non-standard tests in Prototype test units and added 'configure({SIMPLENOT:false,VERBOSITY:false})' directive to enable extra features in NWMatcher to correctly handle and pass those non standard specific tests
       new  26f8dae   added start hook '^' to regular expressions used to optimize by id/tag/classname and simplified the tag name check
       new  8927276   coded in a new configurable feature named 'SHORTCUTS' to allow/disallow adding missing context to selector strings, set to 'false' by default to skip this non-standard handling but can be changed by using 'configure()'
       new  1c3cd15   removed a couple of redundant checks in the 'match()' method
       new  af8af5d   removed IE only 'number' property from standard browsers branch, replaced 'window' reference with 'global' for code consistency
       new  7331288   reworked 'getAttribute()' and 'hasAttribute()' for better handling of dynamic attributes like 'value', 'checked' and 'selected' on IE and to keep results consistent with other browsers, better code size and hopefully a bit faster too
       new  2b4645a   modified 'reValidator' regular expression and updated related validation code accordingly to be more strict and execute a validation on the entire selector before trying to process it
       new  0c769ab   added an optimized Prototype adapter
       new  bfeecbf   tweaked automatic addition of missing context when SHORTCUTS are enabled, removed a comma in comments, updated release date
       new  a14e013   fix Safari 2 resolution of ':not()' pseudo-selector
       new  810f156   fix Opera 8 unsupported 'selected' property, needed to resolve the ':selected' pseudo-class
       new  f4d383a   avoid using non-existant defaultValue/defaultChecked/defaultSelected backup properties when reading attributes
       new  0a2143e   added back a feature test to avoid using QSA for selectors containing the ':checked' pseudo-class which is broken/buggy in Opera 10+
       new  2889513   replaced wrong semicolon with colon, it would have caused a lot of globals :)
       new  ad0af68   removed an edge check on arguments consistency and related 'contains()' method
       new  8c0418a   optimized dynamic default attributes checking in IE getAttribute/hasAttribute methods (jdalton)
       new  e22a1f7   fixed an inconsistency with IE and HTML5 case sensitivity, unknown HTML elements must be matched case insensitive (Keith Clark)
       new  2d2dea1   moved up the SHORTCUTS code to optionally add missing left/right context so it applies also when using QSA
       new  b21513b   typo error, changed '&&' operator with '||' in previous commit
       new  f103294   added back 'contains()' helper method to be used in 'match()' and ensure that if context is passed it actually contains the element as descendant, tweaked the arguments checks in 'match()' to only throw in case of syntax errors in the selector string
       new  9db510a   added a 'lastError' variable to maintain the last QSA selection error state
       new  6d6fba6   added an extra syntax error checking after each pattern scan in the compiler
       new  940335e   reworked attribute regular expression and related resolver to only accept correctly quoted string values and identifiers (Garret Smith)
       new  333de10   removed grouping parenthesis around some regular expression, added only were requested
       new  02cdd12   complete rewrite and grouping of the regular expressions used during selector validation
       new  107aa3b   shorter and better detection for when case insensitive matches are needed to match element names (jdalton)
       new  8e77fd7   reuse 'identifier' regular expression in more places, made two forms of validator regular expression, one for standard compliance with CSS3 rules disallowing complex selectors in ':not()' pseudo-classes and one to allow them unrestricted (also nested and/or comma separated)
       new  b632982   fixed a bug with 'nth-last-child', the comparisons '<=' and '>=' in the resolvers where swapped in those cases (Keith Clark)
       new  0f73f80   modified the 'configure()' method to use the correct regular expression (standard or extended) for validation depending on user settings, also disable QSA when user select to configure '{ SIMPLENOT: false }' since the native QSA selector engine does not recognize the extended syntax in ':not()' pseudo-classes, bumped the release date
       new  50c59dc   tweaked the regular expression to determine simple selectors, optimized {0,} and {1,} quantifiers in other regular expressions to '*' and '+' respectively
       new  4528453   small adjustements to formatting, tweaked comment and added a space, no functional changes
       new  2db9053   fixed 'reSplitGroup' regular expression, a regression from latest RE optimization, working previously, now made it (a bit) more readable by using more specific 'skipround/skipcurly/skipsquare' strings since 'skipgroup' is too generic/combined and not usable here, moved down 'skipgroup' string near these new related strings, adjusted some comments
       new  1876c1d   improved 'reSimpleNot' regular expression to correctly discard invalid nested complex selectors in ':not()' pseudo classes
       new  1a805fd   updated all unit tests to comply with specifcations requirements related with quote/unquoted attribute values and only simple selectors accepted in ':not()' pseudo-classes, for consistency with latest code commits
       new  84f0771   removed a couple of misleading comments, tweaked/shortened an other comment
       new  307d198   switched to a safer '{1}' in place of '+' for 'operators' string
       new  68f2186   changed tabs to spaces, uniformed comments and console message about ':not()' pseudo-classes limitations requirements
       new  e87ce2f   added Scotch unit tests based on Prototype tests but supporting exceptions testing and other goodness
       new  36b4de4   updated Scotch testing unit from github repository (@kitgoncharov)
       new  4c468e3   remove older versions of Scotch files
       new  fe8cd3b   added 'W3C-Selector-tests' from John Resig GitHub repository, two files, the original and the one modified by me for NWMatcher, more than 2000 tests, 900 CSS3 fixed tests for IE6-8 browsers
       new  e724442   more formatting/indentation changes, turned more tabs in to spaces
       new  e7bc10f   restricted 'reLeftContext' and 'reRightContext' espressions to only allow one consecutive combinator (only used when SHORTCUTS configuration option is enabled)
       new  52905e6   replaced 'encoding' for 'identifier' in class name feature testing for consistence, added missing space and other formatting changes, removed unneeded comment
       new  4703619   removed duplicate comment
       new  9bd29b8   avoid a warnining in Google Closure Compiler (doesn't like a standalone 'true;' statement) and turned a space into '\x20' inside a string used as a regular expression
       new  d8e5d6b   fixed 'byTagRaw()' method to not return the containing 'from' element (only affected Fragments as context), removed duplicate 'quotedvalue' from validator string since it is already contained in 'attributes/pseudoclass' strings, replaced two occurence of gEBTN native API with calls to internal 'byTag()' method
       new  98ef3c3   moved up declaration of reference to 'Array.prototype.slice' method, moved 'encoding' and related comments near the 'identifier' string
       new  389d9f0   improved 'emit()' conformance for error names, uniformed error messages
       new  1a7dc72   fixed NetFront/Playstation 3 (IE engine) bug with 'class' and 'for' attributes needing DOM names mapping to 'className' & 'htmlFor'
       new  7e157ca   modified Prototype's unit tests to expect 'SYNTAX_ERR' type errors thrown when selector syntax is invalid
       new  892e645   removed support for non standard ':selected' and ':contains()' pseudo-classed selectors and related helpers, functionality will be moved in a separate add-on
       new  feefdb0   removed remaining references to unsupported ':selected', ':contains()' and ':indeterminate' pseudo-classes, reorganized 'CSS3PseudoClass' object and removed superfluous comments
       new  8588735   added a '+' to the identifier syntax string to resolve unquoted+escaped names like 'brackets\[5\]\[\]' present in several frameworks tests (jdalton), tweaked some comment lines
       new  a22af05   consolidated single quote as the preferred string container (wherever possible), no functional changes
       new  89d2136   removed beta status, bumped release date, ready for version 1.2.3
       new  90ae50a   exposed additional 'contains()' method, removed an extra semicolon, added/tweaked some comment lines, released version 1.2.3
       new  0df8b09   updated jQuery unit to avoid tests for obsoleted/unsupported selectors removed from NWMatcher, ':selected' tests are replaced by ':checked' with no side effects, ':contains()' tests have been removed completely
       new  d1bf03d   updated Prototype unit to correctly test for unquoted identifiers containing multiple (escaped) square brackets (as in brackets\\[5\\]\\[\\]) as for latest bug fix in NWMatcher, previously this unquoted selector was considered invalid syntax (only valid if quoted) it has been fixed to strictly adhere to new Selectors API behavior (jdalton)
       new  770b6ca   updated Scotch unit to sync latest changes to Error naming, previously 'DOMException SYNTAX_ERR' now shortened to 'SYNTAX_ERR', added three new tests about examples of invalid identifiers missing quotes
       new  be6cc05   change displayed version number to 1.2.3 in the CSS3-Compat testing which compares the results of various selector engines against the original CSS3 Selectors Test
       new  fc6f32f   an extension for NWMatcher to add new WebForms/HTML5 pseudo-class selectors resolvers, these capabilities are still not available in the majority of current browsers (only Webkit) so not well tested yet, expect changes/fixes in the resolvers soon
       new  336f59e   shortened code to fork resolvers for HTML/XML documents, improved compiled functions, skips callback checks if none is passed
       new  b4b113a   reapplied previous optimizations of compiled selectors by slicing away parsed tokens
       new  c62a684   removed '+' quantifier at the end of the 'encoding' string used in regular expressions to ensure it can be applied for different cases (+|*)
       new  c4b24e5   fixed a cut and paste problem in 'match()' method from recent commit (pdanpdan)
       new  592ce6e   reverted recent optimization about having the callback included in the compiled function only if the 'callback' parameter was really passed. The problem is that if two queries are executed using the same selector string but one of them has been passed the 'callback' parameter, it would require keeping two versions of the resolver for the same selector string, not worth it.
       new  188ee97   reverted recent optimization about having the callback included in the compiled function only if the 'callback' parameter was really passed. The problem is that if two queries are executed using the same selector string but one of them has been passed the 'callback' parameter, it would require keeping two versions of the resolver for the same selector string, not worth it.
       new  9caf510   fixed inconsistency brought up by the 'W3C Selector API Test Suite' having to do with the ':root' pseudo-selector when combined with querying children/descendants and parent nodes are disconnected, added needed reference to 'contains' method to the object passed to compiled functions, reformatted a couple of code blocks.
       new  9c4a8a3   simplified element indexing in pseudo-class resolvers and reduced needed code, this has also allowed to completely avoid expandos on elements on all browsers (hurray), fixed missing a '$' in the class RE which was lost during recent commits.
       new  aa34f3c   added a feature detection test for ':checked' pseudo-class since it behaves differently between Firefox and other browsers, I will probably need to review this and tweak correctness against Firefox or the other current implementations, the fact here is the need to obtain consistent results between different browsers.
       new  d13a655   fixed the name of a variable changed in the previous commit.
       new  0638baf   small optimization in the ':not' pseudo-class resolver by avoiding an unneeded assignment, added fall back parameter for the 'compileGroup()' calls used in both 'match()' and 'select()' methods.
       new  4c6f00e   added an early exit in the LTR ID optimization if the selector correspond to the token found.
       new  a4d945d   reformatted and removed extra concatenations in the internal 'compileGroup()' method.
       new  23f8947   added support for equivalent (maybe faster) browser QS API 'matchesSelector' if/where available, improved error detection/handling to fix cross-browser inconsistencies with QS API recognizing/throwing errors, full selector validation should still be working and configurable even after this addition :)
       new  21652f2   reconsidered adding back the non-standard ':selected' pseudo-class which is necessary for option elements, tweaked incorrect comments about the ':checked' pseudo-class bug in Firefox, synchronized test units.
       new  066029e   reconsidered adding back the non-standard ':selected' pseudo-class which is necessary for option elements, tweaked incorrect comments about the ':checked' pseudo-class bug in Firefox, synchronized test units.
       new  7bc8ca3   use 'toString' method instead of 'open' method as the base comparison signature to have a safer detection of native callable methods (jdalton)
       new  e00522a   optimized IE 8 regular expressions used to workaround buggy implementation of QSA (jdalton)
       new  ae081d4   avoid some console warnings by adding parenthesis where needed
       new  77aa3b5   improved 'isNative()' method to avoid console warnings (referencing undefined properties)
       new  f6c28b9   modified 'emit()' method to avoid overwriting the standard Error 'name' property
       new  87a9434   nwmatcher: Fix bug with :root *, not selecting the proper elements. [jddalton]
       new  6cf216d   nwmatcher: Avoid throwing an error for non-element contexts and make default context element.ownerDocument in NW.Dom.match(). [jddalton]
       new  2ba57cb   Clean up the element traversal methods.
       new  0aed132   nwmatcher: Remove base2 and duplicate QSA entry from css3-compat tests. [jddalton]
       new  81e91d0   nwmatcher: Disable QSA for NWMatcher W3C selector tests. [jddalton]
       new  73ed008   bumped release date and update year in copyright message
       new  09a803e   Implement index-based matching in `NW.Dom.down` and make it compatible with Prototype's `Element#down` method.
       new  59bb4a7   simplified and more precise RE matching for CSS3 pseudo-classes, reduced code size and number of operations, exact match improves extension coupling
       new  5b02e53   synchronized RE for better handling of jQuery extension, removed obsolete comments and unneeded code to normalize the document
       new  c7130fa   Merge branch 'dperini' of git://github.com/kitgoncharov/nwmatcher
       new  d974f0a   added new USE_HTML5 boolean switch to '.configure({})', needed to handle parsers difference in matching the ':checked' pseudo-class that also applies to option elements in current HTML5 specifications
       new  a899c29   ensure node name is checked case-insensitive in ':selected' pseudo-class resolver
       new  433c5a7   mangled selector string '> *' or '* >' now also work for element nodes passed as context argument if SHORTCUTS are enabled, added same capability in the '.match()' method
       new  d2069a6   added 'oMatchesSelector' boost for Opera > 11 to the '.match()' method capabilities for when it will become avaiable in next releases
       new  5d1b1b7   changed 'snap' variable name to 'Snapshot' to keep in sync with the naming of methods/objects, exposed references of internal 'Operators' and 'Selectors' descriptor objects as an alternate way to extend NWMatcher
       new  afed61a   ensure the entire selector token is matched when resolving extensions
       new  09b5643   taken in account possible extension of the unsupported '!=' operator when handling empty values
       new  584aea4   avoid simple selectors optimizations for Opera, the standard QSAPI path is faster
       new  d46c982   adding '.toString()' shortcut reference that was left out in the last commit
       new  e56049a   cleanup '.byId()', '.byTag()' and '.byClass()' methods, avoid duplicated operations, allow intermixed documents queries and correctly handle XML in exposed public methods
       new  9e4c2b2   cleaned up a bit the attribute resolver, bumped release version
       new  b9feecc   tweak to maintain 'byId()' performances with previous (slower) QSA Opera versions, changed the reference method to compare signatures in the 'isNative()' method to use 'document.open' (jdalton)
       new  8473a17   swapped underscored names of wrapped internal methods with non-underscored names for consistency (jdalton)
       new  935c7f7   changed again the base reference method used for the signature comparison in 'isNative()', now using 'document.childNodes.item' since it seems less likely that user code would overwrite that, added missing node tpye check in the 'match()' method for when SHORTCUTS are enabled
       new  c791dc4   Add CommonJS support.
       new  4fb0c3b   nwmatcher: Make buggy quirks mode re-check per new document context. [jddalton]
       new  c0cd47c   changed variable names for consistency with other boolean flags: isQuirksMode to QUIRKS_MODE and isXMLDocument to XML_DOCUMENT
       new  31dfa82   nwmatcher: Simplify isXML, and add switchContext function to reduce code. [jddalton]
       new  91e6aca   avoid namespace overwriting, both 'NW' and 'NW.Dom' may have been already defined
       new  47ee13e   nwmatcher: Fix package.json syntax errors and add .gitattributes and .gitignore. [jddalton]
       new  f7f2e53   nwmatcher: Fix isNative for IE8. [jddalton]
       new  5b40dad   cleanup to reduce code (jdalton)
       new  85e7969   fixed a regular expression, moved SHORTCUTS in an external module, exposed the 'emit()' method so modules can use it, indentation cleanup
       new  3b096bd   fixed IE bug with 'applet/object' as context, removed unnecessary check for non defined context
       new  81866e7   added module for completing selectors missing context, need testing
       new  eb134c6   substituted remaining instances of '\s' with '[\x20\t\n\r\f] for consistency and correctness
       new  35cc352   make regexp tests on nodeName stricter and hopefully more efficient (kitgoncharov)
       new  21fdd13   exposed the various regexp strings for tokens that could be part of a selector to avoid redefining them in each external module, changed some quotes for consistency and some indentation
       new  59866fb   improved handling of optional SHORTCUTS functionality (jdalton)
       new  aedaeba   ensures prior exit for selectors containing trailing commas (SYNTAX_ERR), removed a forgotten underscore
       new  d4caaff   reordered public API exports handling to avoid exporting the NW namespace twice in Node (kitgoncharov)
       new  56a2bf5   made sure to split comma groups only once, reduced and simplified code for both the resolver building and the differentiation between single and multi selector strings (comma separated), merged internal 'compile()' and 'compileGroup()' methods
       new  fbe46d8   joined increments of the same value in one place
       new  eae430d   fixed QSA testing (mistyped 'removeChild') and improved tests node removal, reduced code by embedding isXML(), isQuirks() and isQuirksBuggy() method calls in the 'switchContext()' method which is called once each time the queried host environment changes
       new  7692c3a   added check for buggy GEBCN in quirks mode, moved definitions to keep them grouped (jdalton)
       new  ce99c00   strip quotes from attribute values in the parser to avoid doing a slow replace in the resolver, reordered/separated strings and regular expressions
       new  720b7e3   improved context checks and reduced code for when the queried context changes
       new  b206070   moved the CommonJS/NodeJS exports handling code atop the file, incremented release date
       new  38913a3   cleanup and indentation, enabled errors for unresolvable contexts
       new  e09b125   added a separate 'modules' directory that will hold the reduced version of NWMatcher, added base and pseudos modules, added minified version of the two modules named 'nwmatcher-thin.js'
       new  18523b1   syncronized modular version with latest changes
       new  5ed9ee0   shortened handling of exports to global, detailed comments about bugs with case sensitivity and class names in quirks mode
       new  dc820ce   synchronized Scotch test unit to handle exceptions through regular expression (@kitgoncharov)
       new  1fd4d80   more adjustments to Scotch browser test unit, fixed wrong path to resources and changed a string into a regexp for the exception test
       new  ad4351b   optimization in getAttribute()/hasAttribute(), see issue #35
       new  09ed51d   optimized the resolver compiler by removing unneeded parts
       new  30c2485   fixed exports handling and references correct 'Dom' namespace for integration with third party code
       new  779acb2   moved all extra functionalities options to a single 'Config' object and made it publicly accessible for addons/extensions
       new  3d86019   reworked the 'nwmatcher-shortcuts' extension, more alternatives to add missing context to selector strings like '> p' and '+ p'
       new  9944c1f   added checks for XML documents to avoid using non existent API/features
       new  8c99ace   simplified and reduced code to save compiled resolvers in both 'match()' and 'select()' methods, changed internal names of objects holding the references
       new  97cb514   simplified and merged returning of result sets in the optimizations block
       new  1fe314e   reduced code for the ':checked' resolver, test to avoid 'hasAttribute()' on XML documents (fail on IE9), added missing slash to 'reSplitToken', removed unused variable
       new  1b0b978   partial rewrite of the caching module, added capability to serve multiple documents simultaneously
       new  41a4b5f   revived and added back hooks for external caching modules based on Mutation Events, should work on all new browsers including IE9
       new  8a6557d   fixed feature test for buggy ':checked' pseudo-class for Webkit/Opera not yet implementing HTML5 rules or for older Firefox browsers not reporting the checked elements correctly
       new  826de2a   moved nwmatcher-cache.js module in the proper 'src/modules' directory
       new  88bcabf   moved nwmatcher-shortcuts.js module in the proper 'src/modules' directory
       new  3d7b16f   moved nwmatcher-webform.js module in the proper 'src/modules' directory
       new  c075634   moved traversal.js module in the proper 'src/modules' directory, renamed to nwmatcher-traversal.js
       new  8f1ce40   removed previous version of the jQuery test unit, only kept the latest, moved nwmatcher-jquery.js module in the proper 'src/modules' directory
       new  ef04982   finished the rearrangement of files, all NWMatcher modules are now in /src/modules
       new  5233b6c   synchronized modular version with main code, finished the rearrangement of files, all NWMatcher modules are now in /src/modules
       new  9e7fbd8   Merge branch 'master' of github.com:dperini/nwmatcher
       new  0581ee5   moved nwmatcher-base.js out of the 'src/module' directory in the main '/src' directory
       new  46441d0   update all testing units to follow files rearrangement
       new  7c3ddec   update all testing units to follow files rearrangement
       new  6d38fdf   Merge branch 'master' of github.com:dperini/nwmatcher
       new  849d6a4   shortcircuited fragments node from passing through native selection API, cleanup of unused variables, reviewed consistency of strict/loose comparisons, fix return value to undefined for some extension stub
       new  25a29f9   bring latest cleanup and changes to the modular version
       new  8a31ded   fix mistyped filename in Prototype test unit
       new  359bd3b   make Javascript Lint happy with some syntax adjustment
       new  6926345   fix passed context in negation pseudo-class resolver ':not()'
       new  46cbfad   synchronized modular version with latest commits
       new  93175ee   added minification/build tool based on Spidermonkey and Dean Edwards Base2/Packer 3.1
       new  3511226   fixed regular expression that prevented correct parsing of comma separated selectors when no whitespace 'div,a' issue #36 (pdanpdan)
       new  c6853a1   added missing DOM/HTML attribute mapping in IE 'getAttribute()' method to make it consistent with 'hasAttribute()', fix issue #37 (victor homyakov)
       new  022f9c2   added a small hack to the external caching module to simulate attribute Mutation Events on Chrome/Safari by overwriting the 'setAttribute()' method of elements, extreme but optional :)
       new  19d095d   realized I didn't include the 'Makefile' needed to run the minification tool
       new  4bb4bce   replace a wrong semicolon with comma
       new  6c10a0d   added 'dist' directory since it is needed by the 'Makefile' minification & build process
       new  e64b7cc   fixed a missing 'S' in HACKED_MUTATION_EVENTS boolean flag
       new  b628bae   added back support for Safari 2.x quirks mode testing
       new  56f63ca   shortened attribute mapping code in both 'getAttribute()' and 'hasAttribute()' methods (victor homyakov)
       new  5320a78   added a comment, removed beta status, bumped release date, ready for 1.2.4 release
       new  1a77a20   Fix of issue #38 - ATTR_MAPPING removed
       new  73704c8   changed current version to 1.2.5beta to include minor fixes and improvements
       new  10a48ac   improved speed of 'match()' method by avoiding native 'matchesSelector()' and related checks, fixes issue #40 (alpha123)
       new  312ecd9   removed unused ATTR_MAPPING object and related comments after the fix to getAttribute/hasAttribute
       new  f961aed   reuse already declared variable 'i' in 'select' method, fixes issue #39 (victor homyakov)
       new  3ef02ea   fixed release date format to YYYYMMDD
       new  ac7fa9e   synchronized release date & version with the modular branch
       new  c66a82f   removed an extra trailing comma from Scoth 'test.js'
       new  17c05fd   updated HEADER and VERSION build files
       new  e7bc56e   added minimal test for HTML5 elements selection using 'of-type' pseudo selectors combined with the 'html5shiv' for IE
       new  2e8b1d3   Fix typo in comment: "psuedo" -> "pseudo".
       new  a6d0d14   Merge pull request #44 from jasondavies/typo
       new  85c50f4   fixes selection of HTML5 elements in IE < 9 by ensuring case insensitivity nodeName match in HTML documents (Keith Clark)
       new  8a46e1b   ensures the 'compile()' method is passed a string as second parameter when invoked by user code
       new  74f1665   removed unused ATTR_MAPPING definition and tweaked some of the comments
       new  48480db   ensure browser supports W3C event model before testing for mutation events, prevents using that path for IE browsers prior to IE9
       new  b4be9f7   synchronized version string with current beta version
       new  255ced1   declaration of ACCEPT_NODE 'macro' centralized and made public so add-ons can reference and rely on it, and also change it :)
       new  2e5786a   added the capability to emulate the 'querySelector' method by returning false in the callback, this stops the engine at the first match and only returns the first element found, enhancements and fixes to the base modular code related to attribute resolution for older IE browsers (getAttr)
       new  7b0d5cf   reduced error notification code in 'emit()' method, improved attribute matching in the base modular version
       new  3418740   update year in LICENSE file
       new  df3bea5   synchronized version string
       new  259558f   tweaked and made easy to switch testing between nwmatcher full version and modular version
       new  b94fe3e   added quotes to object properties names in ATTR_BOOLEAN, added/tweaked comments
       new  9b9a041   ender integration
       new  3956c7f   Merge remote-tracking branch 'dperini/master' into ender
       new  cf0eed4   ender.js rebuild with latest nw
       new  61092e9   $.select() and $.first()
       new  25e924b   add $.configure(options)
       new  333adb8   simple integration test page demonstrating usage
       new  e11a6f0   added new wrapper method named 'first()' returning only the first matching element, bumped release date
       new  0d8de13   Merge pull request #49 from rvagg/ender
       new  90f3e9b   reworked 'Selectors API Test Suite' so it can be adapted to different engines, reimported original due to small differences in UTF8 characters
       new  4909033   bumped copyright years, removed beta status and release version 1.2.5
       new  450dcdd   synchronized 'Scotch' assertions throwing tests to check 'exception.message' string explicitly
       new  898a14d   added .npmignore
       new  9599003   add node_modules/ to .npmignore
       new  f576593   Merge pull request #50 from rvagg/npm
       new  b760a10   adjust 'Scotch' self testing in 'assertThrowsException', check both object and it's message property
       new  178bad9   Merge branch 'master' of github.com:dperini/nwmatcher
       new  51ea677   define binary files and treat them appropriately
       new  6878086   improve speed of combinators in complex nested selectors by caching results of already visited nodes (Yaffle)
       new  b310a1f   When used as a Node.js module, allow pluggable global - issue #56. (Domenic Denicola)
       new  e0956f3   When used as a Node.js module, allow pluggable global - issue #56. (Domenic Denicola)
       new  3316801   tweaked RegExp and validation processing to better catch invalid pseudo-classes (Domenic Denicola)
       new  c6d364b   reworked error handler a bit, some formatting and adjustments
       new  a114e5d   added some tests for invalid pseudo-classes to jQuery selector tests, updated and fixed some HTML in other tests
       new  f18e8cd   correctly validate parameters (an+b) passed to pseudo-classes (Domenic Denicola)
       new  e987fea   removed the 'new' operator in the non-qsa base branch, formatting changes and bumped version to 1.3.0beta
       new  6ff938c   added new broken variant to jQuery selector tests, related to pseudo-classes validation
       new  354e59e   update version in the 'css3-compat' test
       new  43b8c7b   simplified error handler now just throws a standard 'SyntaxError'
       new  b1eff85   added parenthesis to make javascript linter happy (jsl)
       new  caee2c4   allow the 'configure' method to query the status of each configuration boolean
       new  91db52f   use a better regexp for character escaping in selectors (id, name, class, attributes), fixed ID optimizations, added missing quotes for some keyword
       new  129a989   made all pseudo-class names to match case-insensitive, allowed spaces in pseudo-class parameters, fixed 'reSplitGroup'
       new  010bc89   accepts focus pseudo-class on elements having a valid 'tabIndex'
       new  95d947b   fix a mangled or sign in previous 'focus' related commit
       new  6f39931   synchronized behavior with new W3C/HTML5 recomendations about the ':enabled/:disabled' pseudo-classes, inputs of type 'hidden' are now included in the results if they match the state
       new  dbe1851   the flag USE_HTML5 behaviors in checked/enabled/disabled pseudo-class resolvers is now 'true' by default even in the QSA-less branch
       new  d2e3706   ensure processing is completely aborted when returning false from the passed-in node callback
       new  4decdbb   changed the tests related to :enabled/disabled pseudo-classed and inputs of type 'hidden' in Prototype tests
       new  1249442   synchronization of the engine changes in the jQuery add-on module
       new  89a5eb2   forgot changing an 'hidden' input test related to ':enabled/:disabled' pseudo-classes in one of the Prototype test files
       new  e0351a7   bumped version to 1.3.0 before 'npm' publishing
       new  beb1597   fixed 'configure' method to only change the validator once per invocation; removed USE_QSAPI flag and superfluous code in QSA-less branch
       new  cdbb658   added a missing dash sign to enforce matching to keep in sync with QSA-less
       new  d5f1005   reworked/reduced the 'emit' error handling method to throw compatible 'Error' exceptions and removed 'global.status' output (IE<8); slightly reduced code in 'configure' method
       new  827b13f   reviewed arguments checking in the 'select' method
       new  4991a44   fixed character escaping of class names in the non-QSA branch
       new  76a9d48   synced jQuery selector tests to catch emitted errors
       new  e1d7e77   changed references to the :enabled/:disabled pseudo-classes docs
       new  22efd5b   formatting changes in non-QSA branch
       new  a035908   removed beta status, publishing version 1.3.0
       new  7993d32   bump internal build version/head to 1.3.0
       new  c3e4ab9   fixed whitespace in selectors when not using Query Selector API (Domenic Denicola)
       new  ace7b0b   throw a 'SyntaxError' instead of 'Error' to match more closely the behavior of Query Selector API
       new  d0ab968   added UNIQUE_ID mode to the 'configure()' method, this allow the engine to fully match Query Selector API returning all elements matching the same '#id' (non unique)
       new  d94e868   fixed a problem with 'checked/selected' boolean values in 'getAttribute()' method for IE
       new  f39caba   reverted removal of case transforming lines for insensitive match of attribute names
       new  4daecc3   check for bugs affecting attributes, overwritten by misnamed elements references
       new  a197fa8   tweaked a few comments and bumped release date
       new  1e3198f   don't switch context every time if it didn't change between calls to byId, byTag, byClass
       new  b2b24b0   added missing global flag to replace all instances
       new  193fb4c   revert again to only throw 'Error()', since older IE don't support 'SyntaxError()'
       new  20d8485   option elements need to be tested for both 'selected' and 'checked' properties (HTML5)
       new  3685197   fixed/improved hasAttribute and synchronized attribute resolution in non QSA version
       new  990219f   updated Scotch tests to detect the type of 'Error()' thrown
       new  a594ae6   updated Ender integration tests with the new nwmatcher version
       new  cfcc3f9   shortened code a bit and bumped release date
       new  8168097   update minified version of the non QSA fork of the engine (nwmatcher-base.js + nwmatcher-pseudos.js)
       new  877f918   use 'getAttribute()' to check the 'type' attribute of control elements
       new  e86adbc   reduced the 'reTrimSpace' in the non QSA fork and made it independent
       new  191c5b7   Use 'doc' instead of 'document' (Domenic Denicola)
       new  4b1a354   fixed RegExp to allow for attribute names consisting of a sinlge character
       new  c40d600   adjustments for 'Config.UNIQUE_ID' returned results, reordered 'reSplitToken' regular expression
       new  6c40bc8   fixed jQuery extension module for the ':text' pseudo selector to only check controls the 'type' property
       new  5fd4f65   bumped release dates
       new  8b4b6a2   reduced arguments checks, typeof doesn't require strict checking, tweaked a comment
       new  028ae42   an equivalent non-qsa version of the selector engine for headless environments
       new  1f9e0f1   remove minimal build now replaced by nwmatcher-noqsa.js
       new  51a30d6   bumped version to 1.3.1, updated release date and copyright years
       new  cf3672f   update ender integration test with latest 1.3.1 version
       new  e7eb0b2   finally a bit of documentation in a README.md (not completed yet)
       new  9640929   documentation fixes/addition to the README.md file
       new  75ddbb0   remove superfluous test code and avoid changing elements we don't own
       new  c7eccd7   use 'global.<native>' instead of just '<native>' to use natives in the intended global (passed parameter), especially important for the 'Error' object to avoid throwing in the wrong host
       new  e986dc8   fix variables polluting the namespace (@taromorimoto)
       new  a1259b9   Fixed typo in comments
       new  0d7777c   Update readme; mostly formatting.
       new  a3ca8cf   Update .npmignore.
       new  16d996f   Merge pull request #75 from domenic/minor-tweaks
       new  b276a44   Merge pull request #73 from victor-homyakov/patch-1
       new  6450191   changed status to beta for next 1.3.2 version
       new  280427c   reordered and removed negations from the RE_SIMPLE_SELECTOR definition (Victor Homyakov)
       new  078cc64   removed remaining 'NW.' prefixes to ensure namespacing under different names still works
       new  1ba21f7   reordered exports across branches (base/noqsa), synchronized version string and ensured it is exported/public in all of them
       new  fed8036   adjustments to make jsl (javascriptlint) happy
       new  8e4d030   more javascript lint related adjustments
       new  3ba3c84   explicitly scope references to native objects and methods to allow reusing code in other contexts
       new  8776de9   fix for NodeJS/jsdom which pass a global that does not contains references to native objects
       new  15dd42f   expose the source of the factory making code so it can be reused
       new  536e10e   Update website
       new  5c957ee   Merge pull request #78 from dvorapa/patch-2
       new  7c91076   Fixes https://github.com/dperini/nwmatcher/issues/79 Selectors on DocumentFragments (node type 11) are now able to match the children of its children. This is consistent with DocumentFragment.querySelector() in firefox and chrome.
       new  d9aa41b   Merge pull request #80 from Joris-van-der-Wel/master
       new  ed6dd66   pull request adjustments, removed comment lines and new keyword, comments are in 'nwmatcher.js'
       new  e3d0e0e   bumped version to 1.3.2, updated release date and copyright years, updated ender integration
       new  13ee101   fixed bug in headless javascript enviroments, missing declaration of  and  on the internal  (jbergknoff)
       new  ba198ec   bumped version to 1.3.3, updated release date and copyright years, updated tests and ender integration

The 774 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-nwmatcher.git



More information about the Pkg-javascript-commits mailing list