(* A common problem: *) #def TWICE(e) e + e (* missing #enddef here *) let f x = TWICE(x) (* The error is detected by the parser at the end of the file, but we are able to report the location of the #def as the source of the problem. *)