allow - in idents
0.88s -> 0.17s for 8.8MB get-heavy file, mostly using _unlocked file functions
remove ungetc call. 0.17s -> 0.09s