From 9d572e5dec980b0a9572c5a888986b4497e92a5c Mon Sep 17 00:00:00 2001 From: Richard M Kreuter Date: Wed, 16 Jul 2008 19:21:03 +0000 Subject: [PATCH] 1.0.18.20: Fewer STYLE-WARNINGs. * Change definition of UNINTERESTING-ORDINARY-FUNCTION-REDEFINITION-P so that replacing an interpreted function is always uninteresting when the new definition comes from the same file. * Monkey with source-locations so that they get created during LOAD of a source file when *EVALUATOR-MODE* is :INTERPRET. --- package-data-list.lisp-expr | 1 + src/code/condition.lisp | 9 ++++----- src/code/early-source-location.lisp | 5 ++--- src/code/source-location.lisp | 8 +++++++- version.lisp-expr | 2 +- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/package-data-list.lisp-expr b/package-data-list.lisp-expr index 411f3ea..7238807 100644 --- a/package-data-list.lisp-expr +++ b/package-data-list.lisp-expr @@ -272,6 +272,7 @@ of SBCL which maintained the CMU-CL-style split into two packages.)" "FUN-INFO-DERIVE-TYPE" "FUN-INFO-IR2-CONVERT" "FUN-INFO-LTN-ANNOTATE" "FUN-INFO-OPTIMIZER" "GET-VECTOR-SUBTYPE" + "GET-TOPLEVELISH-FILE-INFO" "HALT" "IF-EQ" "INLINE-SYNTACTIC-CLOSURE-LAMBDA" "INSERT-STEP-CONDITIONS" diff --git a/src/code/condition.lisp b/src/code/condition.lisp index ace650c..07dca98 100644 --- a/src/code/condition.lisp +++ b/src/code/condition.lisp @@ -1398,11 +1398,10 @@ is signaled, if the warning if of this type, it will be muffled.") ;; clearly uninteresting, and we'll say arbitrarily that ;; replacing an interpreted function with an interpreted ;; function is uninteresting, too, but leave out the - ;; compiled-to-interpreted and interpreted-to-compiled cases. - (when (or (and (typep old-fdefn - '(or #!+sb-eval sb!eval:interpreted-function)) - (typep new-fdefn - '(or #!+sb-eval sb!eval:interpreted-function))) + ;; compiled-to-interpreted case. + (when (or (typep + old-fdefn + '(or #!+sb-eval sb!eval:interpreted-function)) (and (typep old-fdefn '(and compiled-function (not funcallable-instance))) diff --git a/src/code/early-source-location.lisp b/src/code/early-source-location.lisp index e7018e3..bb2fcda 100644 --- a/src/code/early-source-location.lisp +++ b/src/code/early-source-location.lisp @@ -23,8 +23,7 @@ (defvar *source-location-thunks* nil) -;; Should get called only in unusual circumstances. Normally handled -;; by a compiler macro. +;; Will be redefined in src/code/source-location.lisp. (defun source-location () nil) @@ -35,7 +34,7 @@ (symbol-value '*source-info*)) `(cons ,(make-file-info-namestring *compile-file-pathname* - (source-info-file-info (symbol-value '*source-info*))) + (sb!c:get-toplevelish-file-info (symbol-value '*source-info*))) ,(when (boundp '*current-path*) (source-path-tlf-number (symbol-value '*current-path*)))))) diff --git a/src/code/source-location.lisp b/src/code/source-location.lisp index 9cb1a9a..be5d1fd 100644 --- a/src/code/source-location.lisp +++ b/src/code/source-location.lisp @@ -19,7 +19,7 @@ (when (and (boundp '*source-info*) *source-info*) (make-file-info-namestring *compile-file-pathname* - (source-info-file-info *source-info*))) + (sb!c:get-toplevelish-file-info *source-info*))) :type (or string null)) ;; Toplevel form index (toplevel-form-number @@ -53,6 +53,12 @@ (declare (ignore env)) #-sb-xc-host (make-definition-source-location)) +;; We need a regular definition of SOURCE-LOCATION for calls processed +;; during LOAD on a source file while *EVALUATOR-MODE* is :INTERPRET. +#!+sb-source-locations +(setf (symbol-function 'source-location) + (lambda () (make-definition-source-location))) + (/show0 "/Processing source location thunks") #!+sb-source-locations (dolist (fun *source-location-thunks*) diff --git a/version.lisp-expr b/version.lisp-expr index be751d8..dc841e8 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; 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.18.19" +"1.0.18.20" -- 1.7.10.4