
diff -r a51ce445d498 -r 0b615ac7eeaf src/HOL/ex/Term_Of_Syntax.thy
--- a/src/HOL/ex/Term_Of_Syntax.thy	Wed May 13 18:41:40 2009 +0200
+++ b/src/HOL/ex/Term_Of_Syntax.thy	Wed May 13 18:41:54 2009 +0200
@@ -31,9 +31,9 @@
 
 setup {*
 let
-  val subst_rterm_of = Eval.mk_term
-    (fn (v, _) => error ("illegal free variable in term quotation: " ^ quote v))
-    (Typerep.mk (fn (v, sort) => Typerep.typerep (TFree (v, sort))));
+  val subst_rterm_of = map_aterms
+    (fn Free (v, _) => error ("illegal free variable in term quotation: " ^ quote v) | t => t)
+      o HOLogic.reflect_term;
   fun subst_rterm_of' (Const (@{const_name rterm_of}, _), [t]) = subst_rterm_of t
     | subst_rterm_of' (Const (@{const_name rterm_of}, _), _) =
         error ("illegal number of arguments for " ^ quote @{const_name rterm_of})




