#1115 closed defect (wontfix)
Potentially bogus scrutinizer warning "expected in `let' binding of `x' a single result, but were given 3 results"
Reported by: | Christian Kellermann | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 4.11.0 |
Component: | unknown | Version: | 4.8.x |
Keywords: | Cc: | ||
Estimated difficulty: |
Description
If you try to bind values to a single identifier you will get the above warning:
(let ((x (values 1 2 4))) #f)
That alone isn't surprising as it may be a programmer error but if you use that inside a macro expansion like
(receive (in out pid) (process cmd) (display str out) (flush-output out) (close-output-port out) (let ((res (base64-encode-string (read-string #f in)))) (process-wait pid) res))
As found in hato's code the message is at least puzzling as the programmer doesn't care about the values at all, but the macro gets expanded to a ##core#let which in turn gets under scrutiny.
I am not sure what the correct behaviour should be.
Change History (4)
comment:1 Changed 10 years ago by
Milestone: | someday → 4.10.0 |
---|
comment:2 Changed 9 years ago by
Milestone: | 4.10.0 → 4.11.0 |
---|
Unsure this is a bug, moving it to 4.11 anyway
comment:3 Changed 9 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Without a clear way to improve the situation, there's not much that we can do with this ticket. Closing it for now, until someone comes up with a proper solution.
We should give this some thought before releasign 4.10.0