Marc Battyani wrote:
Oops sorry. I really thought it was up to date. I will change it. Thanks.
I have an email from you dated 20 december 2005. Is that the latest one? That day, I just forwarded the June version.
Also I added some patches sent by Fare in the cl-pdf version. They are not in what I sent you (bug was not known in June). Feel free to change the one delete -> (remove nil temps) It's clearly a bug.
During holidays I revisited the two other changes. In remove-clause: (delete entry index) -> (setq index (delete entry index)) I decided *not* to leave that in the code (but add a comment) because (setq index ...) is a noop: index is local variable, and the function is just about to exit, so nobody cares about it's value. The code depends on non-guaranted behaviour of DELETE, basically that it implements the naive / canonical operation: RPLACD the previous CDR. Adding (setq index ...) would gain nothing in a Lisp which would provide another implementation of DELETE. E.g. (setf (fdefinition 'delete) #'remove) -- REMOVE is AFAIK a legal implementation of DELETE. Remove-clause would break. As I have not yet seen such other implementation, I've not bothered to write MY-DELETE to guarantee the behaviour needed by Iterate, or implement a different approach. If somebody yells that's not acceptable, please do so. I might change my opinion. Faré, since you reported that it's sbcl who pointed you to delete in Iterate, I'd like to know which version you used. I could not reproduce a warning with sbcl-0.9.2 (as found in Ubuntu/Breezy). Regards, Jörg Höhle.