was broken. (reporteed by Willem Broekema)
* bug fix: SB-EXT:NATIVE-NAMESTRING on Windows did not work on
pathnames without a directory.
+ * bug fix: COMPILE-FILE did not warn about undefined variable
+ references at toplevel, and LOAD of the resulting fasl did
+ not signal an error.
changes in sbcl-1.0.21 relative to 1.0.20:
* new feature: the compiler is able to track the effective type of a
;; Special variable
(fopcompile `(symbol-value ',form) path for-value-p)
;; Lexical
- (when for-value-p
- (let* ((lambda-var (cdr (assoc form (lexenv-vars *lexenv*))))
- (handle (when lambda-var
- (lambda-var-fop-value lambda-var))))
- (if handle
- (sb!fasl::dump-push handle
- *compile-object*)
- (progn
- ;; Undefined variable. Signal a warning, and
- ;; treat it as a special variable reference,
- ;; like the real compiler does.
- (note-undefined-reference form :variable)
- (fopcompile `(symbol-value ',form)
- path
- for-value-p))))))))))
+ (let* ((lambda-var (cdr (assoc form (lexenv-vars *lexenv*))))
+ (handle (when lambda-var
+ (lambda-var-fop-value lambda-var))))
+ (if handle
+ (when for-value-p
+ (sb!fasl::dump-push handle *compile-object*))
+ (progn
+ ;; Undefined variable. Signal a warning, and
+ ;; treat it as a special variable reference, like
+ ;; the real compiler does -- do not elide even if
+ ;; the value is unused.
+ (note-undefined-reference form :variable)
+ (fopcompile `(symbol-value ',form)
+ path
+ for-value-p)))))))))
((listp form)
(multiple-value-bind (macroexpansion macroexpanded-p)
(sb!xc:macroexpand form *lexenv*)
;;; I'm aware of, but they look like they might be useful for
;;; debugging or performance tweaking or something, so I've just
;;; commented them out instead of deleting them. -- WHN 2001-03-28
+#||
(defun list-dfun (gf)
(let* ((sym (type-of (gf-dfun-info gf)))
(a (assq sym *dfun-list*)))
;;; 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".)
-"1.0.21.21"
+"1.0.21.22"