diff --git a/ansi-tests/load-eval-and-compile.lsp b/ansi-tests/load-eval-and-compile.lsp
index 422a8d978fdfd6f136c79210af0877da0b19f12c..ffdf524e7f0cc393f1facea2feef0c3d9ee78f49 100644
--- a/ansi-tests/load-eval-and-compile.lsp
+++ b/ansi-tests/load-eval-and-compile.lsp
@@ -19,3 +19,5 @@
 (load "dynamic-extent.lsp")
 (load "optimize.lsp")
 (load "special.lsp")
+(load "macroexpand.lsp")
+(load "macroexpand-1.lsp")
diff --git a/ansi-tests/macroexpand-1.lsp b/ansi-tests/macroexpand-1.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..0b4251a29a9800cc5d2ec92c2cceb922bdf9d705
--- /dev/null
+++ b/ansi-tests/macroexpand-1.lsp
@@ -0,0 +1,58 @@
+;-*- Mode:     Lisp -*-
+;;;; Author:   Paul Dietz
+;;;; Created:  Sat May 28 13:47:32 2005
+;;;; Contains: Tests of MACROEXPAND-1
+
+(in-package :cl-test)
+
+(deftest macroexpand-1.error.1
+  (signals-error (macroexpand-1) program-error)
+  t)
+
+(deftest macroexpand-1.error.2
+  (signals-error (macroexpand-1 'x nil nil) program-error)
+  t)
+
+;;; Non-error tests
+
+(deftest macroexpand-1.1
+  (loop for x in *universe*
+	unless (or (symbolp x)
+		   (consp x)
+		   (eql (macroexpand-1 x) x))
+	collect (list x (macroexpand-1 x)))
+  nil)
+
+(deftest macroexpand-1.2
+  (loop for x in *universe*
+	unless (or (symbolp x)
+		   (consp x)
+		   (eql (macroexpand-1 x nil) x))
+	collect (list x (macroexpand-1 x nil)))
+  nil)
+
+(deftest macroexpand-1.3
+  (macrolet ((%m (&environment env)
+		 `(quote
+		   ,(loop for x in *universe*
+			  unless (or (symbolp x)
+				     (consp x)
+				     (eql (macroexpand-1 x env) x))
+			  collect (list x (macroexpand-1 x env))))))
+    (%m))
+  nil)
+
+(deftest macroexpand-1.4
+  (macrolet ((%m () ''foo))
+    (macrolet ((%m2 (&environment env)
+		    (macroexpand-1 '(%m) env)))
+      (%m2)))
+  foo)
+
+
+
+
+
+
+  
+
diff --git a/ansi-tests/macroexpand.lsp b/ansi-tests/macroexpand.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..956faec8a10713d3f91282239716b62d44d0aff2
--- /dev/null
+++ b/ansi-tests/macroexpand.lsp
@@ -0,0 +1,57 @@
+;-*- Mode:     Lisp -*-
+;;;; Author:   Paul Dietz
+;;;; Created:  Sat May 28 13:43:00 2005
+;;;; Contains: Tests of MACROEXPAND
+
+(in-package :cl-test)
+
+(deftest macroexpand.error.1
+  (signals-error (macroexpand) program-error)
+  t)
+
+(deftest macroexpand.error.2
+  (signals-error (macroexpand 'x nil nil) program-error)
+  t)
+
+;;; Non-error tests
+
+(deftest macroexpand.1
+  (loop for x in *universe*
+	unless (or (symbolp x)
+		   (consp x)
+		   (eql (macroexpand x) x))
+	collect (list x (macroexpand x)))
+  nil)
+
+(deftest macroexpand.2
+  (loop for x in *universe*
+	unless (or (symbolp x)
+		   (consp x)
+		   (eql (macroexpand x nil) x))
+	collect (list x (macroexpand x nil)))
+  nil)
+
+(deftest macroexpand.3
+  (macrolet ((%m (&environment env)
+		 `(quote
+		   ,(loop for x in *universe*
+			  unless (or (symbolp x)
+				     (consp x)
+				     (eql (macroexpand x env) x))
+			  collect (list x (macroexpand x env))))))
+    (%m))
+  nil)
+
+(deftest macroexpand.4
+  (macrolet ((%m () ''foo))
+    (macrolet ((%m2 (&environment env)
+		    (macroexpand '(%m) env)))
+      (%m2)))
+  foo)
+
+
+
+
+
+
+