Apparently, it is incorrect to try to update ASDF from a system where
an older version of ASDF has already been loaded  from which some
DEFUNs (e.g. SYSTEM-SOURCE-FILE) have since converted to DEFGENERICs.
This means that if you have an old clisp from debian and try to use
the newer ASDF, you're out of luck.

As a remedy, could we prepend the defpackage in asdf.lisp with the following?

(eval-when (:compile-toplevel :load-toplevel)
   (let ((package (find-package '#:asdf)))
      (when package (delete-package package))))

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Instead of loving your enemies, treat your friends a little better.
                -- Edgar Watson Howe



---------- Forwarded message ----------
From: Sam Steingold <s...@gnu.org>
Date: 2009/7/8
Subject: Re: can't compile-file then load asdf.lisp
To: Faré <fah...@gmail.com>
Cc: clisp-l...@lists.sourceforge.net


Faré wrote:
>
> If I grab the latest asdf.lisp from git and try to compile-file it

the one I have comes from
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf/ and it compiles and
loads just fine.

> then load it, I get a weird error message.
>
> WARNING: DEFGENERIC: redefining function SYSTEM-SOURCE-FILE in
>         /dev/shm/tmp/fare/xcvb-0.320/dependencies/asdf/asdf.fas, was
> defined in top-level
> *** - ENSURE-GENERIC-FUNCTION: SYSTEM-SOURCE-FILE does not name a
> generic function

this means that you have defined a regular function (with DEFUN) and now are
trying to redefine it with DEFGENERIC.
since asdf.lisp does not do that, you, apparently, have this function defined
somewhere else.

_______________________________________________
asdf-devel mailing list
asdf-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to