comparison 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
comparison
equal deleted inserted replaced
152:4c132ee2d62b 153:25f70ba0133c
30 30
31 31
32 ;;; Corrections made by Ilya Zakharevich ilya@math.mps.ohio-state.edu 32 ;;; Corrections made by Ilya Zakharevich ilya@math.mps.ohio-state.edu
33 ;;; XEmacs changes by Peter Arius arius@informatik.uni-erlangen.de 33 ;;; XEmacs changes by Peter Arius arius@informatik.uni-erlangen.de
34 34
35 ;; $Id: cperl-mode.el,v 1.6 1997/05/23 01:36:22 steve Exp $ 35 ;; $Id: cperl-mode.el,v 1.7 1997/05/29 23:49:50 steve Exp $
36 36
37 ;;; To use this mode put the following into your .emacs file: 37 ;;; To use this mode put the following into your .emacs file:
38 38
39 ;; (autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl programs" t) 39 ;; (autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl programs" t)
40 40
711 (cperl-define-key "\C-c\C-k" 'cperl-toggle-abbrev) 711 (cperl-define-key "\C-c\C-k" 'cperl-toggle-abbrev)
712 (cperl-define-key "\C-c\C-e" 'cperl-toggle-electric) 712 (cperl-define-key "\C-c\C-e" 'cperl-toggle-electric)
713 (cperl-define-key "\e\C-q" 'cperl-indent-exp) ; Usually not bound 713 (cperl-define-key "\e\C-q" 'cperl-indent-exp) ; Usually not bound
714 ;;(cperl-define-key "\M-q" 'cperl-fill-paragraph) 714 ;;(cperl-define-key "\M-q" 'cperl-fill-paragraph)
715 ;;(cperl-define-key "\e;" 'cperl-indent-for-comment) 715 ;;(cperl-define-key "\e;" 'cperl-indent-for-comment)
716 (cperl-define-key "\177" 'cperl-electric-backspace) 716 ;; GDF - don't clobber the DEL binding...
717 ;; (cperl-define-key "\177" 'cperl-electric-backspace)
717 (cperl-define-key "\t" 'cperl-indent-command) 718 (cperl-define-key "\t" 'cperl-indent-command)
718 ;; don't clobber the backspace binding: 719 ;; don't clobber the backspace binding:
719 (cperl-define-key "\C-hf" 'cperl-info-on-command [(control h) f]) 720 (cperl-define-key "\C-hf" 'cperl-info-on-command [(control h) f])
720 (cperl-define-key "\C-c\C-hf" 'cperl-info-on-current-command 721 (cperl-define-key "\C-c\C-hf" 'cperl-info-on-current-command
721 [(control c) (control h) f]) 722 [(control c) (control h) f])
989 990
990 Turning on CPerl mode calls the hooks in the variable `cperl-mode-hook' 991 Turning on CPerl mode calls the hooks in the variable `cperl-mode-hook'
991 with no args." 992 with no args."
992 (interactive) 993 (interactive)
993 (kill-all-local-variables) 994 (kill-all-local-variables)
995 (make-local-hook 'backspace-or-delete-hook)
996 (add-hook 'backspace-or-delete-hook 'cperl-electric-backspace nil t)
994 ;;(if cperl-hairy 997 ;;(if cperl-hairy
995 ;; (progn 998 ;; (progn
996 ;; (cperl-set 'cperl-font-lock cperl-hairy) 999 ;; (cperl-set 'cperl-font-lock cperl-hairy)
997 ;; (cperl-set 'cperl-electric-lbrace-space cperl-hairy) 1000 ;; (cperl-set 'cperl-electric-lbrace-space cperl-hairy)
998 ;; (cperl-set 'cperl-electric-parens "{[(<") 1001 ;; (cperl-set 'cperl-electric-parens "{[(<")
1546 (self-insert-command (prefix-numeric-value arg))) 1549 (self-insert-command (prefix-numeric-value arg)))
1547 (self-insert-command (prefix-numeric-value arg))))) 1550 (self-insert-command (prefix-numeric-value arg)))))
1548 1551
1549 (defun cperl-electric-backspace (arg) 1552 (defun cperl-electric-backspace (arg)
1550 "Backspace-untabify, or remove the whitespace inserted by an electric key." 1553 "Backspace-untabify, or remove the whitespace inserted by an electric key."
1551 (interactive "p") 1554 (interactive "*P")
1552 (if (and cperl-auto-newline 1555 (if (and cperl-auto-newline
1553 (memq last-command '(cperl-electric-semi 1556 (memq last-command '(cperl-electric-semi
1554 cperl-electric-terminator 1557 cperl-electric-terminator
1555 cperl-electric-lbrace)) 1558 cperl-electric-lbrace))
1556 (memq (preceding-char) '(? ?\t ?\n))) 1559 (memq (preceding-char) '(? ?\t ?\n)))
1558 (if (eq last-command 'cperl-electric-lbrace) 1561 (if (eq last-command 'cperl-electric-lbrace)
1559 (skip-chars-forward " \t\n")) 1562 (skip-chars-forward " \t\n"))
1560 (setq p (point)) 1563 (setq p (point))
1561 (skip-chars-backward " \t\n") 1564 (skip-chars-backward " \t\n")
1562 (delete-region (point) p)) 1565 (delete-region (point) p))
1563 (backward-delete-char-untabify arg))) 1566 (backward-delete-char-untabify (prefix-numeric-value arg)))
1567 t)
1564 1568
1565 (defun cperl-inside-parens-p () 1569 (defun cperl-inside-parens-p ()
1566 (condition-case () 1570 (condition-case ()
1567 (save-excursion 1571 (save-excursion
1568 (save-restriction 1572 (save-restriction