From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nathan Trapuzzano Newsgroups: gmane.emacs.bugs Subject: bug#15854: 24.3.50; cperl-mode: Support for outlining (much like that in perl-mode) Date: Mon, 11 Nov 2013 21:20:56 -0500 Message-ID: <87d2m61htj.fsf@nbtrap.com> References: <874n7kaa9t.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1384222943 19827 80.91.229.3 (12 Nov 2013 02:22:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 Nov 2013 02:22:23 +0000 (UTC) Cc: 15854@debbugs.gnu.org To: Jambunathan K Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Nov 12 03:22:24 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Vg3cS-00054f-Pn for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Nov 2013 03:22:21 +0100 Original-Received: from localhost ([::1]:40477 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vg3cR-0007Aj-OK for geb-bug-gnu-emacs@m.gmane.org; Mon, 11 Nov 2013 21:22:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57958) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vg3cI-00078e-TJ for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 21:22:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vg3cC-0008Pl-RU for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 21:22:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33657) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vg3cA-0008M7-N6 for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 21:22:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Vg3cA-0002YF-26 for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 21:22:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Nathan Trapuzzano Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Nov 2013 02:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15854 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15854-submit@debbugs.gnu.org id=B15854.13842228679727 (code B ref 15854); Tue, 12 Nov 2013 02:22:01 +0000 Original-Received: (at 15854) by debbugs.gnu.org; 12 Nov 2013 02:21:07 +0000 Original-Received: from localhost ([127.0.0.1]:47674 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vg3bG-0002Wp-DL for submit@debbugs.gnu.org; Mon, 11 Nov 2013 21:21:06 -0500 Original-Received: from oproxy14-pub.mail.unifiedlayer.com ([67.222.51.224]:43030) by debbugs.gnu.org with smtp (Exim 4.80) (envelope-from ) id 1Vg3bA-0002WF-WE for 15854@debbugs.gnu.org; Mon, 11 Nov 2013 21:21:03 -0500 Original-Received: (qmail 32596 invoked by uid 0); 12 Nov 2013 02:20:58 -0000 Original-Received: from unknown (HELO host393.hostmonster.com) (66.147.240.193) by oproxy14.mail.unifiedlayer.com with SMTP; 12 Nov 2013 02:20:58 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nbtrap.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From; bh=iRSWPKpO+r5heKIERhpFbTNq54nU7inqzWXu08y/s/c=; b=r3jRaM/WGxgISc4CRwjxuK5BaVz0Q6NR/TM76uDCDmcLq2aPH3bC5WF5vKNqLi1Go47VKjMDqWmHtn6XLD/bYLWC2PaWF7tMVYY6Pc6TbYeuEL4sSN4p70cyQPUvPEGI; Original-Received: from [50.90.253.209] (port=40936 helo=Nathan-GNU) by host393.hostmonster.com with esmtpsa (TLSv1:CAMELLIA128-SHA:128) (Exim 4.80) (envelope-from ) id 1Vg3b7-00081u-Nv; Mon, 11 Nov 2013 19:20:58 -0700 In-Reply-To: <874n7kaa9t.fsf@gmail.com> (Jambunathan K.'s message of "Sun, 10 Nov 2013 14:44:38 +0530") User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3.50 (gnu/linux) X-Identified-User: {1585:host393.hostmonster.com:nbtrapco:nbtrap.com} {sentby:smtp auth 50.90.253.209 authed with nbtrap@nbtrap.com} X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:80294 Archived-At: --=-=-= Content-Type: text/plain Jambunathan K writes: > I should be able to "cycle" through the visibility. Try the attached patch and let me know. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=cperl-mode.el.patch # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: nbtrap@nbtrap.com-20131112021806-7r8z68lcggolglmd # target_branch: file:///home/nathan/opt/etc/bzr-repos/emacs/trunk/ # testament_sha1: 96915ca7a15c022348d563dc4bdda8cd383c1843 # timestamp: 2013-11-11 21:18:47 -0500 # base_revision_id: monnier@iro.umontreal.ca-20131111180547-\ # 6k3t8pomzwp8zbtf # # Begin patch === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-11 18:05:47 +0000 +++ lisp/ChangeLog 2013-11-12 02:18:06 +0000 @@ -1,3 +1,8 @@ +2013-11-12 Nathan Trapuzzano + + * progmodes/cperl-mode.el (cperl-outline-regexp) + (cperl-outline-level): Fix outline level detection bug. (Bug#15854) + 2013-11-11 Stefan Monnier * subr.el (force-mode-line-update): Delete, move to buffer.c. === 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-12 02:13:34 +0000 @@ -1438,11 +1438,11 @@ )) ;;; Details of groups in this are used in `cperl-imenu--create-perl-index' -;;; and `cperl-outline-level'. +;;; and `cperl-imenu--function-name-regexp-perl'. ;;;; Was: 2=sub|package; now 2=package-group, 5=package-name 8=sub-name (+3) -(defvar cperl-imenu--function-name-regexp-perl +(defvar cperl-outline-regexp (concat - "^\\(" ; 1 = all + "\\(" ; 1 = all "\\([ \t]*package" ; 2 = package-group "\\(" ; 3 = package-name-group cperl-white-and-comment-rex ; 4 = pre-package-name @@ -1456,8 +1456,8 @@ "\\([^\n]+\\)$" ; 17=text "\\)")) -(defvar cperl-outline-regexp - (concat cperl-imenu--function-name-regexp-perl "\\|" "\\`")) +(defvar cperl-imenu--function-name-regexp-perl + (concat "^" cperl-outline-regexp)) (defvar cperl-mode-syntax-table nil "Syntax table in use in CPerl mode buffers.") @@ -5623,13 +5623,12 @@ ;; Suggested by Mark A. Hershberger (defun cperl-outline-level () (looking-at outline-regexp) - (cond ((not (match-beginning 1)) 0) ; beginning-of-file -;;;; 2=package-group, 5=package-name 8=sub-name 16=head-level - ((match-beginning 2) 0) ; package - ((match-beginning 8) 1) ; sub + (cond ;;;; 2=package-group, 5=package-name 8=sub-name 16=head-level + ((match-beginning 2) 1) ; package + ((match-beginning 8) 2) ; sub ((match-beginning 16) - (- (char-after (match-beginning 16)) ?0)) ; headN ==> N - (t 5))) ; should not happen + (1+ (- (char-after (match-beginning 16)) ?0))) ; headN ==> N + (t 6))) ; should not happen (defun cperl-windowed-init () # Begin bundle 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 --=-=-=--