summaryrefslogtreecommitdiff
path: root/lisp/progmodes/cperl-mode.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@gnu.org>2012-08-07 11:33:37 +0800
committerChong Yidong <cyd@gnu.org>2012-08-07 11:33:37 +0800
commit9f6f48455f7d25e5cc2d50485d98ff3af43946a2 (patch)
tree2c2a07d59e656de8681a8ebbe2570e4b5e138f48 /lisp/progmodes/cperl-mode.el
parent7d732d1a24f77e1ee68ec952130dcc4a65d3e6a7 (diff)
parent7178e7222c34f2654ccc126c64eb16fbe5f382b5 (diff)
downloademacs-9f6f48455f7d25e5cc2d50485d98ff3af43946a2.tar.gz
emacs-9f6f48455f7d25e5cc2d50485d98ff3af43946a2.tar.bz2
emacs-9f6f48455f7d25e5cc2d50485d98ff3af43946a2.zip
Merge from emacs-24; up to 2012-05-02T07:12:52Z!rgm@gnu.org.
Diffstat (limited to 'lisp/progmodes/cperl-mode.el')
-rw-r--r--lisp/progmodes/cperl-mode.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index d9b50ea3cc3..e1430b67e99 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -1838,7 +1838,13 @@ or as help on variables `cperl-tips', `cperl-problems',
(set (make-local-variable 'cperl-syntax-done-to) nil)
(set (make-local-variable 'syntax-propertize-function)
(lambda (start end)
- (goto-char start) (cperl-fontify-syntaxically end))))
+ (goto-char start)
+ ;; Even if cperl-fontify-syntaxically has already gone
+ ;; beyond `start', syntax-propertize has just removed
+ ;; syntax-table properties between start and end, so we have
+ ;; to re-apply them.
+ (setq cperl-syntax-done-to start)
+ (cperl-fontify-syntaxically end))))
(make-local-variable 'parse-sexp-lookup-properties)
;; Do not introduce variable if not needed, we check it!
(set 'parse-sexp-lookup-properties t)