--- a/src/Pure/Tools/codegen_serializer.ML Thu Jan 25 09:32:51 2007 +0100
+++ b/src/Pure/Tools/codegen_serializer.ML Thu Jan 25 09:32:56 2007 +0100
@@ -621,7 +621,11 @@
val (ps, vars') = fold_map pr binds vars;
in brackets (str "fun" :: ps @ str "->" @@ pr_term vars' NOBR t') end
| pr_term vars fxy (INum n) =
- brackets [str "Big_int.big_int_of_int", (str o IntInf.toString) n]
+ if n > 0 then
+ brackify fxy [str "Big_int.big_int_of_int", (str o IntInf.toString) n]
+ else
+ brackify fxy [str "Big_int.big_int_of_int",
+ (str o enclose "(" ")" o prefix "-" o IntInf.toString o op ~) n]
| pr_term vars _ (IChar c) =
(str o enclose "'" "'")
(let val i = ord c