# 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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