Use lexical-binding in generic-x.el

* lisp/generic-x.el: Use lexical-binding.  Remove redundant :groups.
(generic-rul-mode-setup-function): Prefer setq-local.
This commit is contained in:
Stefan Kangas 2021-01-28 21:35:34 +01:00
parent 11c504c9d2
commit 554ec932ba

View file

@ -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
@ -1298,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))
@ -1460,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 "\\([^:]+\\)")
":")
":"
@ -1640,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))
@ -1649,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