1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
emacs/lisp
Stefan Monnier 194b10b6ad (cl-generic-define-generalizer): Add new API
Sometimes, the computation of the tag (or the computations of
the list of specializers corresponding to a tag) can be sped up
if we know the set of specializers we're looking for.

So we add a new API for both the TAGCODE-FUNCTION and SPECIALIZERS-FUNCTION
that lets them receive the set of specializers they need to consider (or any
information they can precompute from that), i.e. the set of specializers
handled by the same generalizer currently used by the generic function
for the the specific argument on which we're currently dispatching.

* lisp/emacs-lisp/cl-generic.el (cl-generic-define-generalizer):
Document new API.
(cl--generic-collect-specializers, cl--generic-filter-specializers)
(cl--generic--tagcode-with-specializers): New helper functions.
(cl--generic-get-dispatcher): Use them to support new API.
2025-10-31 13:49:14 -04: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 (cl-generic-define-generalizer): Add new API 2025-10-31 13:49:14 -04: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 More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +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 More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +02: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 More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +02: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 More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +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 More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +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
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
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
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
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 Optimize PCM regex to not contain adjacent wildcards 2025-10-30 19:24:51 +02: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 ; * lisp/subr.el (version-to-list): Completely wrong indentation. 2025-10-30 13:29:32 +01:00
svg.el
t-mouse.el
tab-bar.el More reliably check if a frame is the daemon's initial frame 2025-10-30 20:27:19 +02: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 Revert "Use cached compiled tree-sitter queries for range settings" 2025-10-30 19:15:40 -07: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
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.