Hello Adam,

Adam Porter <a...@alphapapa.net> writes:
> You might consider using the function buffer-local-value instead of the
> macro with-current-buffer.  Not that it matters so much here, but
> benchmarking shows that it is much faster when simply accessing the
> buffer-local value of a variable.

Thank you. Such information is always very welcome.

An updated patch is attached to this mail. I also added an ORG-NEWS
entry.

Best wishes
Sebastian

>From 34eb8882e09701aa12da40510a24c688f4a5ac20 Mon Sep 17 00:00:00 2001
From: Sebastian Miele <sebastian.mi...@gmail.com>
Date: Wed, 9 Oct 2019 01:00:50 +0000
Subject: [PATCH] Respect buffer-local value of
 `org-edit-src-content-indentation'

* lisp/org-src.el (org-src--contents-for-write-back): Use the
potentially buffer-local value of `org-edit-src-content-indentation'
from the source buffer instead of that from the editing buffer.
---
 etc/ORG-NEWS    | 4 ++++
 lisp/org-src.el | 3 ++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 0e07326cb..b562a0935 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -428,6 +428,10 @@ leave unfolded subtrees unfolded.
 I.e. treat the whole file as if it was a subtree.
 
 *** Respect narrowing when agenda command is restricted to buffer
+*** Respect buffer-local value of ~org-edit-src-content-indentation~
+
+Use the potentially buffer-local value of `org-edit-src-content-indentation'
+from the source buffer instead of that from the editing buffer.
 
 * Version 9.2
 ** Incompatible changes
diff --git a/lisp/org-src.el b/lisp/org-src.el
index 9134d5b5d..99841c211 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -422,7 +422,8 @@ Assume point is in the corresponding edit buffer."
         (if org-src--preserve-indentation 0
           (+ (or org-src--block-indentation 0)
              (if (memq org-src--source-type '(example-block src-block))
-                 org-edit-src-content-indentation
+                 (buffer-local-value 'org-edit-src-content-indentation
+                                     (marker-buffer org-src--beg-marker))
                0))))
        (use-tabs? (and (> org-src--tab-width 0) t))
        (source-tab-width org-src--tab-width)
-- 
2.23.0

Reply via email to