summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/simple.el7
2 files changed, 9 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0215d0aead6..4120f6e1c58 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,9 @@
2009-07-15 Chong Yidong <cyd@stupidchicken.com>
+ * simple.el (kill-visual-line): Obey kill-whole-line (Bug#3695).
+
+2009-07-15 Chong Yidong <cyd@stupidchicken.com>
+
* simple.el (deactivate-mark): Optional argument FORCE.
(set-mark): Use deactivate-mark.
diff --git a/lisp/simple.el b/lisp/simple.el
index 68966cf95a7..959076b11cb 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4533,7 +4533,8 @@ even beep.)"
(interactive "P")
;; Like in `kill-line', it's better to move point to the other end
;; of the kill before killing.
- (let ((opoint (point)))
+ (let ((opoint (point))
+ (kill-whole-line (and kill-whole-line (bolp))))
(if arg
(vertical-motion (prefix-numeric-value arg))
(end-of-visual-line 1)
@@ -4545,7 +4546,9 @@ even beep.)"
;; whether the trailing whitespace is highlighted. But, it's
;; OK to just do this unconditionally.
(skip-chars-forward " \t")))
- (kill-region opoint (point))))
+ (kill-region opoint (if (and kill-whole-line (looking-at "\n"))
+ (1+ (point))
+ (point)))))
(defun next-logical-line (&optional arg try-vscroll)
"Move cursor vertically down ARG lines.