diff --git a/ghc/interpreter/prelude/Prelude.hs b/ghc/interpreter/prelude/Prelude.hs
index 227df90e8534e5bb3465150492e9fa5f83cfd1f3..19a1af4427e9c9b988d26af6f33fef11df1f5384 100644
--- a/ghc/interpreter/prelude/Prelude.hs
+++ b/ghc/interpreter/prelude/Prelude.hs
@@ -1,16 +1,16 @@
 #include "options.h"
 
 #if BIGNUM_IS_INT64
-#define primToBignum(t)   prim##t##ToInt64
-#define primFromBignum(t) primInt64To##t
+#define primToBignum(t)   prim/**/t/**/ToInt64
+#define primFromBignum(t) primInt64To/**/t
 #define primInt64ToInt64 id
 #define	primEncodeFloat primEncodeFloatz
 #define	primDecodeFloat	primDecodeFloatz
 #define	primEncodeDouble primEncodeDoublez
 #define	primDecodeDouble primDecodeDoublez
 #elif BIGNUM_IS_INTEGER
-#define primToBignum(t)   prim##t##ToInteger
-#define primFromBignum(t) primIntegerTo##t
+#define primToBignum(t)   prim/**/t/**/ToInteger
+#define primFromBignum(t) primIntegerTo/**/t
 #define primIntegerToInteger id
 #define	primEncodeFloat primEncodeFloatZ
 #define	primDecodeFloat	primDecodeFloatZ
diff --git a/ghc/lib/std/CPUTime.lhs b/ghc/lib/std/CPUTime.lhs
index 1256d23cb079f45440abb01735857993870cf62d..a90c8ae1e3102432eee19d63591a994c01728db0 100644
--- a/ghc/lib/std/CPUTime.lhs
+++ b/ghc/lib/std/CPUTime.lhs
@@ -28,7 +28,7 @@ import IO		( ioError )
 import Ratio
 
 #ifdef __HUGS__
-#define cat2(x,y)  x##y
+#define cat2(x,y)  x/**/y
 #define CCALL(fun) cat2(prim_,fun)
 #define stToIO id
 #define sizeof_int64 8
diff --git a/ghc/lib/std/IO.lhs b/ghc/lib/std/IO.lhs
index b9a28ab066d1543fd2d76dcc0b19d8febefb86e9..aeb30253cb9e7fe1ff04833b508c3f939bc3e198 100644
--- a/ghc/lib/std/IO.lhs
+++ b/ghc/lib/std/IO.lhs
@@ -127,7 +127,7 @@ import Char		( ord, chr )
 #ifndef HEAD
 
 #ifdef __HUGS__
-#define cat2(x,y)  x##y
+#define cat2(x,y)  x/**/y
 #define CCALL(fun) cat2(prim_,fun)
 #define __CONCURRENT_HASKELL__
 #define stToIO id
diff --git a/ghc/lib/std/PrelHandle.lhs b/ghc/lib/std/PrelHandle.lhs
index 52d66821e42e39fd1ac5c640aa114ca435e31cd5..0886f9a588646d11622c2e3362c8d8a969eb5e1e 100644
--- a/ghc/lib/std/PrelHandle.lhs
+++ b/ghc/lib/std/PrelHandle.lhs
@@ -42,7 +42,7 @@ import PrelForeign  ( makeForeignObj )
 #endif /* ndef(__HUGS__) */
 
 #ifdef __HUGS__
-#define cat2(x,y)  x##y
+#define cat2(x,y)  x/**/y
 #define CCALL(fun) cat2(prim_,fun)
 #define __CONCURRENT_HASKELL__
 #define stToIO id
diff --git a/ghc/lib/std/PrelIOBase.lhs b/ghc/lib/std/PrelIOBase.lhs
index d9ba18825649d86a785c893b6f3035a941a6861b..2e43613234ca44deb21f318048264bd29f3e08d5 100644
--- a/ghc/lib/std/PrelIOBase.lhs
+++ b/ghc/lib/std/PrelIOBase.lhs
@@ -1,5 +1,5 @@
 % -----------------------------------------------------------------------------
-% $Id: PrelIOBase.lhs,v 1.11 1999/06/12 16:17:26 keithw Exp $
+% $Id: PrelIOBase.lhs,v 1.12 1999/08/23 12:53:25 keithw Exp $
 % 
 % (c) The AQUA Project, Glasgow University, 1994-1998
 %
@@ -33,7 +33,7 @@ import PrelArr	  ( MutableVar, readVar )
 #endif
 
 #ifdef __HUGS__
-#define cat2(x,y)  x##y
+#define cat2(x,y)  x/**/y
 #define CCALL(fun) cat2(prim_,fun)
 #define __CONCURRENT_HASKELL__
 #define stToIO id
diff --git a/ghc/tests/lib/should_run/enum01.hs b/ghc/tests/lib/should_run/enum01.hs
index 197c401b056303fbf1ba49f64d6f498ff5fa435d..9254b400e26a3c05821086ac927770b5c583caac 100644
--- a/ghc/tests/lib/should_run/enum01.hs
+++ b/ghc/tests/lib/should_run/enum01.hs
@@ -81,7 +81,7 @@ main = do
   OK - on with the regression testing.
 -}
 
-#define printTest(x) (do{ putStr ( "    " ++ #x ++ " = " ) ; print (x) })
+#define printTest(x) (do{ putStr ( "    " ++ "x" ++ " = " ) ; print (x) })
 
 
 testEnumInt :: IO ()
diff --git a/ghc/tests/lib/should_run/enum02.hs b/ghc/tests/lib/should_run/enum02.hs
index abd5725b80eb8c08c4046d837ce8150d4f5b1ee8..27be3fddd11bf93b5f8835246df918d68dc8cd98 100644
--- a/ghc/tests/lib/should_run/enum02.hs
+++ b/ghc/tests/lib/should_run/enum02.hs
@@ -14,7 +14,7 @@ main = do
   putStrLn "Testing Enum Int64:"
   testEnumInt64
 
-#define printTest(x) (do{ putStr ( "    " ++ #x ++ " = " ) ; print (x) })
+#define printTest(x) (do{ putStr ( "    " ++ "x" ++ " = " ) ; print (x) })
 
 testEnumInt8 :: IO ()
 testEnumInt8 = do
diff --git a/ghc/tests/lib/should_run/enum03.hs b/ghc/tests/lib/should_run/enum03.hs
index 3eb29655c2b125244c210bcf12ade9ffc52d0b47..6d253333fe03dc4c5e759a517a664503ac14d282 100644
--- a/ghc/tests/lib/should_run/enum03.hs
+++ b/ghc/tests/lib/should_run/enum03.hs
@@ -15,7 +15,7 @@ main = do
   testEnumWord64
 
 
-#define printTest(x) (do{ putStr ( "    " ++ #x ++ " = " ) ; print (x) })
+#define printTest(x) (do{ putStr ( "    " ++ "x" ++ " = " ) ; print (x) })
 
 testEnumWord8 :: IO ()
 testEnumWord8 = do