I'm reporting very simple declaration errors with very simple fixes.
The append! and append-2! functions misbehave:

(append 1)        -> 1      ;; right
> (append-2 '() 1)  -> 1      ;; right
> (append! 1)       -> #error ;; should be 1
> (append-2! '() 1) -> #error ;; should be 1


Errors look like:

File "/tmp/bigloo/runtime/Ieee/pairlist.scm", character 22728:
> *** ERROR:append!:
> Type "pair-nil" expected, "bint" provided -- 1


Peeking in "bigloo4.2c/runtime/Ieee/pairlist.scm"...
The functions append! and append-2! look straightforward
and seem to behave correctly when reloaded in the interpreter.
However, their exported declarations look wrong:

135:    (append-2!::pair-nil ::pair-nil ::pair-nil)
> 134:    (append!::pair-nil . obj)


The declarations for append and append-2 look right:

130:    (append-2 ::pair-nil ::obj)
> 132:    (append . obj)


Might I suggest changing those for append! and append-2! to match?

Subscribing to the mailing list, sending a bug report,
and then unsubscribing seems like a clumsy way to report a bug.
If there's a better way, might I suggest saying so on your home page?

Regards, Andy Gaynor

Reply via email to