emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] Bug? : Nested macro expansion


From: Jonathan Leech-Pepin
Subject: [O] Bug? : Nested macro expansion
Date: Thu, 6 Dec 2012 15:48:48 -0500

Hello all,

When trying to insert a macro as one of the variables in another macro
(inline and not in the definition), the export fails in both exporters
in different ways.

Using the following example:

#+begin_src org
#+MACRO: test2 /$1/
#+MACRO: test3 *$1*
#+MACRO: test {{{test2($1)}}} - $2
#+MACRO: test4 $1 - $2

Test
1. {{{test(hello,goodbye)}}}
2. {{{test(hello, {{{test3(goodbye)}}})}}}
3. {{{test({{{test3(hello)}}},goodbye)}}}
4. {{{test4({{{test3(hello)}}},goodbye)}}}
5. {{{test4(hello,{{{test3(goodbye)}}})}}}
#+end_src

Old exporter (ascii):

                                 Test
                                 ====
1. /hello/ - goodbye
2. /hello/ - *goodbye*
3. /*hello/ - goodbye*
4. *hello - goodbye*
5. hello - *goodbye*

New exporter (org-e-ascii-as-ascii):

Test
1. /hello/ - goodbye
2. /hello/ - *goodbye*
3. /{{{test3(hello/ - ,goodbye)}}}
4. *hello -*
5. hello - *goodbye*


The issues are with examples 3 and 4, where the interior macro does
not close any markup until after the end of the exterior macro.  The
new exporter is particularly bad, since in 3 it does not even expand
the internal macro (although it does expand it if it is part of the
original definition), and in 4 it completely omits $2 when creating
the expansion.

Regards,

--
Jon

reply via email to

[Prev in Thread] Current Thread [Next in Thread]