aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/generic-x.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/generic-x.el')
-rw-r--r--lisp/generic-x.el1459
1 files changed, 683 insertions, 776 deletions
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index 88703af799..94f41c96e2 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -1,6 +1,6 @@
-;;; generic-x.el --- Extra Modes for generic-mode -*- no-byte-compile: t -*-
+;;; generic-x.el --- Extra Modes for generic-mode
-;; Copyright (C) 1997, 1998, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 2003, 2005 Free Software Foundation, Inc.
;; Author: Peter Breton <[email protected]>
;; Created: Tue Oct 08 1996
@@ -34,7 +34,7 @@
;; (require 'generic-x)
;;
;; You can decide which modes to load by setting the variable
-;; `generic-extras-enable-list'. Some platform-specific modes are
+;; `generic-extras-enable-list'. Some platform-specific modes are
;; affected by the variables `generic-define-mswindows-modes' and
;; `generic-define-unix-modes' (which see).
;;
@@ -92,7 +92,6 @@
;;; Code:
-(require 'generic)
(require 'font-lock)
(defgroup generic-x nil
@@ -103,53 +102,52 @@
(defcustom generic-extras-enable-list nil
"*List of generic modes to enable by default.
-Each entry in the list should be a symbol.
-The variables `generic-define-mswindows-modes' and `generic-define-unix-modes'
-also affect which generic modes are defined.
-Please note that if you set this variable after generic-x is loaded,
-you must reload generic-x to enable the specified modes."
+Each entry in the list should be a symbol. The variables
+`generic-define-mswindows-modes' and `generic-define-unix-modes'
+also affect which generic modes are defined. Please note that if
+you set this variable after generic-x is loaded, you must reload
+generic-x to enable the specified modes."
:group 'generic-x
- :type '(repeat sexp)
- )
+ :type '(repeat sexp))
(defcustom generic-define-mswindows-modes
- (memq system-type (list 'windows-nt 'ms-dos))
+ (memq system-type '(windows-nt ms-dos))
"*If non-nil, some MS-Windows specific generic modes will be defined."
:group 'generic-x
- :type 'boolean
- )
+ :type 'boolean)
(defcustom generic-define-unix-modes
- (not (memq system-type (list 'windows-nt 'ms-dos)))
+ (not (memq system-type '(windows-nt ms-dos)))
"*If non-nil, some Unix specific generic modes will be defined."
:group 'generic-x
- :type 'boolean
- )
+ :type 'boolean)
(and generic-define-mswindows-modes
- (setq generic-extras-enable-list
- (append (list 'bat-generic-mode 'ini-generic-mode
- 'inf-generic-mode 'rc-generic-mode
- 'reg-generic-mode 'rul-generic-mode
- 'hosts-generic-mode
- 'apache-conf-generic-mode
- 'apache-log-generic-mode
- )
- generic-extras-enable-list)))
+ (setq generic-extras-enable-list
+ (append (list 'bat-generic-mode
+ 'ini-generic-mode
+ 'inf-generic-mode
+ 'rc-generic-mode
+ 'reg-generic-mode
+ 'rul-generic-mode
+ 'hosts-generic-mode
+ 'apache-conf-generic-mode
+ 'apache-log-generic-mode)
+ generic-extras-enable-list)))
(and generic-define-unix-modes
(setq generic-extras-enable-list
(append (list 'apache-conf-generic-mode
'apache-log-generic-mode
'samba-generic-mode
- 'hosts-generic-mode 'fvwm-generic-mode
+ 'hosts-generic-mode
+ 'fvwm-generic-mode
'x-resource-generic-mode
'alias-generic-mode
'inetd-conf-generic-mode
'etc-services-generic-mode
'etc-passwd-generic-mode
- 'etc-fstab-generic-mode
- )
+ 'etc-fstab-generic-mode)
generic-extras-enable-list)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -157,382 +155,345 @@ you must reload generic-x to enable the specified modes."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Apache
-(and
- (memq 'apache-conf-generic-mode generic-extras-enable-list)
-
-(define-generic-mode 'apache-conf-generic-mode
- (list ?#)
- nil
- '(("^\\s-*\\(<.*>\\)" 1 'font-lock-constant-face)
- ("^\\s-*\\(\\sw+\\)\\s-" 1 'font-lock-variable-name-face))
- (list "srm\\.conf\\'" "httpd\\.conf\\'" "access\\.conf\\'")
- (list
- (function
- (lambda ()
+(when (memq 'apache-conf-generic-mode generic-extras-enable-list)
+
+(define-generic-mode apache-conf-generic-mode
+ (list ?#)
+ nil
+ '(("^\\s-*\\(<.*>\\)" 1 'font-lock-constant-face)
+ ("^\\s-*\\(\\sw+\\)\\s-" 1 'font-lock-variable-name-face))
+ (list "srm\\.conf\\'" "httpd\\.conf\\'" "access\\.conf\\'")
+ (list
+ (function
+ (lambda ()
(setq imenu-generic-expression
'((nil "^\\([-A-Za-z0-9_]+\\)" 1)
("*Directories*" "^\\s-*<Directory\\s-*\\([^>]+\\)>" 1)
- ("*Locations*" "^\\s-*<Location\\s-*\\([^>]+\\)>" 1)
- ))
- )))
- "Generic mode for Apache or HTTPD configuration files."))
+ ("*Locations*" "^\\s-*<Location\\s-*\\([^>]+\\)>" 1))))))
+ "Generic mode for Apache or HTTPD configuration files."))
-(and
- (memq 'apache-log-generic-mode generic-extras-enable-list)
+(when (memq 'apache-log-generic-mode generic-extras-enable-list)
-(define-generic-mode 'apache-log-generic-mode
+(define-generic-mode apache-log-generic-mode
nil
nil
;; Hostname ? user date request return-code number-of-bytes
'(("^\\([-a-zA-z0-9.]+\\) - [-A-Za-z]+ \\(\\[.*\\]\\)"
(1 font-lock-constant-face)
- (2 font-lock-variable-name-face))
- )
+ (2 font-lock-variable-name-face)))
(list "access_log\\'")
nil
"Mode for Apache log files"))
;;; Samba
-(and
- (memq 'samba-generic-mode generic-extras-enable-list)
-
-(define-generic-mode 'samba-generic-mode
- (list ?\; ?#)
- nil
- '(
- ("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face)
- ("^\\s-*\\(.+\\)=\\([^\r\n]*\\)"
- (1 'font-lock-variable-name-face)
- (2 'font-lock-type-face))
- )
- (list "smb\\.conf\\'")
- (list 'generic-bracket-support)
- "Generic mode for Samba configuration files."))
+(when (memq 'samba-generic-mode generic-extras-enable-list)
+
+(define-generic-mode samba-generic-mode
+ (list ?\; ?#)
+ nil
+ '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face)
+ ("^\\s-*\\(.+\\)=\\([^\r\n]*\\)"
+ (1 'font-lock-variable-name-face)
+ (2 'font-lock-type-face)))
+ (list "smb\\.conf\\'")
+ (list 'generic-bracket-support)
+ "Generic mode for Samba configuration files."))
;;; Fvwm
;; This is pretty basic. Also, modes for other window managers could
;; be defined as well.
-(and
-(memq 'fvwm-generic-mode generic-extras-enable-list)
+(when (memq 'fvwm-generic-mode generic-extras-enable-list)
-(define-generic-mode 'fvwm-generic-mode
- (list ?#)
- (list
- "AddToMenu"
- "AddToFunc"
- "ButtonStyle"
- "EndFunction"
- "EndPopup"
- "Function"
- "IconPath"
- "Key"
- "ModulePath"
- "Mouse"
- "PixmapPath"
- "Popup"
- "Style"
- )
- nil
- (list "\\.fvwmrc\\'" "\\.fvwm2rc\\'")
- nil
- "Generic mode for FVWM configuration files."))
+(define-generic-mode fvwm-generic-mode
+ (list ?#)
+ (list
+ "AddToMenu"
+ "AddToFunc"
+ "ButtonStyle"
+ "EndFunction"
+ "EndPopup"
+ "Function"
+ "IconPath"
+ "Key"
+ "ModulePath"
+ "Mouse"
+ "PixmapPath"
+ "Popup"
+ "Style")
+ nil
+ (list "\\.fvwmrc\\'" "\\.fvwm2rc\\'")
+ nil
+ "Generic mode for FVWM configuration files."))
;;; X Resource
;; I'm pretty sure I've seen an actual mode to do this, but I don't
;; think it's standard with Emacs
-(and
- (memq 'x-resource-generic-mode generic-extras-enable-list)
+(when (memq 'x-resource-generic-mode generic-extras-enable-list)
-(define-generic-mode 'x-resource-generic-mode
- (list ?!)
- nil
- '(("^\\([^:\n]+:\\)" 1 'font-lock-variable-name-face))
- (list "\\.Xdefaults\\'" "\\.Xresources\\'" "\\.Xenvironment\\'" "\\.ad\\'")
- nil
- "Generic mode for X Resource configuration files."))
+(define-generic-mode x-resource-generic-mode
+ (list ?!)
+ nil
+ '(("^\\([^:\n]+:\\)" 1 'font-lock-variable-name-face))
+ (list "\\.Xdefaults\\'" "\\.Xresources\\'" "\\.Xenvironment\\'" "\\.ad\\'")
+ nil
+ "Generic mode for X Resource configuration files."))
;;; Hosts
-(and
- (memq 'hosts-generic-mode generic-extras-enable-list)
+(when (memq 'hosts-generic-mode generic-extras-enable-list)
-(define-generic-mode 'hosts-generic-mode
- (list ?#)
- (list "localhost")
- '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face))
- (list "[hH][oO][sS][tT][sS]\\'")
- nil
- "Generic mode for HOSTS files."))
+(define-generic-mode hosts-generic-mode
+ (list ?#)
+ (list "localhost")
+ '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face))
+ (list "[hH][oO][sS][tT][sS]\\'")
+ nil
+ "Generic mode for HOSTS files."))
;;; Windows INF files
-(and
- (memq 'inf-generic-mode generic-extras-enable-list)
+(when (memq 'inf-generic-mode generic-extras-enable-list)
-(define-generic-mode 'inf-generic-mode
- (list ?\;)
- nil
- '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face))
- (list "\\.[iI][nN][fF]\\'")
- (list 'generic-bracket-support)
- "Generic mode for MS-Windows INF files."))
+(define-generic-mode inf-generic-mode
+ (list ?\;)
+ nil
+ '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face))
+ (list "\\.[iI][nN][fF]\\'")
+ (list 'generic-bracket-support)
+ "Generic mode for MS-Windows INF files."))
;;; Windows INI files
;; Should define escape character as well!
-(and
- (memq 'ini-generic-mode generic-extras-enable-list)
-
-(define-generic-mode 'ini-generic-mode
- (list ?\;)
- nil
- '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face)
- ("^\\([^=\n\r]*\\)=\\([^\n\r]*\\)$"
- (1 font-lock-function-name-face)
- (2 font-lock-variable-name-face)))
- (list "\\.[iI][nN][iI]\\'")
- (list
- (function
- (lambda ()
- (setq imenu-generic-expression
- '((nil "^\\[\\(.*\\)\\]" 1)
- ("*Variables*" "^\\s-*\\([^=]+\\)\\s-*=" 1)))
- )))
- "Generic mode for MS-Windows INI files."))
+(when (memq 'ini-generic-mode generic-extras-enable-list)
+
+(define-generic-mode ini-generic-mode
+ (list ?\;)
+ nil
+ '(("^\\(\\[.*\\]\\)" 1 'font-lock-constant-face)
+ ("^\\([^=\n\r]*\\)=\\([^\n\r]*\\)$"
+ (1 font-lock-function-name-face)
+ (2 font-lock-variable-name-face)))
+ (list "\\.[iI][nN][iI]\\'")
+ (list
+ (function
+ (lambda ()
+ (setq imenu-generic-expression
+ '((nil "^\\[\\(.*\\)\\]" 1)
+ ("*Variables*" "^\\s-*\\([^=]+\\)\\s-*=" 1))))))
+ "Generic mode for MS-Windows INI files."))
;;; Windows REG files
;;; Unfortunately, Windows 95 and Windows NT have different REG file syntax!
-(and
- (memq 'reg-generic-mode generic-extras-enable-list)
-
-(define-generic-mode 'reg-generic-mode
- '(?\;)
- '("key" "classes_root" "REGEDIT" "REGEDIT4")
- '(("\\(\\[.*]\\)" 1 'font-lock-constant-face)
- ("^\\([^\n\r]*\\)\\s-*=" 1 'font-lock-variable-name-face))
- '("\\.[rR][eE][gG]\\'")
- (list
- (function
- (lambda ()
- (setq imenu-generic-expression
- '((nil "^\\s-*\\(.*\\)\\s-*=" 1))))))
- "Generic mode for MS-Windows Registry files."))
+(when (memq 'reg-generic-mode generic-extras-enable-list)
+
+(define-generic-mode reg-generic-mode
+ '(?\;)
+ '("key" "classes_root" "REGEDIT" "REGEDIT4")
+ '(("\\(\\[.*]\\)" 1 'font-lock-constant-face)
+ ("^\\([^\n\r]*\\)\\s-*=" 1 'font-lock-variable-name-face))
+ '("\\.[rR][eE][gG]\\'")
+ (list
+ (function
+ (lambda ()
+ (setq imenu-generic-expression
+ '((nil "^\\s-*\\(.*\\)\\s-*=" 1))))))
+ "Generic mode for MS-Windows Registry files."))
;;; DOS/Windows BAT files
-(if (not (memq 'bat-generic-mode generic-extras-enable-list))
- nil
-(define-generic-mode 'bat-generic-mode
- nil
- nil
+(when (memq 'bat-generic-mode generic-extras-enable-list)
+
+(define-generic-mode bat-generic-mode
+ nil
+ nil
+ (list
+ ;; Make this one first in the list, otherwise comments will
+ ;; be over-written by other variables
+ (list "^[@ \t]*\\([rR][eE][mM][^\n\r]*\\)" 1 'font-lock-comment-face t)
+ (list "^[ \t]*\\(::.*\\)" 1 'font-lock-comment-face t)
+ (list
+ "^[@ \t]*\\([bB][rR][eE][aA][kK]\\|[vV][eE][rR][iI][fF][yY]\\)[ \t]+\\([oO]\\([nN]\\|[fF][fF]\\)\\)"
+ '(1 font-lock-builtin-face)
+ '(2 font-lock-constant-face t t))
+ ;; Any text (except ON/OFF) following ECHO is a string.
+ (list
+ "^[@ \t]*\\([eE][cC][hH][oO]\\)[ \t]+\\(\\([oO]\\([nN]\\|[fF][fF]\\)\\)\\|\\([^>|\r\n]+\\)\\)"
+ '(1 font-lock-builtin-face)
+ '(3 font-lock-constant-face t t)
+ '(5 font-lock-string-face t t))
+ ;; These keywords appear as the first word on a line. (Actually, they
+ ;; can also appear after "if ..." or "for ..." clause, but since they
+ ;; are frequently used in simple text, we punt.)
+ ;; In `generic-bat-mode-setup-function' we make the keywords
+ ;; case-insensitive
+ (generic-make-keywords-list
(list
- ;; Make this one first in the list, otherwise comments will
- ;; be over-written by other variables
- (list "^[@ \t]*\\([rR][eE][mM][^\n\r]*\\)" 1 'font-lock-comment-face t)
- (list "^[ \t]*\\(::.*\\)" 1 'font-lock-comment-face t)
- (list
- "^[@ \t]*\\([bB][rR][eE][aA][kK]\\|[vV][eE][rR][iI][fF][yY]\\)[ \t]+\\([oO]\\([nN]\\|[fF][fF]\\)\\)"
- '(1 font-lock-builtin-face)
- '(2 font-lock-constant-face t t))
- ;; Any text (except ON/OFF) following ECHO is a string.
- (list
- "^[@ \t]*\\([eE][cC][hH][oO]\\)[ \t]+\\(\\([oO]\\([nN]\\|[fF][fF]\\)\\)\\|\\([^>|\r\n]+\\)\\)"
- '(1 font-lock-builtin-face)
- '(3 font-lock-constant-face t t)
- '(5 font-lock-string-face t t))
- ;; These keywords appear as the first word on a line. (Actually, they
- ;; can also appear after "if ..." or "for ..." clause, but since they
- ;; are frequently used in simple text, we punt.)
- ;; In `generic-bat-mode-setup-function' we make the keywords
- ;; case-insensitive
- (generic-make-keywords-list
- (list
- "for"
- "if"
- )
- 'font-lock-keyword-face "^[@ \t]*")
- ;; These keywords can be anywhere on a line
- ;; In `generic-bat-mode-setup-function' we make the keywords
- ;; case-insensitive
- (generic-make-keywords-list
- (list
- "do"
- "exist"
- "errorlevel"
- "goto"
- "not"
- ) 'font-lock-keyword-face)
- ;; These are built-in commands. Only frequently-used ones are listed.
- (generic-make-keywords-list
- (list
- "CALL" "call" "Call"
- "CD" "cd" "Cd"
- "CLS" "cls" "Cls"
- "COPY" "copy" "Copy"
- "DEL" "del" "Del"
- "ECHO" "echo" "Echo"
- "MD" "md" "Md"
- "PATH" "path" "Path"
- "PAUSE" "pause" "Pause"
- "PROMPT" "prompt" "Prompt"
- "RD" "rd" "Rd"
- "REN" "ren" "Ren"
- "SET" "set" "Set"
- "START" "start" "Start"
- "SHIFT" "shift" "Shift"
- ) 'font-lock-builtin-face "[ \t|\n]")
- (list "^[ \t]*\\(:\\sw+\\)" 1 'font-lock-function-name-face t)
- (list "\\(%\\sw+%\\)" 1 'font-lock-variable-name-face t)
- (list "\\(%[0-9]\\)" 1 'font-lock-variable-name-face t)
- (list "\\(/[^/ \"\t\n]+\\)" 1 'font-lock-type-face)
- (list "[\t ]+\\([+-][^\t\n\" ]+\\)" 1 'font-lock-type-face)
- (list "[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?"
- '(1 font-lock-keyword-face)
- '(2 font-lock-function-name-face nil t))
- (list "[ \t\n|]\\<\\([sS][eE][tT]\\)\\>[ \t]*\\(\\sw+\\)?[ \t]*=?"
- '(1 font-lock-builtin-face)
- '(2 font-lock-variable-name-face t t))
-
- )
+ "for"
+ "if")
+ 'font-lock-keyword-face "^[@ \t]*")
+ ;; These keywords can be anywhere on a line
+ ;; In `generic-bat-mode-setup-function' we make the keywords
+ ;; case-insensitive
+ (generic-make-keywords-list
(list
- "\\.[bB][aA][tT]\\'"
- "\\`[cC][oO][nN][fF][iI][gG]\\."
- "\\`[aA][uU][tT][oO][eE][xX][eE][cC]\\." )
- (list 'generic-bat-mode-setup-function)
- "Generic mode for MS-Windows BAT files.")
-
- (defvar bat-generic-mode-syntax-table nil
- "Syntax table in use in bat-generic-mode buffers.")
-
- (defvar bat-generic-mode-keymap (make-sparse-keymap)
- "Keymap for bet-generic-mode.")
-
- (defun bat-generic-mode-compile ()
- "Run the current BAT file in a compilation buffer."
- (interactive)
- (let ((compilation-buffer-name-function
- (function
- (lambda(ign)
- (concat "*" (buffer-file-name) "*")))
- )
- )
- (compile
- (concat (w32-shell-name) " -c " (buffer-file-name)))))
-
- (defun bat-generic-mode-run-as-comint ()
- "Run the current BAT file in a comint buffer."
- (interactive)
- (require 'comint)
- (let* ((file (buffer-file-name))
- (buf-name (concat "*" file "*")))
- (save-excursion
- (set-buffer
- (get-buffer-create buf-name))
- (erase-buffer)
- (comint-mode)
- (comint-exec
- buf-name
- file
- (w32-shell-name)
- nil
- (list
- "-c"
- file
- )
- )
- (display-buffer buf-name))))
-
- (define-key bat-generic-mode-keymap "\C-c\C-c" 'bat-generic-mode-compile)
-
- ;; Make underscores count as words
- (if bat-generic-mode-syntax-table
- nil
- (setq bat-generic-mode-syntax-table (make-syntax-table))
- (modify-syntax-entry ?_ "w" bat-generic-mode-syntax-table))
-
- ;; bat-generic-mode doesn't use the comment functionality of generic-mode
- ;; because it has a three-letter comment-string, so we do it
- ;; here manually instead
- (defun generic-bat-mode-setup-function ()
- (make-local-variable 'parse-sexp-ignore-comments)
- (make-local-variable 'comment-start)
- (make-local-variable 'comment-start-skip)
- (make-local-variable 'comment-end)
- (setq imenu-generic-expression '((nil "^:\\(\\sw+\\)" 1))
- parse-sexp-ignore-comments t
- comment-end ""
- comment-start "REM "
- comment-start-skip "[Rr][Ee][Mm] *"
- )
- (set-syntax-table bat-generic-mode-syntax-table)
- ;; Make keywords case-insensitive
- (setq font-lock-defaults (list 'generic-font-lock-defaults nil t))
- (use-local-map bat-generic-mode-keymap)
- )
- )
+ "do"
+ "exist"
+ "errorlevel"
+ "goto"
+ "not")
+ 'font-lock-keyword-face)
+ ;; These are built-in commands. Only frequently-used ones are listed.
+ (generic-make-keywords-list
+ (list
+ "CALL" "call" "Call"
+ "CD" "cd" "Cd"
+ "CLS" "cls" "Cls"
+ "COPY" "copy" "Copy"
+ "DEL" "del" "Del"
+ "ECHO" "echo" "Echo"
+ "MD" "md" "Md"
+ "PATH" "path" "Path"
+ "PAUSE" "pause" "Pause"
+ "PROMPT" "prompt" "Prompt"
+ "RD" "rd" "Rd"
+ "REN" "ren" "Ren"
+ "SET" "set" "Set"
+ "START" "start" "Start"
+ "SHIFT" "shift" "Shift")
+ 'font-lock-builtin-face "[ \t|\n]")
+ (list "^[ \t]*\\(:\\sw+\\)" 1 'font-lock-function-name-face t)
+ (list "\\(%\\sw+%\\)" 1 'font-lock-variable-name-face t)
+ (list "\\(%[0-9]\\)" 1 'font-lock-variable-name-face t)
+ (list "\\(/[^/ \"\t\n]+\\)" 1 'font-lock-type-face)
+ (list "[\t ]+\\([+-][^\t\n\" ]+\\)" 1 'font-lock-type-face)
+ (list "[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?"
+ '(1 font-lock-keyword-face)
+ '(2 font-lock-function-name-face nil t))
+ (list "[ \t\n|]\\<\\([sS][eE][tT]\\)\\>[ \t]*\\(\\sw+\\)?[ \t]*=?"
+ '(1 font-lock-builtin-face)
+ '(2 font-lock-variable-name-face t t)))
+ (list
+ "\\.[bB][aA][tT]\\'"
+ "\\`[cC][oO][nN][fF][iI][gG]\\."
+ "\\`[aA][uU][tT][oO][eE][xX][eE][cC]\\." )
+ (list 'generic-bat-mode-setup-function)
+ "Generic mode for MS-Windows BAT files.")
+
+(defvar bat-generic-mode-syntax-table nil
+ "Syntax table in use in bat-generic-mode buffers.")
+
+(defvar bat-generic-mode-keymap (make-sparse-keymap)
+ "Keymap for bet-generic-mode.")
+
+(defun bat-generic-mode-compile ()
+ "Run the current BAT file in a compilation buffer."
+ (interactive)
+ (let ((compilation-buffer-name-function
+ (function
+ (lambda(ign)
+ (concat "*" (buffer-file-name) "*")))))
+ (compile
+ (concat (w32-shell-name) " -c " (buffer-file-name)))))
+
+(defun bat-generic-mode-run-as-comint ()
+ "Run the current BAT file in a comint buffer."
+ (interactive)
+ (require 'comint)
+ (let* ((file (buffer-file-name))
+ (buf-name (concat "*" file "*")))
+ (save-excursion
+ (set-buffer
+ (get-buffer-create buf-name))
+ (erase-buffer)
+ (comint-mode)
+ (comint-exec
+ buf-name
+ file
+ (w32-shell-name)
+ nil
+ (list "-c" file))
+ (display-buffer buf-name))))
+
+(define-key bat-generic-mode-keymap "\C-c\C-c" 'bat-generic-mode-compile)
+
+;; Make underscores count as words
+(unless bat-generic-mode-syntax-table
+ (setq bat-generic-mode-syntax-table (make-syntax-table))
+ (modify-syntax-entry ?_ "w" bat-generic-mode-syntax-table))
+
+;; bat-generic-mode doesn't use the comment functionality of generic-mode
+;; because it has a three-letter comment-string, so we do it
+;; here manually instead
+(defun generic-bat-mode-setup-function ()
+ (make-local-variable 'parse-sexp-ignore-comments)
+ (make-local-variable 'comment-start)
+ (make-local-variable 'comment-start-skip)
+ (make-local-variable 'comment-end)
+ (setq imenu-generic-expression '((nil "^:\\(\\sw+\\)" 1))
+ parse-sexp-ignore-comments t
+ comment-end ""
+ comment-start "REM "
+ comment-start-skip "[Rr][Ee][Mm] *")
+ (set-syntax-table bat-generic-mode-syntax-table)
+ ;; Make keywords case-insensitive
+ (setq font-lock-defaults (list 'generic-font-lock-defaults nil t))
+ (use-local-map bat-generic-mode-keymap)))
;;; Mailagent
;; Mailagent is a Unix mail filtering program. Anyone wanna do a generic mode
;; for procmail?
-(and
- (memq 'mailagent-rules-generic-mode generic-extras-enable-list)
-
-(define-generic-mode 'mailagent-rules-generic-mode
- (list ?#)
- (list "SAVE" "DELETE" "PIPE" "ANNOTATE" "REJECT")
- '(("^\\(\\sw+\\)\\s-*=" 1 'font-lock-variable-name-face)
- ("\\s-/\\([^/]+\\)/[i, \t\n]" 1 'font-lock-constant-face))
- (list "\\.rules\\'")
- (list 'mailagent-rules-setup-function)
- "Mode for Mailagent rules files.")
+(when (memq 'mailagent-rules-generic-mode generic-extras-enable-list)
+
+(define-generic-mode mailagent-rules-generic-mode
+ (list ?#)
+ (list "SAVE" "DELETE" "PIPE" "ANNOTATE" "REJECT")
+ '(("^\\(\\sw+\\)\\s-*=" 1 'font-lock-variable-name-face)
+ ("\\s-/\\([^/]+\\)/[i, \t\n]" 1 'font-lock-constant-face))
+ (list "\\.rules\\'")
+ (list 'mailagent-rules-setup-function)
+ "Mode for Mailagent rules files.")
(defun mailagent-rules-setup-function ()
- (make-local-variable 'imenu-generic-expression)
- (setq imenu-generic-expression
- '((nil "\\s-/\\([^/]+\\)/[i, \t\n]" 1))))
- )
+ (make-local-variable 'imenu-generic-expression)
+ (setq imenu-generic-expression
+ '((nil "\\s-/\\([^/]+\\)/[i, \t\n]" 1)))))
;; Solaris/Sys V prototype files
-(and
- (memq 'prototype-generic-mode generic-extras-enable-list)
-
-(define-generic-mode 'prototype-generic-mode
- (list ?#)
- nil
- '(
- ("^\\([0-9]\\)?\\s-*\\([a-z]\\)\\s-+\\([A-Za-z_]+\\)\\s-+\\([^\n\r]*\\)$"
- (2 font-lock-constant-face)
- (3 font-lock-keyword-face))
- ("^\\([a-z]\\) \\([A-Za-z_]+\\)=\\([^\n\r]*\\)$"
- (1 font-lock-constant-face)
- (2 font-lock-keyword-face)
- (3 font-lock-variable-name-face))
- ("^\\(!\\s-*\\(search\\|include\\|default\\)\\)\\s-*\\([^\n\r]*\\)$"
- (1 font-lock-keyword-face)
- (3 font-lock-variable-name-face))
- ("^\\(!\\s-*\\sw+\\)=\\([^\n\r]*\\)$"
- (1 font-lock-keyword-face)
- (2 font-lock-variable-name-face))
- )
- (list "prototype\\'")
- nil
- "Mode for Sys V prototype files."))
+(when (memq 'prototype-generic-mode generic-extras-enable-list)
+
+(define-generic-mode prototype-generic-mode
+ (list ?#)
+ nil
+ '(("^\\([0-9]\\)?\\s-*\\([a-z]\\)\\s-+\\([A-Za-z_]+\\)\\s-+\\([^\n\r]*\\)$"
+ (2 font-lock-constant-face)
+ (3 font-lock-keyword-face))
+ ("^\\([a-z]\\) \\([A-Za-z_]+\\)=\\([^\n\r]*\\)$"
+ (1 font-lock-constant-face)
+ (2 font-lock-keyword-face)
+ (3 font-lock-variable-name-face))
+ ("^\\(!\\s-*\\(search\\|include\\|default\\)\\)\\s-*\\([^\n\r]*\\)$"
+ (1 font-lock-keyword-face)
+ (3 font-lock-variable-name-face))
+ ("^\\(!\\s-*\\sw+\\)=\\([^\n\r]*\\)$"
+ (1 font-lock-keyword-face)
+ (2 font-lock-variable-name-face)))
+ (list "prototype\\'")
+ nil
+ "Mode for Sys V prototype files."))
;; Solaris/Sys V pkginfo files
-(and
- (memq 'pkginfo-generic-mode generic-extras-enable-list)
-
-(define-generic-mode 'pkginfo-generic-mode
- (list ?#)
- nil
- '(
- ("^\\([A-Za-z_]+\\)=\\([^\n\r]*\\)$"
- (1 font-lock-keyword-face)
- (2 font-lock-variable-name-face))
- )
- (list "pkginfo\\'")
- nil
- "Mode for Sys V pkginfo files."))
+(when (memq 'pkginfo-generic-mode generic-extras-enable-list)
+
+(define-generic-mode pkginfo-generic-mode
+ (list ?#)
+ nil
+ '(("^\\([A-Za-z_]+\\)=\\([^\n\r]*\\)$"
+ (1 font-lock-keyword-face)
+ (2 font-lock-variable-name-face)))
+ (list "pkginfo\\'")
+ nil
+ "Mode for Sys V pkginfo files."))
;; Javascript mode
;; Includes extra keywords from Armando Singer [[email protected]]
-(define-generic-mode 'javascript-generic-mode
+(define-generic-mode javascript-generic-mode
(list "//" '("/*" . "*/"))
(list
"break"
@@ -594,27 +555,23 @@ you must reload generic-x to enable the specified modes."
"synchronized"
"throws"
"transient"
- "true"
- )
+ "true")
(list
(list "^\\s-*function\\s-+\\([A-Za-z0-9_]+\\)"
- '(1 font-lock-function-name-face))
- (list "^\\s-*var\\s-+\\([A-Za-z0-9_]+\\)"
- '(1 font-lock-variable-name-face))
- )
+ '(1 font-lock-function-name-face))
+ (list "^\\s-*var\\s-+\\([A-Za-z0-9_]+\\)"
+ '(1 font-lock-variable-name-face)))
(list "\\.js\\'")
(list
(function
(lambda ()
(setq imenu-generic-expression
'((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1)
- ("*Variables*" "^var\\s-+\\([A-Za-z0-9_]+\\)" 1)
- ))
- )))
+ ("*Variables*" "^var\\s-+\\([A-Za-z0-9_]+\\)" 1))))))
"Mode for JavaScript files.")
;; VRML files
-(define-generic-mode 'vrml-generic-mode
+(define-generic-mode vrml-generic-mode
(list ?#)
(list
"DEF"
@@ -644,8 +601,7 @@ you must reload generic-x to enable the specified modes."
"textureTransform"
"title"
"transparency"
- "type"
- )
+ "type")
(list
(list "USE\\s-+\\([-A-Za-z0-9_]+\\)"
'(1 font-lock-constant-face))
@@ -656,8 +612,7 @@ you must reload generic-x to enable the specified modes."
'(1 font-lock-function-name-face))
(list
"^\\s-*\\(geometry\\|appearance\\|material\\)\\s-+\\([-A-Za-z0-9_]+\\)"
- '(2 font-lock-variable-name-face))
- )
+ '(2 font-lock-variable-name-face)))
(list "\\.wrl\\'")
(list
(function
@@ -666,12 +621,11 @@ you must reload generic-x to enable the specified modes."
'((nil "^\\([A-Za-z0-9_]+\\)\\s-*{" 1)
("*Definitions*"
"DEF\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([A-Za-z0-9]+\\)\\s-*{"
- 1)))
- )))
+ 1))))))
"Generic Mode for VRML files.")
;; Java Manifests
-(define-generic-mode 'java-manifest-generic-mode
+(define-generic-mode java-manifest-generic-mode
(list ?#)
(list
"Name"
@@ -681,26 +635,23 @@ you must reload generic-x to enable the specified modes."
"Signature-Version"
"Magic"
"Java-Bean"
- "Depends-On"
- )
+ "Depends-On")
'(("^Name:\\s-+\\([^\n\r]*\\)$"
(1 font-lock-variable-name-face))
("^\\(Manifest\\|Required\\|Signature\\)-Version:\\s-+\\([^\n\r]*\\)$"
- (2 font-lock-constant-face))
- )
+ (2 font-lock-constant-face)))
(list "[mM][aA][nN][iI][fF][eE][sS][tT]\\.[mM][fF]\\'")
nil
"Mode for Java Manifest files")
;; Java properties files
-(define-generic-mode 'java-properties-generic-mode
+(define-generic-mode java-properties-generic-mode
(list ?! ?#)
nil
(let ((java-properties-key
"\\(\\([-A-Za-z0-9_\\./]\\|\\(\\\\[ =:]\\)\\)+\\)")
(java-properties-value
- "\\([^\r\n]*\\)")
- )
+ "\\([^\r\n]*\\)"))
;; Property and value can be separated in a number of different ways:
;; * whitespace
;; * an equal sign
@@ -711,143 +662,133 @@ you must reload generic-x to enable the specified modes."
(list
(concat "^" java-properties-key elt java-properties-value "$")
'(1 font-lock-constant-face)
- '(4 font-lock-variable-name-face)
- )))
+ '(4 font-lock-variable-name-face))))
;; These are the separators
- (list ":\\s-*" "\\s-+" "\\s-*=\\s-*")
- )
- )
+ (list ":\\s-*" "\\s-+" "\\s-*=\\s-*")))
nil
(list
(function
(lambda ()
(setq imenu-generic-expression
- '((nil "^\\([^#! \t\n\r=:]+\\)" 1)))
- )))
+ '((nil "^\\([^#! \t\n\r=:]+\\)" 1))))))
"Mode for Java properties files.")
;; C shell alias definitions
-(and
- (memq 'alias-generic-mode generic-extras-enable-list)
+(when (memq 'alias-generic-mode generic-extras-enable-list)
-(define-generic-mode 'alias-generic-mode
+(define-generic-mode alias-generic-mode
(list ?#)
(list "alias" "unalias")
'(("^alias\\s-+\\([-A-Za-z0-9_]+\\)\\s-+"
(1 font-lock-variable-name-face))
("^unalias\\s-+\\([-A-Za-z0-9_]+\\)\\s-*$"
- (1 font-lock-variable-name-face))
- )
+ (1 font-lock-variable-name-face)))
(list "alias\\'")
(list
(function
(lambda ()
(setq imenu-generic-expression
- '((nil "^\\(alias\\|unalias\\)\\s-+\\([-a-zA-Z0-9_]+\\)" 2)))
- )))
- "Mode for C Shell alias files.")
-)
+ '((nil "^\\(alias\\|unalias\\)\\s-+\\([-a-zA-Z0-9_]+\\)" 2))))))
+ "Mode for C Shell alias files."))
;;; Windows RC files
;; Contributed by [email protected] (Alfred Correira)
-(and
- (memq 'rc-generic-mode generic-extras-enable-list)
-
-(define-generic-mode 'rc-generic-mode
-;; (list ?\/)
- (list "//")
- '("ACCELERATORS"
- "AUTO3STATE"
- "AUTOCHECKBOX"
- "AUTORADIOBUTTON"
- "BITMAP"
- "BOTTOMMARGIN"
- "BUTTON"
- "CAPTION"
- "CHARACTERISTICS"
- "CHECKBOX"
- "CLASS"
- "COMBOBOX"
- "CONTROL"
- "CTEXT"
- "CURSOR"
- "DEFPUSHBUTTON"
- "DESIGNINFO"
- "DIALOG"
- "DISCARDABLE"
- "EDITTEXT"
- "EXSTYLE"
- "FONT"
- "GROUPBOX"
- "GUIDELINES"
- "ICON"
- "LANGUAGE"
- "LEFTMARGIN"
- "LISTBOX"
- "LTEXT"
- "MENUITEM SEPARATOR"
- "MENUITEM"
- "MENU"
- "MOVEABLE"
- "POPUP"
- "PRELOAD"
- "PURE"
- "PUSHBOX"
- "PUSHBUTTON"
- "RADIOBUTTON"
- "RCDATA"
- "RIGHTMARGIN"
- "RTEXT"
- "SCROLLBAR"
- "SEPARATOR"
- "STATE3"
- "STRINGTABLE"
- "STYLE"
- "TEXTINCLUDE"
- "TOOLBAR"
- "TOPMARGIN"
- "VERSIONINFO"
- "VERSION"
- )
- ;; the choice of what tokens go where is somewhat arbitrary,
- ;; as is the choice of which value tokens are included, as
- ;; the choice of face for each token group
- (list
- (eval-when-compile
- (generic-make-keywords-list
- (list
- "FILEFLAGSMASK"
- "FILEFLAGS"
- "FILEOS"
- "FILESUBTYPE"
- "FILETYPE"
- "FILEVERSION"
- "PRODUCTVERSION"
- ) 'font-lock-type-face))
- (eval-when-compile
- (generic-make-keywords-list
- (list
- "BEGIN"
- "BLOCK"
- "END"
- "VALUE"
- ) 'font-lock-function-name-face))
- '("^#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)" 1 font-lock-string-face)
- '("^#[ \t]*define[ \t]+\\(\\sw+\\)(" 1 font-lock-function-name-face)
- '("^#[ \t]*\\(elif\\|if\\)\\>"
- ("\\<\\(defined\\)\\>[ \t]*(?\\(\\sw+\\)?" nil nil
- (1 font-lock-constant-face) (2 font-lock-variable-name-face nil t)))
- '("^#[ \t]*\\(\\sw+\\)\\>[ \t]*\\(\\sw+\\)?"
+(when (memq 'rc-generic-mode generic-extras-enable-list)
+
+(define-generic-mode rc-generic-mode
+ ;; (list ?\/)
+ (list "//")
+ '("ACCELERATORS"
+ "AUTO3STATE"
+ "AUTOCHECKBOX"
+ "AUTORADIOBUTTON"
+ "BITMAP"
+ "BOTTOMMARGIN"
+ "BUTTON"
+ "CAPTION"
+ "CHARACTERISTICS"
+ "CHECKBOX"
+ "CLASS"
+ "COMBOBOX"
+ "CONTROL"
+ "CTEXT"
+ "CURSOR"
+ "DEFPUSHBUTTON"
+ "DESIGNINFO"
+ "DIALOG"
+ "DISCARDABLE"
+ "EDITTEXT"
+ "EXSTYLE"
+ "FONT"
+ "GROUPBOX"
+ "GUIDELINES"
+ "ICON"
+ "LANGUAGE"
+ "LEFTMARGIN"
+ "LISTBOX"
+ "LTEXT"
+ "MENUITEM SEPARATOR"
+ "MENUITEM"
+ "MENU"
+ "MOVEABLE"
+ "POPUP"
+ "PRELOAD"
+ "PURE"
+ "PUSHBOX"
+ "PUSHBUTTON"
+ "RADIOBUTTON"
+ "RCDATA"
+ "RIGHTMARGIN"
+ "RTEXT"
+ "SCROLLBAR"
+ "SEPARATOR"
+ "STATE3"
+ "STRINGTABLE"
+ "STYLE"
+ "TEXTINCLUDE"
+ "TOOLBAR"
+ "TOPMARGIN"
+ "VERSIONINFO"
+ "VERSION")
+ ;; the choice of what tokens go where is somewhat arbitrary,
+ ;; as is the choice of which value tokens are included, as
+ ;; the choice of face for each token group
+ (list
+ (eval-when-compile
+ (generic-make-keywords-list
+ (list
+ "FILEFLAGSMASK"
+ "FILEFLAGS"
+ "FILEOS"
+ "FILESUBTYPE"
+ "FILETYPE"
+ "FILEVERSION"
+ "PRODUCTVERSION")
+ 'font-lock-type-face))
+ (eval-when-compile
+ (generic-make-keywords-list
+ (list
+ "BEGIN"
+ "BLOCK"
+ "END"
+ "VALUE")
+ 'font-lock-function-name-face))
+ '("^#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)" 1 font-lock-string-face)
+ '("^#[ \t]*define[ \t]+\\(\\sw+\\)(" 1 font-lock-function-name-face)
+ '("^#[ \t]*\\(elif\\|if\\)\\>"
+ ("\\<\\(defined\\)\\>[ \t]*(?\\(\\sw+\\)?" nil nil
(1 font-lock-constant-face) (2 font-lock-variable-name-face nil t)))
- (list "\\.[rR][cC]$")
- nil
- "Generic mode for MS-Windows Resource files."))
+ '("^#[ \t]*\\(\\sw+\\)\\>[ \t]*\\(\\sw+\\)?"
+ (1 font-lock-constant-face) (2 font-lock-variable-name-face nil t)))
+ (list "\\.[rR][cC]$")
+ nil
+ "Generic mode for MS-Windows Resource files."))
;; InstallShield RUL files
;; Contributed by [email protected]
;; Bugfixes by "Rolf Sandau" <[email protected]>
-(and
-(memq 'rul-generic-mode generic-extras-enable-list)
+(when (memq 'rul-generic-mode generic-extras-enable-list)
+
;;; build the regexp strings using regexp-opt
(defvar installshield-statement-keyword-list
(list
@@ -882,8 +823,7 @@ you must reload generic-x to enable the specified modes."
"typedef"
"until"
"void"
- "while"
- )
+ "while")
"Statement keywords used in InstallShield 3 and 5.")
(defvar installshield-system-functions-list
@@ -907,39 +847,39 @@ you must reload generic-x to enable the specified modes."
"ChangeDirectory"
"CloseFile"
"CmdGetHwndDlg"
- "ComponentAddItem" ; differs between IS3 and IS5
- "ComponentCompareSizeRequired" ; IS5 only
+ "ComponentAddItem" ; differs between IS3 and IS5
+ "ComponentCompareSizeRequired" ; IS5 only
"ComponentDialog"
- "ComponentError" ; IS5 only
- "ComponentFileEnum" ; IS5 only
- "ComponentFileInfo" ; IS5 only
- "ComponentFilterLanguage" ; IS5 only
- "ComponentFilterOS" ; IS5 only
- "ComponentGetData" ; IS5 only
- "ComponentGetItemInfo" ; IS3 only
- "ComponentGetItemSize" ; differs between IS3 and IS5
- "ComponentIsItemSelected" ; differs between IS3 and IS5
+ "ComponentError" ; IS5 only
+ "ComponentFileEnum" ; IS5 only
+ "ComponentFileInfo" ; IS5 only
+ "ComponentFilterLanguage" ; IS5 only
+ "ComponentFilterOS" ; IS5 only
+ "ComponentGetData" ; IS5 only
+ "ComponentGetItemInfo" ; IS3 only
+ "ComponentGetItemSize" ; differs between IS3 and IS5
+ "ComponentIsItemSelected" ; differs between IS3 and IS5
"ComponentListItems"
- "ComponentMoveData" ; IS5 only
- "ComponentSelectItem" ; differs between IS3 and IS5
- "ComponentSetData" ; IS5 only
- "ComponentSetItemInfo" ; IS3 only
- "ComponentSetTarget" ; IS5 only
- "ComponentSetupTypeEnum" ; IS5 only
- "ComponentSetupTypeGetData" ; IS5 only
- "ComponentSetupTypeSet" ; IS5 only
+ "ComponentMoveData" ; IS5 only
+ "ComponentSelectItem" ; differs between IS3 and IS5
+ "ComponentSetData" ; IS5 only
+ "ComponentSetItemInfo" ; IS3 only
+ "ComponentSetTarget" ; IS5 only
+ "ComponentSetupTypeEnum" ; IS5 only
+ "ComponentSetupTypeGetData" ; IS5 only
+ "ComponentSetupTypeSet" ; IS5 only
"ComponentTotalSize"
- "ComponentValidate" ; IS5 only
- "CompressAdd" ; IS3 only
- "CompressDel" ; IS3 only
- "CompressEnum" ; IS3 only
- "CompressGet" ; IS3 only
- "CompressInfo" ; IS3 only
+ "ComponentValidate" ; IS5 only
+ "CompressAdd" ; IS3 only
+ "CompressDel" ; IS3 only
+ "CompressEnum" ; IS3 only
+ "CompressGet" ; IS3 only
+ "CompressInfo" ; IS3 only
"CopyFile"
"CreateDir"
"CreateFile"
"CreateProgramFolder"
- "DeinstallSetReference" ; IS5 only
+ "DeinstallSetReference" ; IS5 only
"DeinstallStart"
"Delay"
"DeleteDir"
@@ -965,12 +905,12 @@ you must reload generic-x to enable the specified modes."
"FileDeleteLine"
"FileGrep"
"FileInsertLine"
- "FileSetBeginDefine" ; IS3 only
- "FileSetEndDefine" ; IS3 only
- "FileSetPerformEz" ; IS3 only
- "FileSetPerform" ; IS3 only
- "FileSetReset" ; IS3 only
- "FileSetRoot" ; IS3 only
+ "FileSetBeginDefine" ; IS3 only
+ "FileSetEndDefine" ; IS3 only
+ "FileSetPerformEz" ; IS3 only
+ "FileSetPerform" ; IS3 only
+ "FileSetReset" ; IS3 only
+ "FileSetRoot" ; IS3 only
"FindAllDirs"
"FindAllFiles"
"FindFile"
@@ -1024,7 +964,7 @@ you must reload generic-x to enable the specified modes."
"Path"
"PlaceBitmap"
"PlaceWindow"
- "PlayMMedia" ; IS5 only
+ "PlayMMedia" ; IS5 only
"ProgDefGroupType"
"RegDBCreateKeyEx"
"RegDBDeleteValue"
@@ -1084,7 +1024,7 @@ you must reload generic-x to enable the specified modes."
"SdSelectFolder"
"SdSetSequentialItems"
"SdSetStatic"
- "SdSetupTypeEx" ; IS5 only
+ "SdSetupTypeEx" ; IS5 only
"SdSetupType"
"SdShowAnyDialog"
"SdShowDlgEdit1"
@@ -1101,14 +1041,14 @@ you must reload generic-x to enable the specified modes."
"SetColor"
"SetFont"
"SetDialogTitle"
- "SetDisplayEffect" ; IS5 only
+ "SetDisplayEffect" ; IS5 only
"SetFileInfo"
"SetForegroundWindow"
"SetStatusWindow"
"SetTitle"
"SetupType"
"ShowProgramFolder"
- "Split" ; IS3 only
+ "Split" ; IS3 only
"SprintfBox"
"Sprintf"
"StatusUpdate"
@@ -1129,8 +1069,7 @@ you must reload generic-x to enable the specified modes."
"Welcome"
"WriteLine"
"WriteProfString"
- "XCopyFile"
- )
+ "XCopyFile")
"System functions defined in InstallShield 3 and 5.")
(defvar installshield-system-variables-list
@@ -1163,8 +1102,7 @@ you must reload generic-x to enable the specified modes."
"WINDISK"
"WINMAJOR"
"WINSYSDIR"
- "WINSYSDISK"
- )
+ "WINSYSDISK")
"System variables used in InstallShield 3 and 5.")
(defvar installshield-types-list
@@ -1186,8 +1124,7 @@ you must reload generic-x to enable the specified modes."
"RGB"
"SHORT"
"STRINGLIST"
- "STRING"
- )
+ "STRING")
"Type keywords used in InstallShield 3 and 5.")
;;; some might want to skip highlighting these to improve performance
@@ -1397,111 +1334,104 @@ you must reload generic-x to enable the specified modes."
"WINMINOR"
"WIN32SINSTALLED"
"WIN32SMAJOR"
- "WIN32SMINOR"
- )
+ "WIN32SMINOR")
"Function argument constants used in InstallShield 3 and 5.")
-(progn
- (defvar rul-generic-mode-syntax-table nil
- "Syntax table to use in rul-generic-mode buffers.")
-
- (setq rul-generic-mode-syntax-table
- (make-syntax-table c++-mode-syntax-table))
-
- (modify-syntax-entry ?\r "> b" rul-generic-mode-syntax-table)
- (modify-syntax-entry ?\n "> b" rul-generic-mode-syntax-table)
-
- (modify-syntax-entry ?/ ". 124b" rul-generic-mode-syntax-table)
- (modify-syntax-entry ?* ". 23" rul-generic-mode-syntax-table)
-
- ;; here manually instead
- (defun generic-rul-mode-setup-function ()
- (make-local-variable 'parse-sexp-ignore-comments)
- (make-local-variable 'comment-start)
- (make-local-variable 'comment-start-skip)
- (make-local-variable 'comment-end)
- (setq imenu-generic-expression
- '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1))
- parse-sexp-ignore-comments t
- comment-end "*/"
- comment-start "/*"
-;; comment-end ""
-;; comment-start "//"
-;; comment-start-skip ""
- )
-;; (set-syntax-table rul-generic-mode-syntax-table)
- (setq font-lock-syntax-table rul-generic-mode-syntax-table)
- )
-
- ;; moved mode-definition behind defun-definition to be warning-free - 15.11.02/RSan
- (define-generic-mode 'rul-generic-mode
- ;; Using "/*" and "*/" doesn't seem to be working right
- (list "//" '("/*" . "*/" ))
- installshield-statement-keyword-list
- (list
- ;; preprocessor constructs
- '("#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)"
- 1 font-lock-string-face)
- '("#[ \t]*\\(\\sw+\\)\\>[ \t]*\\(\\sw+\\)?"
- (1 font-lock-reference-face)
- (2 font-lock-variable-name-face nil t))
- ;; indirect string constants
- '("\\(@[A-Za-z][A-Za-z0-9_]+\\)" 1 font-lock-builtin-face)
- ;; gotos
- '("[ \t]*\\(\\sw+:\\)" 1 font-lock-reference-face)
- '("\\<\\(goto\\)\\>[ \t]*\\(\\sw+\\)?"
- (1 font-lock-keyword-face)
- (2 font-lock-reference-face nil t))
- ;; system variables
- (generic-make-keywords-list
- installshield-system-variables-list
- 'font-lock-variable-name-face "[^_]" "[^_]")
- ;; system functions
- (generic-make-keywords-list
- installshield-system-functions-list
- 'font-lock-function-name-face "[^_]" "[^_]")
- ;; type keywords
- (generic-make-keywords-list
- installshield-types-list
- 'font-lock-type-face "[^_]" "[^_]")
- ;; function argument constants
- (generic-make-keywords-list
- installshield-funarg-constants-list
- 'font-lock-variable-name-face "[^_]" "[^_]") ; is this face the best choice?
- )
- (list "\\.[rR][uU][lL]$")
- (list 'generic-rul-mode-setup-function)
- "Generic mode for InstallShield RUL files.")
-)
+(defvar rul-generic-mode-syntax-table nil
+ "Syntax table to use in rul-generic-mode buffers.")
+
+(setq rul-generic-mode-syntax-table
+ (make-syntax-table c++-mode-syntax-table))
+
+(modify-syntax-entry ?\r "> b" rul-generic-mode-syntax-table)
+(modify-syntax-entry ?\n "> b" rul-generic-mode-syntax-table)
+
+(modify-syntax-entry ?/ ". 124b" rul-generic-mode-syntax-table)
+(modify-syntax-entry ?* ". 23" rul-generic-mode-syntax-table)
+
+;; here manually instead
+(defun generic-rul-mode-setup-function ()
+ (make-local-variable 'parse-sexp-ignore-comments)
+ (make-local-variable 'comment-start)
+ (make-local-variable 'comment-start-skip)
+ (make-local-variable 'comment-end)
+ (setq imenu-generic-expression
+ '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1))
+ parse-sexp-ignore-comments t
+ comment-end "*/"
+ comment-start "/*"
+;;; comment-end ""
+;;; comment-start "//"
+;;; comment-start-skip ""
+ )
+ ;; (set-syntax-table rul-generic-mode-syntax-table)
+ (setq font-lock-syntax-table rul-generic-mode-syntax-table))
+
+;; moved mode-definition behind defun-definition to be warning-free - 15.11.02/RSan
+(define-generic-mode rul-generic-mode
+ ;; Using "/*" and "*/" doesn't seem to be working right
+ (list "//" '("/*" . "*/" ))
+ installshield-statement-keyword-list
+ (list
+ ;; preprocessor constructs
+ '("#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)"
+ 1 font-lock-string-face)
+ '("#[ \t]*\\(\\sw+\\)\\>[ \t]*\\(\\sw+\\)?"
+ (1 font-lock-reference-face)
+ (2 font-lock-variable-name-face nil t))
+ ;; indirect string constants
+ '("\\(@[A-Za-z][A-Za-z0-9_]+\\)" 1 font-lock-builtin-face)
+ ;; gotos
+ '("[ \t]*\\(\\sw+:\\)" 1 font-lock-reference-face)
+ '("\\<\\(goto\\)\\>[ \t]*\\(\\sw+\\)?"
+ (1 font-lock-keyword-face)
+ (2 font-lock-reference-face nil t))
+ ;; system variables
+ (generic-make-keywords-list
+ installshield-system-variables-list
+ 'font-lock-variable-name-face "[^_]" "[^_]")
+ ;; system functions
+ (generic-make-keywords-list
+ installshield-system-functions-list
+ 'font-lock-function-name-face "[^_]" "[^_]")
+ ;; type keywords
+ (generic-make-keywords-list
+ installshield-types-list
+ 'font-lock-type-face "[^_]" "[^_]")
+ ;; function argument constants
+ (generic-make-keywords-list
+ installshield-funarg-constants-list
+ 'font-lock-variable-name-face "[^_]" "[^_]")) ; is this face the best choice?
+ (list "\\.[rR][uU][lL]$")
+ (list 'generic-rul-mode-setup-function)
+ "Generic mode for InstallShield RUL files.")
+
(define-skeleton rul-if
- "Insert an if statement."
- "condition: "
- "if(" str ") then" \n
- > _ \n
- ( "other condition, %s: "
- > "elseif(" str ") then" \n
- > \n)
- > "else" \n
- > \n
- resume:
- > "endif;"
- )
+ "Insert an if statement."
+ "condition: "
+ "if(" str ") then" \n
+ > _ \n
+ ( "other condition, %s: "
+ > "elseif(" str ") then" \n
+ > \n)
+ > "else" \n
+ > \n
+ resume:
+ > "endif;")
(define-skeleton rul-function
"Insert a function statement."
"function: "
"function " str " ()" \n
( "local variables, %s: "
- > " " str ";" \n)
+ > " " str ";" \n)
> "begin" \n
> _ \n
resume:
- > "end;")
-
-)
+ > "end;"))
;; Additions by [email protected] (Alfred Correira)
-(define-generic-mode 'mailrc-generic-mode
+(define-generic-mode mailrc-generic-mode
(list ?#)
(list
"alias"
@@ -1512,8 +1442,7 @@ you must reload generic-x to enable the specified modes."
"ignore"
"set"
"source"
- "unset"
- )
+ "unset")
'(("^\\s-*\\(alias\\|group\\)\\s-+\\([-A-Za-z0-9_]+\\)\\s-+\\([^\n\r#]*\\)\\(#.*\\)?$"
(2 font-lock-constant-face) (3 font-lock-variable-name-face))
("^\\s-*\\(unset\\|set\\|ignore\\)\\s-+\\([-A-Za-z0-9_]+\\)=?\\([^\n\r#]*\\)\\(#.*\\)?$"
@@ -1525,10 +1454,9 @@ you must reload generic-x to enable the specified modes."
"Mode for mailrc files.")
;; Inetd.conf
-(and
- (memq 'inetd-conf-generic-mode generic-extras-enable-list)
+(when (memq 'inetd-conf-generic-mode generic-extras-enable-list)
-(define-generic-mode 'inetd-conf-generic-mode
+(define-generic-mode inetd-conf-generic-mode
(list ?#)
(list
"stream"
@@ -1537,142 +1465,139 @@ you must reload generic-x to enable the specified modes."
"udp"
"wait"
"nowait"
- "internal"
- )
- '(
- ("^\\([-A-Za-z0-9_]+\\)"
- 1 'font-lock-type-face)
- )
+ "internal")
+ '(("^\\([-A-Za-z0-9_]+\\)"
+ 1 'font-lock-type-face))
'("/etc/inetd.conf\\'")
(list
(function
(lambda ()
(setq imenu-generic-expression
- '((nil "^\\([-A-Za-z0-9_]+\\)" 1)))
- )))
- )
-)
+ '((nil "^\\([-A-Za-z0-9_]+\\)" 1))))))))
;; Services
-(and
- (memq 'etc-services-generic-mode generic-extras-enable-list)
+(when (memq 'etc-services-generic-mode generic-extras-enable-list)
-(define-generic-mode 'etc-services-generic-mode
+(define-generic-mode etc-services-generic-mode
(list ?#)
(list
"tcp"
"udp"
- "ddp"
- )
- '(
- ("^\\([-A-Za-z0-9_]+\\)\\s-+\\([0-9]+\\)/"
+ "ddp")
+ '(("^\\([-A-Za-z0-9_]+\\)\\s-+\\([0-9]+\\)/"
(1 'font-lock-type-face)
- (2 'font-lock-variable-name-face)
- )
- )
+ (2 'font-lock-variable-name-face)))
'("/etc/services\\'")
(list
(function
(lambda ()
(setq imenu-generic-expression
- '((nil "^\\([-A-Za-z0-9_]+\\)" 1)))
- )))
- )
-)
+ '((nil "^\\([-A-Za-z0-9_]+\\)" 1))))))))
;; Password and Group files
-(and
- (memq 'etc-passwd-generic-mode generic-extras-enable-list)
+(when (memq 'etc-passwd-generic-mode generic-extras-enable-list)
-(define-generic-mode 'etc-passwd-generic-mode
+(define-generic-mode etc-passwd-generic-mode
nil ;; No comment characters
(list "root") ;; Only one keyword
(list
- (list
- (concat
- "^"
- ;; User name -- Never blank!
- "\\([^:]+\\)"
- ":"
- ;; Password, UID and GID
- (mapconcat
- 'identity
- (make-list 3 "\\([^:]+\\)")
- ":"
- )
- ":"
- ;; GECOS/Name -- might be blank
- "\\([^:]*\\)"
- ":"
- ;; Home directory and shell
- "\\([^:]+\\)"
- ":?"
- "\\([^:]*\\)"
- "$"
- )
- '(1 'font-lock-type-face)
- '(5 'font-lock-variable-name-face)
- '(6 'font-lock-constant-face)
- '(7 'font-lock-warning-face)
- )
- '("^\\([^:]+\\):\\([^:]*\\):\\([0-9]+\\):\\(.*\\)$"
- (1 'font-lock-type-face)
- (4 'font-lock-variable-name-face)
- )
- )
+ (list
+ (concat
+ "^"
+ ;; User name -- Never blank!
+ "\\([^:]+\\)"
+ ":"
+ ;; Password, UID and GID
+ (mapconcat
+ 'identity
+ (make-list 3 "\\([^:]+\\)")
+ ":")
+ ":"
+ ;; GECOS/Name -- might be blank
+ "\\([^:]*\\)"
+ ":"
+ ;; Home directory and shell
+ "\\([^:]+\\)"
+ ":?"
+ "\\([^:]*\\)"
+ "$")
+ '(1 'font-lock-type-face)
+ '(5 'font-lock-variable-name-face)
+ '(6 'font-lock-constant-face)
+ '(7 'font-lock-warning-face))
+ '("^\\([^:]+\\):\\([^:]*\\):\\([0-9]+\\):\\(.*\\)$"
+ (1 'font-lock-type-face)
+ (4 'font-lock-variable-name-face)))
'("/etc/passwd\\'" "/etc/group\\'")
(list
(function
(lambda ()
(setq imenu-generic-expression
- '((nil "^\\([-A-Za-z0-9_]+\\):" 1)))
- )))
- )
-)
+ '((nil "^\\([-A-Za-z0-9_]+\\):" 1))))))))
;; Fstab
-(and
- (memq 'etc-fstab-generic-mode generic-extras-enable-list)
+(when (memq 'etc-fstab-generic-mode generic-extras-enable-list)
-(define-generic-mode 'etc-fstab-generic-mode
+(define-generic-mode etc-fstab-generic-mode
(list ?#)
(list
+ "adfs"
+ "affs"
+ "autofs"
+ "coda"
+ "coherent"
+ "cramfs"
+ "devpts"
+ "efs"
"ext2"
- "fd"
+ "ext3"
+ "hfs"
+ "hpfs"
"iso9660"
+ "jfs"
+ "minix"
+ "msdos"
+ "ncpfs"
"nfs"
+ "ntfs"
"proc"
- "swap"
+ "qnx4"
+ "reiserfs"
+ "romfs"
+ "smbfs"
+ "sysv"
+ "tmpfs"
+ "udf"
"ufs"
- )
- '(
- ("^\\([/-A-Za-z0-9_]+\\)\\s-+\\([/-A-Za-z0-9_]+\\)"
+ "umsdos"
+ "vfat"
+ "xenix"
+ "xfs"
+ "swap"
+ "auto"
+ "ignore")
+ '(("^\\([/-A-Za-z0-9_]+\\)\\s-+\\([/-A-Za-z0-9_]+\\)"
(1 'font-lock-type-face)
- (2 'font-lock-variable-name-face)
- )
- )
+ (2 'font-lock-variable-name-face)))
'("/etc/[v]*fstab\\'")
(list
(function
(lambda ()
(setq imenu-generic-expression
- '((nil "^\\([/-A-Za-z0-9_]+\\)\\s-+" 1)))
- )))
- )
-)
+ '((nil "^\\([/-A-Za-z0-9_]+\\)\\s-+" 1))))))))
;; From Jacques Duthen <[email protected]>
(defvar show-tabs-generic-mode-font-lock-defaults-1
- '( ;; trailing spaces must come before...
- ("[ \t]+$" . 'show-tabs-space-face)
- ;; ...embedded tabs
- ("[^\n\t]\\(\t+\\)" (1 'show-tabs-tab-face))))
+ '( ;; trailing spaces must come before...
+ ("[ \t]+$" . 'show-tabs-space-face)
+ ;; ...embedded tabs
+ ("[^\n\t]\\(\t+\\)" (1 'show-tabs-tab-face))))
(defvar show-tabs-generic-mode-font-lock-defaults-2
- '( ;; trailing spaces must come before...
- ("[ \t]+$" . 'show-tabs-space-face)
- ;; ...tabs
- ("\t+" . 'show-tabs-tab-face)))
+ '( ;; trailing spaces must come before...
+ ("[ \t]+$" . 'show-tabs-space-face)
+ ;; ...tabs
+ ("\t+" . 'show-tabs-tab-face)))
(defface show-tabs-tab-face
'((((class grayscale) (background light)) (:foreground "LightGray" :weight bold))
@@ -1692,10 +1617,10 @@ you must reload generic-x to enable the specified modes."
"Font Lock mode face used to highlight spaces."
:group 'show-tabs)
-(define-generic-mode 'show-tabs-generic-mode
+(define-generic-mode show-tabs-generic-mode
() ;; no comment char
() ;; no keywords
- show-tabs-generic-mode-font-lock-defaults-1
+ show-tabs-generic-mode-font-lock-defaults-1
() ;; no auto-mode-alist
;; (list 'show-tabs-generic-mode-hook-fun)
nil
@@ -1705,41 +1630,37 @@ you must reload generic-x to enable the specified modes."
;; DNS modes
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(define-generic-mode 'named-boot-generic-mode
- ;;List of comment characters
- (list ?\;)
- ;;List of keywords
+(define-generic-mode named-boot-generic-mode
+ ;; List of comment characters
+ (list ?\;)
+ ;; List of keywords
(list "cache" "primary" "secondary" "forwarders" "limit" "options"
"directory" "check-names")
- ;;List of additional font-lock-expressions
+ ;; List of additional font-lock-expressions
(list
(list "\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face)
(list "^directory\\s-+\\(.*\\)" 1 'font-lock-variable-name-face)
(list "^\\(primary\\|cache\\)\\s-+\\([.A-Za-z]+\\)\\s-+\\(.*\\)"
(list 2 'font-lock-variable-name-face)
- (list 3 'font-lock-constant-face))
- )
- ;;List of additional automode-alist expressions
+ (list 3 'font-lock-constant-face)))
+ ;; List of additional automode-alist expressions
(list "/etc/named.boot\\'")
- ;;List of set up functions to call
- nil
- )
+ ;; List of set up functions to call
+ nil)
-(define-generic-mode 'named-database-generic-mode
- ;;List of comment characters
+(define-generic-mode named-database-generic-mode
+ ;; List of comment characters
(list ?\;)
- ;;List of keywords
+ ;; List of keywords
(list "IN" "NS" "CNAME" "SOA" "PTR" "MX" "A")
- ;;List of additional font-lock-expressions
+ ;; List of additional font-lock-expressions
(list
(list "\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 'font-lock-constant-face)
- (list "^\\([.A-Za-z0-9]+\\)" 1 'font-lock-variable-name-face)
- )
- ;;List of additional automode-alist expressions
- nil
- ;;List of set up functions to call
+ (list "^\\([.A-Za-z0-9]+\\)" 1 'font-lock-variable-name-face))
+ ;; List of additional automode-alist expressions
nil
- )
+ ;; List of set up functions to call
+ nil)
(defvar named-database-time-string "%Y%m%d%H"
"Timestring for named serial numbers.")
@@ -1747,27 +1668,25 @@ you must reload generic-x to enable the specified modes."
(defun named-database-print-serial ()
"Print a serial number based on the current date."
(interactive)
- (insert (format-time-string named-database-time-string (current-time)))
- )
+ (insert (format-time-string named-database-time-string (current-time))))
-(define-generic-mode 'resolve-conf-generic-mode
- ;;List of comment characters
+(define-generic-mode resolve-conf-generic-mode
+ ;; List of comment characters
(list ?#)
- ;;List of keywords
+ ;; List of keywords
(list "nameserver" "domain" "search" "sortlist" "options")
- ;;List of additional font-lock-expressions
+ ;; List of additional font-lock-expressions
nil
- ;;List of additional automode-alist expressions
+ ;; List of additional automode-alist expressions
(list "/etc/resolv[e]?.conf\\'")
- ;;List of set up functions to call
- nil
- )
+ ;; List of set up functions to call
+ nil)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Modes for spice and common electrical engineering circuit netlist formats
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(define-generic-mode 'spice-generic-mode
+(define-generic-mode spice-generic-mode
nil
(list
"and"
@@ -1784,8 +1703,7 @@ you must reload generic-x to enable the specified modes."
"vccap"
"vccs"
"vcr"
- "vcvs"
- )
+ "vcvs")
'(
("^\\s-*\\([*].*\\)" 1 'font-lock-comment-face)
(" \\(\\$ .*\\)$" 1 'font-lock-comment-face)
@@ -1795,8 +1713,7 @@ you must reload generic-x to enable the specified modes."
("^\\s-*\\([.]\\w+\\>\\)" 1 'font-lock-keyword-face)
("\\(\\([.]\\|_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face)
("\\('[^']+'\\)" 1 'font-lock-string-face)
- ("\\(\"[^\"]+\"\\)" 1 'font-lock-string-face)
- )
+ ("\\(\"[^\"]+\"\\)" 1 'font-lock-string-face))
(list "\\.[sS][pP]\\'"
"\\.[sS][pP][iI]\\'"
"\\.[sS][pP][iI][cC][eE]\\'"
@@ -1806,24 +1723,20 @@ you must reload generic-x to enable the specified modes."
;; Make keywords case-insensitive
(function
(lambda()
- (setq font-lock-defaults (list 'generic-font-lock-defaults nil t))))
- )
- "Generic mode for SPICE circuit netlist files."
- )
+ (setq font-lock-defaults (list 'generic-font-lock-defaults nil t)))))
+ "Generic mode for SPICE circuit netlist files.")
-(define-generic-mode 'ibis-generic-mode
+(define-generic-mode ibis-generic-mode
(list ?|)
nil
'(
("[[]\\([^]]*\\)[]]" 1 'font-lock-keyword-face)
- ("\\(\\(_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face)
- )
+ ("\\(\\(_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face))
(list "\\.[iI][bB][sS]\\'")
(list 'generic-bracket-support)
- "Generic mode for IBIS circuit netlist files."
- )
+ "Generic mode for IBIS circuit netlist files.")
-(define-generic-mode 'astap-generic-mode
+(define-generic-mode astap-generic-mode
nil
(list
"analyze"
@@ -1838,16 +1751,13 @@ you must reload generic-x to enable the specified modes."
"print"
"run"
"controls"
- "table"
- )
- '(
- ("^\\s-*\\([*].*\\)" 1 'font-lock-comment-face)
+ "table")
+ '(("^\\s-*\\([*].*\\)" 1 'font-lock-comment-face)
(";\\s-*\\([*].*\\)" 1 'font-lock-comment-face)
("^\\s-*\\([.]\\w+\\>\\)" 1 'font-lock-keyword-face)
("\\('[^']+'\\)" 1 'font-lock-string-face)
("\\(\"[^\"]+\"\\)" 1 'font-lock-string-face)
- ("[(,]\\s-*\\(\\([.]\\|_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face)
- )
+ ("[(,]\\s-*\\(\\([.]\\|_\\|\\w\\)+\\)\\s-*=" 1 'font-lock-variable-name-face))
(list "\\.[aA][pP]\\'"
"\\.[aA][sS][xX]\\'"
"\\.[aA][sS][tT][aA][pP]\\'"
@@ -1859,15 +1769,13 @@ you must reload generic-x to enable the specified modes."
;; Make keywords case-insensitive
(function
(lambda()
- (setq font-lock-defaults (list 'generic-font-lock-defaults nil t))))
- )
- "Generic mode for ASTAP circuit netlist files."
- )
+ (setq font-lock-defaults (list 'generic-font-lock-defaults nil t)))))
+ "Generic mode for ASTAP circuit netlist files.")
-(define-generic-mode 'etc-modules-conf-generic-mode
- ;;List of comment characters
+(define-generic-mode etc-modules-conf-generic-mode
+ ;; List of comment characters
(list ?#)
- ;;List of keywords
+ ;; List of keywords
(list
"above"
"alias"
@@ -1900,13 +1808,12 @@ you must reload generic-x to enable the specified modes."
"pre-remove"
"remove"
"persistdir")
- ;;List of additional font-lock-expressions
+ ;; List of additional font-lock-expressions
nil
- ;;List of additional automode-alist expressions
+ ;; List of additional automode-alist expressions
(list "/etc/modules.conf" "/etc/conf.modules")
- ;;List of set up functions to call
- nil
- )
+ ;; List of set up functions to call
+ nil)
(provide 'generic-x)