Chicken hackers,

  Trac is rejecting a bug report for minor problem that I encountered in the 
egg "iset", so hopefully someone here can direct this to the right place.

The problem is that (iset-union a b) can fail when a is a subset of b or visa 
versa. For example:

CHICKEN
Version 3.0.0 - linux-unix-gnu-x86-64   [ 64bit manyargs dload ptables 
applyhook hostpcre ]
(c)2000-2008 Felix L. Winkelmann        compiled 2008-04-06 on localhost 
(Linux)

; loading ./.csirc ...
; loading /usr/lib64/chicken/3/readline.so ...
; loading library regex ...
#;1> (use iset)
; loading /usr/lib64/chicken/3/iset.so ...
#;2> (iset-union (iset 1 4) (iset 1))
Error: bad argument type - not a structure of the required type
#<procedure (iset . args266)>
<iset>

        Call history:

        <syntax>                (iset-union (iset 1 4) (iset 1))
        <syntax>                (iset 1 4)
        <syntax>                (iset 1)
        <eval>          (iset-union (iset 1 4) (iset 1))
        <eval>          (iset 1 4)
        <eval>          (iset 1)        <--






Index: iset.scm
===================================================================
--- iset.scm    (revision 10435)
+++ iset.scm    (working copy)
@@ -771,7 +771,7 @@
              (bit-vector-ior!
               (or a-bits (range->bit-vector a-start a-end))
               (or b-bits (range->bit-vector b-start b-end))))
-            (iset-squash-bits! iset))))
+            (iset-squash-bits! a))))
        ))))
 
 (define (iset-adjoin! iset . ls)


_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to