[gnu.emacs] Why won't the following file byte-compile?

montnaro@sprite.crd.ge.com (Skip Montanaro) (04/28/89)

Why won't the following file byte compile? I'm running "GNU Emacs 18.52.4 of
Wed Nov 2 1988 on glacier (berkeley-unix)", compiled for a Sun-3 under SunOS
3.4.

I get the error (only partial, because it overruns the mini-buffer):

Wrong type argument: symbolp, (lambda (object newval) (cond ((dependency-p obje

To reproduce, cut between the dashed lines, stick in foo.el, visit it,
execute M-x eval-current-buffer, then M-x byte-compile-file foo.el.

This is not a serious problem, since it's only some prototype code.
Execution speed is no big deal. I'd like to know if I'm doing something
wrong, however.

Thanks,

------------------------------------------------------------------------------
(require 'cl)

(defstruct dependency
  mark
  )

(defun derive-dependencies (o)
  "Fill in derived requirements and recommendations for constraint object O."

  (if (null (dependency-mark o))
      (progn
	(setf (dependency-mark o) t)
	)
    )
  )
------------------------------------------------------------------------------


--
Skip Montanaro (montanaro@sprite.crd.ge.com)