From f453f5a8cd5be81f629ebddab3a2b98c95633497 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sun, 22 Oct 2006 17:28:56 +0000 Subject: [PATCH] * progmodes/cperl-mode.el (cperl-mode): Don't assume font-lock-multiline is auto-local (it's not). (cperl-windowed-init): Ensure that cperl-font-lock-multiline is initialized before calling cperl-init-faces. --- lisp/ChangeLog | 7 +++++++ lisp/progmodes/cperl-mode.el | 31 +++++++++++++++++-------------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1f6b56acda0..25ed1f27bd9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2006-10-22 Chong Yidong + + * progmodes/cperl-mode.el (cperl-mode): Don't assume + font-lock-multiline is auto-local (it's not). + (cperl-windowed-init): Ensure that cperl-font-lock-multiline is + initialized before calling cperl-init-faces. + 2006-10-22 Nick Roberts * progmodes/gdb-ui.el (gdb-info-stack-custom): Don't try to give diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 3264e0e72f6..f31bbdcc162 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -1835,7 +1835,7 @@ or as help on variables `cperl-tips', `cperl-problems', (if (boundp 'font-lock-multiline) ; Newer font-lock; use its facilities (progn (setq cperl-font-lock-multiline t) ; Not localized... - (set 'font-lock-multiline t)) ; not present with old Emacs; auto-local + (set (make-local-variable 'font-lock-multiline) t)) (make-local-variable 'font-lock-fontify-region-function) (set 'font-lock-fontify-region-function ; not present with old Emacs 'cperl-font-lock-fontify-region-function)) @@ -5708,19 +5708,22 @@ indentation and initial hashes. Behaves usually outside of comment." (defun cperl-windowed-init () "Initialization under windowed version." - (if (or (featurep 'ps-print) cperl-faces-init) - ;; Need to init anyway: - (or cperl-faces-init (cperl-init-faces)) - (add-hook 'font-lock-mode-hook - (function - (lambda () - (if (memq major-mode '(perl-mode cperl-mode)) - (progn - (or cperl-faces-init (cperl-init-faces))))))) - (if (fboundp 'eval-after-load) - (eval-after-load - "ps-print" - '(or cperl-faces-init (cperl-init-faces)))))) + (cond ((featurep 'ps-print) + (unless cperl-faces-init + (if (boundp 'font-lock-multiline) + (setq cperl-font-lock-multiline t)) + (cperl-init-faces))) + ((not cperl-faces-init) + (add-hook 'font-lock-mode-hook + (function + (lambda () + (if (memq major-mode '(perl-mode cperl-mode)) + (progn + (or cperl-faces-init (cperl-init-faces))))))) + (if (fboundp 'eval-after-load) + (eval-after-load + "ps-print" + '(or cperl-faces-init (cperl-init-faces))))))) (defvar cperl-font-lock-keywords-1 nil "Additional expressions to highlight in Perl mode. Minimal set.")