Book logo xindy

A Flexible Indexing System

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

xindy 1.2 ... first tries with Allegro Common Lisp v4.3

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"
  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
  ==> Error because *LOAD-PATHS* is unbound when loading
- *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
         (&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
  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,