diff options
author | Jay Belanger <jay.p.belanger@gmail.com> | 2008-05-18 05:10:51 +0000 |
---|---|---|
committer | Jay Belanger <jay.p.belanger@gmail.com> | 2008-05-18 05:10:51 +0000 |
commit | 87bd269a9472f62a7e3a41d5642fc213a790c065 (patch) | |
tree | 623fc11fe9cce031d3c5cb540df77f0538d34c2c /lisp/calc | |
parent | b1d87c1084c3e7169b49f069b3ea97cd65ad5235 (diff) | |
download | emacs-87bd269a9472f62a7e3a41d5642fc213a790c065.tar.gz |
(calc-kill): Make sure that only the stack is operated on.
(calc-kill-region): Kill entire lines.
Diffstat (limited to 'lisp/calc')
-rw-r--r-- | lisp/calc/calc-yank.el | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lisp/calc/calc-yank.el b/lisp/calc/calc-yank.el index be44a3b25d4..a9a0e54b9a8 100644 --- a/lisp/calc/calc-yank.el +++ b/lisp/calc/calc-yank.el @@ -46,6 +46,7 @@ (setq num (1- num))) (setq num (- num n) n (- n)))) + (calc-check-stack num) (let ((stuff (calc-top-list n (- num n -1)))) (calc-cursor-stack-index num) (let ((first (point))) @@ -82,9 +83,15 @@ (calc-force-refresh) (calc-set-command-flag 'no-align) (let* ((top-num (calc-locate-cursor-element top)) + (top-pos (save-excursion + (calc-cursor-stack-index top-num) + (point))) (bot-num (calc-locate-cursor-element (1- bot))) + (bot-pos (save-excursion + (calc-cursor-stack-index (max 0 (1- bot-num))) + (point))) (num (- top-num bot-num -1))) - (copy-region-as-kill top bot) + (copy-region-as-kill top-pos bot-pos) (setq calc-last-kill (cons (car kill-ring) (calc-top-list num bot-num))) (if (not no-delete) |