Path: utzoo!attcan!uunet!know!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!crdgw1!ge-dab!puma!fergie!kmorgan From: kmorgan@fergie.ge.com (Keith Morgan) Newsgroups: comp.lang.lisp Subject: Re: scope/extent interaction with flet and load Message-ID: <332@puma.ge.com> Date: 27 Oct 90 14:05:35 GMT References: <60375@bbn.BBN.COM> <1990Oct26.133156@cs.yale.edu> Sender: news@puma.ge.com Reply-To: kmorgan@fergie.UUCP (Keith Morgan) Distribution: comp Organization: GE Advanced Technology Labs, Moorestown, NJ Lines: 21 In article <1990Oct26.133156@cs.yale.edu> engelson-sean@cs.yale.edu (Wisp Lizard) writes: > To do >what you want with functions, you need to change the global function >definition, as follows: > >(let ((old+ #'+)) > (setf (symbol-function '+) #'cons) > (unwind-protect > (load "fu") ; note the correct spelling :-) > (setf (symbol-function '+) old+)) > Unfortunately this solution will not work in a multiprocess environment since the global function cell is being set, not bound, and all processes will end up using the new definition . What is really needed is a way to declare an flet binding special but I don't think there is a way to do that. Keith Morgan Domain: kmorgan@atl.ge.com Path: !mcnc!ge-rtp!atl.ge.com!kmorgan