Function: viper-delete-backward-char

viper-delete-backward-char is an interactive and byte-compiled function defined in viper-cmd.el.gz.

Signature

(viper-delete-backward-char ARG)

Documentation

Delete previous character. On reaching beginning of line, stop and beep.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper-cmd.el.gz
(defun viper-delete-backward-char (arg)
  "Delete previous character.  On reaching beginning of line, stop and beep."
  (interactive "P")
  (let ((val (viper-p-val arg))
	end-del-pos)
    (viper-set-destructive-command
     (list 'viper-delete-backward-char val nil nil nil nil))
    (if (and
	 viper-ex-style-editing
	 (> val (viper-chars-in-region (viper-line-pos 'start) (point))))
	(setq val (viper-chars-in-region (viper-line-pos 'start) (point))))
    (save-excursion
      (viper-backward-char-carefully val)
      (setq end-del-pos (point)))
    (if viper-use-register
	(progn
	  (cond ((viper-valid-register viper-use-register '(Letter))
		 (viper-append-to-register
		  (downcase viper-use-register) end-del-pos (point)))
		((viper-valid-register viper-use-register)
		 (copy-to-register
		  viper-use-register end-del-pos (point) nil))
		(t (error viper-InvalidRegister viper-use-register)))
	  (setq viper-use-register nil)))
    (if (and (bolp) viper-ex-style-editing)
	(ding))
    (delete-char (- val) t)))