   # Matches and consumes non-meaningful whitespace. Tag the previous token
   # as being "spaced", because there are some cases where it makes a difference.
   whitespaceToken: ->
-    return false unless space = @match WHITESPACE
+    return false unless match = WHITESPACE.exec @chunk
     prev = @prev()
     prev.spaced = true if prev
-    @i += space.length
+    @i += match[0].length
     true
 
   # Generate a newline token. Consecutive newlines get merged together.

  # referenced as property names here, so you can still do `jQuery.is()` even
  # though `is` means `===` otherwise.
  identifierToken: ->
    return false unless id = @match IDENTIFIER
    @i += id.length
    if id is 'all' and @tag() is 'FOR'
      @token 'ALL', id

  stringToken: ->
    switch @chunk.charAt 0
      when "'"
        return false unless match = SIMPLESTR.exec @chunk
        @token 'STRING', (string = match[0]).replace MULTILINER, '\\\n'
      when '"'
        return false unless string = @balancedToken ['"', '"'], ['#{', '}']
        @interpolateString string.replace MULTILINER, '\\\n'
