summaryrefslogtreecommitdiff
path: root/lint.scm
diff options
context:
space:
mode:
Diffstat (limited to 'lint.scm')
-rw-r--r--lint.scm6
1 files changed, 6 insertions, 0 deletions
diff --git a/lint.scm b/lint.scm
index faaedb4..10dc032 100644
--- a/lint.scm
+++ b/lint.scm
@@ -13771,6 +13771,12 @@
(not (= (car ary) (cdr ary)))
(not (= (length args) (cdr ary))))
(format #f "leaving aside ~A's optional arg~P, " cval (- (cdr ary) (length args)))
+ ;; optional args is only one of the problems:
+ ;; (define (f5 x) (read x)) (with-input-from-string f5) -- f5 is not a thunk
+ ;; (define (f5 x y) (macro x y)) -- f5 evals its arguments, passing (values x y) makes this worse
+ ;; (define (f5 x) (f6 x)) where f6 can be redefined later -- expectation is that new f6 is called
+ ;; (object->string (define (f5 x y) (+ x y)) :readable) returns "+"
+ ;; and undoubtedly many more
"")
function-name
function-name