diml/utop — pull request #66 by whitequark (2014-05-06 17:43:21+00:00)
Title: Run ppx preprocessors before typing and report their errors gracefully

For example:
```
Welcome to utop version 1.12 (using OCaml version 4.02.0+dev5-2014-04-29)!

# [%getenv "USER"];;
- : bytes = "whitequark"
# #require "protobuf";;
# type a = int [@@protobuf];;
type a = int
val a_from_protobuf : Protobuf.Decoder.t -> int =
val a_to_protobuf : int -> Protobuf.Encoder.t -> unit =
# type b [@@protobuf]! Characters 5-19:
! Abstract types are not supported
;;
! Error: Error while running external preprocessor
! Command line: ppx_protobuf '/tmp/camlppx7a5b69' '/tmp/camlppxcc8064'
!
#
```

As you can see, errors are currently somewhat botched in emacs mode (and in the console they're just overwritten by lambda-term). This is blocked on http://caml.inria.fr/mantis/view.php?id=6399