emacs-gpu/lisp
Andros Fenollosa 27a98a1c36 Metal: keep cursor animations alive while Emacs idles
Cursor-only motion takes redisplay's fast path: no render cycle opens,
and the CADisplayLink stops firing while Emacs idles, so with
animations enabled the moved cursor overlay was never presented (it
appeared frozen until the next input event) and rings/trails never
animated between events.

Three fixes: note_cursor composites immediately when no cycle is open;
the animation step is factored into tickWithDt: and exposed as
mtl-anim-tick, driven by a 30fps Lisp timer while animations are
enabled (the same mechanism that drives video playback); and burst
particles use the real cursor color instead of a hardcoded pale tint
that was invisible on light backgrounds.
2026-06-04 11:05:21 +02:00
..
calc Fix updates of embedded formulas by 'calc-embedded-update-formula' 2026-05-17 10:57:53 +03:00
calendar Rename `icalendar-recur' type and related functions 2026-05-23 13:25:19 +03:00
cedet ede/proj-shared.el: Remove leftover obsolete EIEIO name arguments 2026-02-13 23:48:32 -05:00
emacs-lisp Merge from origin/emacs-31 2026-05-29 11:01:25 +01:00
emulation Rename 'any' to 'member-if' and deprecate 'cl-member-if' 2026-03-04 14:43:05 +00:00
erc Merge from origin/emacs-31 2026-05-21 00:24:52 +01:00
eshell Allow child processes to continue after EPIPE 2026-05-17 17:24:10 -07:00
gnus Gnus: Prefer passing functions to message-add-action 2026-05-26 15:54:48 -04:00
image Refill 'image-dired-display-image-buffer' 2026-01-03 13:22:01 +02:00
international Use plain autoload cookie with transient-define-prefix 2026-04-27 21:58:39 +02:00
language Add language-environment and input methods for Syriac 2026-04-23 11:31:10 +03:00
leim/quail Add language-environment and input methods for Syriac 2026-04-23 11:31:10 +03:00
mail Merge from origin/emacs-31 2026-05-29 11:01:25 +01:00
mh-e Improve previous change. 2026-04-10 11:04:29 -07:00
net Merge from origin/emacs-31 2026-06-01 11:52:53 +01:00
nxml Fix defining a few faces as empty 2026-04-27 21:35:44 +02:00
obsolete Mark gnus-dbus.el as obsolete 2026-05-09 12:50:23 +02:00
org Update to Org 9.8.5 2026-05-31 01:42:27 -04:00
play ; * lisp/play/doctor.el (doctor-death): Fix Samaritans URL (bug#81155). 2026-05-31 12:29:50 +03:00
progmodes Support Ansible messages in compilation-mode 2026-06-02 12:43:08 +02:00
term ; * lisp/term/pgtk-win.el (icon-map-list): Fix :type. 2026-05-09 12:44:59 +03:00
textmodes (reftex-isearch-minor-mode): A few more simplifications 2026-05-29 17:36:06 -04:00
url Merge from origin/emacs-31 2026-05-29 11:01:25 +01:00
use-package ; Fix handling of string by the use-package keyword :vc 2026-03-16 18:23:37 +01:00
vc Merge from origin/emacs-31 2026-06-01 11:52:53 +01:00
abbrev.el
align.el Fix last change in align.el 2026-02-05 10:56:51 +02:00
allout-widgets.el
allout.el
ansi-color.el
ansi-osc.el
apropos.el Fix apropos-print window selection 2026-02-22 17:02:34 +01:00
arc-mode.el
array.el
auth-source-pass.el Improve last change to auth-source-pass 2026-03-26 15:05:22 +01:00
auth-source.el Improve auth-source-backend-parse 2026-05-20 10:10:30 +02:00
autoinsert.el
autorevert.el
avoid.el
battery.el Check that a UPower battery device IsPresent 2026-02-12 19:15:39 +01:00
bind-key.el Avoid infinite recursion in bind-keys-form (bug#80759) 2026-04-08 14:56:02 +00:00
bindings.el ; * lisp/bindings.el (mode-line-percent-position): Doc fix (bug#80617). 2026-03-15 12:16:40 +02:00
bookmark.el Use single-arg form of signal to re-throw an error 2026-03-10 10:48:22 -04:00
bs.el
buff-menu.el Fix buffer menu unmark (bug#80082) 2026-01-13 20:49:03 +02:00
button.el
calculator.el
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
cmuscheme.el
color.el
comint.el (comint--fontify-input-fontify-region): Silence messages (bug#80870) 2026-04-23 11:16:05 -04:00
completion-preview.el New variable 'completion-frontend-properties' (bug#80990) 2026-05-09 20:06:25 +02:00
completion.el
composite.el
COPYING
cus-dep.el
cus-edit.el Bump master Emacs version to 32.0.50 2026-05-07 17:46:43 +01:00
cus-face.el
cus-start.el New variable 'multiple-terminals-merge-keyboards' 2026-02-28 20:54:56 +00:00
cus-theme.el
custom.el ; * lisp/custom.el (copy-theme-options): New FIXME. 2026-02-21 09:35:30 +00:00
dabbrev.el (dabbrev-completion): Improve last fix for bug#80645 2026-03-22 10:58:40 -04:00
delim-col.el
delsel.el (delete-selection-repeat-replace-region): Partial fix for bug#80216 2026-03-17 12:40:22 -04:00
descr-text.el
desktop.el Add predicate for initial_terminal 2026-03-26 15:19:56 +01:00
dframe.el
dired-aux.el vc-rename-file: New OK-IF-ALREADY-EXISTS parameter 2026-04-15 10:06:20 -04:00
dired-x.el
dired.el Restrict Dired handling of newlines in file names 2026-04-17 19:26:37 +02:00
dirtrack.el
disp-table.el Prettify special glyphs 2026-05-23 14:12:19 +03:00
display-fill-column-indicator.el Add predicate for initial_terminal 2026-03-26 15:19:56 +01:00
display-line-numbers.el
dnd.el
doc-view.el ; * lisp/doc-view.el (doc-view-mode-p): Fix docstring. 2026-02-07 11:33:14 +01:00
dom.el
dos-fns.el
dos-vars.el
dos-w32.el
double.el
dynamic-setting.el
ebuff-menu.el Use the new error API functions 2026-03-10 10:48:21 -04:00
ecomplete.el
editorconfig-conf-mode.el
editorconfig-core-handle.el
editorconfig-core.el
editorconfig-fnmatch.el
editorconfig-tools.el ; Remove redundant cl-lib runtime dependencies across lisp/ 2026-01-17 15:32:15 +02:00
editorconfig.el Fix broken FOO-mode-indent-offset convention 2026-02-22 18:48:57 -05:00
edmacro.el
ehelp.el
elec-pair.el
electric.el
elide-head.el
emacs-lock.el
env.el
epa-dired.el
epa-file.el Fix last change 2026-04-01 16:48:09 +02:00
epa-hook.el
epa-ks.el
epa-mail.el
epa.el Use single-arg form of signal to re-throw an error 2026-03-10 10:48:22 -04:00
epg-config.el
epg.el
expand.el
external-completion.el ; (external-completion-table): Fix a couple of typos. 2026-05-01 11:23:09 +02:00
ezimage.el
face-remap.el
facemenu.el
faces.el Introduce 'margin' face for window margin background 2026-05-05 11:21:57 +03:00
ffap.el (dired-at-point-prompter): Fix bug#80545 2026-04-08 15:19:06 -04:00
filecache.el
fileloop.el
filenotify.el
files-x.el Set indent property for with-connection-local-variables 2026-04-27 21:38:00 +02:00
files.el Fix file-name-non-special implementation of get-file-buffer 2026-05-12 08:48:43 +02:00
filesets.el
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
format-spec.el Call format-spec substitution functions in current buffer 2026-04-27 21:11:52 +02:00
format.el
forms.el
frame.el Add predicate for initial_terminal 2026-03-26 15:19:56 +01:00
frameset.el Add predicate for initial_terminal 2026-03-26 15:19:56 +01:00
fringe.el
generic-x.el
help-at-pt.el
help-fns.el ; Improve doc strings of several Help-related user options 2026-05-06 14:19:50 +03:00
help-macro.el
help-mode.el Fix [More] buttons in tutorial and other buttons in Semantic 2026-02-03 05:14:59 +02:00
help.el ; Improve doc strings of several Help-related user options 2026-05-06 14:19:50 +03:00
hex-util.el
hexl.el
hfy-cmap.el
hi-lock.el
hilit-chg.el
hippie-exp.el
hl-line.el
htmlfontify.el ; htmlfontify: Handle 'reset' face attribute value (bug#81032) 2026-05-14 17:11:43 +02:00
ibuf-ext.el
ibuf-macs.el (define-ibuffer-column): Fix corner case miscompilations (bug#80180) 2026-01-14 16:52:09 -05:00
ibuffer.el ; * lisp/ibuffer.el (ibuffer-fontification-alist): Doc fix (bug#80618). 2026-03-19 17:46:57 +02:00
icomplete.el In fido-vertical-mode, let C-s and C-r recover their original use 2026-04-29 10:12:41 +01:00
ido.el
ielm.el Fix behavior for ielm-dynamic-multiline-inputs (bug#80123) 2026-01-15 11:12:12 +00:00
iimage.el
image-file.el
image-mode.el
image.el Improve (WebP) image animation 2026-01-24 19:37:30 +01:00
imenu.el
indent-aux.el
indent.el
info-look.el
info-xref.el ; Remove redundant cl-lib runtime dependencies across lisp/ 2026-01-17 15:32:15 +02:00
info.el (Info-documentlanguage): Keep Info-related code in info.el 2026-04-25 09:56:25 -04:00
informat.el
isearch.el ; Improve documentation of lazy-highlight in search and replace commands 2026-05-22 14:46:13 +03:00
isearchb.el
jit-lock.el Use single-arg form of signal to re-throw an error 2026-03-10 10:48:22 -04:00
jka-cmpr-hook.el
jka-compr.el Use the new error API functions 2026-03-10 10:48:21 -04:00
json.el Prefer value< with new 'sort' in json.el 2026-02-14 18:56:44 +01:00
jsonrpc.el Jsonrpc: rework sync request handling (bug#80623) 2026-05-04 11:47:21 +01:00
keymap.el Improve documentation of 'define-keymap' 2026-03-07 10:55:23 +02:00
kmacro.el (kmacro-end-call-mouse): Make obsolete 2026-03-27 08:54:14 -04:00
ldefs-boot.el ; Update ldefs-boot.el. 2026-04-29 14:55:23 +01:00
loadhist.el Fix predicate of plist-member on function-history 2026-02-20 23:37:48 -05:00
loadup.el * lisp/loadup.el: No longer GC after loading each file 2026-03-13 15:35:05 +01:00
locate.el
lpr.el
ls-lisp.el Use the new error API functions 2026-03-10 10:48:21 -04:00
macros.el
Makefile.in
man.el ; Fix messages in "M-x man" 2026-01-18 14:36:51 +02:00
master.el
mb-depth.el
md4.el
menu-bar.el Add predicate for initial_terminal 2026-03-26 15:19:56 +01:00
midnight.el
minibuf-eldef.el
minibuffer.el Merge from origin/emacs-31 2026-05-29 11:01:25 +01:00
misc.el
misearch.el
mouse-copy.el
mouse-drag.el
mouse.el Improve 'context-menu-send-to' (bug#79512) 2026-05-05 19:45:28 +03:00
mpc.el
msb.el
mtl.el Metal: keep cursor animations alive while Emacs idles 2026-06-04 11:05:21 +02:00
mwheel.el
newcomment.el
notifications.el
novice.el
obarray.el
outline.el ; Fix quotation of some symbols 2026-04-04 13:44:08 +01:00
paren.el Fix text visibility issue with show-paren--show-context-in-overlay 2026-04-01 06:28:51 +02: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
pgtk-dnd.el
pixel-scroll.el pixel-scroll: Avoid loading `cua-base' 2026-01-31 11:01:02 +02:00
plstore.el Decrypt plstore when needed in 'plstore-delete' 2026-06-04 08:37:25 +03:00
printing.el ; Fix 2 defcustoms in printing.el 2026-04-03 15:44:38 +03:00
proced.el ; Improve documentation of Proced 2026-04-25 09:01:48 +03:00
profiler.el
ps-bdf.el
ps-mule.el
ps-print.el
ps-samp.el
pulse.el
README
recentf.el ; recentf-exclude-file-by-extension-p: Restore and-let*. 2026-03-08 14:55:23 +00:00
rect.el
register.el (register--get-method-type): Fix one more case (bug#80894) 2026-04-26 12:18:44 -04:00
registry.el
repeat.el repeat: handle non-character keys with hint strings 2026-01-04 18:56:19 -05:00
replace.el Fix lax whitespace highlight during query-replace 2026-05-27 18:37:04 +03:00
reposition.el
reveal.el
rfn-eshadow.el
ring-bell-fns.el
rot13.el
rtree.el
ruler-mode.el
savehist.el Use single-arg form of signal to re-throw an error 2026-03-10 10:48:22 -04:00
saveplace.el save-place-alist-to-file: Use prin1, not pp (bug#80183) 2026-01-12 09:59:40 +00:00
scroll-all.el
scroll-bar.el ; Remove redundant cl-lib runtime dependencies across lisp/ 2026-01-17 15:32:15 +02:00
scroll-lock.el
select.el
send-to.el Always return a list from send-to--collect-items 2026-06-03 18:15:22 +00:00
server.el ; Improve documentation of Emacs server-client protocol 2026-05-02 12:35:48 +03:00
ses.el
shadowfile.el shadowfile.el uses eqhemeral buffer names now 2026-01-07 10:08:45 +01:00
shell.el * lisp/shell.el (shell): Fix typo: use process-live-p (bug#81145). 2026-05-29 10:57:39 +01:00
simple.el ; Improve documentation of commands that move by compilation errors 2026-05-17 09:05:13 +03:00
skeleton.el ; * lisp/skeleton.el (skeleton-insert): Doc fix. (Bug#80492) 2026-02-26 11:07:57 +02:00
so-long.el
sort.el
soundex.el
speedbar.el ; * lisp/speedbar.el (speedbar-frame-or-window): Quote arg (bug#80392). 2026-02-22 16:38:38 -08:00
sqlite-mode.el
sqlite.el
startup.el Fix 'prepare-user-lisp' to follow symlinks 2026-05-11 15:36:58 +02:00
strokes.el
subr.el Detect some API violations in combine-change-calls (bug#80877) 2026-05-20 11:27:40 +00:00
svg.el
system-sleep.el ; system-sleep minor follow ups (bug#80361) 2026-02-22 10:35:23 +01:00
system-taskbar.el ; system-taskbar tweaks to dbus loading and group keyword (bug#80361) 2026-02-22 10:36:16 +01:00
t-mouse.el
tab-bar.el Rebind 'tab-bar-mouse-close-tab' from <down-mouse-2> to <mouse-2> 2026-04-21 19:30:03 +03:00
tab-line.el New faces 'tab-line-active' and 'tab-line-inactive' (bug#80742) 2026-04-14 20:14:15 +03:00
tabify.el
talk.el
tar-mode.el Use single-arg form of signal to re-throw an error 2026-03-10 10:48:22 -04:00
tempo.el
term.el Fix terminal emulation of "ESC [ K" sequence 2026-05-09 15:33:21 +00:00
thingatpt.el
thread.el
time-stamp.el ; time-stamp: rename some internal functions to include "--" 2026-04-07 09:28:32 -07:00
time.el display-time: Add option to customize help-echo format 2026-01-31 12:12:21 +02:00
timezone.el
tmm.el
tool-bar.el ; * lisp/tool-bar.el (tool-bar-setup): Adapt to change for bug#80545. 2026-03-26 11:20:53 +02:00
tooltip.el
touch-screen.el
transient.el Update to Transient v0.13.3-10-g87d0ca08 2026-05-07 17:35:17 +02:00
tree-widget.el
treesit-x.el Add treesit-ready-p check back to tree-sitter major modes (bug#80909) 2026-05-23 22:10:34 -07:00
treesit.el ; Fix byte-compilation warnings in non-Tree-Sitter builds 2026-05-16 14:13:56 +03:00
tty-tip.el
tutorial.el ; * lisp/tutorial.el: Remove unneeded require. 2026-02-16 10:47:29 +01:00
type-break.el Use the new error API functions 2026-03-10 10:48:21 -04:00
uniquify.el
userlock.el
vcursor.el
version.el
view.el Don't make buffer read-only when reverting if 'view-mode' was disabled 2026-05-30 13:17:00 +03:00
visual-wrap.el lisp/visual-wrap.el (visual-wrap--content-prefix): Adjust doc 2026-05-28 17:36:19 -04:00
w32-fns.el
w32-vars.el
wdired.el
which-key.el
whitespace.el ; * lisp/whitespace.el (whitespace-global-modes): Grammar fix. 2026-03-23 21:11:38 +00:00
wid-browse.el
wid-edit.el Don't unconditionally append the :ascent property in wid-edit 2026-06-04 09:06:52 +03:00
widget.el
windmove.el
window-tool-bar.el
window-x.el ; Remove "--" from the name of autoloaded 'window--get-split-combination' 2026-01-22 20:09:47 +02:00
window.el ; Fix last fix to 'window--make-major-side-window' 2026-03-27 23:35:24 +01:00
winner.el
woman.el
x-dnd.el
xdg.el
xml.el
xt-mouse.el Add predicate for initial_terminal 2026-03-26 15:19:56 +01:00
xwidget.el ; Remove redundant cl-lib runtime dependencies across lisp/ 2026-01-17 15:32:15 +02:00
yank-media.el ; Remove redundant cl-lib runtime dependencies across lisp/ 2026-01-17 15:32:15 +02:00

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.