Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!pasteur!ucbvax!decwrl!purdue!i.cc.purdue.edu!j.cc.purdue.edu!pur-ee!uiucdcs!uiucdcsm!liberte From: liberte@uiucdcsm.cs.uiuc.edu Newsgroups: comp.emacs Subject: Re: redefining functions in gnuemacs Message-ID: <4300011@uiucdcsm> Date: 10 May 88 23:13:00 GMT References: <5830@bunny.UUCP> Lines: 18 Nf-ID: #R:bunny.UUCP:5830:uiucdcsm:4300011:000:760 Nf-From: uiucdcsm.cs.uiuc.edu!liberte May 10 18:13:00 1988 /* Written 10:06 am May 5, 1988 by jwg1@bunny.UUCP in uiucdcsm:comp.emacs */ /* ---------- "redefining functions in gnuemacs" ---------- */ I would like to invoke a function every time delete-file is called. There doesn't appear to be a delete-file-hooks. Can I redefine delete-file and still use the old delete-file somehow ? -- Jim Gish /* End of text from uiucdcsm:comp.emacs */ You can redefine delete-file as you suggest. To get the current function for a symbol, use the symbol-function function, e.g. (setq old-delete-file (symbol-function 'delete-file)) However, delete-file is a primitive function and any calls to a primitive by a primitive will not use a lisp redefinition. There is a call of delete-file in the rename-file primitive. dan