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