1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-18 00:50:44 -08:00
emacs/lisp
Mattias Engdegård 305744fdfc Define compiler macros for /=, atom and nlistp
Calls to these functions were previously rewritten in terms of other
functions both in the optimiser and during codegen, for no good reason.

This also resulted in poor diagnostics: wrong-arity calls to 'atom' and
'nlistp' produced doubled but slightly-different warnings, and no
warnings at all for '/='.

Using compiler macros fixes the problems.  The generated code is the same.

* lisp/emacs-lisp/bytecomp.el (byte-compile-negated)
(byte-compile-negation-optimizer): Replace with...
(bytecomp--define-negated): ...this compiler macro defining macro.
2025-10-30 12:12:35 +01:00
..
calc * lisp/calc/calc.el (calc): Ony substitute binding of 2025-09-14 13:10:08 +02:00
calendar ; Fix last change (bug#79629) 2025-10-25 10:38:07 +03:00
cedet * lisp/cedet/semantic.el: Turn off semantic-mode in all buffers (bug#76815), 2025-06-07 10:36:00 +03:00
emacs-lisp Define compiler macros for /=, atom and nlistp 2025-10-30 12:12:35 +01:00
emulation Fix setting viper-d-com in viper 2025-06-28 11:44:40 +03:00
erc Fix regression involving erc-channel-user accessors 2025-10-27 19:29:44 -07:00
eshell lisp/eshell/em-glob.el (eshell-glob-translate-alist): Don't quote lambda 2025-09-03 16:54:39 -04:00
gnus Merge from origin/emacs-30 2025-10-18 06:15:46 -04:00
image Minor image-convert file types related changes (bug#79109) 2025-07-29 09:42:21 +03:00
international Make textsec descriptive texts more user-friendly 2025-09-28 15:35:17 +03:00
language japan-util.el: Cosmetic changes 2025-03-31 10:21:58 -04:00
leim/quail Fix thai-pattachote input method 2025-04-26 16:46:34 +03:00
mail Merge from origin/emacs-30 2025-10-18 06:15:46 -04:00
mh-e Merge from origin/emacs-30 2025-05-17 06:52:01 -04:00
net Fix tramp-add-external-operation 2025-10-26 12:44:29 +01:00
nxml Merge from origin/emacs-30 2025-05-10 07:40:30 -04:00
obsolete Make elint obsolete (bug#78685) 2025-07-05 14:38:48 +02:00
org (electric-indent-functions-without-reindent): Pare down 2025-09-23 13:48:06 -04:00
play Fix dunnet when played on terminals which don't support UTF-8 2025-09-26 14:24:00 +03:00
progmodes ; (elisp-fontify-symbol): Put less text props when possible 2025-10-26 17:39:10 +01:00
term Extend Tree-sitter support on MS-Windows to v0.26.x 2025-10-14 12:47:57 +03:00
textmodes Skip unknown language for code block in markdown-ts-mode (bug#79670) 2025-10-29 21:25:23 -07:00
url Emulate dynamic binding of 'url-max-redirections' 2025-08-09 15:47:26 +03:00
use-package Fix use-package :custom-face to set face-defface-spec (bug#77928) 2025-04-27 10:48:55 +03:00
vc New delete-revision VC backend API function (bug#79408) 2025-10-27 21:12:56 +00:00
abbrev.el Merge from origin/emacs-30 2025-05-17 06:52:01 -04:00
align.el
allout-widgets.el
allout.el
ansi-color.el
ansi-osc.el (read-only-keymap-*): Be more careful with the namespace 2025-10-12 09:50:31 -04:00
apropos.el
arc-mode.el Fix squashfs archives embedded in another archive 2025-10-12 17:30:05 +03:00
array.el
auth-source-pass.el cedet: Delete obsolete object name arg to EIEIO constructors 2025-04-07 00:03:20 -04:00
auth-source.el Fix another inconsistency in auth-source.el 2025-10-08 16:09:15 +02:00
autoinsert.el ; * lisp/autoinsert.el (auto-insert-alist): Fix last change. 2025-08-09 13:38:10 +03:00
autorevert.el autorevert: Use defvar-local for the -mode variables 2025-10-16 16:56:00 +01:00
avoid.el
battery.el Merge from origin/emacs-30 2025-07-19 06:56:58 -04:00
bind-key.el Improve repeat-continue property handling 2025-06-11 09:28:42 +03:00
bindings.el Revert "New command 'mode-line-invisible-mode'" 2025-07-05 13:29:46 +03:00
bookmark.el Fix an error when bookmark handler is a lambda 2025-10-18 12:35:29 +03:00
bs.el lisp/bs.el (bs--goto-current-buffer): Fix thinko in last commit 2025-05-08 10:51:16 -04:00
buff-menu.el
button.el Prevent button.el from clearing help-echo strings 2025-03-08 17:29:34 +01:00
calculator.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
case-table.el
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
ChangeLog.10
ChangeLog.11
ChangeLog.12
ChangeLog.13
ChangeLog.14
ChangeLog.15
ChangeLog.16
ChangeLog.17
char-fold.el
chistory.el Use defvar-keymap for command-history-mode-map 2025-03-15 04:06:31 +01:00
cmuscheme.el Merge from origin/emacs-30 2025-08-09 09:33:20 -04:00
color.el
comint.el lisp/comint.el: Fix `comint-write-input-ring' context 2025-10-28 23:44:44 -04:00
completion-preview.el ; * lisp/completion-preview.el: Fix race condition. 2025-08-13 21:48:18 +02:00
completion.el
composite.el Improve 'C-u C-x =' for ligatures of ASCII characters 2025-03-22 12:39:46 +02:00
COPYING
cus-dep.el
cus-edit.el cus-edit.el: Don't quote lambdas and improve macro declaration 2025-07-01 17:37:02 -04:00
cus-face.el
cus-start.el Merge from origin/emacs-30 2025-08-23 10:30:47 -04:00
cus-theme.el Fix widget relationship in customize-themes 2025-04-02 08:10:18 -03:00
custom.el lisp/custom.el (custom-set-minor-mode): Load the mode more lazily 2025-10-29 14:35:24 -04:00
dabbrev.el (dabbrev-completion): Try and fix the test regressions 2025-09-25 15:24:53 -04:00
delim-col.el
delsel.el
descr-text.el Improve 'C-u C-x =' for ligatures of ASCII characters 2025-03-22 12:39:46 +02:00
desktop.el * lisp/desktop.el: Fix the recent cleanup. 2025-04-23 09:51:34 +03:00
dframe.el
dired-aux.el Pass dired default filenames via defaults argument 2025-08-28 09:21:18 +03:00
dired-x.el Merge from origin/emacs-30 2025-09-13 07:23:12 -04:00
dired.el Improve Dired handling of file names with newlines (bug#79528) 2025-10-22 00:06:03 +02:00
dirtrack.el
disp-table.el ; * lisp/disp-table.el (standard-display-unicode-special-glyphs): Fix typo. 2025-05-21 11:11:10 +02:00
display-fill-column-indicator.el ; Fix documentation of previous change. 2025-03-09 11:20:33 +02:00
display-line-numbers.el
dnd.el
doc-view.el ; * lisp/doc-view.el (doc-view-initiate-display): Improve last commit 2025-08-08 13:27:08 +02:00
dom.el (macroexp--obsolete-warning): Prefer %s 2025-09-02 15:10:25 -04:00
dos-fns.el
dos-vars.el
dos-w32.el
double.el
dynamic-setting.el Respond to display configuration updates on Android 2025-04-10 15:25:38 +08:00
ebuff-menu.el
ecomplete.el
editorconfig-conf-mode.el
editorconfig-core-handle.el
editorconfig-core.el
editorconfig-fnmatch.el
editorconfig-tools.el
editorconfig.el (editorconfig-indentation-alist): Pare down 2025-10-03 17:17:02 -04:00
edmacro.el
ehelp.el ; * lisp/ehelp.el (ehelp-command): Fix the autoload form (bug#79289). 2025-08-30 11:24:51 +03:00
elec-pair.el Support strings for electric pairs (bug#78053) 2025-06-21 12:24:55 +03:00
electric.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
elide-head.el
emacs-lock.el
env.el Document return values of the various read-* functions 2025-03-09 15:02:39 +02:00
epa-dired.el
epa-file.el
epa-hook.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
epa-ks.el
epa-mail.el
epa.el
epg-config.el
epg.el
expand.el expand.el: Simplify by always using a list in expand-list 2025-06-30 19:57:04 -04:00
external-completion.el external-completion: specify a required Emacs version 2025-08-06 13:13:58 +02:00
ezimage.el
face-remap.el
facemenu.el
faces.el Merge from origin/emacs-30 2025-07-26 06:58:12 -04:00
ffap.el Skip over possible blank lines returned by kpsewhich 2025-09-18 13:07:11 +02:00
filecache.el
fileloop.el fileloop-next-file: Convert file-error to warnings 2025-09-02 15:44:00 +01:00
filenotify.el Minor fixes for file notifications on MS Windows 2025-08-23 12:20:02 +02:00
files-x.el Add function exec-suffixes 2025-07-22 17:47:38 +02:00
files.el Merge from origin/emacs-30 2025-10-18 06:15:46 -04:00
filesets.el ; Normalize spacing in last change 2025-04-11 10:02:54 +08:00
find-cmd.el
find-dired.el
find-file.el
find-lisp.el Support 'dired-hide-details-mode' in find-lisp.el 2025-05-17 16:46:07 +03:00
finder.el
flow-ctrl.el
foldout.el
follow.el ; * lisp/follow.el (follow-mode-prefix-key): Improve. 2025-03-18 00:16:29 +01:00
font-core.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
font-lock.el ; * lisp/font-lock.el: Remove unneeded "cl-lib" require. 2025-08-27 11:24:53 +02:00
format-spec.el
format.el
forms.el
frame.el Make buffer-local decorations show up on new window-system frames (Bug#79606) 2025-10-12 10:16:52 +02:00
frameset.el (register-type, register--type): Delete functions 2025-04-30 12:28:35 -04:00
fringe.el
generic-x.el
help-at-pt.el New Eldoc function `eldoc-show-help-at-pt' 2025-03-29 13:50:26 +03:00
help-fns.el Prevent displaying an ungrammatical string in *Help* 2025-09-20 10:18:40 +02:00
help-macro.el
help-mode.el lisp/help-mode.el (help-mode-context-menu): Don't quote lambda 2025-07-05 19:32:50 -04:00
help.el Fix "C-u C-h C-n" 2025-08-30 13:45:07 +03:00
hex-util.el
hexl.el
hfy-cmap.el
hi-lock.el ; Fix my last commit 2025-03-02 19:46:15 +01:00
hilit-chg.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
hippie-exp.el Eliminate some gratuitous string mutation 2025-08-21 15:11:13 +02:00
hl-line.el * lisp/hl-line.el (global-hl-line-buffers): Skip internal buffers (bug#79547). 2025-10-01 09:40:05 +03:00
htmlfontify.el
ibuf-ext.el
ibuf-macs.el (define-ibuffer-op): Minor tweak to Shipmints's patch 2025-02-26 09:13:04 -05:00
ibuffer.el ibuffer-update-title-and-summary: Fix out of range error 2025-08-02 16:25:39 +03:00
icomplete.el Icomplete: rename some internal helper functions (bug#77546) 2025-04-06 14:08:14 +01:00
ido.el ; ido.el: Use find-program variable instead of literal "find" (bug#79620) 2025-10-13 10:22:23 +03:00
ielm.el Don't recommend legacy keymap functions in docstrings 2025-03-16 13:48:11 +01:00
iimage.el
image-file.el
image-mode.el
image.el Merge from origin/emacs-30 2025-08-02 11:13:41 -04:00
imenu.el Allow duplicate menu entries in Imenu 2025-07-13 08:41:38 +03:00
indent-aux.el ; * lisp/indent-aux.el: Add a comment (bug#79176). 2025-08-07 16:12:37 +03:00
indent.el
info-look.el
info-xref.el
info.el Backport expansion of Time Stamp documentation 2025-03-30 11:39:53 -07:00
informat.el
isearch.el Make 'isearch-mode' more idempotent (bug#79368). 2025-09-03 09:45:34 +03:00
isearchb.el Recommend using 'keymap-set' in Commentaries 2025-03-15 04:10:27 +01:00
jit-lock.el Replace anonymous lambda timers with named functions 2025-03-04 02:42:45 +01:00
jka-cmpr-hook.el
jka-compr.el
json.el Replace uses of replace-buffer-contents 2025-03-29 17:49:49 -04:00
jsonrpc.el Jsonrpc: support requests and notifications without params (bug#79653) 2025-10-23 21:44:46 +01:00
keymap.el (read-only-keymap-*): Be more careful with the namespace 2025-10-12 09:50:31 -04:00
kmacro.el Enable kmacro-call-macro to function in some circumstances 2025-03-02 16:05:04 +08:00
ldefs-boot.el : Update ldefs-boot.el. 2025-10-18 06:18:26 -04:00
loadhist.el Correctly unload variable aliases. 2025-03-16 12:52:40 -04:00
loadup.el cus-start.el: Reliably distinguish preload from nonpreload 2025-06-27 22:55:17 -04:00
locate.el
lpr.el
ls-lisp.el ; Improve documentation of ls-lisp.el 2025-05-11 14:42:51 +03:00
macros.el Improve documentation of 'insert-kbd-macro' 2025-04-27 09:52:25 +03:00
Makefile.in ; Makefile.in: Fix ldefs-boot.el rule for BSD sed. 2025-08-20 17:40:23 +01:00
man.el * lisp/man.el (man): Use active region for the default value. 2025-08-10 21:08:29 +03:00
master.el
mb-depth.el Make second arg to defvar-local optional 2025-03-09 18:24:22 +01:00
md4.el
menu-bar.el Amend last change to 'kill-this-buffer' 2025-07-09 10:59:13 +02:00
midnight.el
minibuf-eldef.el Make second arg to defvar-local optional 2025-03-09 18:24:22 +01:00
minibuffer.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
misc.el Make second arg to defvar-local optional 2025-03-09 18:24:22 +01:00
misearch.el Use 'file-equal-p' in 'multi-isearch-read-files' (bug#77678). 2025-04-29 20:14:07 +03:00
mouse-copy.el Don't recommend legacy keymap functions in docstrings 2025-03-16 13:48:11 +01:00
mouse-drag.el Don't recommend legacy keymap functions in docstrings 2025-03-16 13:48:11 +01:00
mouse.el Restore mouse line dragging in character increments (Bug#79351) 2025-09-27 10:07:14 +02:00
mpc.el lisp/mpc.el (mpc-describe-song): Don't quote lambdas 2025-07-06 10:39:33 -04:00
msb.el
mwheel.el
newcomment.el (comment-setup-function): Make it usable with add-function 2025-05-05 14:05:36 -04:00
notifications.el
novice.el
obarray.el
outline.el outline.el: Don't silence buffer text modification 2025-07-17 12:57:04 -04:00
paren.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
password-cache.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
pcmpl-cvs.el
pcmpl-git.el
pcmpl-gnu.el
pcmpl-linux.el
pcmpl-rpm.el * lisp/pcmpl-rpm.el: Generate completions for dnf5 2025-06-28 12:45:12 +03:00
pcmpl-unix.el
pcmpl-x.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
pcomplete.el Add minibuffer--completions-visible and use it 2025-08-21 20:10:08 +03:00
pgtk-dnd.el
pixel-scroll.el
plstore.el
printing.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
proced.el ; * lisp/proced.el (proced-update): Display read syntax for filter value 2025-07-18 16:48:10 +12:00
profiler.el
ps-bdf.el
ps-mule.el
ps-print.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
ps-samp.el
pulse.el ; Fix last change 2025-05-17 11:57:43 +03:00
README
recentf.el ; Fix recently introduced "ELisp". 2025-07-15 21:57:59 +01:00
rect.el Avoid infinite recursion under 'rectangle-mark-mode' 2025-04-27 10:08:38 +03:00
register.el (register-preview-info): sort registers in preview buffer 2025-09-20 19:35:07 +03:00
registry.el
repeat.el * lisp/repeat.el (repeat-mode): Use 'called-interactively-p'. 2025-07-23 20:56:05 +03:00
replace.el Merge from origin/emacs-30 2025-10-18 06:15:46 -04:00
reposition.el
reveal.el
rfn-eshadow.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
ring-bell-fns.el New pulse functions for pulse faces and new file for ring bell fns 2025-05-17 11:49:19 +03:00
rot13.el
rtree.el
ruler-mode.el Show drag cursor on all window lines (mode, tab, header) 2025-04-15 21:52:47 +03:00
savehist.el ; Fix recently introduced "ELisp". 2025-07-15 21:57:59 +01:00
saveplace.el * lisp/saveplace.el (save-places-to-alist): Add doc string. 2025-08-30 19:14:58 +03:00
scroll-all.el
scroll-bar.el
scroll-lock.el Fix shift-translation support of 'scroll-lock-mode' commands 2025-07-15 16:23:03 +03:00
select.el ; Improve documentation of 'gui-get-selection' use on X 2025-03-15 11:48:36 +02:00
send-to.el Fix send-to on non-macOS platforms and macOS crash on "emacs -nw" 2025-07-19 18:57:34 +02:00
server.el Avoid unnecessary y-or-n-p questions in client frames 2025-10-20 15:10:28 +03:00
ses.el Minor fix. 2025-05-23 09:59:02 +02:00
shadowfile.el
shell.el Fix 'shell-resync-dirs' for multi-line prompt. 2025-09-20 12:52:50 +03:00
simple.el Merge from origin/emacs-30 2025-10-18 06:15:46 -04:00
skeleton.el
so-long.el ; * lisp/so-long.el: Documentation 2025-03-15 23:05:18 +13:00
sort.el
soundex.el
speedbar.el Added a check to see if the 'speedbar-buffer' is still alive 2025-04-01 14:26:30 +03:00
sqlite-mode.el Fix 'sqlite-mode-delete' with NULL field values 2025-07-26 11:49:19 +03:00
sqlite.el
startup.el Revert "Stop subprocesses from using inherited or default PAGER" 2025-08-09 15:42:26 +03:00
strokes.el
subr.el Add any and all (bug#79611) 2025-10-20 11:39:16 +02:00
svg.el
t-mouse.el
tab-bar.el * lisp/tab-bar.el (frameset-session-filter-tabs): New function. 2025-08-28 09:09:18 +03:00
tab-line.el New user option 'tab-line-define-keys' 2025-08-31 21:23:05 +03:00
tabify.el
talk.el
tar-mode.el
tempo.el
term.el ; Fix last change. 2025-06-12 10:04:51 +03:00
thingatpt.el
thread.el
time-stamp.el time-stamp: padding composed characters 2025-10-16 15:23:48 -07:00
time.el Fix incorrect timezones for London and Paris 2025-09-14 10:14:58 -07:00
timezone.el
tmm.el
tool-bar.el Merge from origin/emacs-30 2025-04-26 10:57:33 -04:00
tooltip.el (custom-initialize-after-file): New function 2025-10-22 17:12:10 -04:00
touch-screen.el
transient.el Update to Transient v0.10.1-8-g188ec9a1 2025-10-13 20:33:30 +02:00
tree-widget.el Use defvar-keymap for some trivial keymaps 2025-03-16 13:48:11 +01:00
treesit-x.el * lisp/treesit-x.el (treesit-generic-mode-font-lock-map): Extend. 2025-08-29 19:35:58 +03:00
treesit.el ; Fix typos and wording of recently-modified doc strings 2025-10-30 08:35:29 +02:00
tty-tip.el ; Don't set symbol-packages in tty-tip.el 2025-03-19 20:45:06 +01:00
tutorial.el
type-break.el
uniquify.el uniquify-get-unique-names: Return a list with propertized strings 2025-07-02 05:46:24 +03:00
userlock.el
vcursor.el defvar-keymap: New ':prefix t' abbreviation 2025-10-06 18:34:18 +01:00
version.el
view.el Merge from origin/emacs-30 2025-10-18 06:15:46 -04:00
visual-wrap.el ; Remove superfluous POSITION argument from 'visual-wrap--apply-to-line' 2025-06-10 22:09:26 -07:00
w32-fns.el
w32-vars.el
wdired.el ; Add missing require to wdired.el 2025-02-26 03:08:25 +01:00
which-key.el Merge from origin/emacs-30 2025-03-30 16:17:00 +02:00
whitespace.el ; Fix last change (bug#77544) 2025-08-16 14:40:39 +03:00
wid-browse.el
wid-edit.el Improve documentation and customization of 'derived-mode' in buffer predicate 2025-09-27 20:56:54 +03:00
widget.el
windmove.el Revert "Fix bug#79518 with 'windmove-mode' in "C-h m" display" 2025-09-28 08:19:48 +03:00
window-tool-bar.el window-tool-bar: Use `static-if' from Compat 30 2025-03-13 06:08:58 +01:00
window-x.el Revert recent additions of 'split-frame' and 'merge-frames' 2025-10-23 16:38:25 +02:00
window.el Merge from origin/emacs-30 2025-10-18 06:15:46 -04:00
winner.el ; * lisp/winner.el (winner--set-dont-bind-my-keys): Fix typo. 2025-03-15 18:24:28 +01:00
woman.el Recommend using 'keymap-set' in Commentaries 2025-03-15 04:10:27 +01:00
x-dnd.el
xdg.el (xdg-mime-apps): Restore corner case and simplify 2025-10-15 09:31:05 -04:00
xml.el
xt-mouse.el Implement dragging and resizing of tty child frames 2025-03-17 09:50:19 +01:00
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.