emacs/lisp/emacs-lisp
Stefan Monnier 0228421e34 Allow suppressing the "lexical arg shadows dynbound var" warning
In most cases the right way to fix this warning is by renaming
the offending argument, but in some cases this is inconvenient, as is
the case in `cl-defstruct` where arg names are imposed by slot names.

This patch also happens to fix a few bugs along the way:
- miscompilation of (lambda (gcs-done) (lambda (x) (+ x gcs-done)))
- errors about void function `byte-compile-warn-x` if the warning was
  emitted via `cconv-fv` when bytecomp was not loaded.
Oh, and it improves the warning by making the location info slightly
more precise.

* lisp/emacs-lisp/cconv.el (cconv--analyze-function): Remove this warning.
* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list):
Warn about it here instead.  Let `with-suppressed-warnings` control it
under `lexical`.
2023-06-25 11:14:03 -04:00
..
advice.el Fix an oversight in advice.el 2023-01-19 22:13:25 +02:00
avl-tree.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
backquote.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
backtrace.el Fix interactive forms in some Lisp packages 2023-05-06 11:29:58 +03:00
benchmark.el ; * lisp/emacs-lisp/benchmark.el (benchmark-progn): Fix declare form. 2023-05-18 17:20:36 +03:00
bindat.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
byte-opt.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
byte-run.el Use mutate-constant as warning identifier 2023-05-13 14:30:59 +02:00
bytecomp.el Allow suppressing the "lexical arg shadows dynbound var" warning 2023-06-25 11:14:03 -04:00
cconv.el Allow suppressing the "lexical arg shadows dynbound var" warning 2023-06-25 11:14:03 -04:00
chart.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
check-declare.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
checkdoc.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-extra.el Adjust side-effect-free declarations 2023-04-09 16:45:40 +02:00
cl-generic.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-indent.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-lib.el Adjust side-effect-free declarations 2023-04-09 16:45:40 +02:00
cl-macs.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
cl-preloaded.el comp: Account non builtin types in type hierarchy 2023-05-23 16:39:05 +02:00
cl-print.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cl-seq.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
comp-cstr.el Merge from origin/emacs-29 2023-06-10 06:42:43 -04:00
comp.el Merge from origin/emacs-29 2023-06-10 06:42:43 -04:00
copyright.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
crm.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cursor-sensor.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
debug-early.el * lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Fix bug#61847 2023-03-01 12:31:09 -05:00
debug.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
derived.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
disass.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
easy-mmode.el Merge from origin/emacs-29 2023-06-24 06:57:25 -04:00
easymenu.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
edebug.el Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
eieio-base.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-core.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-custom.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-datadebug.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-opt.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio-speedbar.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
eieio.el Styled quotes in compiler warnings 2023-01-03 18:39:06 +01:00
eldoc.el Eldoc: don't overdisplay if using eldoc-documentation-compose 2023-04-13 17:42:37 +01:00
elint.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
elp.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ert-x.el Tweak ert-remote-temporary-file-directory in tests 2023-04-09 20:28:32 +01:00
ert.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ewoc.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
faceup.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
find-func.el Don't truncate filenames with "emacs.el" in them 2023-06-20 16:35:09 +03:00
float-sup.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
generate-lisp-file.el * Fix previous change 2023-02-13 17:07:25 +01:00
generator.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
generic.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
gv.el * lisp/emacs-lisp/gv.el: Silly typo 2023-04-20 15:51:44 -04:00
helper.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
hierarchy.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
icons.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
inline.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
let-alist.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lisp-mnt.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lisp-mode.el Call them “bracket expressions” more consistently 2023-06-19 11:09:00 -07:00
lisp.el Merge branch 'emacs-29' 2023-05-10 11:18:43 -04:00
loaddefs-gen.el Ensure that EXTRA-DATA are always written when generating autoloads 2023-05-12 09:41:55 +02:00
macroexp.el (macroexp--unfold-lambda): Obey the lexbind semantics 2023-06-24 17:53:41 -04:00
map-ynp.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
map.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
memory-report.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
multisession.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
nadvice.el Avoid using `(lambda ...) to build function values 2023-06-14 17:06:37 -04:00
oclosure.el nadvice: Fix bug#61179 2023-02-04 11:23:31 -05:00
package-vc.el Merge from origin/emacs-29 2023-05-18 07:49:49 -04:00
package-x.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
package.el Merge from origin/emacs-29 2023-06-10 06:42:43 -04:00
pcase.el Styled quotes in compiler warnings 2023-01-03 18:39:06 +01:00
pp.el pp-fill: Fix tests breakage 2023-06-17 18:05:33 -04:00
radix-tree.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
range.el ; * lisp/emacs-lisp/range.el: Fix some typos 2023-01-28 17:30:42 +01:00
re-builder.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
regexp-opt.el Add more function declarations 2023-05-26 13:57:02 +02:00
regi.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ring.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
rmc.el Fix invocation of File->Close from the menu bar 2023-02-19 11:29:32 +02:00
rx.el Add more function declarations 2023-05-26 13:57:02 +02:00
seq.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
shadow.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
shortdoc.el Merge from origin/emacs-29 2023-06-24 07:13:42 -04:00
shorthands.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
smie.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
subr-x.el Delete eval-command-interactive-spec 2023-06-21 13:26:09 +01:00
syntax.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tabulated-list.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tcover-ses.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
testcover.el Don't rely on dynamic scoping to fix bug#59213 2023-02-18 12:56:24 -05:00
text-property-search.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
thunk.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
timer-list.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
timer.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tq.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
trace.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
unsafep.el Fix unsafep for aliases to side-effect-free functions 2023-02-24 16:53:32 +01:00
vtable.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
warnings.el Fix display of warnings on w32 console 2023-01-17 15:44:51 +02:00