From c64f1b607d937c6484dfc18110125b1287175ac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valentin=20W=FCstholz?= 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