Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
7f0fedda
Commit
7f0fedda
authored
Oct 02, 1997
by
Karl Heuer
Browse files
(elint-check-defcustom-form): New function.
(elint-special-forms): Use it.
parent
cafba899
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
14 deletions
+23
-14
lisp/emacs-lisp/elint.el
lisp/emacs-lisp/elint.el
+23
-14
No files found.
lisp/emacs-lisp/elint.el
View file @
7f0fedda
...
...
@@ -145,7 +145,7 @@ This environment can be passed to `macroexpand'."
;; ** top form ** header...
(
let
((
elint-top-form-logged
t
))
(
elint-log-message
"\nLinting complete.\n"
)))
(
defun
elint-defun
()
"Lint the function at point."
(
interactive
)
...
...
@@ -193,7 +193,7 @@ Returns the forms."
(
elint-init-env
elint-buffer-forms
))
(
set
(
make-local-variable
'elint-last-env-time
)
(
buffer-modified-tick
))
elint-buffer-forms
))
(
defun
elint-get-top-forms
()
"Collect all the top forms in the current buffer."
(
save-excursion
...
...
@@ -271,7 +271,7 @@ Returns nil if there are no more forms, T otherwise."
(
ding
)
(
message
"Can't get variables from require'd library %s"
name
)))
env
)
(
defun
regexp-assoc
(
regexp
alist
)
"Search for a key matching REGEXP in ALIST."
(
let
((
res
nil
))
...
...
@@ -312,11 +312,11 @@ Returns nil if there are no more forms, T otherwise."
(
defmacro
.
elint-check-defun-form
)
(
defvar
.
elint-check-defvar-form
)
(
defconst
.
elint-check-defvar-form
)
(
defcustom
.
elint-check-def
var
-form
)
(
defcustom
.
elint-check-def
custom
-form
)
(
macro
.
elint-check-macro-form
)
(
condition-case
.
elint-check-condition-case-form
))
"Functions to call when some special form should be linted."
)
(
defun
elint-form
(
form
env
)
"Lint FORM in the environment ENV.
The environment created by the form is returned."
...
...
@@ -334,9 +334,9 @@ The environment created by the form is returned."
((
eq
args
'undefined
)
(
setq
argsok
nil
)
(
elint-error
"Call to undefined function: %s"
form
))
((
eq
args
'unknown
)
nil
)
(
t
(
setq
argsok
(
elint-match-args
form
args
))))
;; Is this a macro?
...
...
@@ -526,7 +526,7 @@ CODE can be a lambda expression, a macro, or byte-compiled code."
(
if
(
symbolp
sym
)
(
setq
newenv
(
elint-env-add-var
newenv
sym
))))
newenv
))
(
defun
elint-check-defvar-form
(
form
env
)
"Lint the defvar/defconst FORM in ENV."
(
if
(
or
(
=
(
length
form
)
2
)
...
...
@@ -536,7 +536,16 @@ CODE can be a lambda expression, a macro, or byte-compiled code."
(
car
(
cdr
form
)))
(
elint-error
"Malformed variable declaration: %s"
form
)
env
))
(
defun
elint-check-defcustom-form
(
form
env
)
"Lint the defcustom FORM in ENV."
(
if
(
and
(
>
(
length
form
)
3
)
(
evenp
(
length
form
)))
; even no. of keyword/value args
(
elint-env-add-global-var
(
elint-form
(
nth
2
form
)
env
)
(
car
(
cdr
form
)))
(
elint-error
"Malformed variable declaration: %s"
form
)
env
))
(
defun
elint-check-function-form
(
form
env
)
"Lint the function FORM in ENV."
(
let
((
func
(
car
(
cdr-safe
form
))))
...
...
@@ -591,7 +600,7 @@ CODE can be a lambda expression, a macro, or byte-compiled code."
(
setq
errforms
(
cdr
errforms
))
)))
resenv
))
;;;
;;; Message functions
;;;
...
...
@@ -605,7 +614,7 @@ STRING and ARGS are thrown on `format' to get the message."
(
let
((
errstr
(
apply
'format
string
args
)))
(
elint-log-message
errstr
)
))
(
defun
elint-warning
(
string
&rest
args
)
"Report an linting warning.
STRING and ARGS are thrown on `format' to get the message."
...
...
@@ -668,11 +677,11 @@ Insert HEADER followed by a blank line if non-nil."
(
setq
truncate-lines
t
)
(
set-buffer
oldbuf
)))
)))
;;;
;;; Initializing code
;;;
;;;###autoload
(
defun
elint-initialize
()
"Initialize elint."
...
...
@@ -733,7 +742,7 @@ If no documentation could be found args will be `unknown'."
point-before-scroll
require-final-newline
selective-display
selective-display-ellipses
tab-width
truncate-lines
vc-mode
)
"Standard buffer local vars."
)
(
defconst
elint-unknown-builtin-args
'
((
while
test
&rest
forms
)
(
insert-before-markers-and-inherit
&rest
text
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment