chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #1115: Potentially bogus scrutinizer warning "expecte


From: Chicken Trac
Subject: [Chicken-janitors] #1115: Potentially bogus scrutinizer warning "expected in `let' binding of `x' a single result, but were given 3 results"
Date: Thu, 17 Apr 2014 13:33:29 -0000

#1115: Potentially bogus scrutinizer warning "expected in `let' binding of `x' a
single result, but were given 3 results"
---------------------+------------------------------------------------------
 Reporter:  ckeen    |       Owner:         
     Type:  defect   |      Status:  new    
 Priority:  major    |   Milestone:  someday
Component:  unknown  |     Version:  4.8.x  
 Keywords:           |  
---------------------+------------------------------------------------------
 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.

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/1115>
CHICKEN Scheme <http://www.call-with-current-continuation.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]