summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2006-10-22 17:28:56 +0000
committerChong Yidong <cyd@stupidchicken.com>2006-10-22 17:28:56 +0000
commitf453f5a8cd5be81f629ebddab3a2b98c95633497 (patch)
treef73a008a40775dfac78ecf574e7e19f758a67e8f
parent57d8692df7ccdf19339b4244edda29c309c65255 (diff)
downloademacs-f453f5a8cd5be81f629ebddab3a2b98c95633497.tar.gz
* 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.
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/progmodes/cperl-mode.el31
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 <cyd@stupidchicken.com>
+
+ * 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 <nickrob@snap.net.nz>
* 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.")