~ chicken-core (chicken-5) 8b46d1936fc5782c739014cbfe6af2d32ff3319a


commit 8b46d1936fc5782c739014cbfe6af2d32ff3319a
Author:     megane <meganeka@gmail.com>
AuthorDate: Mon Nov 19 13:45:43 2018 +0200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Sat Mar 9 20:30:05 2019 +1300

    Pretty print deprecation messages
    
    Signed-off-by: Evan Hanson <evhan@foldling.org>

diff --git a/scrutinizer.scm b/scrutinizer.scm
index 469df25a..26ca3237 100644
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -219,18 +219,15 @@
 	    ((char? lit) 'char)
 	    (else '*)))
 
-    (define (global-result id loc)
+    (define (global-result id loc node)
       (cond ((variable-mark id '##compiler#type) =>
 	     (lambda (a)
 	       (cond
 		((eq? a 'deprecated)
-		 (report loc "use of deprecated `~a'" id)
+		 (r-deprecated-identifier loc node id)
 		 '(*))
 		((and (pair? a) (eq? (car a) 'deprecated))
-		 (report
-		  loc
-		  "use of deprecated `~a' - consider `~a'"
-		  id (cadr a))
+		 (r-deprecated-identifier loc node id (cadr a))
 		 '(*))
 		(else (list a)))))
 	    (else '(*))))
@@ -243,7 +240,7 @@
 	     => cdr)
 	    (else #f)))
 
-    (define (variable-result id e loc flow)
+    (define (variable-result id e loc node flow)
       (cond ((blist-type id flow) => list)
 	    ((and (not strict)
 		  (db-get db id 'assigned) 
@@ -258,7 +255,7 @@
 		       (real-name id db))
 		      '(*))
 		     (else (list (cdr a))))))
-	    (else (global-result id loc))))
+	    (else (global-result id loc node))))
 
     (define (always-true1 t)
       (cond ((pair? t)
@@ -451,7 +448,7 @@
 		 ((quote) (list (constant-result (first params))))
 		 ((##core#undefined) '(*))
 		 ((##core#proc) '(procedure))
-		 ((##core#variable) (variable-result (first params) e loc flow))
+		 ((##core#variable) (variable-result (first params) e loc n flow))
 		 ((##core#inline_ref)
 		  (list (foreign-type->scrutiny-type (second params) 'result)))
 		 ((##core#inline_loc_ref)
@@ -2497,7 +2494,7 @@
 (define (variable-from-module sym)
   (let ((r (string-split (symbol->string sym) "#" #t)))
     (if (= (length r) 2)
-	(sprintf "`~a', imported from `~a'," (second r) (first r))
+	(sprintf "`~a' from module `~a'" (second r) (first r))
 	(sprintf "`~a'" sym))))
 
 (define (report2 report-f location-node-candidates loc msg . args)
@@ -2802,4 +2799,23 @@
    (type->pp-string atype)
    var
    (type->pp-string xptype)))
+
+(define (r-deprecated-identifier loc node id #!optional suggestion)
+  (report2
+   warning
+   (list node)
+   loc
+   (string-append
+    "In expression"
+    "~%~%"
+    "~a"
+    "~%~%"
+    "Use of deprecated identifier ~a."
+    "~a")
+   (pp-fragment node) ;; TODO: parent node would be nice here
+   (variable-from-module id)
+   (if suggestion
+       (sprintf "~%~%The suggested alternative is ~a."
+		(variable-from-module suggestion))
+       "")))
 )
diff --git a/tests/scrutinizer-message-format.expected b/tests/scrutinizer-message-format.expected
index 0b14ab47..2f1d3aa4 100644
--- a/tests/scrutinizer-message-format.expected
+++ b/tests/scrutinizer-message-format.expected
@@ -13,7 +13,7 @@ Warning: Type mismatch (test-scrutinizer-message-format.scm:XXX)
 
   Procedure `cons' is called with 1 argument but 2 arguments are expected.
 
-  Procedure `cons', imported from `scheme', has type
+  Procedure `cons' from module `scheme' has type
 
     ('aXXX 'bXXX --> (pair 'aXXX 'bXXX))
 
@@ -31,7 +31,7 @@ Warning: Type mismatch (test-scrutinizer-message-format.scm:XXX)
 
     list
 
-  Procedure `length', imported from `scheme', has type
+  Procedure `length' from module `scheme' has type
 
     (list -> fixnum)
 
@@ -82,7 +82,7 @@ Note: Type mismatch (test-scrutinizer-message-format.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `list?', imported from `scheme', is a predicate for
+  Procedure `list?' from module `scheme' is a predicate for
 
     list
 
@@ -98,7 +98,7 @@ Note: Type mismatch (test-scrutinizer-message-format.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `symbol?', imported from `scheme', is a predicate for
+  Procedure `symbol?' from module `scheme' is a predicate for
 
     symbol
 
@@ -194,11 +194,23 @@ Warning: Type mismatch
 
     boolean
 
-Warning: In `r-deprecated-identifier', a toplevel procedure
-  use of deprecated `deprecated-foo'
+Warning: Type mismatch
+  In `r-deprecated-identifier', a toplevel procedure
+  In expression
+
+    deprecated-foo
 
-Warning: In `r-deprecated-identifier', a toplevel procedure
-  use of deprecated `deprecated-foo2' - consider `foo'
+  Use of deprecated identifier `deprecated-foo'.
+
+Warning: Type mismatch
+  In `r-deprecated-identifier', a toplevel procedure
+  In expression
+
+    deprecated-foo2
+
+  Use of deprecated identifier `deprecated-foo2'.
+
+  The suggested alternative is `foo'.
 
 Warning: Type mismatch
   At toplevel
@@ -260,7 +272,7 @@ Warning: Type mismatch (test-scrutinizer-message-format.scm:XXX)
 
   Procedure `cons' is called with 1 argument but 2 arguments are expected.
 
-  Procedure `cons', imported from `scheme', has type
+  Procedure `cons' from module `scheme' has type
 
     ('aXXX 'bXXX --> (pair 'aXXX 'bXXX))
 
@@ -280,7 +292,7 @@ Warning: Type mismatch (test-scrutinizer-message-format.scm:XXX)
 
     list
 
-  Procedure `length', imported from `scheme', has type
+  Procedure `length' from module `scheme' has type
 
     (list -> fixnum)
 
@@ -343,7 +355,7 @@ Note: Type mismatch (test-scrutinizer-message-format.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `list?', imported from `scheme', is a predicate for
+  Procedure `list?' from module `scheme' is a predicate for
 
     list
 
@@ -361,7 +373,7 @@ Note: Type mismatch (test-scrutinizer-message-format.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `symbol?', imported from `scheme', is a predicate for
+  Procedure `symbol?' from module `scheme' is a predicate for
 
     symbol
 
@@ -471,15 +483,27 @@ Warning: Type mismatch
 
     boolean
 
-Warning: In `m#toplevel-foo', a toplevel procedure
+Warning: Type mismatch
+  In `m#toplevel-foo', a toplevel procedure
   In `local-bar', a local procedure
   In `r-deprecated-identifier', a local procedure
-  use of deprecated `m#deprecated-foo'
+  In expression
 
-Warning: In `m#toplevel-foo', a toplevel procedure
+    m#deprecated-foo
+
+  Use of deprecated identifier `deprecated-foo' from module `m'.
+
+Warning: Type mismatch
+  In `m#toplevel-foo', a toplevel procedure
   In `local-bar', a local procedure
   In `r-deprecated-identifier', a local procedure
-  use of deprecated `m#deprecated-foo2' - consider `foo'
+  In expression
+
+    m#deprecated-foo2
+
+  Use of deprecated identifier `deprecated-foo2' from module `m'.
+
+  The suggested alternative is `foo'.
 
 Warning: In `m#toplevel-foo', a toplevel procedure
   In `local-bar', a local procedure
diff --git a/tests/scrutiny-2.expected b/tests/scrutiny-2.expected
index 42973f87..b6223a26 100644
--- a/tests/scrutiny-2.expected
+++ b/tests/scrutiny-2.expected
@@ -9,7 +9,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `pair?', imported from `scheme', is a predicate for
+  Procedure `pair?' from module `scheme' is a predicate for
 
     pair
 
@@ -25,7 +25,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `pair?', imported from `scheme', is a predicate for
+  Procedure `pair?' from module `scheme' is a predicate for
 
     pair
 
@@ -41,7 +41,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `pair?', imported from `scheme', is a predicate for
+  Procedure `pair?' from module `scheme' is a predicate for
 
     pair
 
@@ -57,7 +57,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `pair?', imported from `scheme', is a predicate for
+  Procedure `pair?' from module `scheme' is a predicate for
 
     pair
 
@@ -73,7 +73,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `pair?', imported from `scheme', is a predicate for
+  Procedure `pair?' from module `scheme' is a predicate for
 
     pair
 
@@ -89,7 +89,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `list?', imported from `scheme', is a predicate for
+  Procedure `list?' from module `scheme' is a predicate for
 
     list
 
@@ -105,7 +105,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `list?', imported from `scheme', is a predicate for
+  Procedure `list?' from module `scheme' is a predicate for
 
     list
 
@@ -121,7 +121,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `list?', imported from `scheme', is a predicate for
+  Procedure `list?' from module `scheme' is a predicate for
 
     list
 
@@ -137,7 +137,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `list?', imported from `scheme', is a predicate for
+  Procedure `list?' from module `scheme' is a predicate for
 
     list
 
@@ -153,7 +153,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `null?', imported from `scheme', is a predicate for
+  Procedure `null?' from module `scheme' is a predicate for
 
     null
 
@@ -169,7 +169,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `null?', imported from `scheme', is a predicate for
+  Procedure `null?' from module `scheme' is a predicate for
 
     null
 
@@ -185,7 +185,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `null?', imported from `scheme', is a predicate for
+  Procedure `null?' from module `scheme' is a predicate for
 
     null
 
@@ -201,7 +201,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `null?', imported from `scheme', is a predicate for
+  Procedure `null?' from module `scheme' is a predicate for
 
     null
 
@@ -217,7 +217,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `null?', imported from `scheme', is a predicate for
+  Procedure `null?' from module `scheme' is a predicate for
 
     null
 
@@ -233,7 +233,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `fixnum?', imported from `chicken.base', is a predicate for
+  Procedure `fixnum?' from module `chicken.base' is a predicate for
 
     fixnum
 
@@ -249,7 +249,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `fixnum?', imported from `chicken.base', is a predicate for
+  Procedure `fixnum?' from module `chicken.base' is a predicate for
 
     fixnum
 
@@ -265,7 +265,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `flonum?', imported from `chicken.base', is a predicate for
+  Procedure `flonum?' from module `chicken.base' is a predicate for
 
     float
 
@@ -281,7 +281,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `flonum?', imported from `chicken.base', is a predicate for
+  Procedure `flonum?' from module `chicken.base' is a predicate for
 
     float
 
@@ -297,7 +297,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `number?', imported from `scheme', is a predicate for
+  Procedure `number?' from module `scheme' is a predicate for
 
     number
 
@@ -313,7 +313,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `number?', imported from `scheme', is a predicate for
+  Procedure `number?' from module `scheme' is a predicate for
 
     number
 
@@ -329,7 +329,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `number?', imported from `scheme', is a predicate for
+  Procedure `number?' from module `scheme' is a predicate for
 
     number
 
@@ -345,7 +345,7 @@ Note: Type mismatch (scrutiny-tests-2.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `number?', imported from `scheme', is a predicate for
+  Procedure `number?' from module `scheme' is a predicate for
 
     number
 
diff --git a/tests/scrutiny.expected b/tests/scrutiny.expected
index 9a20f85b..f2bbdee6 100644
--- a/tests/scrutiny.expected
+++ b/tests/scrutiny.expected
@@ -67,7 +67,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
   Procedure `string?' is called with 0 arguments but 1 argument is expected.
 
-  Procedure `string?', imported from `scheme', has type
+  Procedure `string?' from module `scheme' has type
 
     (* -> boolean)
 
@@ -105,7 +105,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `+', imported from `scheme', has type
+  Procedure `+' from module `scheme' has type
 
     (#!rest number -> number)
 
@@ -123,7 +123,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `+', imported from `scheme', has type
+  Procedure `+' from module `scheme' has type
 
     (#!rest number -> number)
 
@@ -184,7 +184,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     string
 
-  Procedure `string-append', imported from `scheme', has type
+  Procedure `string-append' from module `scheme' has type
 
     (#!rest string -> string)
 
@@ -220,7 +220,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `+', imported from `scheme', has type
+  Procedure `+' from module `scheme' has type
 
     (#!rest number -> number)
 
@@ -238,7 +238,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `+', imported from `scheme', has type
+  Procedure `+' from module `scheme' has type
 
     (#!rest number -> number)
 
@@ -256,7 +256,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `+', imported from `scheme', has type
+  Procedure `+' from module `scheme' has type
 
     (#!rest number -> number)
 
@@ -274,7 +274,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `+', imported from `scheme', has type
+  Procedure `+' from module `scheme' has type
 
     (#!rest number -> number)
 
@@ -310,7 +310,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `+', imported from `scheme', has type
+  Procedure `+' from module `scheme' has type
 
     (#!rest number -> number)
 
@@ -344,7 +344,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     string
 
-  Procedure `string-append', imported from `scheme', has type
+  Procedure `string-append' from module `scheme' has type
 
     (#!rest string -> string)
 
@@ -384,7 +384,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `*', imported from `scheme', has type
+  Procedure `*' from module `scheme' has type
 
     (#!rest number -> number)
 
@@ -402,15 +402,27 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `+', imported from `scheme', has type
+  Procedure `+' from module `scheme' has type
 
     (#!rest number -> number)
 
-Warning: At toplevel
-  use of deprecated `deprecated-procedure'
+Warning: Type mismatch
+  At toplevel
+  In expression
 
-Warning: At toplevel
-  use of deprecated `another-deprecated-procedure' - consider `replacement-procedure'
+    deprecated-procedure
+
+  Use of deprecated identifier `deprecated-procedure'.
+
+Warning: Type mismatch
+  At toplevel
+  In expression
+
+    another-deprecated-procedure
+
+  Use of deprecated identifier `another-deprecated-procedure'.
+
+  The suggested alternative is `replacement-procedure'.
 
 Warning: Type mismatch (scrutiny-tests.scm:XXX) 
   At toplevel
@@ -456,7 +468,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `fixnum?', imported from `chicken.base', is a predicate for
+  Procedure `fixnum?' from module `chicken.base' is a predicate for
 
     fixnum
 
@@ -472,7 +484,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `symbol?', imported from `scheme', is a predicate for
+  Procedure `symbol?' from module `scheme' is a predicate for
 
     symbol
 
@@ -488,7 +500,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `string?', imported from `scheme', is a predicate for
+  Procedure `string?' from module `scheme' is a predicate for
 
     string
 
@@ -520,7 +532,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `symbol?', imported from `scheme', is a predicate for
+  Procedure `symbol?' from module `scheme' is a predicate for
 
     symbol
 
@@ -536,7 +548,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `string?', imported from `scheme', is a predicate for
+  Procedure `string?' from module `scheme' is a predicate for
 
     string
 
@@ -552,7 +564,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `symbol?', imported from `scheme', is a predicate for
+  Procedure `symbol?' from module `scheme' is a predicate for
 
     symbol
 
@@ -568,7 +580,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `string?', imported from `scheme', is a predicate for
+  Procedure `string?' from module `scheme' is a predicate for
 
     string
 
@@ -584,7 +596,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `symbol?', imported from `scheme', is a predicate for
+  Procedure `symbol?' from module `scheme' is a predicate for
 
     symbol
 
@@ -600,7 +612,7 @@ Note: Type mismatch (scrutiny-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `string?', imported from `scheme', is a predicate for
+  Procedure `string?' from module `scheme' is a predicate for
 
     string
 
@@ -685,7 +697,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     fixnum
 
-  Procedure `vector-ref', imported from `scheme', has type
+  Procedure `vector-ref' from module `scheme' has type
 
     ((vector-of 'a384) fixnum -> 'a384)
 
@@ -712,7 +724,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     fixnum
 
-  Procedure `vector-set!', imported from `scheme', has type
+  Procedure `vector-set!' from module `scheme' has type
 
     (vector fixnum * -> undefined)
 
@@ -745,7 +757,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     fixnum
 
-  Procedure `list-ref', imported from `scheme', has type
+  Procedure `list-ref' from module `scheme' has type
 
     ((list-of 'a366) fixnum -> 'a366)
 
@@ -763,7 +775,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     fixnum
 
-  Procedure `list-ref', imported from `scheme', has type
+  Procedure `list-ref' from module `scheme' has type
 
     ((list-of 'a366) fixnum -> 'a366)
 
@@ -781,7 +793,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     fixnum
 
-  Procedure `list-ref', imported from `scheme', has type
+  Procedure `list-ref' from module `scheme' has type
 
     ((list-of 'a366) fixnum -> 'a366)
 
@@ -799,7 +811,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     fixnum
 
-  Procedure `list-ref', imported from `scheme', has type
+  Procedure `list-ref' from module `scheme' has type
 
     ((list-of 'a366) fixnum -> 'a366)
 
@@ -817,7 +829,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `add1', imported from `chicken.base', has type
+  Procedure `add1' from module `chicken.base' has type
 
     (number -> number)
 
@@ -835,7 +847,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `add1', imported from `chicken.base', has type
+  Procedure `add1' from module `chicken.base' has type
 
     (number -> number)
 
@@ -853,7 +865,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `add1', imported from `chicken.base', has type
+  Procedure `add1' from module `chicken.base' has type
 
     (number -> number)
 
@@ -871,7 +883,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `add1', imported from `chicken.base', has type
+  Procedure `add1' from module `chicken.base' has type
 
     (number -> number)
 
@@ -889,7 +901,7 @@ Warning: Type mismatch (scrutiny-tests.scm:XXX)
 
     number
 
-  Procedure `add1', imported from `chicken.base', has type
+  Procedure `add1' from module `chicken.base' has type
 
     (number -> number)
 
diff --git a/tests/specialization.expected b/tests/specialization.expected
index 40e7d61e..aa3d01b8 100644
--- a/tests/specialization.expected
+++ b/tests/specialization.expected
@@ -9,7 +9,7 @@ Note: Type mismatch (specialization-tests.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `string?', imported from `scheme', is a predicate for
+  Procedure `string?' from module `scheme' is a predicate for
 
     string
 
@@ -35,7 +35,7 @@ Note: Type mismatch (specialization-tests.scm:XXX)
 
   Predicate call will always return false.
 
-  Procedure `string?', imported from `scheme', is a predicate for
+  Procedure `string?' from module `scheme' is a predicate for
 
     string
 
@@ -59,7 +59,7 @@ Note: Type mismatch (specialization-tests.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `input-port?', imported from `scheme', is a predicate for
+  Procedure `input-port?' from module `scheme' is a predicate for
 
     input-port
 
@@ -85,7 +85,7 @@ Note: Type mismatch (specialization-tests.scm:XXX)
 
   Predicate call will always return true.
 
-  Procedure `output-port?', imported from `scheme', is a predicate for
+  Procedure `output-port?' from module `scheme' is a predicate for
 
     output-port
 
Trap