Oleh <ohwoeo...@gmail.com> writes: >> 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. >
Think of code blocks as macros with optional interactive expansion. If you don't execute the code block you need not ever see the results, however with an additional ":exports results" header argument the code block will be executed and replaced with it's results on export. Take a look at the (info "(org) Working With Source Code") portion of the Org-mode manual. Hope this helps, > > 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 -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D