Mercurial > hg > xemacs-beta
diff lisp/viper/viper.el @ 144:318232e2a3f0 r20-2b6
Import from CVS: tag r20-2b6
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:34:14 +0200 |
parents | fe104dbd9147 |
children | 43dd3413c7c7 |
line wrap: on
line diff
--- a/lisp/viper/viper.el Mon Aug 13 09:33:20 2007 +0200 +++ b/lisp/viper/viper.el Mon Aug 13 09:34:14 2007 +0200 @@ -2925,14 +2925,19 @@ (interactive "P") (vip-leave-region-active) (let ((val (vip-p-val arg)) - (com (vip-getcom arg))) + (com (vip-getcom arg)) + line-len) + (setq line-len (- (vip-line-pos 'end) (vip-line-pos 'start))) + (if com (vip-move-marker-locally 'vip-com-point (point))) + (beginning-of-line) + (forward-char (1- (min line-len val))) + (while (> (current-column) (1- val)) + (backward-char 1)) + (if com (vip-execute-com 'vip-goto-col val com)) (save-excursion (end-of-line) - (if (> val (1+ (current-column))) (error ""))) - (if com (vip-move-marker-locally 'vip-com-point (point))) - (beginning-of-line) - (forward-char (1- val)) - (if com (vip-execute-com 'vip-goto-col val com)))) + (if (> val (current-column)) (error ""))) + )) (defun vip-next-line (arg)