Function: cperl-electric-backspace
cperl-electric-backspace is an interactive and byte-compiled function
defined in cperl-mode.el.gz.
Signature
(cperl-electric-backspace ARG)
Documentation
Backspace, or remove whitespace around the point inserted by an electric key.
Will untabify if cperl-electric-backspace-untabify is non-nil.
ARG is the key which caused the action.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cperl-mode.el.gz
(defun cperl-electric-backspace (arg)
"Backspace, or remove whitespace around the point inserted by an electric key.
Will untabify if `cperl-electric-backspace-untabify' is non-nil.
ARG is the key which caused the action."
(interactive "p")
(if (and cperl-auto-newline
(memq last-command '(cperl-electric-semi
cperl-electric-terminator
cperl-electric-lbrace))
(memq (preceding-char) '(?\s ?\t ?\n)))
(let (p)
(if (eq last-command 'cperl-electric-lbrace)
(skip-chars-forward " \t\n"))
(setq p (point))
(skip-chars-backward " \t\n")
(delete-region (point) p))
(and (eq last-command 'cperl-electric-else)
;; We are removing the whitespace *inside* cperl-electric-else
(setq this-command 'cperl-electric-else-really))
(if (and cperl-auto-newline
(eq last-command 'cperl-electric-else-really)
(memq (preceding-char) '(?\s ?\t ?\n)))
(let (p)
(skip-chars-forward " \t\n")
(setq p (point))
(skip-chars-backward " \t\n")
(delete-region (point) p))
(if cperl-electric-backspace-untabify
(backward-delete-char-untabify arg)
(call-interactively 'delete-backward-char)))))