1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 20:32:00 -08:00
emacs/lisp
F. Jason Park 752e860db4 Address long-standing ERC buffer-naming issues
* lisp/erc/erc-backend.el (erc-server-connected): Revise doc string.
(erc-server-reconnect, erc-server-JOIN): Reuse original ID param from
the first connection when calling `erc-open'.
(erc-server-NICK): Apply same name generation process used by
`erc-open'; except here, do so for the purpose of "re-nicking".
Update network identifier and maybe buffer names after a user's own
nick changes.

* lisp/erc/erc-networks.el (erc-networks--id, erc-networks--id-fixed,
erc-networks--id-qualifying): Define new set of structs to contain all
info relevant to specifying a unique identifier for a network context.
Add a new variable `erc-networks--id' to store a local reference to a
`erc-networks--id' object, shared among all buffers in a logical
session.
(erc-networks--id-given, erc-networks--id-create,
erc-networks--id-on-connect, erc-networks--id--equal-p,
erc-networks--id-qualifying-init-parts,
erc-networks--id-qualifying-init-symbol,
erc-networks--id-qualifying-grow-id,
erc-networks--id-qualifying-reset-id,
erc-networks--id-qualifying-prefix-length,
erc-networks--id-qualifying-update, erc-networks--id-reload,
erc-networks--id-ensure-comparable, erc-networks--id-sort-buffers):
Add new functions to support management of `erc-networks--id' struct
instances.
(erc-networks--id-sep): New variable for to help when formatting
buffer names.
(erc-obsolete-var): Define new generic context rewriter.
(erc-networks-shrink-ids-and-buffer-names,
erc-networks--refresh-buffer-names,
erc-networks--shrink-ids-and-buffer-names-any): Add functions to
reassess all network IDs and shrink them if necessary along with
affected buffer names.  Also add function to rename buffers so that
their names are unique.  Register these on all three of ERC's
kill-buffer hooks because an orphaned target buffer is enough to keep
its session alive.
(erc-networks-rename-surviving-target-buffer): Add new function that
renames a target buffer when it becomes the sole bearer of a name
based on a target that has become unique across all sessions and, in
most cases, all networks.  IOW, remove the @NETWORK-ID suffix from the
last remaining channel or query buffer after its namesakes have all
been killed off.  Register this function with ERC's target-related
kill-buffer hooks.
(erc-networks--examine-targets): Add new utility function that visits
all ERC buffers and runs callbacks when a buffer-name collision is
encountered.
(erc-networks--qualified-sep): Add constant to hold separator between
target and suffix.
(erc-networks--construct-target-buffer-name,
erc-networks--ensure-unique-target-buffer-name,
erc-networks--ensure-unique-server-buffer-name,
erc-networks--maybe-update-buffer-name): Add helpers to support
`erc-networks--reconcile-buffer-names' and friends.
(erc-networks--reconcile-buffer-names): Add new buffer-naming strategy
function and helper for `erc-generate-new-buffer-name' that only run
in target buffers.
(erc-determine-network, erc-networks--determine): Deprecate former and
partially replace with latter, which demotes RPL_ISUPPORT-derived
NETWORK name to fallback in favor of known `erc-networks-alist'
members as part of shift to network-based connection-identity policy.
Return sentinel on failure.  Expect `erc-server-announced-name' to be
set, and signal when it's not.
(erc-networks--name-missing-sentinel): Value returned when new
function `erc-networks--determine' fails to find network name.  The
rationale for not making this customizable is that the value signifies
the pathological case where a user of an uncommon IRC setup has not
yet set a mapping from announced- to network name.  And the chances of
there being multiple unknown networks is low.
(erc-set-network-name, erc-networks--set-name): Deprecate former and
partially replace with latter.  Ding with helpful message, and don't
set `erc-network' when network name is not found.
(erc-networks--ensure-announced): Add new fallback function to ensure
`erc-server-announced-name' is set.  Register with post-MOTD hooks.
(erc-unset-network-name): Deprecate function unused internally.
(erc-networks--insert-transplanted-content,
erc-networks--reclaim-orphaned-target-buffers,
erc-networks--copy-over-server-buffer-contents,
erc--update-server-identity): Add helpers for
`erc-networks--rename-server-buffer'.  The first re-associates all
existing target buffers that ought to be owned by the new server
process.  The second grabs buffer text from an old, dead server buffer
before killing it.  It then inserts that text above everything in the
current, replacement server buffer.  The other two massage the IDs of
related sessions, possibly renaming them as well.  They may also
uniquify the current session's network ID.
(erc-networks--init-identity): Add new function to perform one-time
session-related setup.  This could be combined with
`erc-set-network-name'.
(erc-networks--rename-server-buffer): Add new function to replace
`erc-unset-network-name' as default `erc-disconnected-hook' member;
renames server buffers once network is discovered; added to/removed
from `erc-after-connect' hook on `erc-networks' minor mode.
(erc-networks--bouncer-targets): Add constant to hold target symbols
of well known bouncer-configuration bots.
(erc-networks-on-MOTD-end): Add primary network-context handler to run
on 376/422 functions, just before logical connection is officially
established.
(erc-networks-enable, erc-networks-mode): Register main network-setup
handler with 376/422 hooks.

* lisp/erc/erc.el (erc-rename-buffers): Change this option's default
to t, remove the only instance where it's actually used, and make it
an obsolete variable.
(erc-reuse-buffers): Make this an obsolete variable, but take pains to
ensure its pre-28.1 behavior is preserved.  That is, undo the
regression involving unwanted automatic reassociation of channel
buffers during joins, which arrived in ERC 5.4 and effectively
inverted the meaning of this variable, when nil, for channel buffers,
all without accompanying documentation or announcement.
(erc-generate-new-buffer-name): Replace current policy of appending a
slash and the invocation host name.  Favor instead temporary names for
server buffers and network-based uniquifying suffixes for channels and
query buffers.  Fall back to the TCP host:port<n> convention when
necessary.  Accept additional optional params after the others.
(erc-get-buffer-create): Don't generate a new name when reconnecting,
just return the same buffer.  `erc-open' starts from a clean slate
anyway, so this just keeps things simple.  Also add optional params.
(erc-open): Add new ID param to for a network identifier explicitly
passed to an entry-point command.  This is stored in the `given' slot
of the `erc-network--id' object.  Also initialize the latter in new
connections and otherwise copy it over.  As part of the push to recast
erc-networks.el as an essential library, set `erc-network' explicitly,
when known, rather than via hooks.
(erc, erc-tls): Add new ID keyword parameter and pass it to
`erc-open'.
(erc-log-irc-protocol): Use `erc--network-id' instead of the function
`erc-network' to determine preferred peer name.
(erc-format-target-and/or-network): This is called frequently from
mode-line updates, so renaming buffers here is not ideal.  Instead, do
so in `erc-networks--rename-server-buffer'.
(erc-kill-server-hook): Add `erc-networks-shrink-ids-and-buffer-names'
as default member.
(erc-kill-channel-hook, erc-kill-buffer-hook): Add
`erc-networks-shrink-ids-and-buffer-names' and
`erc-networks-rename-surviving-target-buffer' as default member.

* test/lisp/erc/erc-tests.el (erc-log-irc-protocol): Use network-ID
focused internal API.

* test/lisp/erc/erc-networks-tests.el: Add new file that includes
tests for the above network-ID focused functions.

See bug#48598 for background on all of the above.
2022-06-30 15:03:26 -07:00
..
calc Allow number register insertion in Calc (Bug#55943) 2022-06-16 18:32:40 +02:00
calendar Fix detecting dotted pairs in icalendar-export-region 2022-06-27 10:03:30 +02:00
cedet Speed up generation of loaddefs files 2022-05-31 18:08:33 +02:00
emacs-lisp Fix define-obsolete-function-alias formatting in loaddefs-gen.el 2022-06-30 21:33:46 +02:00
emulation Fix handling double-click-time nil or t 2022-05-02 12:03:08 +02:00
erc Address long-standing ERC buffer-naming issues 2022-06-30 15:03:26 -07:00
eshell * lisp/eshell/em-term.el (eshell-visual-commands): Add vim. 2022-06-30 15:03:46 +02:00
gnus Ensure that In-Reply-To is saved in drafts in Message 2022-06-29 13:00:25 +02:00
image ; Fix typos 2022-05-15 11:15:06 +02:00
international Add new commands to zoom emojis 2022-06-30 10:47:44 +02:00
language Add support for the Meetei Mayek script 2022-06-13 16:55:20 +03:00
leim/quail Add more characters with macron in C-x 8 map and latin input methods 2022-06-14 16:31:10 +02:00
mail Speed up mail-extr in some configurations 2022-06-21 13:02:05 +02:00
mh-e Audit quoting the quote character in doc strings 2022-04-22 16:17:22 +02:00
net EUDC: Use "Surname" instead of "Name" in prompts 2022-06-29 21:54:26 -04:00
nxml (with-demoted-errors): Warn on missing format arg 2022-02-04 19:39:53 -05:00
obsolete * lisp/obsolete/eieio-compat.el: Add missing Obsolete-since line. 2022-06-19 14:32:13 +02:00
org Merge from origin/emacs-28 2022-06-27 06:30:25 +02:00
play Fix logic in previous Tetris change 2022-06-21 21:52:11 +02:00
progmodes Also add elisp-eval/byte-compile-buffer to lisp-interaction-mode 2022-06-30 14:46:04 +02:00
term Clean up failable requests in more places 2022-06-29 15:09:17 +08:00
textmodes Fix ispell-word on colorless TTY frames 2022-06-26 10:22:20 +03:00
url Make url-tramp-convert-tramp-to-url more robust 2022-06-24 18:05:54 +02:00
vc * lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix diff-buffers case 2022-06-29 11:47:24 -04:00
abbrev.el Merge from origin/emacs-28 2022-05-25 13:57:59 -04:00
align.el Fix regression in tex alignment 2022-04-02 16:36:39 +02:00
allout-widgets.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
allout.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
ansi-color.el Further audits of single quotes in Lisp doc strings 2022-05-24 13:17:53 +02:00
apropos.el Improve previous apropos-documentation-check-elc-file change 2022-05-18 13:20:26 +02:00
arc-mode.el Fix cl-generic bootstrap problems 2022-06-24 11:04:51 +02:00
array.el * lisp/array.el (array-mode-map): Prefer defvar-keymap. 2022-05-12 11:08:09 +02:00
auth-source-pass.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
auth-source.el Audit quoting the quote character in doc strings 2022-04-22 16:17:22 +02:00
autoinsert.el ; Fix mistakes in 'declare function' forms 2022-05-14 16:19:12 +03:00
autorevert.el (with-demoted-errors): Warn on missing format arg 2022-02-04 19:39:53 -05:00
avoid.el Silence byte-compiler warning about x-pointer-invisible 2022-05-27 09:42:12 +02:00
battery.el ; Improve documentation of 'battery-update-functions' 2022-06-03 15:04:42 +03:00
bindings.el Allow appending to the kill ring with mouse selections 2022-06-20 01:00:06 +02:00
bookmark.el Rename command to bookmark-edit-annotation-confirm 2022-06-17 16:30:51 +02:00
bs.el Prefer Emacs mouse button event names to XEmacs names 2022-06-22 13:28:25 +02:00
buff-menu.el Make 't' in Buffer-menu be more defensive 2022-02-24 21:57:34 +02:00
button.el Fix button-buffer-map binding error 2022-04-16 19:32:26 +02:00
calculator.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
case-table.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
cdl.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.1 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.2 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.3 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.4 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.5 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.6 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.7 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.8 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.9 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.10 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.11 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.12 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.13 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.14 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.15 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.16 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.17 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
char-fold.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
chistory.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
cmuscheme.el Make prompt read-only in inferior-scheme-mode 2022-05-12 14:15:12 +02:00
color.el Merge from origin/emacs-28 2022-05-28 07:06:30 +02:00
comint.el Update comment about comint-osc-handlers 2022-05-17 23:36:27 +02:00
completion.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
composite.el Fix deletion of composed text 2022-06-27 15:32:53 +03:00
COPYING
cus-dep.el Make finder/cus-dep scraping use generate-lisp-file functions 2022-06-05 20:17:30 +02:00
cus-edit.el Untabify doc strings before displaying in Customize 2022-06-21 19:08:25 +02:00
cus-face.el Update font scaling documentation to not talk about "face height" 2022-06-20 01:26:05 +02:00
cus-start.el Avoid recording passwords' chars 2022-06-25 12:27:27 +03:00
cus-theme.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
custom.el Fix issues with loading autoloaded defcustoms while bound 2022-06-10 11:13:20 +02:00
dabbrev.el Fix dabbrev expansion after recent file-name buffer addition 2022-05-13 14:30:09 +02:00
delim-col.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
delsel.el Merge from origin/emacs-28 2022-06-05 06:30:25 +02:00
descr-text.el Make `C-u C-x =' be more verbose about invisible characters 2022-04-22 14:58:59 +02:00
desktop.el Merge from origin/emacs-28 2022-05-25 13:57:59 -04:00
dframe.el Remove some XEmacs compat code for display-graphic-p 2022-05-15 01:10:11 +02:00
dired-aux.el Merge from origin/emacs-28 2022-06-21 21:53:57 +02:00
dired-x.el Minor cleanup in dired-x-bind-find-file 2022-06-29 13:54:51 +02:00
dired.el Fix drag-and-drop of files with multibyte filenames 2022-06-05 15:38:23 +08:00
dirtrack.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
disp-table.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
display-fill-column-indicator.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
display-line-numbers.el Add new minor mode `header-line-indent-mode' 2022-05-13 21:24:12 +02:00
dnd.el Implement starting X Direct Save (XDS) drops 2022-06-29 20:14:41 +08:00
doc-view.el Reconvert EPUB buffers when user CSS is changed 2022-06-26 17:52:29 +02:00
dom.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
dos-fns.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
dos-vars.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
dos-w32.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
double.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
dynamic-setting.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ebuff-menu.el Allow sorting in electric-buffer-list with `S' 2022-01-24 18:19:38 +01:00
echistory.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ecomplete.el (ecomplete-add-item): Preserve the more complete text 2022-03-06 10:14:42 -05:00
edmacro.el Do interactive mode tagging in edmacro.el 2022-06-22 12:14:06 +02:00
ehelp.el Fix electric-help-map problem when help-char has meta-prefix 2022-04-14 15:51:04 +02:00
elec-pair.el Merge from origin/emacs-28 2022-06-27 06:30:24 +02:00
electric.el Fix a byte compilation warning in electric.el 2022-05-24 18:52:58 +02:00
elide-head.el Make old elide-head commands wrappers for mode 2022-01-10 04:30:13 +01:00
emacs-lock.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
env.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
epa-dired.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
epa-file.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
epa-hook.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
epa-ks.el Add a provide in epa-ks 2022-05-13 14:44:34 +02:00
epa-mail.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
epa.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
epg-config.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
epg.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
expand.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ezimage.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
face-remap.el ; Fix recent change of documentation of face-remap 2022-06-20 16:05:05 +03:00
facemenu.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
faces.el Update font scaling documentation to not talk about "face height" 2022-06-20 01:26:05 +02:00
ffap.el Audit symbol quoting in Lisp doc strings 2022-05-24 12:36:51 +02:00
filecache.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
fileloop.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
filenotify.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
files-x.el with-connection-local-variables: Avoid code duplication 2022-05-28 12:02:15 -04:00
files.el Add new command `rename-visited-file' 2022-06-28 14:15:47 +02:00
filesets.el Allow plist-get/plist-put/plist-member to take a comparison function 2022-06-27 12:22:05 +02:00
find-cmd.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
find-dired.el find-dired: Add find-dired-with-command 2022-06-27 09:46:27 +02:00
find-file.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
find-lisp.el Make dired-directory and dired-subdir-alist buffer-local 2022-02-07 01:31:53 +01:00
finder.el Make finder/cus-dep scraping use generate-lisp-file functions 2022-06-05 20:17:30 +02:00
flow-ctrl.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
foldout.el Fix handling double-click-time nil or t 2022-05-02 12:03:08 +02:00
follow.el ; Fix mistakes in 'declare function' forms 2022-05-14 16:19:12 +03:00
font-core.el Remove unnecessary autoload cookie in font-core.el 2022-01-04 09:52:27 +01:00
font-lock.el (syntax-wholeline-max): New var 2022-06-30 13:20:33 -04:00
format-spec.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
format.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
forms.el Audit symbol quoting in Lisp doc strings 2022-05-24 12:36:51 +02:00
frame.el Fix last tty-select-active-regions change 2022-06-18 20:05:40 +03:00
frameset.el ; * lisp/frameset.el: Fix a typo in a comment. 2022-05-04 12:06:10 +03:00
fringe.el Remove window-max-characters-per-line 2022-06-03 05:20:16 +02:00
generic-x.el Speed up generation of loaddefs files 2022-05-31 18:08:33 +02:00
help-at-pt.el ; Fix last change 'display-local-help' and its documentation 2022-04-24 15:47:08 +03:00
help-fns.el Put the obsoletion earlier in the *Help* buffer 2022-06-28 15:22:13 +02:00
help-macro.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
help-mode.el ; * lisp/help-mode.el (help-xref-button): Doc fix. 2022-06-20 15:49:11 +03:00
help.el Restore temp-buffer-resize-mode behaviour wrt. [back] buttons 2022-06-30 12:35:55 +02:00
hex-util.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
hexl.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
hfy-cmap.el Don't generate separate autoload file for htmlfontify 2022-06-05 18:23:17 +02:00
hi-lock.el Prefer defvar-keymap in hi-lock.el 2022-06-20 13:23:24 +02:00
hilit-chg.el Clarify highlight-changes-rotate-faces doc string 2022-06-07 12:22:10 +02:00
hippie-exp.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
hl-line.el Fix setter for hl-line-sticky-flag when hl-line is not loaded 2022-03-24 13:50:55 +08:00
htmlfontify.el Don't generate separate autoload file for htmlfontify 2022-06-05 18:23:17 +02:00
ibuf-ext.el Do not display 'nil for 0-ary filter qualifier in ibuf 2022-06-15 17:52:38 +02:00
ibuf-macs.el Do not display 'nil for 0-ary filter qualifier in ibuf 2022-06-15 17:52:38 +02:00
ibuffer.el Prefer defvar-keymap in ibuffer.el 2022-06-15 16:43:22 +02:00
icomplete.el Merge from origin/emacs-28 2022-06-24 13:52:51 +02:00
ido.el Make ido sorting respect ido-case-fold 2022-06-24 20:18:21 +02:00
ielm.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
iimage.el * lisp/iimage.el (iimage-mode-map): Prefer defvar-keymap. 2022-05-11 16:12:00 +02:00
image-dired.el image-dired: Use full name for bookmark handler type 2022-06-17 21:14:39 +02:00
image-file.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
image-mode.el Fix some declare-after-interactive functions 2022-06-17 18:19:02 +02:00
image.el Add support for image flipping 2022-06-24 14:44:02 +02:00
imenu.el Fix imenu popup syntax 2022-06-24 14:11:54 +02:00
indent.el Bind TAB in indent-rigidly-map as a convenience 2022-05-12 03:35:49 +02:00
info-look.el Allow reusing the *Help* window with i'/s/ commands 2022-05-02 11:30:52 +02:00
info-xref.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
info.el Further audits of single quotes in Lisp doc strings 2022-05-24 13:17:53 +02:00
informat.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
isearch.el * lisp/isearch.el (isearch-delete-char): Improve fix for bug#52248. 2022-06-28 20:20:21 +03:00
isearchb.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
jit-lock.el (syntax-wholeline-max): New var 2022-06-30 13:20:33 -04:00
jka-cmpr-hook.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
jka-compr.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
json.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
jsonrpc.el * lisp/jsonrpc.el (Version): Bump to 1.0.15. 2022-01-13 13:00:25 +01:00
kermit.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
keymap.el Filter out NS non-key events from `where-is-internal' 2022-06-18 14:06:30 +02:00
kmacro.el Prefer defvar-keymap in kmacro.el 2022-06-19 14:32:13 +02:00
ldefs-boot.el Regenerate ldefs-boot.el 2022-06-30 21:33:46 +02:00
linum.el Add comment to linum-mode about being old 2022-04-28 12:38:01 +02:00
loadhist.el (function-history): New symbol property (bug#53632) 2022-01-31 11:07:26 -05:00
loadup.el Allow `kill-buffer' query to save the buffer first 2022-06-24 11:04:51 +02:00
locate.el Give a better error in locate-default-make-command-line 2022-02-07 04:58:49 +01:00
lpr.el ; Fix mistakes in 'declare function' forms 2022-05-14 16:19:12 +03:00
ls-lisp.el Fix sorting in ls-lisp.el under -v 2022-06-05 09:52:09 +03:00
macros.el kmacro: Represent it as an OClosure 2022-04-01 20:07:33 -04:00
Makefile.in Add mechanism for gradually phasing in new byte compilation warnings 2022-06-19 13:37:10 +02:00
makesum.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
man.el Add more bookmark types 2022-02-20 13:23:33 +01:00
master.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
mb-depth.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
md4.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
menu-bar.el Ensure correct toggle menu item display 2022-06-29 07:53:35 +02:00
midnight.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
minibuf-eldef.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
minibuffer.el Allow toggling completion modes for M-x' with M-X' 2022-06-24 20:18:21 +02:00
misc.el duplicate-line: fix optional argument and add test (bug#46621) 2022-06-22 16:03:46 +02:00
misearch.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
mouse-copy.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
mouse-drag.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
mouse.el Make <mouse-2> in mode line more careful as well 2022-06-26 17:45:45 +02:00
mpc.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
msb.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
mwheel.el Prefer Emacs mouse button event names to XEmacs names 2022-06-22 13:28:25 +02:00
newcomment.el Revert "Allow commenting out white space lines in latex-mode" 2022-05-31 20:20:23 +02:00
notifications.el (with-demoted-errors): Warn on missing format arg 2022-02-04 19:39:53 -05:00
novice.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
obarray.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
outline.el Revert "Add meta navigation keys to outline-minor-mode-cycle-map" 2022-05-11 13:56:10 +02:00
paren.el Allow show-paren to show matching parentheses inside comments 2022-05-02 11:02:54 +02:00
password-cache.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pcmpl-cvs.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pcmpl-gnu.el (with-demoted-errors): Warn on missing format arg 2022-02-04 19:39:53 -05:00
pcmpl-linux.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pcmpl-rpm.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pcmpl-unix.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pcmpl-x.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pcomplete.el pcomplete-parse-arguments: Fix last change 2022-06-08 01:08:22 +03:00
pgtk-dnd.el * lisp/pgtk-dnd.el (pgtk-dnd-use-offix-drop): Remove extra variable. 2022-06-29 16:00:09 +08:00
pixel-scroll.el Allow precision-scrolling nonselected windows when the minibuffer is resized 2022-05-09 09:37:58 +08:00
plstore.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
printing.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
proced.el Handle remote system processes 2022-04-05 17:08:03 +02:00
profiler.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ps-bdf.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ps-def.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ps-mule.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
ps-print.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
ps-samp.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
README
recentf.el New command recentf-open 2022-06-25 12:55:18 +02:00
rect.el * lisp/rect.el: Return correct positions of region-beginning/end (bug#55234) 2022-06-08 20:10:12 +03:00
register.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
registry.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
repeat.el Merge from origin/emacs-28 2022-06-21 21:53:57 +02:00
replace.el Fix subr-x fix that was missed when re-reverting 2022-06-25 12:45:40 +02:00
reposition.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
reveal.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
rfn-eshadow.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
rot13.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
rtree.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ruler-mode.el Improve ruler-mode dragging 2022-02-22 15:22:50 +01:00
savehist.el Allow savehist-additional-variables to truncate lists 2022-02-15 11:29:43 +01:00
saveplace.el New hook save-place-after-find-file-hook 2022-06-30 14:07:15 +02:00
scroll-all.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
scroll-bar.el Improve scroll-bar-mode/default-frame-alist interaction docs 2022-03-04 16:55:57 +01:00
scroll-lock.el * lisp/scroll-lock.el (scroll-lock-mode-map): Prefer defvar-keymap. 2022-05-11 16:12:00 +02:00
select.el Improve compliance with the XDS and XDND protocols 2022-06-30 14:15:50 +08:00
server.el Fix typo in previous server.el change 2022-06-30 12:13:03 +02:00
ses.el Further audits of single quotes in Lisp doc strings 2022-05-24 13:17:53 +02:00
shadowfile.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
shell.el * lisp/shell.el (shell): Fix last change 2022-05-29 13:37:44 -04:00
simple.el Fix deletion of composed text 2022-06-27 15:32:53 +03:00
skeleton.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
so-long.el Merge from origin/emacs-28 2022-06-24 13:52:51 +02:00
sort.el Make sorting not change buffer modification status always 2022-05-03 21:23:40 +02:00
soundex.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
speedbar.el Remove compat code; assume imenu.el exists 2022-05-20 21:03:56 +02:00
sqlite-mode.el Fix cl-generic bootstrap problems 2022-06-24 11:04:51 +02:00
sqlite.el ; Add 2022 to copyright years. 2022-01-01 07:07:15 -05:00
startup.el Make the nativecomp test eln directory more reliably be removed 2022-05-24 14:06:38 +02:00
strokes.el Rename compare-window-configurations and update doc 2022-05-20 04:23:32 +02:00
subr.el * lisp/subr.el (plistp): Simplify (bug#47427). 2022-06-27 23:25:51 +03:00
svg.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
t-mouse.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
tab-bar.el Further audits of single quotes in Lisp doc strings 2022-05-24 13:17:53 +02:00
tab-line.el * lisp/tab-line.el (tab-line-format): Use mode-line-window-selected-p. 2022-02-10 20:52:55 +02:00
tabify.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
talk.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
tar-mode.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
tempo.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
term.el Update term-char-mode doc string 2022-06-26 16:45:09 +02:00
thingatpt.el Fix (bounds-of-thing-at-point 'number) 2022-03-25 17:32:40 +01:00
thread.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
thumbs.el Add new function image-supported-file-p 2022-03-22 15:02:08 +01:00
time-stamp.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
time.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
timezone.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
tmm.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
tool-bar.el Flush the tool bar cache on all terminals when adding new entries 2022-05-04 09:35:05 +02:00
tooltip.el ; Minor improvements to earlier change 2022-05-13 20:48:58 +08:00
transient.el Prefer URL commentary header in two files 2022-06-18 11:07:42 +02:00
tree-widget.el Make the Unicode tree widget prettier 2022-06-05 15:59:37 +02:00
tutorial.el Don't have the tutorial ask to save if we haven't moved 2022-05-20 03:59:39 +02:00
type-break.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
uniquify.el ; * lisp/uniquify.el: Remove incorrect comment. 2022-06-23 15:14:16 +02:00
userlock.el Fix userlock diagnostic 2022-01-11 08:58:39 -08:00
vcursor.el Drop ancient OEmacs support from vcursor.el 2022-05-14 15:55:20 +02:00
version.el Merge from origin/emacs-28 2022-02-03 06:30:29 +01:00
view.el Fix the final divergent single quote usages in doc strings 2022-05-24 18:48:50 +02:00
w32-fns.el Speed up generation of loaddefs files 2022-05-31 18:08:33 +02:00
w32-vars.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
wdired.el Fix wdired marking of unsuccessfully renamed files 2022-06-17 14:48:31 +02:00
whitespace.el whitespace: Redraw if indentation or line length changes 2022-06-20 09:41:15 +02:00
wid-browse.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
wid-edit.el Fix :match function for the key widget 2022-02-19 13:33:32 +01:00
widget.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
windmove.el Autoload decorator for windmove-mode 2022-01-04 14:15:10 +01:00
window.el Allow C-x 4 4, C-x 5 5, C-x t t to handle commands that use switch-to-buffer 2022-06-09 09:41:52 +03:00
winner.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
woman.el Remove some ancient Emacs compat code 2022-05-18 00:27:52 +02:00
x-dnd.el Disable unrelated drag-and-drop protocols during XDS drop 2022-06-30 16:41:58 +08:00
xdg.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
xml.el Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
xt-mouse.el ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
xwidget.el ; Fix typos 2022-05-15 11:15:06 +02:00
yank-media.el Fix yank-media utf-16 detection 2022-02-05 08:50:05 +01: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.