branch: externals/objed commit 1cad7c27425a310e1595e7f40d570710ef6f1e73 Author: Clemens Radermacher <clem...@posteo.net> Commit: Clemens Radermacher <clem...@posteo.net>
Start with line object if not current for block expansion --- objed.el | 21 ++++++++++++--------- test/tests/emacs-lisp-mode/expansion/block_2 | 5 +++-- test/tests/emacs-lisp-mode/expansion/block_3 | 3 +-- test/tests/emacs-lisp-mode/expansion/block_4 | 4 ++-- test/tests/emacs-lisp-mode/expansion/block_5 | 4 ++-- test/tests/emacs-lisp-mode/expansion/block_6 | 4 +--- 6 files changed, 21 insertions(+), 20 deletions(-) diff --git a/objed.el b/objed.el index d658803..13cd883 100644 --- a/objed.el +++ b/objed.el @@ -1595,15 +1595,18 @@ See also `objed--block-objects'." (let ((as (car (nthcdr 3 a))) (bs (car (nthcdr 3 b)))) (equal as bs)))))) - (when blocks - (let ((sdiff (abs (- (point) (objed--beg)))) - (ediff (abs (- (point) (objed--end))))) - (objed--restore-state (pop blocks)) - (goto-char (cond ((or (> ediff sdiff) - init) - (objed--beg)) - (t - (objed--end))))))))) + (if (and init + (not (eq objed--object 'line))) + (objed--switch-to 'line) + (when blocks + (let ((sdiff (abs (- (point) (objed--beg)))) + (ediff (abs (- (point) (objed--end))))) + (objed--restore-state (pop blocks)) + (goto-char (cond ((or (> ediff sdiff) + init) + (objed--beg)) + (t + (objed--end)))))))))) diff --git a/test/tests/emacs-lisp-mode/expansion/block_2 b/test/tests/emacs-lisp-mode/expansion/block_2 index 478402a..accd044 100644 --- a/test/tests/emacs-lisp-mode/expansion/block_2 +++ b/test/tests/emacs-lisp-mode/expansion/block_2 @@ -16,6 +16,7 @@ h ;; More on same level -|<;; Some text -;; and more text> +;; Some text +<;; and |more text +> diff --git a/test/tests/emacs-lisp-mode/expansion/block_3 b/test/tests/emacs-lisp-mode/expansion/block_3 index 8f8d725..41e68c4 100644 --- a/test/tests/emacs-lisp-mode/expansion/block_3 +++ b/test/tests/emacs-lisp-mode/expansion/block_3 @@ -17,6 +17,5 @@ hh ;; More on same level |<;; Some text -;; and more text -> +;; and more text> diff --git a/test/tests/emacs-lisp-mode/expansion/block_4 b/test/tests/emacs-lisp-mode/expansion/block_4 index d760406..1c8c1fa 100644 --- a/test/tests/emacs-lisp-mode/expansion/block_4 +++ b/test/tests/emacs-lisp-mode/expansion/block_4 @@ -15,7 +15,7 @@ hhh (ignore)) ;; More on same level -|< -;; Some text + +|<;; Some text ;; and more text > diff --git a/test/tests/emacs-lisp-mode/expansion/block_5 b/test/tests/emacs-lisp-mode/expansion/block_5 index bb726d2..0c969b6 100644 --- a/test/tests/emacs-lisp-mode/expansion/block_5 +++ b/test/tests/emacs-lisp-mode/expansion/block_5 @@ -14,8 +14,8 @@ hhhh (defun check () (ignore)) -|<;; More on same level - +;; More on same level +|< ;; Some text ;; and more text > diff --git a/test/tests/emacs-lisp-mode/expansion/block_6 b/test/tests/emacs-lisp-mode/expansion/block_6 index 90e8f63..c955607 100644 --- a/test/tests/emacs-lisp-mode/expansion/block_6 +++ b/test/tests/emacs-lisp-mode/expansion/block_6 @@ -11,13 +11,11 @@ hhhhh ;;;; -|< (defun check () (ignore)) -;; More on same level +|<;; More on same level ;; Some text ;; and more text - >