home · contact · privacy
Further fix char deletion in-line rules.
[plomvi.el] / plomvi.el
index 8d9b768ed4cf6764410a187549eeb610846b8a7f..70903b31b5580be28a74c8dabec4aebc4c64b7ac 100644 (file)
--- a/plomvi.el
+++ b/plomvi.el
@@ -153,7 +153,7 @@ Note that this ignores killed rectangles."
 (defun plomvi-kill-region-lines()
   "Kill lines of marked region."
   (interactive)
-  (plomvi-foo 'kill-region))
+  (plomvi-affect-lines-of-region 'kill-region))
 
 (defun plomvi-x()
   "If rectangle or region marked, kill those; else, kill char after point."
@@ -163,8 +163,10 @@ Note that this ignores killed rectangles."
     (kill-rectangle (region-beginning) (region-end)))
    ((use-region-p)
     (kill-region (region-beginning) (region-end)))
-   (t
-    (delete-char 1))))
+   ((not (= (point) (line-end-position)))
+    (delete-char 1))
+   ((not (= (line-beginning-position) (line-end-position)))
+    (backward-char) (delete-char 1))))
 
 (defun plomvi-rectangle-mark()
   "Start marked rectangle, move right one char so a single column is visible."
@@ -190,7 +192,7 @@ Note that this ignores killed rectangles."
    ((and (boundp 'rectangle-mark-mode) (eq t rectangle-mark-mode))
     (copy-rectangle-as-kill (region-beginning) (region-end)))
    ((use-region-p)
-    (plomvi-foo 'copy-region-as-kill))
+    (plomvi-affect-lines-of-region 'copy-region-as-kill))
    (t
     (copy-region-as-kill (line-beginning-position) (+ 1 (line-end-position))))))