diff lisp/modes/cperl-mode.el @ 153:25f70ba0133c r20-3b3

Import from CVS: tag r20-3b3
author cvs
date Mon, 13 Aug 2007 09:38:25 +0200
parents 59463afc5666
children 43dd3413c7c7
line wrap: on
line diff
--- a/lisp/modes/cperl-mode.el	Mon Aug 13 09:37:21 2007 +0200
+++ b/lisp/modes/cperl-mode.el	Mon Aug 13 09:38:25 2007 +0200
@@ -32,7 +32,7 @@
 ;;; Corrections made by Ilya Zakharevich ilya@math.mps.ohio-state.edu
 ;;; XEmacs changes by Peter Arius arius@informatik.uni-erlangen.de
 
-;; $Id: cperl-mode.el,v 1.6 1997/05/23 01:36:22 steve Exp $
+;; $Id: cperl-mode.el,v 1.7 1997/05/29 23:49:50 steve Exp $
 
 ;;; To use this mode put the following into your .emacs file:
 
@@ -713,7 +713,8 @@
   (cperl-define-key "\e\C-q" 'cperl-indent-exp) ; Usually not bound
   ;;(cperl-define-key "\M-q" 'cperl-fill-paragraph)
   ;;(cperl-define-key "\e;" 'cperl-indent-for-comment)
-  (cperl-define-key "\177" 'cperl-electric-backspace)
+;; GDF - don't clobber the DEL binding...
+;;  (cperl-define-key "\177" 'cperl-electric-backspace)
   (cperl-define-key "\t" 'cperl-indent-command)
   ;; don't clobber the backspace binding:
   (cperl-define-key "\C-hf" 'cperl-info-on-command [(control h) f])
@@ -991,6 +992,8 @@
 with no args."
   (interactive)
   (kill-all-local-variables)
+  (make-local-hook 'backspace-or-delete-hook)
+  (add-hook 'backspace-or-delete-hook 'cperl-electric-backspace nil t)
   ;;(if cperl-hairy
   ;;    (progn
   ;;	(cperl-set 'cperl-font-lock cperl-hairy)
@@ -1548,7 +1551,7 @@
 
 (defun cperl-electric-backspace (arg)
   "Backspace-untabify, or remove the whitespace inserted by an electric key."
-  (interactive "p")
+  (interactive "*P")
   (if (and cperl-auto-newline 
 	   (memq last-command '(cperl-electric-semi 
 				cperl-electric-terminator
@@ -1560,7 +1563,8 @@
 	(setq p (point))
 	(skip-chars-backward " \t\n")
 	(delete-region (point) p))
-    (backward-delete-char-untabify arg)))
+    (backward-delete-char-untabify (prefix-numeric-value arg)))
+  t)
 
 (defun cperl-inside-parens-p ()
   (condition-case ()