more robust Position.setmp_thread_data, independently of Output.debugging (essentially reverts f9ec18f7c0f6, which was motivated by clean exception_trace, but without transaction positions the Isabelle_Process protocol breaks down);
--- a/src/Pure/General/position.ML Fri May 21 17:26:42 2010 +0200
+++ b/src/Pure/General/position.ML Fri May 21 18:10:19 2010 +0200
@@ -173,9 +173,7 @@
fun thread_data () = the_default none (Thread.getLocal tag);
-fun setmp_thread_data pos f x =
- if ! Output.debugging then f x
- else Library.setmp_thread_data tag (thread_data ()) pos f x;
+fun setmp_thread_data pos = Library.setmp_thread_data tag (thread_data ()) pos;
end;