Fix up comment convention on the arch-tag lines.
[bpt/emacs.git] / lisp / progmodes / antlr-mode.el
index 01f1c86..3b0c3cc 100644 (file)
@@ -1,6 +1,6 @@
 ;;; antlr-mode.el --- major mode for ANTLR grammar files
 
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 ;; Free Software Foundation, Inc.
 ;;
 ;; Author: Christoph.Wedler@sap.com
 
 ;;; Code:
 
-(provide 'antlr-mode)
+(eval-when-compile 
+  (require 'cl))
+
 (require 'easymenu)
 
+;; Just to get the rid of the byte compiler warning.  The code for
+;; this function and its friends are too complex for their own good.
+(declare-function cond-emacs-xemacs-macfn "antlr-mode" (args &optional msg))
+
 ;; General Emacs/XEmacs-compatibility compile-time macros
-(eval-when-compile
-  (require 'cl)
+(eval-when-compile 
   (defmacro cond-emacs-xemacs (&rest args)
     (cond-emacs-xemacs-macfn
      args "`cond-emacs-xemacs' must return exactly one element"))
 (put 'save-buffer-state-x 'lisp-indent-function 0)
 
 ;; get rid of byte-compile warnings
-(eval-when-compile                     ; required and optional libraries
-  (require 'cc-mode)
-  (ignore-errors (require 'font-lock))
-  (ignore-errors (require 'compile))
-  ;;(ignore-errors (defun c-init-language-vars))) dangerous on Emacs!
-  ;;(ignore-errors (defun c-init-c-language-vars))) dangerous on Emacs!
-  ;;(ignore-errors (defun c-basic-common-init))   dangerous on Emacs!
-  (defvar outline-level) (defvar imenu-use-markers)
-  (defvar imenu-create-index-function))
+(eval-when-compile
+  (require 'cc-mode))
+
+(defvar outline-level)
+(defvar imenu-use-markers)
+(defvar imenu-create-index-function)
 
 ;; We cannot use `c-forward-syntactic-ws' directly since it is a macro since
 ;; cc-mode-5.30 => antlr-mode compiled with older cc-mode would fail (macro
@@ -840,7 +842,8 @@ Do not change."
 (defface antlr-keyword
   (cond-emacs-xemacs
    '((((class color) (background light))
-      (:foreground "black" :EMACS :weight bold :XEMACS :bold t))))
+      (:foreground "black" :EMACS :weight bold :XEMACS :bold t))
+     (t :inherit font-lock-keyword-face)))
   "ANTLR keywords."
   :group 'antlr)
 ;; backward-compatibility alias
@@ -850,7 +853,8 @@ Do not change."
 (defface antlr-syntax
   (cond-emacs-xemacs
    '((((class color) (background light))
-      (:foreground "black" :EMACS :weight bold :XEMACS :bold t))))
+      (:foreground "black" :EMACS :weight bold :XEMACS :bold t))
+     (t :inherit font-lock-constant-face)))
   "ANTLR syntax symbols like :, |, (, ), ...."
   :group 'antlr)
 ;; backward-compatibility alias
@@ -860,7 +864,8 @@ Do not change."
 (defface antlr-ruledef
   (cond-emacs-xemacs
    '((((class color) (background light))
-      (:foreground "blue" :EMACS :weight bold :XEMACS :bold t))))
+      (:foreground "blue" :EMACS :weight bold :XEMACS :bold t))
+     (t :inherit font-lock-function-name-face)))
   "ANTLR rule references (definition)."
   :group 'antlr)
 ;; backward-compatibility alias
@@ -870,7 +875,8 @@ Do not change."
 (defface antlr-tokendef
   (cond-emacs-xemacs
    '((((class color) (background light))
-      (:foreground "blue" :EMACS :weight bold :XEMACS :bold t))))
+      (:foreground "blue" :EMACS :weight bold :XEMACS :bold t))
+     (t :inherit font-lock-function-name-face)))
   "ANTLR token references (definition)."
   :group 'antlr)
 ;; backward-compatibility alias
@@ -878,7 +884,8 @@ Do not change."
 
 (defvar antlr-ruleref-face 'antlr-ruleref)
 (defface antlr-ruleref
-  '((((class color) (background light)) (:foreground "blue4")))
+  '((((class color) (background light)) (:foreground "blue4"))
+    (t :inherit font-lock-type-face))
   "ANTLR rule references (usage)."
   :group 'antlr)
 ;; backward-compatibility alias
@@ -886,7 +893,8 @@ Do not change."
 
 (defvar antlr-tokenref-face 'antlr-tokenref)
 (defface antlr-tokenref
-  '((((class color) (background light)) (:foreground "orange4")))
+  '((((class color) (background light)) (:foreground "orange4"))
+    (t :inherit font-lock-type-face))
   "ANTLR token references (usage)."
   :group 'antlr)
 ;; backward-compatibility alias
@@ -896,7 +904,8 @@ Do not change."
 (defface antlr-literal
   (cond-emacs-xemacs
    '((((class color) (background light))
-      (:foreground "brown4" :EMACS :weight bold :XEMACS :bold t))))
+      (:foreground "brown4" :EMACS :weight bold :XEMACS :bold t))
+     (t :inherit font-lock-string-face)))
   "ANTLR special literal tokens.
 It is used to highlight strings matched by the first regexp group of
 `antlr-font-lock-literal-regexp'."
@@ -1868,7 +1877,7 @@ cell where the two values determine the area inside the braces."
                                        (read initial)
                                      initial))
                               (cdr value))))
-       (message (cadr value))
+       (message "%s" (or (cadr value) ""))
        (setq value nil)))
     ;; insert value ----------------------------------------------------------
     (if (consp old)
@@ -2662,7 +2671,9 @@ Used in `antlr-mode'.  Also a useful function in `java-mode-hook'."
                     indent-tabs-mode (cadddr elem)
                     alist nil))))))
 
+(provide 'antlr-mode)
+
 ;;; Local IspellPersDict: .ispell_antlr
 
-;;; arch-tag: 5de2be79-3d13-4560-8fbc-f7d0234dcb5c
+;; arch-tag: 5de2be79-3d13-4560-8fbc-f7d0234dcb5c
 ;;; antlr-mode.el ends here