From 795366b0c0d2dd19c19d1c3fd079eb9cf2ac8f7d Mon Sep 17 00:00:00 2001
From: "Robert P. Goldman" <rpgoldman@gmail.com>
Date: Wed, 26 Feb 2014 09:05:33 -0600
Subject: [PATCH] Check to ensure systems have lower-case names.

---
 parse-defsystem.lisp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/parse-defsystem.lisp b/parse-defsystem.lisp
index ab32c864..37d8b8e9 100644
--- a/parse-defsystem.lisp
+++ b/parse-defsystem.lisp
@@ -247,7 +247,13 @@ system names contained using COERCE-NAME. Return the result."
     ;; that is registered to a different location to find-system,
     ;; we also need to remember it in a special variable *systems-being-defined*.
     (with-system-definitions ()
-      (let* ((name (string-downcase (coerce-name name)))
+      (let* ((name (let ((rawname (coerce-name name)))
+                     (unless (equal (string-downcase rawname) rawname)
+                       (cerror "Continue, using downcased system name."
+                               'formatted-system-definition-error
+                               :format-control
+                               "Error, systems must have lowercase names."))
+                     (string-downcase rawname)))
              (source-file (if sfp source-file (resolve-symlinks* (load-pathname))))
              (registered (system-registered-p name))
              (registered! (if registered
-- 
GitLab