(let ((entry (assoc label *sharp-equal-alist*)))
(if entry
(third entry)
- (let ((pair (assoc label *sharp-sharp-alist*)))
+ (let (;; Has this label been defined previously? (Don't read
+ ;; ANSI "2.4.8.15 Sharpsign Equal-Sign" and worry that
+ ;; it requires you to implement forward references,
+ ;; because forward references are disallowed in
+ ;; "2.4.8.16 Sharpsign Sharpsign".)
+ (pair (assoc label *sharp-sharp-alist*)))
(unless pair
- (%reader-error stream "object is not labelled #~S#" label))
+ (%reader-error stream "reference to undefined label #~D#" label))
(cdr pair)))))
\f
;;;; conditional compilation: the #+ and #- readmacros
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.13.43"
+"0.9.13.44"