-* The print system doesn't conform to ANSI
- "22.1.3.3.1 Package Prefixes for Symbols" for keywords printed when
- *PACKAGE* is the KEYWORD package.
-
- from a message by Ray Toy on CMU CL mailing list Fri, 28 Apr 2000:
-
-In a discussion on comp.lang.lisp, the following code was given (by
-Erik Naggum):
-
-(let ((*package* (find-package :keyword)))
- (write-to-string object :readably t))
-
-If OBJECT is a keyword, CMUCL prints out the keyword, but without a
-colon. Hence, it's not readable, as requested.
-
-I think the following patch will make this work as expected. The
-patch just basically checks for the keyword package first before
-checking the current package.
-
-Ray
-
---- ../cmucl-18c/src/code/print.lisp Wed Dec 8 14:33:47 1999
-+++ ../cmucl-18c/new/code/print.lisp Fri Apr 28 09:21:29 2000
-@@ -605,12 +605,12 @@
- (let ((package (symbol-package object))
- (name (symbol-name object)))
- (cond
-- ;; If the symbol's home package is the current one, then a
-- ;; prefix is never necessary.
-- ((eq package *package*))
- ;; If the symbol is in the keyword package, output a colon.
- ((eq package *keyword-package*)
- (write-char #\: stream))
-+ ;; If the symbol's home package is the current one, then a
-+ ;; prefix is never necessary.
-+ ((eq package *package*))
- ;; Uninterned symbols print with a leading #:.
- ((null package)
- (when (or *print-gensym* *print-readably*)
-