From 8b500703872cfab9cf5a0fe5e11f3e63cc815bbd Mon Sep 17 00:00:00 2001
From: Chris Hanson <org/chris-hanson/cph>
Date: Sun, 20 May 2018 17:27:50 -0700
Subject: [PATCH] Change symbol<? to sort interned symbols before uninterned.

---
 src/runtime/symbol.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/runtime/symbol.scm b/src/runtime/symbol.scm
index 43e31cb69..b6919bacc 100644
--- a/src/runtime/symbol.scm
+++ b/src/runtime/symbol.scm
@@ -90,10 +90,15 @@ USA.
   (string-hash (symbol->string symbol) modulus))
 
 (define (symbol<? x y)
-  (string<? (symbol->string x) (symbol->string y)))
+  (let ((sx (symbol->string x))
+	(sy (symbol->string y)))
+    (or (string<? sx sy)
+	(and (string=? sx sy)
+	     (interned-symbol? sx)
+	     (uninterned-symbol? sy)))))
 
 (define (symbol>? x y)
-  (string<? (symbol->string y) (symbol->string x)))
+  (symbol<? y x))
 
 (define generate-uninterned-symbol
   (let ((mutex (make-thread-mutex))
-- 
2.25.1