Summary
,q in csi gives an error
Metadata
- Id: 90b77e17874dfb80e7dd3403666f734a3d2cc2b9
- Trac id: 1195
- Type: defect
- Reporter: sjamaan
- Owner: sjamaan
- Cc:
- Status: closed
- Component: unknown
- Estimated difficulty:
- Resolution: fixed
- Priority: major
- Milestone: 5.0
- Version:
- Changetime: 2015-09-06 16:41:47 UTC
- Created: 2015-06-18 21:08:41 UTC
- Keywords:
Description
$ csi
CHICKEN
(c) 2008-2015, The CHICKEN Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.9.1 (rev 1ae3dc1)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
compiled 2015-06-13 on yves.more-magic.net (Linux)
#;1> (##sys#quit-hook)
Error: bad argument count - received 0 but expected 1: #<procedure (f_10510 result2568)>
Call history:
csi.scm:416: ##sys#call-with-values
csi.scm:416: eval
<syntax> (##sys#quit-hook)
<eval> (##sys#quit-hook) <--
#;1>
This seems to have something to do with the set! call on line 1098: it is overriding ##sys#quit-hook with a procedure that has an incompatible signature. However, this is not the most important part: the important part is that this override is not picked up at the call site.
Maybe this'll get fixed with #1131
Changes and comments
[2015-06-18 21:15:20 UTC] sjamaan wrote:
Stranger still:
CHICKEN
(c) 2008-2014, The Chicken Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.9.0.1 (stability/4.9.0) (rev 8b3189b)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
bootstrapped 2014-06-07
#;1> (##sys#quit-hook)
Error: bad argument count - received 0 but expected 1: #<procedure (f_10505 result2553)>
Call history:
<syntax> (##sys#quit-hook)
<eval> (##sys#quit-hook) <--
#;1> ,q ;; this works!
If the global procedure is overwritten, why does this give an error message even in CHICKEN 4.9?
[2015-06-18 21:16:46 UTC] sjamaan wrote:
Eek, in eval.scm there's a dynamic-wind that's messing with ##sys#quit-hook
[2015-09-06 16:41:47 UTC] sjamaan changed status from new to closed
[2015-09-06 16:41:47 UTC] sjamaan set resolution to fixed
[2015-09-06 16:41:47 UTC] sjamaan wrote:
Fixed with c0395ce2 for CHICKEN 5, and I'm not asking any more questions about how weird this is in CHICKEN 4 ;)