summaryrefslogtreecommitdiff
path: root/lisp/generic-x.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/generic-x.el')
-rw-r--r--lisp/generic-x.el109
1 files changed, 82 insertions, 27 deletions
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index f3ea22a4a30..4c6e1189003 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -1,4 +1,4 @@
-;;; generic-x.el --- A collection of generic modes
+;;; generic-x.el --- A collection of generic modes -*- lexical-binding: t -*-
;; Copyright (C) 1997-1998, 2001-2021 Free Software Foundation, Inc.
@@ -121,14 +121,12 @@
"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.
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 "^#"
@@ -137,7 +135,6 @@ 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
value of the variable `generic-lines-to-scan', which see."
- :group 'generic-x
:type 'regexp)
(defcustom generic-ignore-files-regexp "[Tt][Aa][Gg][Ss]\\'"
@@ -146,7 +143,6 @@ 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,
`generic-mode-find-file-hook' does not check the file names."
- :group 'generic-x
:type '(choice (const :tag "Don't check file names" nil) regexp))
;; This generic mode is always defined
@@ -249,7 +245,6 @@ This hook will be installed if the variable
Each entry in the list should be a symbol. If you set this variable
directly, without using customize, you must reload generic-x to put
your changes into effect."
- :group 'generic-x
:type (let (list)
(dolist (mode
(sort (append generic-default-modes
@@ -365,7 +360,8 @@ your changes into effect."
(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)
+ ("\\<\\([0-9A-Fa-f:]+\\)\\>" 1 font-lock-constant-face))
'("[hH][oO][sS][tT][sS]\\'")
nil
"Generic mode for HOSTS files."))
@@ -415,7 +411,8 @@ like an INI file. You can add this hook to `find-file-hook'."
(goto-char (point-min))
(and (looking-at "^\\s-*\\[.*\\]")
(ini-generic-mode)))))
-(defalias 'generic-mode-ini-file-find-file-hook 'ini-generic-mode-find-file-hook))
+(define-obsolete-function-alias 'generic-mode-ini-file-find-file-hook
+ 'ini-generic-mode-find-file-hook "28.1"))
;;; Windows REG files
;;; Unfortunately, Windows 95 and Windows NT have different REG file syntax!
@@ -1296,19 +1293,16 @@ like an INI file. You can add this hook to `find-file-hook'."
;; 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 ""
- )
+ '((nil "^function\\s-+\\([A-Za-z0-9_]+\\)" 1)))
+ (setq-local 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-local font-lock-syntax-table rul-generic-mode-syntax-table))
@@ -1458,7 +1452,7 @@ like an INI file. You can add this hook to `find-file-hook'."
":"
;; Password, UID and GID
(mapconcat
- 'identity
+ #'identity
(make-list 3 "\\([^:]+\\)")
":")
":"
@@ -1490,41 +1484,104 @@ like an INI file. You can add this hook to `find-file-hook'."
(define-generic-mode etc-fstab-generic-mode
'(?#)
'("adfs"
+ "ados"
"affs"
+ "anon_inodefs"
+ "atfs"
+ "audiofs"
"autofs"
+ "bdev"
+ "befs"
+ "bfs"
+ "binfmt_misc"
+ "btrfs"
+ "cd9660"
+ "cfs"
+ "cgroup"
+ "cifs"
"coda"
"coherent"
+ "configfs"
+ "cpuset"
"cramfs"
+ "devfs"
"devpts"
+ "devtmpfs"
+ "e2compr"
"efs"
"ext2"
+ "ext2fs"
"ext3"
"ext4"
+ "fdesc"
+ "ffs"
+ "filecore"
+ "fuse"
+ "fuseblk"
+ "fusectl"
"hfs"
"hpfs"
+ "hugetlbfs"
"iso9660"
+ "jffs"
+ "jffs2"
"jfs"
+ "kernfs"
+ "lfs"
+ "linprocfs"
+ "mfs"
"minix"
+ "mqueue"
"msdos"
"ncpfs"
"nfs"
+ "nfsd"
+ "nilfs2"
+ "none"
"ntfs"
+ "null"
+ "nwfs"
+ "overlay"
+ "ovlfs"
+ "pipefs"
+ "portal"
"proc"
+ "procfs"
+ "pstore"
+ "ptyfs"
"qnx4"
+ "ramfs"
"reiserfs"
"romfs"
+ "securityfs"
+ "shm"
"smbfs"
- "cifs"
- "usbdevfs"
- "sysv"
+ "sockfs"
+ "squashfs"
+ "sshfs"
+ "std"
+ "subfs"
"sysfs"
+ "sysv"
+ "tcfs"
"tmpfs"
"udf"
"ufs"
+ "umap"
"umsdos"
+ "union"
+ "usbdevfs"
+ "usbfs"
+ "userfs"
"vfat"
+ "vs3fs"
+ "vxfs"
+ "wrapfs"
+ "wvfs"
+ "xenfs"
"xenix"
"xfs"
+ "zisofs"
"swap"
"auto"
"ignore")
@@ -1575,8 +1632,7 @@ like an INI file. You can add this hook to `find-file-hook'."
(((class color) (min-colors 88)) (:background "red1"))
(((class color)) (:background "red"))
(t (:weight bold)))
- "Font Lock mode face used to highlight TABs."
- :group 'generic-x)
+ "Font Lock mode face used to highlight TABs.")
(defface show-tabs-space
'((((class grayscale) (background light)) (:background "DimGray" :weight bold))
@@ -1584,8 +1640,7 @@ like an INI file. You can add this hook to `find-file-hook'."
(((class color) (min-colors 88)) (:background "yellow1"))
(((class color)) (:background "yellow"))
(t (:weight bold)))
- "Font Lock mode face used to highlight spaces."
- :group 'generic-x)
+ "Font Lock mode face used to highlight spaces.")
(define-generic-mode show-tabs-generic-mode
nil ;; no comment char