* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Warn never-initialized vars
(byte-compile-not-lexical-var-p): Remove Emacs<24 compatibility.
This commit is contained in:
parent
27b8638409
commit
e13c30132a
1 changed files with 8 additions and 5 deletions
|
@ -585,9 +585,6 @@ places where they originally did not directly appear."
|
||||||
|
|
||||||
(_ (or (cdr (assq form env)) form))))
|
(_ (or (cdr (assq form env)) form))))
|
||||||
|
|
||||||
(unless (fboundp 'byte-compile-not-lexical-var-p)
|
|
||||||
;; Only used to test the code in non-lexbind Emacs.
|
|
||||||
(defalias 'byte-compile-not-lexical-var-p 'boundp))
|
|
||||||
(defvar byte-compile-lexical-variables)
|
(defvar byte-compile-lexical-variables)
|
||||||
|
|
||||||
(defun cconv--analyze-use (vardata form varkind)
|
(defun cconv--analyze-use (vardata form varkind)
|
||||||
|
@ -603,7 +600,13 @@ FORM is the parent form that binds this var."
|
||||||
;; FIXME: Convert this warning to use `macroexp--warn-wrap'
|
;; FIXME: Convert this warning to use `macroexp--warn-wrap'
|
||||||
;; so as to give better position information.
|
;; so as to give better position information.
|
||||||
(byte-compile-warn
|
(byte-compile-warn
|
||||||
"%s `%S' not left unused" varkind var)))
|
"%s `%S' not left unused" varkind var))
|
||||||
|
((and (let (or 'let* 'let) (car form))
|
||||||
|
`(,(or `(,var) `(,var nil)) t nil ,_ ,_))
|
||||||
|
;; FIXME: Convert this warning to use `macroexp--warn-wrap'
|
||||||
|
;; so as to give better position information.
|
||||||
|
(unless (not (intern-soft var))
|
||||||
|
(byte-compile-warn "Variable `%S' left uninitialized" var))))
|
||||||
(pcase vardata
|
(pcase vardata
|
||||||
(`(,binder nil ,_ ,_ nil)
|
(`(,binder nil ,_ ,_ nil)
|
||||||
(push (cons (cons binder form) :unused) cconv-var-classification))
|
(push (cons (cons binder form) :unused) cconv-var-classification))
|
||||||
|
@ -784,7 +787,7 @@ This function does not return anything but instead fills the
|
||||||
(let ((dv (assq form env))) ; dv = declared and visible
|
(let ((dv (assq form env))) ; dv = declared and visible
|
||||||
(when dv
|
(when dv
|
||||||
(setf (nth 1 dv) t))))))
|
(setf (nth 1 dv) t))))))
|
||||||
(define-obsolete-function-alias 'cconv-analyse-form 'cconv-analyze-form "25.1")
|
(define-obsolete-function-alias 'cconv-analyse-form #'cconv-analyze-form "25.1")
|
||||||
|
|
||||||
(provide 'cconv)
|
(provide 'cconv)
|
||||||
;;; cconv.el ends here
|
;;; cconv.el ends here
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue