From a48683da9e857515b738f5ab9e70959ff8b09d64 Mon Sep 17 00:00:00 2001
From: gerd <gerd>
Date: Sat, 14 Jun 2003 14:37:00 +0000
Subject: [PATCH] 	* src/code/reader.lisp (read-token): Fix last change.

	* src/code/package.lisp (relative-package-name-to-package): Handle
	the case of an empty name.
---
 code/package.lisp |  5 +++--
 code/reader.lisp  | 12 ++++++------
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/code/package.lisp b/code/package.lisp
index 998f797de..4c6fbb85c 100644
--- a/code/package.lisp
+++ b/code/package.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/package.lisp,v 1.68 2003/06/07 17:56:28 toy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/package.lisp,v 1.69 2003/06/14 14:37:00 gerd Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -352,7 +352,8 @@
 		((= i len) nil)
              (declare (type index len i))
              (when (char/= #\. (schar name i)) (return i)))))
-    (when (char= #\. (schar name 0))
+    (when (and (plusp (length name))
+	       (char= #\. (schar name 0)))
       (let* ((last-dot-position (or (find-non-dot name) (length name)))
              (n-dots last-dot-position)
              (name (subseq name last-dot-position)))
diff --git a/code/reader.lisp b/code/reader.lisp
index 26cd23709..1aa26aeba 100644
--- a/code/reader.lisp
+++ b/code/reader.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/reader.lisp,v 1.35 2003/06/14 12:21:39 gerd Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/reader.lisp,v 1.36 2003/06/14 14:37:00 gerd Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1066,8 +1066,10 @@
 	(%reader-error stream "Too many colons in ~S"
 		      (read-buffer-to-string)))
       (setq colons 1)
-      (setq package (read-buffer-to-string))
-
+      (setq package
+	    (if (eql (char-class firstchar) #.package-delimiter)
+		*keyword-package*
+		(read-buffer-to-string)))
       (reset-read-buffer)
       (setq escapes ())
       (setq char (read-char stream nil nil))
@@ -1099,9 +1101,7 @@
       RETURN-SYMBOL
       (casify-read-buffer escapes)
       (let ((found (if package
-		       (if (zerop (length package))
-			   *keyword-package*
-			   (find-package package))
+		       (find-package package)
 		       *package*)))
 	(unless found
 	  (error 'reader-package-error :stream stream
-- 
GitLab