I have tried to load the source files of xindy using ACL 4.3, a commercial Common Lisp implementation made by Franz Inc. I didn't suceed because of the last bug mentioned in the following list which I will try to fix... Roger, here is the list of "bugs" I have found while trying to load (not compile) the code in the files "dump-xindy.xdy", "defaults.xdy" and all "*.lsp" files: - DEFMETHOD is in the LISP package (for Allegro CL 4.3) ==> Errors in "markup.lsp" - IN-PACKAGE, USE-PACKAGE, REQUIRE, and PROVIDE should be better called with a string, not with a symbol The string should match! Case-sensitive! ==> Errors because the arguments of PROVIDE are given in uppercase whereas the arguments of REQUIRE are in lowercase form. - All packages have to be created explicitly! The old behaviour of IN-PACKAGE to create the given package if it doesn't exist, was removed by X3J13. IN-PACKAGE will... ``An error is signalled if the package does not already exist.'' - *LOAD-PATHS* from "defaults.xdy" is accessed within a DEFPARAMETER form in "idxstyle.lsp" Whereas the optional <initial-form> of DEFVAR is not evaluated unless it is used, DEFPARAMETER always evaluates the mandatory <initial-form>. ==> Error because *LOAD-PATHS* is unbound when loading "idxstyle.lsp" - *LOAD-PATHS* is in the wrong package, it should be either in the "IDXSTYLE" package or in the "USER" package (and imported to the "IDXSTYLE" package). - "locref.lsp" GET-LAYERS is defined more than once - "index.lsp" TAKE-FIRST is defined more than once - Allegro CL 4.3 has problems with the &WHOLE keywords in a DEFMACRO, if it's not the first in the lambda-list. For DEFINE-ENVIRONMENT-METHODS it chokes at the first use with Error: Passed 1 too many arguments for arglist (&WHOLE SIGNATURE) [condition type: PROGRAM-ERROR] after changing the lambda-list of DEFINE-ENVIRONMENT-METHODS to (name (&whole signature usual-argument) &key open close declare body) i.e., I add the usual parameter to the single &WHOLE variable, it will be ok but chokes at the next use of the other macros using &WHOLE. Because I haven't made use of &WHOLE yet, I'm not sure if the use of &WHOLE is ok or Allegro CL has a bug. The ACL manual states in appendix A that "Allegro CL conforms to the new specifications." and from the description of CLtL2 it seems that Roger's code is erroneous. Can anyone give a _correct_ example how to use &WHOLE not appearing first in the lambda-list to test the behaviour of ACL or any other Lisp implementation w.r.t. &WHOLE? That's it so far. xindy is running using Clisp on Solaris 2/Sun 4, but it isn't yet using ACL :-( ...will continue tomorrow. Best wishes, -bernd