Hi Nicolas.
On Tue, Aug 9, 2011 at 3:21 PM, Nicolas Goaziou <n.goaz...@gmail.com> wrote: >> I would love to hear how other people feel about this. > > Same here. I don't use such blocks very often after all. > > Meanwhile, could you please reformat a bit your patch (no more than 80 > columns, no parents on their own line), add a commit message followed > by TINYCHANGE (unless you have signed FSF papers already) and use git > format-patch for the output? Sure. I have attached the output. >>> To sum it up, in the first case, you only loose the ability to indent >>> the whole buffer in one go (which isn't as bad as it sounds, since you >>> can achieve that differently). >> >> How else would you be able to achieve that? > > You may still indent regions without examples blocks, you can also > indent automatically each line you're writing. True, but that gets quite tedious once you have more than two or three blocks in your file. >> I might be wrong, but I believe that at least in LaTeX indentation in >> verse blocks is not taken into account. This seems reasonable since >> they are not typeset in a monospaced font. > > Actually indentation is partially taken into account. Some \hspace*{1cm} > are added. On the other hand, HTML enforces indentation with the help of > . Your right, it seems that org-mode somehow deals with it, even though LaTeX doesn't quite support it natively. Best regards, Valentin
From c64f1b607d937c6484dfc18110125b1287175ac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valentin=20W=FCstholz?= <wuesth...@gmail.com> Date: Tue, 9 Aug 2011 21:28:56 +0200 Subject: [PATCH] Preserve indentation of explicitly indented lines in example blocks * lisp/org.el (org-indent-line-function): Made the way in which example blocks are indented more flexible. Before: Lines in example blocks were indented like the surrounding begin and end delimiters. After: By default, lines in example blocks are indented like the surrounding begin and end delimiters, unless the user explicitly indents them differently. TINYCHANGE --- lisp/org.el | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index ba7f049..d8f1d2a 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -19460,10 +19460,14 @@ If point is in an inline task, mark that task instead." (save-excursion (re-search-backward "^[ \t]*#\\+begin_\\([a-z]+\\)" nil t)) (setq column - (if (equal (downcase (match-string 1)) "src") - ;; src blocks: let `org-edit-src-exit' handle them - (org-get-indentation) - (org-get-indentation (match-string 0))))) + (cond ((equal (downcase (match-string 1)) "src") + ;; src blocks: let `org-edit-src-exit' handle them + (org-get-indentation)) + ((equal (downcase (match-string 1)) "example") + (max (org-get-indentation) + (org-get-indentation (match-string 0)))) + (t + (org-get-indentation (match-string 0)))))) ;; This line has nothing special, look at the previous relevant ;; line to compute indentation (t -- 1.7.4.msysgit.0