diff options
author | Chong Yidong <cyd@gnu.org> | 2012-12-01 12:57:07 +0800 |
---|---|---|
committer | Chong Yidong <cyd@gnu.org> | 2012-12-01 12:57:07 +0800 |
commit | ba03d0d932888f687ae9c9fb12e20908c6b0620f (patch) | |
tree | 7acf98ce6c8fa50bbe21266b29ace526e19f13b2 /lisp/progmodes/perl-mode.el | |
parent | 92eadba57fe86a49d67a7e3d797e3180ca0f6ae7 (diff) | |
download | emacs-ba03d0d932888f687ae9c9fb12e20908c6b0620f.tar.gz |
Modularize add-log-current-defun.
Suggested by Jari Aalto.
* lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): New.
(lisp-mode-variables): Use it.
* lisp/progmodes/cc-mode.el (c-common-init):
* lisp/progmodes/cperl-mode.el (cperl-mode): Set a value for
add-log-current-defun-function.
* lisp/progmodes/m4-mode.el (m4-current-defun-name): New function.
(m4-mode): Use it.
* lisp/progmodes/perl-mode.el (perl-current-defun-name): New.
(perl-mode): Use it.
* lisp/progmodes/scheme.el (scheme-mode-variables, dsssl-mode): Use
lisp-current-defun-name.
* lisp/textmodes/tex-mode.el (tex-current-defun-name): New.
(tex-common-initialization): Use it.
* lisp/textmodes/texinfo.el (texinfo-current-defun-name): New.
(texinfo-mode): Use it.
* lisp/vc/add-log.el (add-log-current-defun-function): Doc fix.
(add-log-current-defun): Move mode-specific code to other files.
(add-log-lisp-like-modes, add-log-c-like-modes)
(add-log-tex-like-modes): Variables deleted.
Fixes: debbugs:2224
Diffstat (limited to 'lisp/progmodes/perl-mode.el')
-rw-r--r-- | lisp/progmodes/perl-mode.el | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index f8ae0030cf0..82f742de274 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el @@ -578,6 +578,11 @@ create a new comment." ((looking-at "=head[0-9]") (- (char-before (match-end 0)) ?0)) ((looking-at "=cut") 1) (t 3))) + +(defun perl-current-defun-name () + "The `add-log-current-defun' function in Perl mode." + (if (re-search-backward "^sub[ \t]+\\([^({ \t\n]+\\)" nil t) + (match-string-no-properties 1))) (defvar perl-mode-hook nil "Normal hook to run when entering Perl mode.") @@ -660,7 +665,8 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'." (setq imenu-case-fold-search nil) ;; Setup outline-minor-mode. (setq-local outline-regexp perl-outline-regexp) - (setq-local outline-level 'perl-outline-level)) + (setq-local outline-level 'perl-outline-level) + (setq-local add-log-current-defun-function #'perl-current-defun-name)) ;; This is used by indent-for-comment ;; to decide how much to indent a comment in Perl code |