From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.help Subject: Re: elisp macros problem Date: 24 Jul 2004 22:50:18 +0200 Organization: Organization?!? Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: <873c3h41o6.fsf@thalassa.informatimago.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1090702342 22871 80.91.224.253 (24 Jul 2004 20:52:22 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 24 Jul 2004 20:52:22 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Jul 24 22:52:14 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BoTV8-0001Mu-00 for ; Sat, 24 Jul 2004 22:52:14 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BoTY5-0008Hi-0j for geh-help-gnu-emacs@m.gmane.org; Sat, 24 Jul 2004 16:55:17 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!fu-berlin.de!uni-berlin.de!not-for-mail Original-Newsgroups: gnu.emacs.help,comp.lang.lisp Original-Lines: 26 Original-X-Trace: news.uni-berlin.de XcIAYCrkO3KS7E4cUREoHQIaz4LXT36VqVVjfODKoH4E55LXtd X-Face: 2FEFf>]>q>2iw=B6, xrUubRI>pR&Ml9=ao@P@i)L:\urd*t9M~y1^:+Y]'C0~{mAl`oQuAl \!3KEIp?*w`|bL5qr,H)LFO6Q=qx~iH4DN; i"; /yuIsqbLLCh/!U#X[S~(5eZ41to5f%E@'ELIi$t^ Vc\LWP@J5p^rst0+('>Er0=^1{]M9!p?&:\z]|;&=NP3AhB!B_bi^]Pfkw User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 Original-Xref: shelby.stanford.edu gnu.emacs.help:124430 comp.lang.lisp:144144 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 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 Xref: main.gmane.org gmane.emacs.help:19767 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:19767 Pascal Bourguignon writes: > Barry Margolin writes: > > > In article , > > Lowell Kirsh wrote: > > > > > (defmacro my-add-hook (hook &rest body) > > > (let ((tempvar (make-symbol "cat"))) > > > `(flet ((,tempvar (sym str) > > > (make-symbol (concat (symbol-name sym) str)))) > > > (add-hook (cat ,hook "-mode-hook") (lambda () ,@body))))) > > > > > > Does anyone know what's wrong with this and why it doesn't work? > > > > You need to use ,tempvar in place of cat in the last line. > > Then, (not (eq (make-symbol "toto")(make-symbol "toto"))), even on > emacs lisp. You should use intern! For accessing xxx-mode-hook, yes. But for the "cat" thingy, ,tempvar would be ok, even though pretty pointless: one does not really need to bind a function here. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum