Re: [O] [PATCH] Respect buffer-local value of `org-edit-src-content-indentation'

2019-10-16 Thread Sebastian Miele
Hello Adam,

Adam Porter  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 
Date: Wed, 9 Oct 2019 01:00:50 +
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



Re: [O] [PATCH] Respect buffer-local value of `org-edit-src-content-indentation'

2019-10-15 Thread Adam Porter
Hi Sebastian,

Sebastian Miele  writes:

> * 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.
> ---
>  lisp/org-src.el | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lisp/org-src.el b/lisp/org-src.el
> index 9134d5b5d..b7fe4c0fa 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
> +   (with-current-buffer (marker-buffer org-src--beg-marker)
> + org-edit-src-content-indentation)
>   0
>   (use-tabs? (and (> org-src--tab-width 0) t))
>   (source-tab-width org-src--tab-width)

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.




[O] [PATCH] Respect buffer-local value of `org-edit-src-content-indentation'

2019-10-14 Thread Sebastian Miele
* 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.
---
 lisp/org-src.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/org-src.el b/lisp/org-src.el
index 9134d5b5d..b7fe4c0fa 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
+ (with-current-buffer (marker-buffer org-src--beg-marker)
+   org-edit-src-content-indentation)
0
(use-tabs? (and (> org-src--tab-width 0) t))
(source-tab-width org-src--tab-width)
-- 
2.23.0