emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/objed 963841d 025/166: Improve continuation object


From: Clemens Radermacher
Subject: [elpa] externals/objed 963841d 025/166: Improve continuation object
Date: Sun, 29 Dec 2019 08:20:54 -0500 (EST)

branch: externals/objed
commit 963841d0818e9e55bf77439301a85e806f66b11e
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>

    Improve continuation object
---
 objed.el | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/objed.el b/objed.el
index 0bf1d3a..50ca624 100644
--- a/objed.el
+++ b/objed.el
@@ -734,8 +734,10 @@ selected one."
 
     ;; basic edit ops
     (define-key map "k" 'objed-kill)
+    (define-key map "K" 'objed-kill)
     (define-key map "w" 'objed-copy)
     (define-key map "d" 'objed-delete)
+    (define-key map "D" 'objed-delete)
 
     (define-key map "y" 'objed-yank)
 
@@ -3508,15 +3510,15 @@ and RANGE hold the object position data."
 
 
 (defun objed--get-continuation-object (obj)
-  "Return continuation object for object OBJ."
+  "Return object for continuation OBJ."
   ;; white list
-  (cond ((memq obj '(word defun sentence))
-         (objed-make-object :beg (point)
-                            :end (objed--end (objed--get))))
-        (t
-         (objed--switch-to 'sexp)
-         (objed-make-object :beg (point)
-                            :end (objed--end)))))
+  (let ((shifted (memq 'shift (event-modifiers last-input-event))))
+    (unless (memq obj '(word defun sentence line))
+      (objed--switch-to 'sexp))
+    (objed-make-object :beg (if shifted (objed--beg (objed--get-prev))
+                              (point))
+                       :end (if shifted (point)
+                              (objed--end (objed--get))))))
 
 
 (defun objed-quit ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]