clarified error output vs. process_result stored in build_database (see also 13a0f537e232 and bff56eae3ec5);
--- a/src/Pure/Tools/build_process.scala Mon Feb 27 10:26:36 2023 +0100
+++ b/src/Pure/Tools/build_process.scala Mon Feb 27 11:02:07 2023 +0100
@@ -557,13 +557,6 @@
val output_heap = job.finish
val log_lines = process_result.out_lines.filterNot(Protocol_Message.Marker.test)
- val process_result_tail = {
- val tail = job.info.options.int("process_output_tail")
- process_result.copy(
- out_lines =
- "(more details via \"isabelle log -H Error " + session_name + "\")" ::
- (if (tail == 0) log_lines else log_lines.drop(log_lines.length - tail max 0)))
- }
val build_log =
Build_Log.Log_File(session_name, process_result.out_lines).
@@ -597,14 +590,19 @@
}
else {
progress.echo(session_name + " FAILED")
- if (!process_result.interrupted) progress.echo(process_result_tail.out)
+ if (!process_result.interrupted) {
+ progress.echo("(more details via \"isabelle log -H Error " + session_name + "\")")
+ val tail = job.info.options.int("process_output_tail")
+ val suffix = if (tail == 0) log_lines else log_lines.drop(log_lines.length - tail max 0)
+ progress.echo(Library.trim_line(cat_lines(suffix)))
+ }
}
synchronized {
_state = _state.
remove_pending(session_name).
remove_running(session_name).
- make_result(session_name, false, output_heap, process_result_tail, node_info = job.node_info)
+ make_result(session_name, false, output_heap, process_result, node_info = job.node_info)
}
}