# HG changeset patch # User Vinicius Jose Latorre # Date 1187377112 0 # Node ID d168a4166b80743fc1b508ba2e350062beb1b4e2 # Parent ecd42da6c12d910a739d1931f1223cda81eb4401 Fix s{a}{b} parsing diff -r ecd42da6c12d -r d168a4166b80 lisp/ChangeLog --- a/lisp/ChangeLog Fri Aug 17 07:53:18 2007 +0000 +++ b/lisp/ChangeLog Fri Aug 17 18:58:32 2007 +0000 @@ -1,3 +1,9 @@ +2007-08-17 Bob Rogers (tiny change) + + * progmode/cperl-mode.el (cperl-look-at-leading-count) + (cperl-find-pods-heres): Fix an error when typing expressions like + `s{a}{b}'. + 2007-08-17 Glenn Morris * progmodes/compile.el (compilation-get-file-structure): Make use diff -r ecd42da6c12d -r d168a4166b80 lisp/progmodes/cperl-mode.el --- a/lisp/progmodes/cperl-mode.el Fri Aug 17 07:53:18 2007 +0000 +++ b/lisp/progmodes/cperl-mode.el Fri Aug 17 18:58:32 2007 +0000 @@ -3736,8 +3736,12 @@ (set-syntax-table reset-st)))) (defsubst cperl-look-at-leading-count (is-x-REx e) - (if (re-search-forward (concat "\\=" (if is-x-REx "[ \t\n]*" "") "[{?+*]") - (1- e) t) ; return nil on failure, no moving + (if (and (> (point) e) + ;; return nil on failure, no moving + (re-search-forward (concat "\\=" + (if is-x-REx "[ \t\n]*" "") + "[{?+*]") + (1- e) t)) (if (eq ?\{ (preceding-char)) nil (cperl-postpone-fontification (1- (point)) (point) @@ -3750,7 +3754,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', `cperl-here-face'." (interactive) - (or min (setq min (point-min) + (or min (setq min (point-min) cperl-syntax-state nil cperl-syntax-done-to min)) (or max (setq max (point-max))) @@ -4785,7 +4789,8 @@ (progn (cperl-postpone-fontification (1- e1) e1 'face my-cperl-delimiters-face) - (if (assoc (char-after b) cperl-starters) + (if (and (not (eobp)) + (assoc (char-after b) cperl-starters)) (progn (cperl-postpone-fontification b1 (1+ b1) 'face my-cperl-delimiters-face)