diff --git a/.dir-locals.el b/.dir-locals.el
new file mode 100644
index 0000000000000000000000000000000000000000..b8cc571f90314fbc7f44b171f0c4adc0a5e38cf6
--- /dev/null
+++ b/.dir-locals.el
@@ -0,0 +1,8 @@
+;;; Directory Local Variables
+;;; For more information see (info "(emacs) Directory Variables")
+
+((nil
+  (indent-tabs-mode . nil) ; Make sure to disable smart-tabs-mode if you're using it.
+  (whitespace-action . nil)
+  (whitespace-style . '(face trailing empty tabs))
+  ))
diff --git a/.gitignore b/.gitignore
index e77a14ff90c30b4ca90f27b54083b81f94c268ee..124d4589714f8e2296b51b7ce0383b4fc206096c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,11 @@
 *.out
 *.dat
 *.fas
+*.fasl
+*.lx64fsl
+*.lx32fsl
+*.bc
+sandbox/
 ansi-aux-macros.fas
 ansi-aux.fas
 array-aux.fas
diff --git a/README b/README
index 06a62b7e145bfe0ac0df4353c50dd1a0917d63ac..f0de4a02582eaeb55360031bfb7cd3e702396ee1 100644
--- a/README
+++ b/README
@@ -39,7 +39,7 @@ please contact me and I will add code to do so.
 NOTE!!!
 
 This test suite is not intended to rank Common Lisp implementations.
-The tests have not be selected to reflect the importance or
+The tests have not been selected to reflect the importance or
 relative frequency of different CL features.  Implementations may
 even have extended the CL standard (arguably a good thing) in
 a way that causes certain tests to fail.
diff --git a/doit.lsp b/doit.lsp
index c3be0b96f5643a87caf624de47166b1d58019762..e052fc0d704c1eca11a55d51396541fc2f91ce26 100644
--- a/doit.lsp
+++ b/doit.lsp
@@ -6,13 +6,18 @@
 
 #+allegro (setq *enclose-printer-errors* nil)
 
+(let ((wd (or *compile-file-pathname* *load-pathname*)))
+  (when wd
+    (setf *default-pathname-defaults*
+          (make-pathname :name nil :type nil :version nil :defaults wd))))
+
 ;;; Remove compiled files
 (let* ((fn (compile-file-pathname "doit.lsp"))
        (type (pathname-type fn))
        (dir-pathname (make-pathname :name :wild :type type))
        (subdir-pathname (make-pathname :directory '(:relative :wild)
                                        :name :wild :type type))
-       (format-pathname (make-pathname :directory '(:relative "printer/format")
+       (format-pathname (make-pathname :directory '(:relative "printer" "format")
                                        :name :wild :type type))
        (files (append (directory dir-pathname)
                       (directory subdir-pathname)
diff --git a/gclload1.lsp b/gclload1.lsp
index fef7cef38d4e258a69f5fe3773c7e467117ff44c..22b1861b0dac2e63049aa4a20091aef067b7c346 100644
--- a/gclload1.lsp
+++ b/gclload1.lsp
@@ -15,12 +15,12 @@
 #+clisp (setq custom::*warn-on-floating-point-contagion* nil)
 
 ;;; Configure logical pathnames
-(setf (logical-pathname-translations "ansi-tests")
-      `(("aux;*.*" ,(merge-pathnames
-                     "auxiliary/"
-                     (make-pathname
-                      :directory
-                      (pathname-directory *load-truename*))))))
+(setf (logical-pathname-translations "ANSI-TESTS")
+      `(("AUX;*.*.*"
+         ,(merge-pathnames "auxiliary/"
+                           (make-pathname
+                            :directory
+                            (pathname-directory *load-truename*))))))
 
 (let (*load-verbose* *load-print* *compile-verbose* *compile-print*)
   (load "compile-and-load.lsp"))
diff --git a/reader/read-suppress.lsp b/reader/read-suppress.lsp
index e00a78cf44757329e342ef964426dbdc7d84d7be..a8eccd5bdf1f05d82be870429349d41adae9d513 100644
--- a/reader/read-suppress.lsp
+++ b/reader/read-suppress.lsp
@@ -27,7 +27,8 @@
 (def-read-suppress-test read-suppress.12 "(...)")
 
 (defparameter *non-macro-chars*
-  "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-=+_~!@$%^&*{}[]<>/?.")
+  (coerce "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-=+_~!@$%^&*{}[]<>/?."
+          'simple-base-string))
 
 (declaim (type simple-base-string *non-macro-chars*))