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
> &nbsp;.


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

Reply via email to