[CM] Newbie problem: bad path-string concatenation (test.rev)

Michael Ben Yosef septagon@mweb.co.za
Sun, 28 Mar 2004 22:42:13 +0200

Hi all.

I've compiled CLM with Allegro CL 6.2 trial running on Win 98. It seems to
work well for the most part, e. g. the fmviolin example in the intro of
clm.html works fine.

However when I load certain .clm example files (like cream.clm or
fmviolin.clm), specifically the ones that involve reverb (I think), I get
the following error (my CLM install directory is D:\clm-2):
; Loading D:\clm-2\fmviolin.clm
Error: illegal namestring: "D:\\clm-2\\D:\\clm-2\\test.rev" [6]
  [condition type: PARSE-ERROR]

The error appears to occur in sound.lisp, inside the with-sound macro
(unless with-sound receives the path-string already messed up). Obviously
the path-string is being concatenated incorrectly. The first instance of the
erroneous string I can find in sound.lisp when in debug mode is the variable
revf. Hence I hazard the guess that the problem lies in

(revf (if (or ,revfile our-reverb)
       #-windoze (or ,revfile *open-input-explicit-reverb* reverb-filename)
       #+windoze (concatenate 'string (namestring (cwd))
         (or ,revfile *open-input-explicit-reverb* reverb-filename))

which is contained inside a (let* ) statement inside the with-sound macro.
Since I am a clueless Lisp newbie, I would appreciate if someone could tell
me how to correct this error (or indeed the ACTUAL error if my guess is
completely off the mark).