From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: lee Newsgroups: gmane.emacs.help Subject: Re: replacing a function with another one Date: Sun, 09 Mar 2014 18:58:24 +0100 Organization: my virtual residence Message-ID: <87lhwj1cfz.fsf@yun.yagibdah.de> References: <87vbvofsi6.fsf@yun.yagibdah.de> <87bnxgs4r9.fsf@web.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1394388569 10999 80.91.229.3 (9 Mar 2014 18:09:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 9 Mar 2014 18:09:29 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Mar 09 19:09:38 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WMiAL-0007Fv-SW for geh-help-gnu-emacs@m.gmane.org; Sun, 09 Mar 2014 19:09:37 +0100 Original-Received: from localhost ([::1]:45024 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WMiAL-0004VB-DG for geh-help-gnu-emacs@m.gmane.org; Sun, 09 Mar 2014 14:09:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39389) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WMi9y-0004L4-Jr for help-gnu-emacs@gnu.org; Sun, 09 Mar 2014 14:09:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WMi9t-0006uq-IG for help-gnu-emacs@gnu.org; Sun, 09 Mar 2014 14:09:14 -0400 Original-Received: from client-194-42-186-216.muenet.net ([194.42.186.216]:50898 helo=yun.yagibdah.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WMi9t-0006ud-BL for help-gnu-emacs@gnu.org; Sun, 09 Mar 2014 14:09:09 -0400 Original-Received: from lee by yun.yagibdah.de with local (Exim 4.80.1) (envelope-from ) id 1WMi9s-0000B2-7d for help-gnu-emacs@gnu.org; Sun, 09 Mar 2014 19:09:08 +0100 In-Reply-To: <87bnxgs4r9.fsf@web.de> (Michael Heerdegen's message of "Sat, 08 Mar 2014 23:30:02 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Mail-Followup-To: help-gnu-emacs@gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 194.42.186.216 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:96345 Archived-At: Michael Heerdegen writes: > lee writes: > >> is there a way to replace a function with another one other than >> re-defining the original function? >> >> Using (defalias) doesn=C2=B4t seem to work for this. > > Although it's probably cleaner to use advices, `defalias' should also > work. How did you call it? The function is called by the hi-lock-mode itself. I used defalias in another mode. It=C2=B4s basically like this: in mode A: (defun mode-a-function-one (mode-a-function-two)) in mode B: (defun mode-a-function-two-replacement) (defalias 'mode-a-function-two 'mode-a-function-two-replacement) (defun mode-b-function (mode-a-function-one)) It was possible to re-define 'mode-a-function with mode B, provided that mode A was already loaded at the time the function was re-defined --- which makes sense because otherwise there is nothing to re-define, and mode A may even re-define the function of mode B when it=C2=B4s loaded after mode B is loaded. The defalias somehow didn=C2=B4t kick in. Defadvice shines. I wonder who invented that ... And re-defining functions just like that? Isn=C2=B4t that a rather dangero= us and potentially troublesome feature? --=20 Knowledge is volatile and fluid. Software is power.