From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleh Subject: Re: Does org export have something like Lisp quasiquote and unquote? Date: Wed, 19 Feb 2014 19:45:05 +0100 Message-ID: References: <87eh2zf1y0.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55860) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WGC8p-00062S-Qj for emacs-orgmode@gnu.org; Wed, 19 Feb 2014 13:45:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WGC8o-0002fZ-ND for emacs-orgmode@gnu.org; Wed, 19 Feb 2014 13:45:07 -0500 Received: from mail-wg0-x229.google.com ([2a00:1450:400c:c00::229]:53960) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WGC8o-0002ec-Fy for emacs-orgmode@gnu.org; Wed, 19 Feb 2014 13:45:06 -0500 Received: by mail-wg0-f41.google.com with SMTP id l18so4358462wgh.4 for ; Wed, 19 Feb 2014 10:45:05 -0800 (PST) In-Reply-To: <87eh2zf1y0.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: org mode > The following will do what you want. > > set the value > #+begin_src lisp :results silent > (defvar foo '(defun square (x) (* x x))) > #+end_src > > #+begin_src lisp :results output pp code > foo > #+end_src > > #+RESULTS: > #+BEGIN_SRC lisp > > (DEFUN SQUARE (X) (* X X)) > #+END_SRC > > Best, > > -- > Eric Schulte > https://cs.unm.edu/~eschulte > PGP: 0x614CA05D Thanks, Eric, but this isn't what I had in mind. I want the org-mode file to remain unchanged while behaving as if it was changed, something like C macros: C compiler is not aware of macros and I'm not aware of the expanded code, but we get along nicely anyway. First use-case is that I'm writing documentation for a library of functions, so some of them are mentioned a few times. I'd like to refer to them not by name, which can be subjected to change but by a file local variable. For instance, I've got a link in a table referring to a heading. They both have the same name and I'd like to keep them consistent, but I don't want to do it manually. Second use-case is that I'm generating a HTML block with `htmlize-buffer' that I want to include in the document. I'd prefer not to have hundreds of lines of HTML that correspond to 3 lines of code that they're supposed to represent. I'd rather generate this HTML via this macro mechanism that I hope exists in some form, maybe in conjunction with a makefile-like mechanism. Here's the org file that I'm working on: https://raw.github.com/abo-abo/lispy/gh-pages/index.org. As you see a lot of redundancy there and also several huge ugly HTML blocks. Btw, is there a way to #include HTML blocks? Here's the export result: http://abo-abo.github.io/lispy/. regards, Oleh