diff lisp/font-lock.el @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents cd697e94b3d4
children 79940b592197
line wrap: on
line diff
--- a/lisp/font-lock.el	Fri Mar 08 13:33:14 2002 +0000
+++ b/lisp/font-lock.el	Wed Mar 13 08:54:06 2002 +0000
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 1992-1995, 1997 Free Software Foundation, Inc.
 ;; Copyright (C) 1995 Amdahl Corporation.
-;; Copyright (C) 1996, 2000, 2001 Ben Wing.
+;; Copyright (C) 1996, 2000, 2001, 2002 Ben Wing.
 
 ;; Author: Jamie Zawinski <jwz@jwz.org>, for the LISPM Preservation Society.
 ;; Minimally merged with FSF 19.34 by Barry Warsaw <bwarsaw@python.org>
@@ -1939,14 +1939,26 @@
 
 (defconst lisp-font-lock-keywords-1
   (list
-   ;; Anything not a variable or type declaration is fontified as a function.
-   ;; It would be cleaner to allow preceding whitespace, but it would also be
-   ;; about five times slower.
+   ;; Anything not a function or type declaration is fontified as a
+   ;; variable.  It would be cleaner to allow preceding whitespace, but it
+   ;; would also be about five times slower.  We used to fontify unknown
+   ;; stuff as functions, rather than variables, but random things are
+   ;; generally more like variables (no parameters), and the function and
+   ;; keyword colors are currently the same, while the variable color is
+   ;; different, which looks better.
    (list (concat "^(\\(def\\("
-		  ;; Variable declarations.
-		  "\\(const\\(\\|ant\\)\\|ine-key\\(\\|-after\\)\\|var\\|custom\\)\\|"
+		  ;; Function declarations.
+		 "\\(un\\|advice\\|alias\\|macro\\|macro\\*\\|setf\\|subst\\|"
+		 "subst\\*\\|-edebug-spec\\|"
+		 "ine-\\(ccl-program\\|compatible-function-alias\\|"
+		 "compiler-macro\\|device-method\\|device-method\\*\\|"
+		 "function\\|function-when-void\\|modify-macro\\|"
+		 "obsolete-function-alias\\|prefix-command\\|setf-method\\|"
+		 "skeleton\\)\\)\\|"
 		  ;; Structure declarations.
 		  "\\(class\\|struct\\|type\\)\\|"
+		  ;; Former variable declarations, but woefully inadequate.
+		  ;"\\(const\\(\\|ant\\)\\|ine-key\\(\\|-after\\)\\|var\\|custom\\)\\|"
 		  ;; Everything else is a function declaration.
 		  "\\([^ \t\n\(\)]+\\)"
 		  "\\)\\)\\>"
@@ -1954,9 +1966,9 @@
 		  "[ \t'\(]*"
 		  "\\([^ \t\n\)]+\\)?")
 	  '(1 font-lock-keyword-face)
-	  '(8 (cond ((match-beginning 3) 'font-lock-variable-name-face)
-		    ((match-beginning 6) 'font-lock-type-face)
-		    (t 'font-lock-function-name-face))
+	  '(7 (cond ((match-beginning 3) 'font-lock-function-name-face)
+		    ((match-beginning 5) 'font-lock-type-face)
+		    (t 'font-lock-variable-name-face))
 	      nil t))
    )
  "Subdued level highlighting Lisp modes.")