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