From: Paul Roberts
Subject: setf error message
Date: 
Message-ID: <3e889513$0$4865$cc9e4d1f@news.dial.pipex.com>
Hi everyone, I hope you can help with a small problem.

I have written a bit of software which runs fine on a CLISP installation
with the following version information:

GNU CLISP 2.29 (released 2002-07-25)

However, the installation at my university gives this version information:

CLISP 2000-03-06 (March 2000)

My program works perfectly on the later version, however, when running
it on the earlier, I get this error message:

FUNCALL: the function #:|(SETF USER:POPULATION-MEMBER-FITNESS)| is undefined

I assume this is related to the following expression, which attempts to 
modify the contents of a slot belonging to a structure which is stored 
in an array:

(setf (population-member-fitness (aref POPULATION i))
	  (random 20)))

When I run this expression by hand, it works fine, but not when it is 
evaluted within the program.

Would anyone be able to give me some advice on what this error message 
means, and why it only appears on the one version of CLISP?

Thank you very much in advance for your help.

- Paul

From: Kent M Pitman
Subject: Re: setf error message
Date: 
Message-ID: <sfwfzp3iatz.fsf@shell01.TheWorld.com>
Paul Roberts <·····@stelo.uklinux.net> writes:

> My program works perfectly on the later version, however, when running
> it on the earlier, I get this error message: [...]
> Would anyone be able to give me some advice on what this error message
> means, and why it only appears on the one version of CLISP?

Probably it is a bug that got fixed.
From: Paul Roberts
Subject: Re: setf error message
Date: 
Message-ID: <3e88a47c$0$4865$cc9e4d1f@news.dial.pipex.com>
Kent M Pitman wrote:

> Probably it is a bug that got fixed.

I think you are probably right, thanks. I had a look in the bug 
database, but I couldn't find anything. I think it might be related to 
this error message that I also get when loading one of the files (which 
doesn't appear on the newer version):

The function (SETF POPULATION-MEMBER-FITNESS) is hidden by a SETF expander.

Still, if it is a bug, then I'll just have to accept the fact that it 
doesn't work on that version!

Thanks for your help, - Paul
From: Kent M Pitman
Subject: Re: setf error message
Date: 
Message-ID: <sfw8yuvfdf1.fsf@shell01.TheWorld.com>
Paul Roberts <·····@stelo.uklinux.net> writes:

> Still, if it is a bug, then I'll just have to accept the fact that it
> doesn't work on that version!

Something about the way you word this troubles me.  Do you think the
only difference between versions is the addition of new features?  If
you always use the most recent version, why does it matter what bugs
exist in older ones?  In general, bugs get fixed all the time in lots
of implementations.  Working in an old version when you have a newer
one is almost always a recipe to lose in similar ways for other
bugs...
From: Paul Roberts
Subject: Re: setf error message
Date: 
Message-ID: <3e88c4f8$0$29595$cc9e4d1f@news.dial.pipex.com>
Kent M Pitman wrote:

> Something about the way you word this troubles me.  Do you think the
> only difference between versions is the addition of new features?  If
> you always use the most recent version, why does it matter what bugs
> exist in older ones?  In general, bugs get fixed all the time in lots
> of implementations.  Working in an old version when you have a newer
> one is almost always a recipe to lose in similar ways for other
> bugs...

Don't worry, I am aware of how the versioning works. The only reason I 
am using an old version is because I'm trying to run my program on a 
system to which I don't have root access, and therefore cannot upgrade 
the CLISP version running on it (at least not directly). I always run 
the newest version on my own system.

Thanks, - Paul
From: Tim Daly, Jr.
Subject: Re: setf error message
Date: 
Message-ID: <87wuiek9nh.fsf@tenkan.org>
Paul Roberts <·····@stelo.uklinux.net> writes:

> Kent M Pitman wrote:
> 
> > Something about the way you word this troubles me.  Do you think the
> > only difference between versions is the addition of new features?  If
> > you always use the most recent version, why does it matter what bugs
> > exist in older ones?  In general, bugs get fixed all the time in lots
> > of implementations.  Working in an old version when you have a newer
> > one is almost always a recipe to lose in similar ways for other
> > bugs...
> 
> Don't worry, I am aware of how the versioning works. The only reason I
> am using an old version is because I'm trying to run my program on a
> system to which I don't have root access, and therefore cannot upgrade
> the CLISP version running on it (at least not directly). I always run
> the newest version on my own system.
> 
> Thanks, - Paul
> 

Sure you can't just give configure the --prefix flag, and install the
new version in your home directory?  Put that version first in your
PATH(s), and it might be just as good as if root installed it.

-Tim

-- 
From: Paul Roberts
Subject: Re: setf error message
Date: 
Message-ID: <3e88b0c2$0$4843$cc9e4d1f@news.dial.pipex.com>
I think I have been barking up the wrong tree with this little dilema. I 
think the problem is related to this error message after all:

[1]> (load "test.lisp")
;; Loading file test.lisp ...
*** - symbol SYSTEM::*COMPILING-FROM-FILE* has no value

This message has baffled me...

Thanks for any help. Cheers, - Paul
From: Kaz Kylheku
Subject: Re: setf error message
Date: 
Message-ID: <cf333042.0303311507.7358c97d@posting.google.com>
Paul Roberts <·····@stelo.uklinux.net> wrote in message news:<························@news.dial.pipex.com>...
> Hi everyone, I hope you can help with a small problem.
> 
> I have written a bit of software which runs fine on a CLISP installation
> with the following version information:
> 
> GNU CLISP 2.29 (released 2002-07-25)
> 
> However, the installation at my university gives this version information:
> 
> CLISP 2000-03-06 (March 2000)

That is ancient; get the sysadmins to upgrade this to the latest
version, 2.30.

> My program works perfectly on the later version, however, when running
> it on the earlier, I get this error message:
> 
> FUNCALL: the function #:|(SETF USER:POPULATION-MEMBER-FITNESS)| is undefined

So the solution is to upgrade to the later version.

> Would anyone be able to give me some advice on what this error message 
> means, and why it only appears on the one version of CLISP?

When an error message appears when you use a three-year-old version of
a language implementation, but goes away on a much more recent
version, that most likely indicates that a bug has been fixed in the
implementation.

CLISP is quite an active project that is subject to continuous
improvement and bugfixing.