From: Mario Frasca
Subject: ACL compilation problem
Date: 
Message-ID: <slrn98fbqj.4p7.mario@tamino.cs.uu.nl>
Hi all,

I'm compiling (trying to do so) a program written by someone else.  I
want to have a working `.system' file (see the defsystem package), so
I'm trying to discover any order in the sources or to put some as far
as possible.

apart from an amount of `Warning: While compiling these undefined
functions were referenced', which I am willing to ignore at first
(there are circular dependencies among the files, of course!), I get
this error, which I don't understand.  (I mean, I think I do understand
what lisp is telling me, but I have no idea on where to start looking to
solve the problem)

;;; compiling file
;;;   /users/mario/Local/software/lisp/ideal-edit/code/instantiation-node.lisp
; While compiling (:TOP-LEVEL-FORM "instantiation-node.lisp" 27767):
Error: Function position must contain a symbol or lambda expression:
(PARENT 'IDEAL:NODE)
Problem detected when processing
       ((PARENT 'IDEAL:NODE))
inside (DEFINE-NODE-EDITOR-COMMAND (COM-DISPLAY-COND-CASE-WITH-NEXT-STATE)
        ((PARENT 'IDEAL:NODE)) ...) ..
inside (PROGN NIL ..)
  [condition type: PARSE-ERROR]


the piece of source causing this error is:

>>
(define-node-editor-command (com-display-cond-case-with-next-state)
  ((parent 'ideal:node))
  (with-slots (cond-case) *application-frame*
    (let ((next-parent-state
            (next-state parent (cdr (assoc parent cond-case)))))
      (setf (cdr (assoc parent cond-case)) next-parent-state))))
<<

thanks in advance for any hints.
Mario
From: Coby Beck
Subject: Re: ACL compilation problem
Date: 
Message-ID: <bFOh6.23160$65.115402@newsfeeds.bigpond.com>
"Mario Frasca" <·····@cs.uu.nl> wrote in message
·························@tamino.cs.uu.nl...
> apart from an amount of `Warning: While compiling these undefined
> functions were referenced', which I am willing to ignore at first
> (there are circular dependencies among the files, of course!), I get
> this error, which I don't understand.  (I mean, I think I do understand
> what lisp is telling me, but I have no idea on where to start looking to
> solve the problem)
>
> ;;; compiling file
> ;;;
/users/mario/Local/software/lisp/ideal-edit/code/instantiation-node.lisp
> ; While compiling (:TOP-LEVEL-FORM "instantiation-node.lisp" 27767):
> Error: Function position must contain a symbol or lambda expression:
> (PARENT 'IDEAL:NODE)
> Problem detected when processing
>        ((PARENT 'IDEAL:NODE))
> inside (DEFINE-NODE-EDITOR-COMMAND (COM-DISPLAY-COND-CASE-WITH-NEXT-STATE)
>         ((PARENT 'IDEAL:NODE)) ...) ..
> inside (PROGN NIL ..)
>   [condition type: PARSE-ERROR]

Assuming everything worked as is before....

It looks like at the time of compilation, the macro
define-node-editor-command is unknown.  The compiler assumes it is a
function call and then expects the first element of each unquoted list to be
a function object.  com-display-cond-case-with-next-state *could* be but
(parent 'ideal:node) is not.

I would start there anyway, find that macro definition and make sure it is
loaded before it is used.  (likewise for every macro, of course.)

Coby