Subject: Re: Q: "on exit" processing
From: Erik Naggum <>
Date: 2000/11/30
Newsgroups: comp.lang.lisp
Message-ID: <>

* glauber <>
| How do you do that? For example, in CLISP, the exit function is
| (lisp:exit).  How can i redefine (lisp:exit) so that it does something
| and then calls the original definition?

  I don't know about CLISP, but in several other Lisps, you can add
  _advice_ to functions.  Even Emacs Lisp has such a feature.

  I frankly don't see why unwind-protect around the function that is
  supposed to be run before exiting can't take care of these things.
  This whole thing feels like a stop-gap solution to a more fundamental
  problem.  Is the real problem that CLISP terminates uncontrollably?
  If so, that should be a high-priority bug report and serious attention
  to a fix, not some user somewhere crying over crashing software in the
  sadly misguided belief that he just has to live with it.  Again if so,
  users should stop accepting that software crashes, like they would
  never accept to come home to a house in rubbles one afternoon and be
  explained that random crashes are to expected with modern buildings.
  If the problem is not that CLISP terminates uncontrollably, there must
  be a reason why the function that runs this program cannot take care
  of its cleanup stuff itself.

  Solution to U.S. Presidential Election Crisis 2000:
    Let Texas secede from the Union and elect George W. Bush their
    very first President.  All parties, states would rejoice.