From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Daniel Jensen Newsgroups: gmane.emacs.help Subject: Re: How does one use a macro in a special form? Date: Sat, 28 Jun 2003 20:00:48 +0200 Sender: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: <863chuqdyn.fsf@bigwalter.net> References: Reply-To: daniel@bigwalter.net NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1056823770 30712 80.91.224.249 (28 Jun 2003 18:09:30 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 28 Jun 2003 18:09:30 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Sat Jun 28 20:09:29 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19WK8f-0007zC-00 for ; Sat, 28 Jun 2003 20:09:29 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19WK5V-0006RK-OC for gnu-help-gnu-emacs@m.gmane.org; Sat, 28 Jun 2003 14:06:13 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.stueberl.de!fu-berlin.de!uni-berlin.de!as16-3-5.ld.bonet.SE!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 33 Original-NNTP-Posting-Host: as16-3-5.ld.bonet.se (217.215.193.155) Original-X-Trace: fu-berlin.de 1056823249 30842734 217.215.193.155 (16 [147297]) User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) X-Face: SNGmwsN&0DaHhS0!*%\@y"Wc^).,<; VsqY#}K/NJ:A Z6_>Md7x$Z9C1%BAu41M'12-8(f2{H*8OsnYv,K+y.szl1K>}{uC/>2?; k[KUiD=$}@z>odk|7Tk7i $A|{j7LhTt!:SdVp5Z,kKA247}--"-QLedxCbw|#&bh=R]Rd)kx{q+T'fG)9ayG`+\@g'3vx1Fd3bl -`3}Guvr!A"Z);"$|]CXW>YR5m"<[L Cancel-Lock: sha1:MWdOjZznaBfyCEk1FWnfiLjn2SI= Original-Xref: shelby.stanford.edu gnu.emacs.help:114818 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:11311 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:11311 Alan Mackenzie writes: > In particular, I want to use a macro acm-indent++ within a let (or let*), You can't. Let is a special form and does not follow conventional evaluation rules. > The macro acm-indent++ looks like this: > > (defmacro acm-indent++ () > "Increase the level of indentation in an acm-printf output by binding indent-spaces. > This form must appear \"comma\"d in a let/let* variable list." > `(indent-spaces (concat indent-spaces " "))) Use something like this instead: (defmacro with-extra-indent-spaces (&rest body) `(let ((indent-spaces (concat indent-spaces " "))) ,@body)) (let (...) (with-extra-indent-spaces ...)) > Question: does the "," operator have meaning when not within a backquote > expression? No. Then it's just a character. It is only an "operator" inside backquoted forms. -- Daniel Jensen Editing is a rewording activity.