emacs-gpu/lisp
Mattias Engdegård 537f78b537 Warn about unmatchable constant args to eq, memq etc
Add a byte-compiler warning about attempts to compare literal values
with undefined identity relation to other values.  For example:

  (eq x 2.0)
  (memq x '("a" (b) [c]))

Such incomparable values include all literal conses, strings, vectors,
records and (except for eql and memql) floats and bignums.
The warning currently applies to eq, eql, memq, memql, assq, rassq,
remq and delq.

* lisp/emacs-lisp/bytecomp.el (bytecomp--dodgy-eq-arg)
(bytecomp--value-type-description, bytecomp--arg-type-description)
(bytecomp--warn-dodgy-eq-arg, bytecomp--check-eq-args)
(bytecomp--check-memq-args): New.
(eq, eql, memq, memql, assq, rassq, remq, delq):
Set compiler-macro property.
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
Amend doc string.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp--with-warning-test): Fix text-quoting-style and expand
re-warning so that it doesn't need to be a literal.
(bytecomp-warn-dodgy-args-eq, bytecomp-warn-dodgy-args-memq):
New tests.
2022-12-14 19:30:16 +01:00
..
calc Capitalize unit names in Calc uniformly 2022-12-07 17:45:20 +02:00
calendar icalendar.el: Fix parsing of sexp entries (bug#56241) 2022-11-24 18:59:58 +01:00
cedet ; Fix typos 2022-12-03 15:39:43 +01:00
emacs-lisp Warn about unmatchable constant args to eq, memq etc 2022-12-14 19:30:16 +01:00
emulation
erc Resurrect changes omitted by a recent merge from emacs-29 (bug#59921) 2022-12-10 13:22:48 +02:00
eshell * lisp/eshell/esh-opt.el (eshell--do-opts): Demote usage-msg to user-error 2022-12-11 10:56:49 -05:00
gnus ; Fix two byte-compiler warnings 2022-12-10 10:48:28 +01:00
image
international ; Fix typos 2022-12-08 07:17:47 +01:00
language * lisp/language/indian.el: Improve Brahmi composition rules. (bug#58957) 2022-12-11 12:35:49 +02:00
leim/quail Add '\lll' for VERY MUCH LESS-THAN to TeX input method 2022-11-22 16:44:56 +01:00
mail ; Fix typos (misspelled symbols) 2022-11-21 15:20:11 +01:00
mh-e ; Fix typos (misspelled symbols) 2022-11-21 15:20:11 +01:00
net ; Prefer HTTPS to HTTP in some URLs 2022-12-09 15:31:41 +01:00
nxml ; Fix typos 2022-11-18 16:02:19 +01:00
obsolete ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
org Update to Org 9.6-31-g954a95 2022-12-10 16:59:46 -05:00
play ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
progmodes Merge from origin/emacs-29 2022-12-14 00:06:29 +01:00
term Merge remote-tracking branch 'savannah/master' into feature/tree-sitter 2022-11-21 12:54:35 -08:00
textmodes * lisp/textmodes/texinfo.el (texinfo-flymake): Improve docstring. 2022-12-13 18:59:07 +01:00
url ; Fix typos 2022-11-20 12:59:39 +01:00
use-package Merge from origin/emacs-29 2022-12-12 09:05:53 +01:00
vc Merge from origin/emacs-29 2022-12-12 09:05:53 +01:00
abbrev.el
align.el
allout-widgets.el
allout.el ; Doc fixes: remove references to missing symbols 2022-11-21 15:20:11 +01:00
ansi-color.el
ansi-osc.el ; Normalize GPLv3 license statements in new files 2022-12-09 00:13:00 +01:00
apropos.el * lisp/outline.el: Fix the value 'insert' of outline-minor-mode-use-buttons. 2022-12-12 19:37:02 +02:00
arc-mode.el
array.el
auth-source-pass.el Resurrect changes omitted by a recent merge from emacs-29 (bug#59921) 2022-12-10 13:22:48 +02:00
auth-source.el
autoinsert.el
autorevert.el ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
avoid.el
battery.el
bindings.el * lisp/bindings.el (bound-and-true-p): Verify argument is a symbol 2022-12-03 02:04:48 +01:00
bookmark.el Handle error in bookmark-relocate when filename is nil 2022-11-20 12:14:51 +02:00
bs.el Merge from origin/emacs-29 2022-12-14 00:06:29 +01:00
buff-menu.el Support a function in the BUFFER-LIST arg of list-buffers-noselect (bug#59935) 2022-12-13 19:48:45 +02:00
button.el
calculator.el
case-table.el
cdl.el
ChangeLog.1
ChangeLog.2
ChangeLog.3 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.4 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.5
ChangeLog.6 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.7 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.8 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.9 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.10 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.11 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.12 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.13 ; Fix typos 2022-11-18 16:02:19 +01:00
ChangeLog.14 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.15 ; Fix typos 2022-12-13 18:44:41 +01:00
ChangeLog.16 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
ChangeLog.17
char-fold.el
chistory.el
cmuscheme.el
color.el
comint.el Merge from origin/emacs-29 2022-12-08 12:52:37 -05:00
completion.el
composite.el
COPYING
cus-dep.el
cus-edit.el Bump master Emacs version to 30.0.50 2022-11-28 20:03:07 +02:00
cus-face.el
cus-start.el
cus-theme.el Merge remote-tracking branch 'savannah/master' into feature/tree-sitter 2022-11-21 12:54:35 -08:00
custom.el
dabbrev.el
delim-col.el
delsel.el
descr-text.el Improve describe-text-properties display 2022-11-27 07:32:13 +01:00
desktop.el
dframe.el
dired-aux.el
dired-x.el
dired.el ; Fix typos 2022-11-18 16:02:19 +01:00
dirtrack.el
disp-table.el
display-fill-column-indicator.el
display-line-numbers.el
dnd.el ; Fix typos 2022-11-18 16:02:19 +01:00
doc-view.el
dom.el
dos-fns.el
dos-vars.el
dos-w32.el
double.el
dynamic-setting.el
ebuff-menu.el
echistory.el
ecomplete.el
edmacro.el
ehelp.el
elec-pair.el
electric.el
elide-head.el
emacs-lock.el Fix interactive selection of emacs-lock mode, broken by 2a4b0da28c 2022-11-30 01:38:59 +01:00
env.el
epa-dired.el
epa-file.el
epa-hook.el
epa-ks.el
epa-mail.el
epa.el
epg-config.el
epg.el ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
expand.el
external-completion.el ; Normalize GPLv3 license statements in new files 2022-12-09 00:13:00 +01:00
ezimage.el
face-remap.el Fix global face scaling bug due to rounding. 2022-11-19 16:48:04 +01:00
facemenu.el
faces.el Fix automatic DPI adjustment and add workarounds for some systems 2022-11-19 13:59:53 +08:00
ffap.el
filecache.el
fileloop.el
filenotify.el
files-x.el
files.el ; Typo fixes in etc/NEWS and lisp/ files 2022-11-29 22:37:18 +01:00
filesets.el Make instructions for updating ancient filesets obsolete 2022-11-21 12:11:50 +01:00
find-cmd.el
find-dired.el
find-file.el
find-lisp.el
finder.el
flow-ctrl.el
foldout.el
follow.el
font-core.el
font-lock.el Merge remote-tracking branch 'savannah/master' into feature/tree-sitter 2022-11-21 12:54:35 -08:00
format-spec.el
format.el
forms.el * lisp/forms.el (forms-mode): Prefer setq-local. 2022-11-21 12:11:50 +01:00
frame.el
frameset.el
fringe.el
generic-x.el
help-at-pt.el
help-fns.el
help-macro.el
help-mode.el
help.el Fix "C-h k" when clicking on another frame 2022-12-03 21:43:36 +02:00
hex-util.el
hexl.el
hfy-cmap.el
hi-lock.el
hilit-chg.el
hippie-exp.el
hl-line.el
htmlfontify.el ; Fix typos 2022-11-18 16:02:19 +01:00
ibuf-ext.el Make ibuffer directory filter buffer aware 2022-11-25 02:09:11 +01:00
ibuf-macs.el
ibuffer.el
icomplete.el Resurrect changes omitted by a recent merge from emacs-29 (bug#59921) 2022-12-10 13:22:48 +02:00
ido.el
ielm.el
iimage.el
image-file.el
image-mode.el
image.el
imenu.el
indent.el
info-look.el
info-xref.el
info.el Catch more cases in info--ensure-not-in-directory-node 2022-11-28 01:32:01 +01:00
informat.el
isearch.el Don't allow lazy highlight from recursive minibuffers 2022-12-13 19:37:57 +02:00
isearchb.el
jit-lock.el
jka-cmpr-hook.el
jka-compr.el
json.el
jsonrpc.el ; Fix typos 2022-11-23 05:49:22 +01:00
kermit.el
keymap.el ; * lisp/keymap.el (keymap-substitute): Doc fix. (Bug#60059) 2022-12-14 06:38:14 +01:00
kmacro.el
ldefs-boot.el ; Auto-commit of loaddefs files. 2022-12-11 03:09:18 +01:00
loadhist.el
loadup.el
locate.el
lpr.el
ls-lisp.el
macros.el
Makefile.in
man.el ; Fix typos 2022-11-20 12:59:39 +01:00
master.el
mb-depth.el
md4.el
menu-bar.el
midnight.el
minibuf-eldef.el
minibuffer.el * lisp/minibuffer.el (completions-group-separator): Revert f7816c94b6. 2022-12-12 19:30:55 +02:00
misc.el
misearch.el
mouse-copy.el
mouse-drag.el Fix mouse clicks on a non-selected frame 2022-12-05 21:55:25 +02:00
mouse.el Avoid signaling args-out-of-range in mouse.el 2022-11-23 17:16:32 +02:00
mpc.el ; Fix typos 2022-11-18 16:02:19 +01:00
msb.el
mwheel.el
newcomment.el
notifications.el
novice.el
obarray.el
outline.el * lisp/outline.el: Fix the value 'insert' of outline-minor-mode-use-buttons. 2022-12-12 19:37:02 +02:00
paren.el ; Typo fixes in etc/NEWS and lisp/ files 2022-11-29 22:37:18 +01:00
password-cache.el
pcmpl-cvs.el
pcmpl-git.el
pcmpl-gnu.el
pcmpl-linux.el
pcmpl-rpm.el
pcmpl-unix.el
pcmpl-x.el
pcomplete.el Do not pare arguments unnecessarily. 2022-12-12 02:02:36 +01:00
pgtk-dnd.el
pixel-scroll.el
plstore.el
printing.el
proced.el Make proced-update preserve refinements 2022-12-14 16:32:10 +02:00
profiler.el
ps-bdf.el
ps-mule.el
ps-print.el
ps-samp.el
README
recentf.el
rect.el
register.el
registry.el
repeat.el * lisp/repeat.el (describe-repeat-maps): More outlines and page separators. 2022-11-18 09:19:23 +02:00
replace.el Add cross-reference to flush-lines 2022-12-13 01:46:44 +01:00
reposition.el
reveal.el
rfn-eshadow.el
rot13.el
rtree.el
ruler-mode.el
savehist.el
saveplace.el
scroll-all.el
scroll-bar.el ; Fix typos 2022-11-18 16:02:19 +01:00
scroll-lock.el
select.el
server.el Merge from origin/emacs-29 2022-12-09 09:31:37 +08:00
ses.el
shadowfile.el
shell.el Fix infloop in 'shell-resync-dirs' with tcsh 2022-12-10 14:55:01 +02:00
simple.el Fix face issues in show-paren context overlay (bug#59527) 2022-11-24 10:47:54 +01:00
skeleton.el
so-long.el ; Fix typos (prefer US spelling) 2022-11-18 13:06:55 +01:00
sort.el
soundex.el
speedbar.el ; Fix typos 2022-12-03 15:39:43 +01:00
sqlite-mode.el
sqlite.el
startup.el Fix handling of relative directories in "--init-directory=DIR" 2022-12-03 12:21:00 +02:00
strokes.el ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
subr.el ; * lisp/subr.el (posn-col-row): Revert inadvertent change. 2022-12-03 22:09:16 +02:00
svg.el
t-mouse.el
tab-bar.el Use the function 'window-system' on the tab-bar/tab-line (bug#59620) 2022-12-04 21:30:34 +02:00
tab-line.el Use the function 'window-system' on the tab-bar/tab-line (bug#59620) 2022-12-04 21:30:34 +02:00
tabify.el
talk.el
tar-mode.el
tempo.el
term.el term--update-term-menu: Add the menu to term-terminal-menu 2022-12-01 15:14:42 -07:00
thingatpt.el
thread.el
time-stamp.el
time.el
timezone.el
tmm.el
tool-bar.el
tooltip.el
transient.el Update to Transient v0.3.7-182-gfe7dcbd 2022-11-30 21:34:05 +01:00
tree-widget.el
treesit.el Merge from origin/emacs-29 2022-12-14 00:06:29 +01:00
tutorial.el
type-break.el
uniquify.el
userlock.el
vcursor.el
version.el
view.el
w32-fns.el
w32-vars.el
wdired.el
whitespace.el ; Fix typos (misspelled symbols) 2022-11-21 15:20:11 +01:00
wid-browse.el
wid-edit.el ; Fix some typos 2022-11-26 11:05:58 +01:00
widget.el
windmove.el
window.el ; Typo fixes in etc/NEWS and lisp/ files 2022-11-29 22:37:18 +01:00
winner.el
woman.el * lisp/woman.el (woman-mode-map): Prefer defvar-keymap. 2022-11-21 09:28:32 +01:00
x-dnd.el ; Fix typos (prefer US spelling) 2022-11-18 13:06:55 +01:00
xdg.el
xml.el
xt-mouse.el
xwidget.el
yank-media.el

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.