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)

Reply via email to