Continuing the work to port Xindy to Allegro Common-Lisp I have found the following "bugs": - "markup.lsp" (defvar lisp::*xindy-bin-version*) (defparameter *xindy-bin-version* lisp::*xindy-bin-version*) is wrong, because Allegro CL has ``locked'' the symbol table of the "lisp" package to avoid user redefinitions of important functions. Incomplete fix: changed the above lines to ;;(defvar lisp::*xindy-bin-version*) (defparameter *xindy-bin-version* *xindy-version*) - "markup.lsp", "base.lsp", shell script "xindy" (exit <opt-arg>) is non standard, Allegro CL has an (excl:exit ...) function. Incomplete fix: changed all (exit <opt-arg>) to (#+ALLEGRO excl:exit #-ALLEGRO exit <opt-arg>) - "idxstyle.lsp", "markup.lsp" Function (simple-condition-format-string ...) undefined. The Allegro CL manuals says in Appendix A "Allegro Cl and the CL standard": X3J13 clarified that [...blablabla ...]. The [...] \symbol{simple-condition-format-string} accessor is renamed \symbol{simple-condition-format-control}, and both may be either a format string or a format function. Allegro CL conforms to these changes. Incomplete Fix: changed (simple-condition-format-string ...) to (#+ALLEGRO simple-condition-format-control #-ALLEGRO simple-condition-format-string ...) - "idxstyle.lsp" (open ... :direction :input-immutable ...) is non-standard, only :input, :output, :io, and :probe are allowed. Fix: changed :input-immutable to :input. - "idxstyle.lsp" (open ... :element-type 'string-char ...) The type \symbol{string-char} (and predicate \symbol{string-char-p}) of CLtL1 is replaced by the new types \symbol{base-char} and \symbol{extended-char}. Allegro CL moved \symbol{string-char} to the package \symbol{cltl1}. Fix: changed 'string-char to 'base-char Additionally I have rewritten the shell script "xindy" to call Allegro CL instead of CLISP. "xindy -v" works, and the first test with "attr1.xdy/.raw" gives the following result: This is `xindy' version 1.2 (sun4-solaris binary version 1.2). Opening logfile "attr1.xlg" (done) Reading indexstyle... Loading module "attr1.xdy"... Loading module "testbed.xdy"... Finished loading module "testbed.xdy". Error in line 11: ;;;;;;;;;;;; ;; ;; The rest (require "class/pagenums.xdy") ERROR: Could not find file "class/pagenums.xdy" ! If I have time to do further tests I will try to find this one remaining, I hope. Testing with USER(23): IDXSTYLE::*LOAD-PATHS* (#p"/" #p"/home/raichle/xindy/lib/modules/") USER(24): (idxstyle::find-file "class/pagenums.xdy") #p"/home/raichle/xindy/lib/modules/class/pagenums.xdy" which is the correct file. The other files which are found are linked to my local test directory. Mmmh, if I trace USER(3): (trace idxstyle::find-file idxstyle::append-pathnames probe-file) (PROBE-FILE IDXSTYLE::APPEND-PATHNAMES IDXSTYLE::FIND-FILE) USER(4): (searchpath ".:/home/raichle/xindy/lib/modules") (#p"/" #p"/home/raichle/xindy/lib/modules/") USER(5): USER(5): (xindy:startup :idxstyle "attr1.xdy" :rawindex "attr1.raw" :output "attr1.ind" :logfile "attr1.xlg" :trace-level 1) T This is `xindy' version 1.2 (sun4-solaris binary version 1.2). [... blablabla ...] Finished loading module "testbed.xdy". 0: (IDXSTYLE::FIND-FILE "class/pagenums.xdy") 1: (IDXSTYLE::APPEND-PATHNAMES #p"/" #p"class/pagenums.xdy") 1: returned #p"/class/pagenums.xdy" 1: (PROBE-FILE #p"/class/pagenums.xdy") 1: returned NIL 1: (IDXSTYLE::APPEND-PATHNAMES #p"../modules/" #p"class/pagenums.xdy") 1: returned #p"../modules/class/pagenums.xdy" 1: (PROBE-FILE #p"../modules/class/pagenums.xdy") 1: returned NIL Error in line 11: [... error message above ...] *load-paths* seems to be set to a different value. Grmbl. Roger, any hints? -bernd