Reduce flag options to 'PREFIX, 'SUFFIX, or #F
authorJoe Marshall <jmarshall@alum.mit.edu>
Wed, 17 Mar 2010 09:42:43 +0000 (02:42 -0700)
committerJoe Marshall <jmarshall@alum.mit.edu>
Wed, 17 Mar 2010 09:42:43 +0000 (02:42 -0700)
src/runtime/keyword.scm

index 2ced2298b77a06ac8b3940d37e208ae79cbb6ba3..6bdab2d23bc6cdb954288ba8fcb55adf01f7bd03 100644 (file)
@@ -36,7 +36,7 @@ USA.
 
 ;;; *KEYWORD-STYLE*
 ;;
-;;  Should be one of DSSSL CL BOTH SRFI-88 or #f.
+;;  Should be one of PREFIX, SUFFIX, or #F.
 (define *keyword-style* #f)
 
 (define-structure (keyword
@@ -44,6 +44,9 @@ USA.
                   (conc-name keyword/)
                   (print-procedure (lambda (state object)
                                      (keyword-unparser state object))))
+  ;; logically, the name is a string, but
+  ;; we store it as a symbol so that the standard
+  ;; symbol-quoting conventions work.
   (name #f read-only #t))
 
 (define-guarantee keyword "Keyword object")
@@ -51,10 +54,10 @@ USA.
 (define (keyword-unparser state object)
   (let ((port (unparser-state/port state)))
     (case *keyword-style*
-      ((BOTH CL)
+      ((PREFIX)
        (write-char #\: port)
        (write (keyword/name object) port))
-      ((DSSSL SRFI-88)
+      ((SUFFIX)
        (write (keyword/name object) port)
        (write-char #\: port))
       (else