         openBracketStack: openBracketStack
         lastClosedRow: lastClosedRow
         shouldHang: shouldHang
-        lastFunctionRow: lastFunctionRow
+        lastColonRow: lastColonRow
 
   indentHanging: (row, previousLine) ->
     # Indent at the current block level plus the setting amount (1 or 2)

    # i.e., did this string start with ' or with "?
    stringDelimiter = []
    # this is the row of the last function definition
    lastFunctionRow = NaN

    # NOTE: this parsing will only be correct if the python code is well-formed
    #       statements like "[0, (1, 2])" might break the parsing


                    # Similar to above, we've already skipped all irrelevant characters,
                    # so if we saw a colon earlier in this line, then we would have
                    # incorrectly thought it was the end of a def/for/if/elif/else/try/except
                    # block when it was actually a dictionary being defined, reset the
                    # lastColonRow variable to whatever it was when we started parsing this line.
                    lastColonRow = lastlastColonRow

                    if c == ':'
                        lastColonRow = row
                    else if c in '})]' and openBracketStack.length
                        # Note that the .pop() will take the element off of the openBracketStack
                        # as it adds it to the array for lastClosedRow.
