bug in 5.1 (and 5.1.1): compiled modulo arithmetic.
Calling mod with a negative divisor constant in a function definition fails to return the correct value when running compiled under LispWorks 5.1 and 5.1.1. (Mac OS X 32 bit) It runs ok when running interpreted. This simple routine illustrates the problem. Note that it also works fine under LispWorks 5.0 (and 5.0.1, etc.) (defun neg-mod (x) (mod x -4)) (neg-mod 5) => -3 ;; correct value returned when running interpreted (neg-mod 5) => 1 ;; incorrect value returned when running compiled. If, instead of putting -4 directly into the function, it is passed in as a separate argument, then the calculation runs correctly. Hope this helps, Chris