diff --git a/code/package.lisp b/code/package.lisp index 998f797de418dfb99471a274c2e18d8b11e19a56..4c6fbb85c000f4044ad3268c5778483376b5f08c 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 26cd23709b73d5df8dc322941f4d9c22f6d875cd..1aa26aeba5995564181cbf7fd29223fcb3f63723 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