changeset 70026:a0de53f6c617

* mh-compat.el (mh-font-lock-add-keywords): New alias for font-lock-add-keywords. Returns nil on XEmacs. * mh-e.el: Add MH-E function and variable keywords such as mh-defun-compat and mh-defcustom to font-lock-keywords.
author Bill Wohler <wohler@newt.com>
date Fri, 14 Apr 2006 18:49:18 +0000
parents c4d23fcbb9bd
children 0e0916499a15
files lisp/mh-e/ChangeLog lisp/mh-e/mh-compat.el lisp/mh-e/mh-e.el
diffstat 3 files changed, 34 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mh-e/ChangeLog	Fri Apr 14 11:30:20 2006 +0000
+++ b/lisp/mh-e/ChangeLog	Fri Apr 14 18:49:18 2006 +0000
@@ -1,3 +1,11 @@
+2006-04-14  Bill Wohler  <wohler@newt.com>
+
+	* mh-compat.el (mh-font-lock-add-keywords): New alias for
+	font-lock-add-keywords. Returns nil on XEmacs.	
+
+	* mh-e.el: Add MH-E function and variable keywords such as
+	mh-defun-compat and mh-defcustom to font-lock-keywords.	
+
 2006-04-13  Bill Wohler  <wohler@newt.com>
 
 	* mh-e.el (customize-package-emacs-version-alist)
--- a/lisp/mh-e/mh-compat.el	Fri Apr 14 11:30:20 2006 +0000
+++ b/lisp/mh-e/mh-compat.el	Fri Apr 14 18:49:18 2006 +0000
@@ -40,7 +40,7 @@
 ;; versions of Gnus.
 
 ;; Items are listed alphabetically (except for mh-require which is
-;; needed by a lesser character).
+;; needed sooner it would normally appear).
 
 (require 'mh-acros)
 
@@ -115,6 +115,11 @@
       `(face-background ,face ,frame)
     `(face-background ,face ,frame ,inherit)))
 
+(mh-defun-compat mh-font-lock-add-keywords font-lock-add-keywords
+  (mode keywords &optional how)
+  "XEmacs does not have `image-search-load-path'.
+This function returns nil on that system.")
+
 (mh-defun-compat mh-image-load-path-for-library
   image-load-path-for-library (library image &optional path no-error)
   "Return a suitable search path for images used by LIBRARY.
--- a/lisp/mh-e/mh-e.el	Fri Apr 14 11:30:20 2006 +0000
+++ b/lisp/mh-e/mh-e.el	Fri Apr 14 18:49:18 2006 +0000
@@ -109,6 +109,26 @@
 (require 'mh-buffers)
 (require 'mh-compat)
 
+(mh-font-lock-add-keywords
+ 'emacs-lisp-mode
+ (eval-when-compile
+   `((,(concat "(\\("
+               ;; Function declarations (use font-lock-function-name-face).
+               "\\(mh-def\\(un\\|macro\\)-compat\\)\\|"
+               ;; Variable declarations (use font-lock-variable-name-face).
+               "\\(mh-def\\(custom\\|face\\)\\)\\|"
+               ;; Group declarations (use font-lock-type-face).
+               "\\(mh-defgroup\\)"
+               "\\)\\>"
+               ;; Any whitespace and defined object.
+               "[ \t'\(]*"
+               "\\(setf[ \t]+\\sw+)\\|\\sw+\\)?")
+      (1 font-lock-keyword-face)
+      (7 (cond ((match-beginning 2) font-lock-function-name-face)
+               ((match-beginning 4) font-lock-variable-name-face)
+               (t font-lock-type-face))
+         nil t)))))
+
 
 
 ;;; Global Variables