Manually reversed merge that included Lexer refactoring that was causing issues.  Cherry picked all commits from master and 9.4 branch that did not involve lexer refactoring.  Now passes all unit tests again.