mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-07 15:00:34 -08:00
Consolidate existing warnings about unused return values
Move the warning about unused return values from calls to side-effect-free functions from the source-level optimiser to the code generator, where it can be unified with the special-purpose warning about unused values from `mapcar`. This change also cures spurious duplicate warnings about the same code, makes the warnings amenable to suppression through `with-suppressed-warnings`, and now warns about some unused values that weren't caught before. * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Move warning away from here. * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): * lisp/emacs-lisp/bytecomp.el (byte-compile-warnings): Doc string updates. (byte-compile-form): Put the new warnings here. (byte-compile-normal-call): Move mapcar warning away from here. * lisp/emacs-lisp/bytecomp.el (byte-compile-ignore): Compile args to `ignore` for value to avoid unused-value warnings, and then discard the generated values immediately thereafter. Mostly this does not affect the generated code but in rare cases it might result in slightly worse code. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test--with-suppressed-warnings): Adapt test.
This commit is contained in:
parent
10b58633b5
commit
aef996cd34
4 changed files with 36 additions and 22 deletions
|
|
@ -1438,8 +1438,8 @@ literals (Bug#20852)."
|
|||
'(defun zot ()
|
||||
(mapcar #'list '(1 2 3))
|
||||
nil)
|
||||
'((mapcar mapcar))
|
||||
"Warning: .mapcar. called for effect")
|
||||
'((ignored-return-value mapcar))
|
||||
"Warning: value from call to `mapcar' is unused; use `mapc' or `dolist' instead")
|
||||
|
||||
(test-suppression
|
||||
'(defun zot ()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue