lexical.c, new function cp_readchar() for abstraction
lexical.c, simplify using cp_readchar()
lexical.c, simplify
lexical.c, avoid to read beyond end of `string'
lexical.c, change semantics of an ESCAPE in a given input `string'

now simply skip it.

presumably and in accordance to what the comments seems to suggest
  ESCAPE never was really meant to be read as '['
  but was replaced just to get it out of way deeper in the for loop
  where an ESCAPE starts an ancient mechanism to reenter
    interactive input via a terminals TIOCSTI capability