diff -r 8d33f6ebc961 src/org/armedbear/lisp/Pathname.java
--- a/src/org/armedbear/lisp/Pathname.java	Sun May 22 02:18:43 2011 +0000
+++ b/src/org/armedbear/lisp/Pathname.java	Mon May 23 17:43:24 2011 +0200
@@ -1254,6 +1254,7 @@
         boolean nameSupplied = false;
         boolean typeSupplied = false;
         boolean directorySupplied = false;
+        boolean versionSupplied = false;
         for (int i = 0; i < args.length; i += 2) {
             LispObject key = args[i];
             LispObject value = args[i + 1];
@@ -1290,6 +1291,7 @@
                 typeSupplied = true;
             } else if (key == Keyword.VERSION) {
                 version = value;
+                versionSupplied = true;
             } else if (key == Keyword.DEFAULTS) {
                 defaults = coerceToPathname(value);
             } else if (key == Keyword.CASE) {
@@ -1312,6 +1314,9 @@
             if (!typeSupplied) {
                 type = defaults.type;
             }
+            if (!versionSupplied) {
+                version = defaults.version;
+            }
         }
         final Pathname p;
         final boolean logical;
@@ -1385,6 +1390,7 @@
                 p.type = type;
             }
         }
+        
         p.version = version;
         return p;
     }
diff -r 8d33f6ebc961 src/org/armedbear/lisp/top-level.lisp
--- a/src/org/armedbear/lisp/top-level.lisp	Sun May 22 02:18:43 2011 +0000
+++ b/src/org/armedbear/lisp/top-level.lisp	Mon May 23 17:43:24 2011 +0200
@@ -419,7 +419,7 @@
               (results (multiple-value-list (sys:interactive-eval form))))
          (dolist (result results)
            (fresh-line out)
-           (prin1 result out)))))
+           (pprint result out)))))
 
 (defun top-level-loop ()
   (fresh-line)
diff -r 8d33f6ebc961 test/lisp/abcl/pathname-tests.lisp
--- a/test/lisp/abcl/pathname-tests.lisp	Sun May 22 02:18:43 2011 +0000
+++ b/test/lisp/abcl/pathname-tests.lisp	Mon May 23 17:43:24 2011 +0200
@@ -1717,3 +1717,11 @@
 (deftest pathname.make-pathname.1
     (make-pathname :directory nil :defaults "/home/fare/")
   #p"")
+
+(deftest pathname.make-pathname.2
+    (let ((p (make-pathname 
+              :defaults (make-pathname :name :wild :type :wild :version :wild :directory :wild))))
+      (values 
+       (pathname-name p) (pathname-type p) (pathname-version p) (pathname-directory p)))
+  :wild :wild :wild (:absolute :wild))
+      
\ No newline at end of file
