Commit 86da2828 authored by Glenn Morris's avatar Glenn Morris
Browse files

(byte-compile-warnings)

(byte-compile-warnings-safe-p): Add `mapcar'.
(byte-compile-normal-call): Add option to suppress mapcar warning.
(top-level): Use mapc rather than mapcar in eval-when-compile.
parent 220a31ac
......@@ -103,6 +103,7 @@
;; not good to call from Lisp)
;; `make-local' (dubious calls to
;; `make-variable-buffer-local')
;; `mapcar' (mapcar called for effect)
;; byte-compile-compatibility Whether the compiler should
;; generate .elc files which can be loaded into
;; generic emacs 18.
......@@ -359,7 +360,8 @@ Elements of the list may be:
distinguished from macros and aliases).
interactive-only
commands that normally shouldn't be called from Lisp code.
make-local calls to make-variable-buffer-local that may be incorrect."
make-local calls to make-variable-buffer-local that may be incorrect.
mapcar mapcar called for effect."
:group 'bytecomp
:type `(choice (const :tag "All" t)
(set :menu-tag "Some"
......@@ -367,7 +369,7 @@ Elements of the list may be:
(const callargs) (const redefine)
(const obsolete) (const noruntime)
(const cl-functions) (const interactive-only)
(const make-local))))
(const make-local) (const mapcar))))
(put 'byte-compile-warnings 'safe-local-variable 'byte-compile-warnings-safe-p)
;;;###autoload
(defun byte-compile-warnings-safe-p (x)
......@@ -378,7 +380,8 @@ Elements of the list may be:
(when (memq e '(free-vars unresolved
callargs redefine
obsolete noruntime
cl-functions interactive-only make-local))
cl-functions interactive-only
make-local mapcar))
e))
x)
x))))
......@@ -2831,7 +2834,8 @@ That command is designed for interactive use only" fn))
(defun byte-compile-normal-call (form)
(if byte-compile-generate-call-tree
(byte-compile-annotate-call-tree form))
(when (and for-effect (eq (car form) 'mapcar))
(when (and for-effect (eq (car form) 'mapcar)
(memq 'mapcar byte-compile-warnings))
(byte-compile-set-symbol-position 'mapcar)
(byte-compile-warn
"`mapcar' called for effect; use `mapc' or `dolist' instead"))
......@@ -4238,18 +4242,18 @@ and corresponding effects."
(assq 'byte-code (symbol-function 'byte-compile-form))
(let ((byte-optimize nil) ; do it fast
(byte-compile-warnings nil))
(mapcar (lambda (x)
(or noninteractive (message "compiling %s..." x))
(byte-compile x)
(or noninteractive (message "compiling %s...done" x)))
'(byte-compile-normal-call
byte-compile-form
byte-compile-body
;; Inserted some more than necessary, to speed it up.
byte-compile-top-level
byte-compile-out-toplevel
byte-compile-constant
byte-compile-variable-ref))))
(mapc (lambda (x)
(or noninteractive (message "compiling %s..." x))
(byte-compile x)
(or noninteractive (message "compiling %s...done" x)))
'(byte-compile-normal-call
byte-compile-form
byte-compile-body
;; Inserted some more than necessary, to speed it up.
byte-compile-top-level
byte-compile-out-toplevel
byte-compile-constant
byte-compile-variable-ref))))
nil)
(run-hooks 'bytecomp-load-hook)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment