Function: viper-exec-delete

viper-exec-delete is a byte-compiled function defined in viper-cmd.el.gz.

Signature

(viper-exec-delete M-COM COM)

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper-cmd.el.gz
(defun viper-exec-delete (_m-com _com)
  (or (and (markerp viper-com-point) (marker-position viper-com-point))
      (set-marker viper-com-point (point) (current-buffer)))
  (let (chars-deleted)
    (if viper-use-register
	(progn
	  (cond ((viper-valid-register viper-use-register '(letter digit))
		 (copy-to-register
		  viper-use-register viper-com-point (point) nil))
		((viper-valid-register viper-use-register '(Letter))
		 (viper-append-to-register
		  (downcase viper-use-register) viper-com-point (point)))
		(t (setq viper-use-register nil)
		 (error viper-InvalidRegister viper-use-register)))
	  (setq viper-use-register nil)))
    (setq last-command
	  (if (eq last-command 'd-command) 'kill-region nil))
    (setq chars-deleted (abs (- (point) viper-com-point)))
    (if (> chars-deleted viper-change-notification-threshold)
	(unless (viper-is-in-minibuffer)
	  (message "Deleted %d characters" chars-deleted)))
    (kill-region viper-com-point (point))
    (setq this-command 'd-command)
    (if viper-ex-style-motion
	(if (and (eolp) (not (bolp))) (backward-char 1)))))