X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/ac3232837188f7e1c4ffe34b76edede0ccb54f5e..672b871d9838335ac12faaf62793a811f1269a66:/lisp/generic-x.el diff --git a/lisp/generic-x.el b/lisp/generic-x.el index cc8a34ac75..b0ef043940 100644 --- a/lisp/generic-x.el +++ b/lisp/generic-x.el @@ -1,11 +1,11 @@ ;;; generic-x.el --- A collection of generic modes -;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +;; Copyright (C) 1997-1998, 2001-2011 Free Software Foundation, Inc. ;; Author: Peter Breton ;; Created: Tue Oct 08 1996 ;; Keywords: generic, comment, font-lock +;; Package: emacs ;; This file is part of GNU Emacs. @@ -120,21 +120,21 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defcustom generic-use-find-file-hook t - "*If non-nil, add a hook to enter `default-generic-mode' automatically. + "If non-nil, add a hook to enter `default-generic-mode' automatically. This is done if the first few lines of a file in fundamental mode start with a hash comment character." :group 'generic-x :type 'boolean) (defcustom generic-lines-to-scan 3 - "*Number of lines that `generic-mode-find-file-hook' looks at. + "Number of lines that `generic-mode-find-file-hook' looks at. Relevant when deciding whether to enter Default-Generic mode automatically. This variable should be set to a small positive number." :group 'generic-x :type 'integer) (defcustom generic-find-file-regexp "^#" - "*Regular expression used by `generic-mode-find-file-hook'. + "Regular expression used by `generic-mode-find-file-hook'. Files in fundamental mode whose first few lines contain a match for this regexp, should be put into Default-Generic mode instead. The number of lines tested for the matches is specified by the @@ -143,7 +143,7 @@ value of the variable `generic-lines-to-scan', which see." :type 'regexp) (defcustom generic-ignore-files-regexp "[Tt][Aa][Gg][Ss]\\'" - "*Regular expression used by `generic-mode-find-file-hook'. + "Regular expression used by `generic-mode-find-file-hook'. Files whose names match this regular expression should not be put into Default-Generic mode, even if they have lines which match the regexp in `generic-find-file-regexp'. If the value is nil, @@ -171,7 +171,7 @@ This hook will be installed if the variable `generic-lines-to-scan' determines the number of lines to look at." (when (and (eq major-mode 'fundamental-mode) (or (null generic-ignore-files-regexp) - (not (string-match + (not (string-match-p generic-ignore-files-regexp (file-name-sans-versions buffer-file-name))))) (save-excursion @@ -229,7 +229,8 @@ This hook will be installed if the variable prototype-generic-mode resolve-conf-generic-mode samba-generic-mode - x-resource-generic-mode) + x-resource-generic-mode + xmodmap-generic-mode) "List of generic modes that are defined by default on Unix.") (defconst generic-other-modes @@ -237,11 +238,11 @@ This hook will be installed if the variable ibis-generic-mode pkginfo-generic-mode spice-generic-mode) - "List of generic mode that are not defined by default.") + "List of generic modes that are not defined by default.") (defcustom generic-define-mswindows-modes (memq system-type '(windows-nt ms-dos)) - "*Non-nil means the modes in `generic-mswindows-modes' will be defined. + "Non-nil means the modes in `generic-mswindows-modes' will be defined. This is a list of MS-Windows specific generic modes. This variable only affects the default value of `generic-extras-enable-list'." :group 'generic-x @@ -251,7 +252,7 @@ only affects the default value of `generic-extras-enable-list'." (defcustom generic-define-unix-modes (not (memq system-type '(windows-nt ms-dos))) - "*Non-nil means the modes in `generic-unix-modes' will be defined. + "Non-nil means the modes in `generic-unix-modes' will be defined. This is a list of Unix specific generic modes. This variable only affects the default value of `generic-extras-enable-list'." :group 'generic-x @@ -316,7 +317,7 @@ your changes into effect." (2 font-lock-variable-name-face))) '("access_log\\'") nil - "Mode for Apache log files.")) + "Generic mode for Apache log files.")) ;;; Samba (when (memq 'samba-generic-mode generic-extras-enable-list) @@ -370,13 +371,22 @@ your changes into effect." nil "Generic mode for X Resource configuration files.")) +(if (memq 'xmodmap-generic-mode generic-extras-enable-list) +(define-generic-mode xmodmap-generic-mode + '(?!) + '("add" "clear" "keycode" "keysym" "remove" "pointer") + nil + '("[xX]modmap\\(rc\\)?\\'") + nil + "Simple mode for xmodmap files.")) + ;;; Hosts (when (memq 'hosts-generic-mode generic-extras-enable-list) (define-generic-mode hosts-generic-mode '(?#) '("localhost") - '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 font-lock-constant-face)) + '(("\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)" 1 font-lock-constant-face)) '("[hH][oO][sS][tT][sS]\\'") nil "Generic mode for HOSTS files.")) @@ -508,8 +518,7 @@ like an INI file. You can add this hook to `find-file-hook'." '("^[ \t]*\\(:\\sw+\\)" 1 font-lock-function-name-face t) '("\\(%\\sw+%\\)" 1 font-lock-variable-name-face t) '("\\(%[0-9]\\)" 1 font-lock-variable-name-face t) - '("\\(/[^/ \"\t\n]+\\)" 1 font-lock-type-face) - '("[\t ]+\\([+-][^\t\n\" ]+\\)" 1 font-lock-type-face) + '("[\t ]+\\([+-/][^\t\n\" ]+\\)" 1 font-lock-type-face) '("[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?" (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t)) @@ -534,7 +543,7 @@ like an INI file. You can add this hook to `find-file-hook'." (interactive) (let ((compilation-buffer-name-function (function - (lambda(ign) + (lambda (_ign) (concat "*" (buffer-file-name) "*"))))) (compile (concat (w32-shell-name) " -c " (buffer-file-name))))) @@ -546,9 +555,7 @@ like an INI file. You can add this hook to `find-file-hook'." (require 'comint) (let* ((file (buffer-file-name)) (buf-name (concat "*" file "*"))) - (save-excursion - (set-buffer - (get-buffer-create buf-name)) + (with-current-buffer (get-buffer-create buf-name) (erase-buffer) (comint-mode) (comint-exec @@ -600,7 +607,7 @@ like an INI file. You can add this hook to `find-file-hook'." (lambda () (setq imenu-generic-expression '((nil "\\s-/\\([^/]+\\)/[i, \t\n]" 1)))))) - "Mode for Mailagent rules files.")) + "Generic mode for Mailagent rules files.")) ;; Solaris/Sys V prototype files (when (memq 'prototype-generic-mode generic-extras-enable-list) @@ -623,7 +630,7 @@ like an INI file. You can add this hook to `find-file-hook'." (2 font-lock-variable-name-face))) '("prototype\\'") nil - "Mode for Sys V prototype files.")) + "Generic mode for Sys V prototype files.")) ;; Solaris/Sys V pkginfo files (when (memq 'pkginfo-generic-mode generic-extras-enable-list) @@ -636,7 +643,7 @@ like an INI file. You can add this hook to `find-file-hook'." (2 font-lock-variable-name-face))) '("pkginfo\\'") nil - "Mode for Sys V pkginfo files.")) + "Generic mode for Sys V pkginfo files.")) ;; Javascript mode ;; Includes extra keywords from Armando Singer [asinger@MAIL.COLGATE.EDU] @@ -715,7 +722,7 @@ like an INI file. You can add this hook to `find-file-hook'." (setq imenu-generic-expression '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1) ("*Variables*" "^var\\s-+\\([A-Za-z0-9_]+\\)" 1)))))) - "Mode for JavaScript files.")) + "Generic mode for JavaScript files.")) ;; VRML files (when (memq 'vrml-generic-mode generic-extras-enable-list) @@ -789,7 +796,7 @@ like an INI file. You can add this hook to `find-file-hook'." (2 font-lock-constant-face))) '("[mM][aA][nN][iI][fF][eE][sS][tT]\\.[mM][fF]\\'") nil - "Mode for Java Manifest files.")) + "Generic mode for Java Manifest files.")) ;; Java properties files (when (memq 'java-properties-generic-mode generic-extras-enable-list) @@ -821,7 +828,7 @@ like an INI file. You can add this hook to `find-file-hook'." (lambda () (setq imenu-generic-expression '((nil "^\\([^#! \t\n\r=:]+\\)" 1)))))) - "Mode for Java properties files.")) + "Generic mode for Java properties files.")) ;; C shell alias definitions (when (memq 'alias-generic-mode generic-extras-enable-list) @@ -839,7 +846,7 @@ like an INI file. You can add this hook to `find-file-hook'." (lambda () (setq imenu-generic-expression '((nil "^\\(alias\\|unalias\\)\\s-+\\([-a-zA-Z0-9_]+\\)" 2)))))) - "Mode for C Shell alias files.")) + "Generic mode for C Shell alias files.")) ;;; Windows RC files ;; Contributed by ACorreir@pervasive-sw.com (Alfred Correira) @@ -1429,7 +1436,7 @@ like an INI file. You can add this hook to `find-file-hook'." "REGDB_APPPATH" "REGDB_BINARY" "REGDB_ERR_CONNECTIONEXISTS" - "REGDB_ERR_CORRUPTEDREGSITRY" + "REGDB_ERR_CORRUPTEDREGISTRY" "REGDB_ERR_INITIALIZATION" "REGDB_ERR_INVALIDHANDLE" "REGDB_ERR_INVALIDNAME" @@ -1439,7 +1446,7 @@ like an INI file. You can add this hook to `find-file-hook'." "REGDB_STRING" "REGDB_UNINSTALL_NAME" "REMOTE_DRIVE" - "REMOVALE_DRIVE" + "REMOVEABLE_DRIVE" "REPLACE_ITEM" "REPLACE" "RESET" @@ -1698,6 +1705,7 @@ like an INI file. You can add this hook to `find-file-hook'." "efs" "ext2" "ext3" + "ext4" "hfs" "hpfs" "iso9660" @@ -1715,6 +1723,7 @@ like an INI file. You can add this hook to `find-file-hook'." "cifs" "usbdevfs" "sysv" + "sysfs" "tmpfs" "udf" "ufs" @@ -1775,8 +1784,7 @@ like an INI file. You can add this hook to `find-file-hook'." (t (:weight bold))) "Font Lock mode face used to highlight TABs." :group 'generic-x) -;; backward-compatibility alias -(put 'show-tabs-tab-face 'face-alias 'show-tabs-tab) +(define-obsolete-face-alias 'show-tabs-tab-face 'show-tabs-tab "22.1") (defface show-tabs-space '((((class grayscale) (background light)) (:background "DimGray" :weight bold)) @@ -1786,8 +1794,7 @@ like an INI file. You can add this hook to `find-file-hook'." (t (:weight bold))) "Font Lock mode face used to highlight spaces." :group 'generic-x) -;; backward-compatibility alias -(put 'show-tabs-space-face 'face-alias 'show-tabs-space) +(define-obsolete-face-alias 'show-tabs-space-face 'show-tabs-space "22.1") (define-generic-mode show-tabs-generic-mode nil ;; no comment char @@ -1811,7 +1818,7 @@ like an INI file. You can add this hook to `find-file-hook'." '("cache" "primary" "secondary" "forwarders" "limit" "options" "directory" "check-names") ;; List of additional font-lock-expressions - '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 font-lock-constant-face) + '(("\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)" 1 font-lock-constant-face) ("^directory\\s-+\\(.*\\)" 1 font-lock-variable-name-face) ("^\\(primary\\|cache\\)\\s-+\\([.A-Za-z]+\\)\\s-+\\(.*\\)" (2 font-lock-variable-name-face) @@ -1829,7 +1836,7 @@ like an INI file. You can add this hook to `find-file-hook'." ;; List of keywords '("IN" "NS" "CNAME" "SOA" "PTR" "MX" "A") ;; List of additional font-lock-expressions - '(("\\([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\\)" 1 font-lock-constant-face) + '(("\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)" 1 font-lock-constant-face) ("^\\([.A-Za-z0-9]+\\)" 1 font-lock-variable-name-face)) ;; List of additional auto-mode-alist expressions nil @@ -1996,5 +2003,4 @@ like an INI file. You can add this hook to `find-file-hook'." (provide 'generic-x) -;; arch-tag: cde692a5-9ff6-4506-9999-c67999c2bdb5 ;;; generic-x.el ends here