Summary
- merged
- more robust: process stdout on Windows may contain CR;
- clarified signature; more inlined protocol messages;
- prefer system option: easier to make it default;
- support multiple sessions, notably for "isabelle build -P -j2";
- pretty formatting as in Isabelle/ML;
- output prover messages;
- clarified signature;
- clarified signature: more robust;
- proper parent base;
- traditional print_mode for batch build;
- proper support for "isabelle build -P Pure";
- clarified signature: more robust bootstrap base;
- proper startup for Pure: its use_prelude produces stdout before stderr protocol init;
- proper context for loading Pure;
- clarified signature of ML_Process vs. Isabelle_Process: proper support for "isabelle build -P -b";
- close socket explicitly (idempotent);
- more robust message_context and shutdown, e.g. after errors in protocol loop (see also 3f02bc5a5a03);
- simplified code and proofs
- automated proof