Hello Dario, On 12 February 2013 17:09, Dario Hamidi wrote: > > Hello Jonathan, > > > Using your patch as is would wrap the source blocks in both example and > > verbatim blocks. If going with verbatim it would be better to remove all > > references to @example/@end example. > > I don't understand where the problem lies with having a `@verbatim' > within a `@example'. Could you maybe explain to me why this is > problematic? > > Using both environments seems to achieve the goal of having an idented > source block in the resulting info file without having to further > process the source block before export. > > Consider exporting > > #+BEGIN_SRC sh > function fails > { > echo "this causes an error with makeinfo" > } > #+END_SRC > > with only the verbatim environment: > > File: test.info, Node: Top, Up: (dir) > > Manual > ****** > > function fails > { > echo "this causes an error with makeinfo" > } > > and with verbatim in example: > > File: test.info, Node: Top, Up: (dir) > > Manual > ****** > > function fails > { > echo "this causes an error with makeinfo" > } > > > It should be possible to escape any braces or @ before inserting them > into > > the > > example block to ensure there is no expansion. > > While it certainly is possible, it would also mean to properly escape > *all* characters with a special meaning to TeX. I suppose that making > text containing such characters visible in a document without having to > escape them is what the verbatim environment is for. > > > The only differences in using @verbatim over escaping any characters in > > @example are the following: > > - Tabs are treated as tabs and not as single spaces > > - The code block is not indented. > > Preserving whitespace seems like a good idea when displaying python > source code or makefiles. > > Dario > I've implemented a fix for this that should resolve the issue. `@ { }` are now properly escaped before export within source blocks. I didn't wrap the one block in the other since the issue also existed within lisp blocks (where inserting a verbatim block within a lisp block would have likely caused issues had someone wanted to extract any @lisp code from the info file. Regards, Jon