From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Docs submitted (Was Re: Advice sought on managing decision alternatives.) Date: Thu, 12 Feb 2009 00:45:20 +0100 Message-ID: <867425F3-C984-4D41-8BBD-51573C0A9BC9@uva.nl> References: <20090101170227.C707734803@mail2.panix.com> <1036.24.63.0.170.1233950825.squirrel@mail.panix.com> <60BDFE6D-6B8C-4A23-A737-67DC1F523C79@uva.nl> <1044.66.30.185.29.1234039592.squirrel@mail.panix.com> <6444D654-9B7B-415D-A6DB-F3BADCB1EE2A@uva.nl> <1451.24.63.21.131.1234124707.squirrel@mail.panix.com> <8BD25355-1218-4DB5-9C85-77EA011540D0@uva.nl> <1555.24.62.30.15.1234235653.squirrel@mail.panix.com> <1062.24.62.30.15.1234314505.squirrel@mail.panix.com> <3AFEF956-A0A1-4777-B02C-4ECC58844EDB@uva.nl> <1045.65.96.63.84.1234382543.squirrel@mail.panix.com> Mime-Version: 1.0 (Apple Message framework v930.3) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LXOlh-0002Xn-H6 for emacs-orgmode@gnu.org; Wed, 11 Feb 2009 18:45:25 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LXOlh-0002XK-7u for emacs-orgmode@gnu.org; Wed, 11 Feb 2009 18:45:25 -0500 Received: from [199.232.76.173] (port=43370 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LXOlg-0002XD-VC for emacs-orgmode@gnu.org; Wed, 11 Feb 2009 18:45:24 -0500 Received: from mail-ew0-f20.google.com ([209.85.219.20]:52919) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LXOlg-0003h0-Cw for emacs-orgmode@gnu.org; Wed, 11 Feb 2009 18:45:24 -0500 Received: by ewy13 with SMTP id 13so682552ewy.18 for ; Wed, 11 Feb 2009 15:45:23 -0800 (PST) In-Reply-To: <1045.65.96.63.84.1234382543.squirrel@mail.panix.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "Tom Breton (Tehom)" Cc: emacs-orgmode@gnu.org On Feb 11, 2009, at 9:02 PM, Tom Breton (Tehom) wrote: >> >> Hi Tom, >> >> maybe you can educate me: I have never understood what the "#" does >> in code like the one you have here. You are using it, so maybe you >> know? >> >> - Carsten >> >> > > Here, it's #' that it of interest, not # alone. > > At the most direct level, it quotes the symbol with `function' > instead of > `quote'. For example: > > (format "%s" ' 'foo) => "(quote foo)" > (format "%s" ' #'foo) => "(function foo)" > > What it accomplishes: > * In some contexts, it is needed to get a symbol's function binding > instead of its value binding. > * It alerts the byte-compiler that it's seeing a function, so it can > perform certain optimizations (I don't know offhand exactly what). > * Stylistically, it alerts the reader. OK, thanks a lot! > > > It's an imitation of Common Lisp's reader macro #' which does sort > of > the same thing. > > At the syntax level, it's really a combination of # which > signals a > reader macro - though in emacs, it's all hard-coded and inextensible > - and > ' which stands for the function-quote reader macro. > > FWIW, what I added to lread.c was an extension of the reader macro > facility at RMS' request, so you definitely asked the right guy. :-) Thanks for the explanations. > > > Tom Breton (Tehom) > >