~ chicken-core (chicken-5) c259067a18c9905dcfca4904e4490c82663bc2ed
commit c259067a18c9905dcfca4904e4490c82663bc2ed Author: LemonBoy <thatlemon@gmail.com> AuthorDate: Wed May 3 21:13:07 2017 +0200 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Sun May 7 13:11:25 2017 +1200 Show the location in some more error messages. Signed-off-by: Peter Bex <peter@more-magic.net> Signed-off-by: Evan Hanson <evhan@foldling.org> diff --git a/core.scm b/core.scm index e47ff648..8f68e3fa 100644 --- a/core.scm +++ b/core.scm @@ -1072,7 +1072,8 @@ (val (caddr x))) (when (memq var unlikely-variables) (warning - (sprintf "assignment to variable `~s' possibly unintended" + (sprintf "~aassignment to variable `~s' possibly unintended" + (if ln (sprintf "(~a) - " ln) "") var))) (cond ((assq var foreign-variables) => (lambda (fv) @@ -1109,15 +1110,21 @@ ,var)))) (cond ((##sys#macro? var) (warning - (sprintf "assigned global variable `~S' is syntax ~A" - var - (if ln (sprintf "(~a)" ln) ""))) + (sprintf "~aassigned global variable `~S' is syntax" + (if ln (sprintf "(~a) - " ln) "") + var)) (when undefine-shadowed-macros (##sys#undefine-macro! var))) ((and ##sys#notices-enabled (assq var (##sys#current-environment))) - (##sys#notice "assignment to imported value binding" var))) + (##sys#notice + (sprintf "~aassignment to imported value binding `~S'" + (if ln (sprintf "(~a) - " ln) "") + var)))) (when (keyword? var) - (warning (sprintf "assignment to keyword `~S'" var))) + (warning + (sprintf "~aassignment to keyword `~S'" + (if ln (sprintf "(~a) - " ln) "") + var))) `(set! ,var ,(walk val e se var0 (memq var e) h ln #f)))))) ((##core#debug-event) @@ -1308,8 +1315,10 @@ (mark-variable var '##compiler#always-bound) (walk `(define ,var (##core#quote ,val)) e se #f #f h ln tl?))) (else - (quit-compiling "invalid compile-time value for named constant `~S'" - name))))) + (quit-compiling + "~ainvalid compile-time value for named constant `~S'" + (if ln (sprintf "(~a) - " ln) "") + name))))) ((##core#declare) (walk @@ -1333,8 +1342,11 @@ (if (valid-c-identifier? raw-c-name) (set! callback-names (cons (cons raw-c-name name) callback-names)) - (quit-compiling "name `~S' of external definition is not a valid C identifier" - raw-c-name) ) + (let ((ln (get-line x))) + (quit-compiling + "~aname `~S' of external definition is not a valid C identifier" + (if ln (sprintf "(~a) - " ln) "") + raw-c-name))) (when (or (not (list? vars)) (not (list? atypes)) (not (= (length vars) (length atypes))) ) diff --git a/tests/scrutiny.expected b/tests/scrutiny.expected index ef9befd1..581aa45b 100644 --- a/tests/scrutiny.expected +++ b/tests/scrutiny.expected @@ -1,5 +1,5 @@ -Note: assignment to imported value binding: car +Note: (scrutiny-tests.scm:31) - assignment to imported value binding `car' Note: in local procedure `c', in local procedure `b',Trap