[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Are "destructive" functions really destructive?

    Date: Fri, 1 Dec 89 01:53:26 EST
    From: barmar@Think.COM

       From: rshu@ads.com (Richard Shu)
       Date: 1 Dec 89 02:56:03 GMT

       Yeah, but don't define DELETEF on a Symbolics or you'll redefine the
       GLOBAL symbol DELETEF which is used to delete files!  I did this once
       a couple of years ago and spent several hours trying to figure out
       why the system was acting so funny.

    The only DELETEF I can find on my machine is ZL:DELETEF, which is only
    inherited by Zetalisp packages, not Common Lisp packages.  If you're still
    programming in Zetalisp you get what you deserve.  But you say that you

Rather pedantic... I certainly have a lot of ZL code that hasn't needed to be
modified since before release 7.  I'm certainly not going to go back and
modify working code unless I have to  (and that includes changing the
packages that inherit from GLOBAL).

    lost a few years ago; perhaps it was prior to Genera 7.0, which I think is
    when Common Lisp became the default environment.


I haven't tried redefining DELETEF but it appears it will still cause
grief.  Symbolics does:
	(cli::make-cl-function-links zl:deletef cl:delete-file)
which appears to make DELETE-FILE use the definition of DELETEF (including
an optimizer to translate DELETE-FILE into DELETEF).  If you redefine
ZL:DELETEF (or XX:DELETEF where XX inherits from GLOBAL) you will lose.