# HG changeset patch # User Vinicius Jose Latorre # Date 1187377067 0 # Node ID 36aa5fc3153219084b70a66b61769ea7dbf8712b # Parent 5c17a56b467bd9043cd68898c2c90da9f3ec688d Fix s{a}{b} parsing diff -r 5c17a56b467b -r 36aa5fc31532 lisp/ChangeLog --- a/lisp/ChangeLog Fri Aug 17 10:10:11 2007 +0000 +++ b/lisp/ChangeLog Fri Aug 17 18:57:47 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 Micha,Ak(Bl Cadilhac * mail/emacsbug.el (report-emacs-bug): Remove the last number of diff -r 5c17a56b467b -r 36aa5fc31532 lisp/progmodes/cperl-mode.el --- a/lisp/progmodes/cperl-mode.el Fri Aug 17 10:10:11 2007 +0000 +++ b/lisp/progmodes/cperl-mode.el Fri Aug 17 18:57:47 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)