~ chicken-core (chicken-5) f792f463c48789f3dfa0cffd76aa06f21d338318
commit f792f463c48789f3dfa0cffd76aa06f21d338318 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Jul 1 22:41:00 2021 +0200 Commit: Peter Bex <peter@more-magic.net> CommitDate: Tue Jul 6 13:29:55 2021 +0200 show a more helpful error message when passing "-l<lib>" to csc (suggested by jcroisant) Signed-off-by: Peter Bex <peter@more-magic.net> diff --git a/csc.scm b/csc.scm index 67223eea..dba9703b 100644 --- a/csc.scm +++ b/csc.scm @@ -827,11 +827,15 @@ EOF [(and (> (string-length arg) 3) (string=? "-Wl," (substring arg 0 4))) (set! link-options (append link-options (list arg))) ] [(> (string-length arg) 2) - (let ([opts (cdr (string->list arg))]) - (if (null? (lset-difference/eq? opts short-options)) - (set! rest - (append (map (lambda (o) (string-append "-" (string o))) opts) rest) ) - (stop "invalid option `~A'" arg) ) ) ] + (let ([opts (cdr (string->list arg))]) + (cond ((null? (lset-difference/eq? opts short-options)) + (set! rest + (append (map (lambda (o) + (string-append "-" (string o))) opts) + rest) )) + ((char=? #\l (car opts)) + (stop "invalid option `~A' - did you mean `-L -l<library>'?" arg)) + (else (stop "invalid option `~A'" arg) ) )) ] [else (stop "invalid option `~A'" s)] ) ] [(file-exists? arg) (let-values ([(dirs name ext) (decompose-pathname arg)])Trap