diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-08-06 13:41:32 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-08-06 13:41:32 -0400 |
commit | 638eaeb924506f36781213e71e02632660f71844 (patch) | |
tree | 32fe373104d1f540f9ff9ce3571b695d9868c63f /lisp/progmodes/cperl-mode.el | |
parent | a08eadfecc8651d6da2cdcb326d333545cb5f7c1 (diff) | |
download | emacs-638eaeb924506f36781213e71e02632660f71844.tar.gz emacs-638eaeb924506f36781213e71e02632660f71844.tar.bz2 emacs-638eaeb924506f36781213e71e02632660f71844.zip |
* lisp/progmodes/cperl-mode.el (cperl-mode): Yet another fix for
syntax-propertize-function.
Fixes: debbugs:10095
Diffstat (limited to 'lisp/progmodes/cperl-mode.el')
-rw-r--r-- | lisp/progmodes/cperl-mode.el | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 58cbf26496d..9c329a8902e 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) |