branch: elpa/markdown-mode commit 1d792c5851bf1fefe61c9441518e30b06cb9ecaf Author: Akinori Musha <k...@idaemons.org> Commit: Akinori Musha <k...@idaemons.org>
Refactor markdown-edit-code-block and reduce point movement --- markdown-mode.el | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/markdown-mode.el b/markdown-mode.el index fa47c42314..77f9bf55cb 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -9378,13 +9378,14 @@ at the END of code blocks." (if (fboundp 'edit-indirect-region) (if-let* ((bounds (markdown-get-enclosing-fenced-block-construct)) (fence-begin (nth 0 bounds)) - (fence-end (nth 1 bounds)) - (original-point (point)) - (original-column (current-column)) - (begin (progn (goto-char fence-begin) (line-beginning-position 2))) - (end (progn (goto-char fence-end) (line-beginning-position 1))) - (original-line (- (line-number-at-pos original-point) (line-number-at-pos begin)))) - (let* ((indentation (progn (goto-char fence-begin) (current-indentation))) + (fence-end (nth 1 bounds))) + (let* ((original-line (line-number-at-pos)) + (original-column (current-column)) + (begin (progn (goto-char fence-begin) (line-beginning-position 2))) + (line (max 0 (- original-line (line-number-at-pos) 1))) + (indentation (current-indentation)) + (column (max 0 (- original-column indentation))) + (end (progn (goto-char fence-end) (line-beginning-position 1))) (lang (markdown-code-block-lang)) (mode (or (and lang (markdown-get-lang-mode lang)) markdown-edit-code-block-default-mode)) @@ -9404,8 +9405,8 @@ at the END of code blocks." (when (> indentation 0) ;; un-indent in edit-indirect buffer (indent-rigidly (point-min) (point-max) (- indentation))) (goto-char (point-min)) - (forward-line (max 0 original-line)) - (move-to-column (max 0 (- original-column indentation))))) + (forward-line line) + (move-to-column column))) (user-error "Not inside a GFM or tilde fenced code block")) (when (y-or-n-p "Package edit-indirect needed to edit code blocks. Install it now? ") (package-refresh-contents)