summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Miele <sebastian.miele@gmail.com>2019-10-09 01:00:50 +0000
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2019-11-20 22:29:30 +0100
commit3649d95b1360033796b7aa5edba29d9e4afb9aff (patch)
treefacdb732939d0815ed7e7210b5a10ced2407a9cc
parente69a85f4e121f6b09850caf0b30926e0437532e1 (diff)
downloadorg-mode-3649d95b1360033796b7aa5edba29d9e4afb9aff.tar.gz
Respect buffer-local value of `org-edit-src-content-indentation'
* lisp/org-src.el (org-src--content-indentation): Introduce permanently buffer-local variable for storing away the potentially buffer-local value of `org-edit-src-content-indentation' in the source buffer. (org-src--contents-for-write-back): Use `org-src--content-indentation' instead of `org-edit-src-content-indentation' in the edit buffer. (org-src--edit-element): Set `org-src--content-indentation' in editing buffer. For greater clarity and consistency, rename already existing let-bound variable `ind' to `block-ind'.
-rw-r--r--lisp/org-src.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/org-src.el b/lisp/org-src.el
index 9134d5b..5e50a1b 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -258,6 +258,9 @@ issued in the language major mode buffer."
(defvar-local org-src--block-indentation nil)
(put 'org-src--block-indentation 'permanent-local t)
+(defvar-local org-src--content-indentation nil)
+(put 'org-src--content-indentation 'permanent-local t)
+
(defvar-local org-src--end-marker nil)
(put 'org-src--end-marker 'permanent-local t)
@@ -422,7 +425,7 @@ 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
+ org-src--content-indentation
0))))
(use-tabs? (and (> org-src--tab-width 0) t))
(source-tab-width org-src--tab-width)
@@ -484,9 +487,9 @@ Leave point in edit buffer."
(source-file-name (buffer-file-name (buffer-base-buffer)))
(source-tab-width (if indent-tabs-mode tab-width 0))
(type (org-element-type datum))
- (ind (org-with-wide-buffer
- (goto-char (org-element-property :begin datum))
- (current-indentation)))
+ (block-ind (org-with-point-at (org-element-property :begin datum)
+ (current-indentation)))
+ (content-ind org-edit-src-content-indentation)
(preserve-ind
(and (memq type '(example-block src-block))
(or (org-element-property :preserve-indent datum)
@@ -529,7 +532,8 @@ Leave point in edit buffer."
(setq org-src--end-marker end)
(setq org-src--remote remote)
(setq org-src--source-type type)
- (setq org-src--block-indentation ind)
+ (setq org-src--block-indentation block-ind)
+ (setq org-src--content-indentation content-ind)
(setq org-src--preserve-indentation preserve-ind)
(setq org-src--overlay overlay)
(setq org-src--allow-write-back write-back)