diff options
author | Sebastian Miele <sebastian.miele@gmail.com> | 2019-10-09 01:00:50 +0000 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2019-11-20 22:29:30 +0100 |
commit | 3649d95b1360033796b7aa5edba29d9e4afb9aff (patch) | |
tree | facdb732939d0815ed7e7210b5a10ced2407a9cc | |
parent | e69a85f4e121f6b09850caf0b30926e0437532e1 (diff) | |
download | org-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.el | 14 |
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) |