[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corn
From: |
Nathan Trapuzzano |
Subject: |
bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case) |
Date: |
Sun, 10 Nov 2013 11:48:50 -0500 |
User-agent: |
Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3.50 (gnu/linux) |
Jambunathan K <kjambunathan@gmail.com> writes:
> perl-mode behaves differently and correctly.
I think you've misunderstood. cperl-mode does exactly what it's
supposed to do, which is more than what perl-mode tries to do.
> Is it possible to show the sub name when within a function and show
> the head1 or head2 string when within a perldoc string. (I am new to
> perl so I can talk only fuzzily about the language or it's features)
It's not really feasible, though it has nothing to do with Perl per se.
Like I said before, the "function" name displayed by which-function-mode
is the function containing point or, if none, the nearest function
before point. In cperl-mode pod =head directives count for this purpose
as "functions", and regular subroutines begin at the position following
their name.
> My gut feeling is that the way cperl mode treats POD directives also
> limits it from doing outlining.
After a brief skim of the cperl source, I had the opposite impression.
> I would really like to get outlining work when in cperl-mode.
I'll take a look at that later. With luck, it'll be as easy as this
one.
> I think anything that doesn't show "= " would do for me.
Again, the "= " means that the "current function" (according to the
above definition) is a pod =head directive.
Try the attached patch. Make sure you set cperl-imenu-index-pod to nil
before invoking cperl-mode. If it does what you want, we can ask for it
to be installed.
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: nbtrap@nbtrap.com-20131110162047-2pqh1c9up17hfzkd
# target_branch: file:///home/nathan/opt/etc/bzr-repos/emacs/trunk/
# testament_sha1: fd4a0d8284f9bbda92ca8a31dc190cfa3b8adb78
# timestamp: 2013-11-10 11:41:32 -0500
# base_revision_id: jan.h.d@swipnet.se-20131110121803-bv908hul7t8ji6c8
#
# Begin patch
=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog 2013-11-10 08:35:04 +0000
+++ lisp/ChangeLog 2013-11-10 16:20:47 +0000
@@ -1,3 +1,10 @@
+2013-11-10 Nathan Trapuzzano <nbtrap@nbtrap.com>
+
+ * progmodes/cperl-mode.el (cperl-imenu-index-pod)
+ (cperl-imenu--create-perl-index): Define and implement
+ `cperl-imenu-index-pod' to optionally disable cperl's indexing of
+ POD directives for imenu. (Bug#15848)
+
2013-11-10 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-methods):
=== modified file 'lisp/progmodes/cperl-mode.el'
--- lisp/progmodes/cperl-mode.el 2013-11-04 03:44:23 +0000
+++ lisp/progmodes/cperl-mode.el 2013-11-10 16:15:36 +0000
@@ -511,6 +511,13 @@
:type 'boolean
:group 'cperl-help-system)
+(defcustom cperl-imenu-index-pod t
+ "*Whether POD `=head' directives should be indexed by imenu.
+Non-nil means `which-function-mode' won't count POD directives as
+top-level definitions."
+ :type 'boolean
+ :group 'cperl-help-system)
+
(defcustom cperl-max-help-size 66
"*Non-nil means shrink-wrapping of info-buffer allowed up to these percents."
:type '(choice integer (const nil))
@@ -844,7 +851,8 @@
interactive sweep over the buffer);
d) Has support for imenu, including:
1) Separate unordered list of \"interesting places\";
- 2) Separate TOC of POD sections;
+ 2) Separate TOC of POD sections by default
+ (cf. `cperl-imenu-index-pod');
3) Separate list of packages;
4) Hierarchical view of methods in (sub)packages;
5) and functions (by the full name - with package);
@@ -5551,7 +5559,7 @@
(push index index-alist))
(if meth (push index index-meth-alist))
(push index index-unsorted-alist)))
- ((match-beginning 16) ; POD section
+ ((and cperl-imenu-index-pod (match-beginning 16)) ; POD section
(setq name (buffer-substring (match-beginning 17) (match-end 17))
marker (make-marker))
(set-marker marker (match-beginning 17))
# Begin bundle
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
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/10
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Nathan Trapuzzano, 2013/11/10
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/10
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/10
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Nathan Trapuzzano, 2013/11/10
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/10
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case),
Nathan Trapuzzano <=
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Nathan Trapuzzano, 2013/11/10
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/11
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Nathan Trapuzzano, 2013/11/11
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/11
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Nathan Trapuzzano, 2013/11/11
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/11
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/11
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Nathan Trapuzzano, 2013/11/11
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Jambunathan K, 2013/11/12
- bug#15848: 24.3.50; cperl-mode + which-function: Improve reporting (corner case), Nathan Trapuzzano, 2013/11/12