From: Stefan Monnier Date: Thu, 15 Mar 2012 03:09:26 +0000 (-0400) Subject: * lisp/progmodes/perl-mode.el (perl-syntax-propertize-special-constructs): X-Git-Tag: emacs-pretest-24.0.05~85^2~23 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=663b16775f660c1a10caa52e8964ee9e196af88d;p=emacs.git * lisp/progmodes/perl-mode.el (perl-syntax-propertize-special-constructs): Fix up parsing of multiline twoarg non-paired elements. Fixes: debbugs:11014 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 083d58b8e8f..f19d5e8ab79 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2012-03-15 Stefan Monnier + * progmodes/perl-mode.el (perl-syntax-propertize-special-constructs): + Fix up parsing of multiline twoarg non-paired elements (bug#11014). + * imenu.el: Fix multiple inheritance breakage (bug#9199). (imenu-add-to-menubar): Don't add a redundant index. (imenu-update-menubar): Handle a dynamically composed keymap. diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index e7afd0e0e67..de728da236d 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el @@ -388,7 +388,11 @@ The expansion is entirely correct because it uses the C preprocessor." ;; In case of error, make sure we don't move backward. (scan-error (goto-char startpos) nil)) (not (or (nth 8 (parse-partial-sexp - (point) limit nil nil state 'syntax-table)) + ;; Since we don't know if point is within + ;; the first or the scond arg, we have to + ;; start from the beginning. + (if twoargs (1+ (nth 8 state)) (point)) + limit nil nil state 'syntax-table)) ;; If we have a self-paired opener and a twoargs ;; command, the form is s/../../ so we have to skip ;; a second time.