Files
emacs/lisp
F. Jason Park d46c016fbd Sort and dedupe when loading modules in erc-open
* doc/misc/erc.texi: Add new subheading "Module Loading" under the
"Modules" chapter.
* lisp/erc/erc.el (erc--sort-modules): New utility function to sort
and dedupe modules.
(erc-modules): In `custom-set' function, factor out collation into
separate utility `erc--sort-modules'.
(erc-update-modules): Call `erc--update-modules' with an argument, the
current value of `erc-modules'.
(erc--aberrant-modules): New variable, a list of symbols whose modules
ERC suspects of being incorrectly defined.
(erc--warn-about-aberrant-modules): New function to print an error
message and emit a warning prior to connecting when
`erc--aberrant-modules' is non-nil.
(erc--find-mode): Make heuristic more robust by always checking for a
mode activation command rather than just a state variable.  This fixes
a compatibility bug, new in 5.6, affecting third-party modules that
autoload module definitions instead of their corresponding
mode-activation commands.
(erc--update-modules): Add new positional argument `modules'.
(erc--setup-buffer-hook): Add new default member,
`erc--warn-about-aberrant-modules'.
(erc-open): Pass sorted `erc-modules' to `erc--update-modules'.
* test/lisp/erc/erc-tests.el (erc--sort-modules): New test.
(erc-tests--update-modules): New fixture.
(erc--update-modules): Remove and rework as three separate tests
dedicated to specific contexts.  The existing one had poor coverage
and was difficult, if not impossible, to follow.
(erc--update-modules/unknown, erc--update-modules/local,
erc--update-modules/realistic): New tests.  (Bug#57955)
2023-10-13 07:47:00 -07:00
..
2023-10-07 03:46:48 -04:00
2023-10-07 03:48:00 -04:00
2023-10-13 16:18:06 +02:00
2023-09-30 13:50:07 -04:00
2023-10-07 03:46:48 -04:00
2023-09-26 09:29:39 +02:00
2023-10-13 16:18:06 +02:00
2023-10-13 16:18:06 +02:00
2023-09-16 07:36:49 -04:00
2023-09-02 04:33:44 -04:00
2023-10-13 16:16:19 +02:00
2023-06-17 05:02:55 -04:00
2023-10-08 10:42:47 +08:00
2023-07-01 06:29:52 -04:00
2023-09-02 18:57:11 +02:00
2023-08-26 10:54:43 +03:00
2023-08-21 18:23:12 -07:00
2023-09-09 04:33:47 -04:00
2023-09-09 04:32:45 -04:00
2023-08-04 03:17:49 -04:00
2023-09-23 09:32:57 -04:00
2023-08-27 21:45:30 +02:00
2023-09-02 04:33:44 -04:00
2023-10-07 03:48:00 -04:00
2023-09-09 04:33:47 -04:00
2023-10-07 03:46:48 -04:00
2023-09-09 04:32:45 -04:00
2023-08-16 16:55:38 +02:00
2023-09-18 10:19:49 +02:00
2023-10-13 16:38:54 +02:00
2023-07-26 17:30:21 +03:00
2023-09-11 02:16:59 +02:00
2023-10-07 03:46:48 -04:00
2023-09-16 07:36:49 -04:00
2023-09-16 07:36:49 -04:00
2023-09-23 09:41:11 -04:00
2023-09-16 07:36:49 -04:00
2023-10-07 03:46:48 -04:00
2023-09-25 10:32:36 +03:00
2023-07-07 10:00:56 +08:00
2023-08-27 14:47:14 +02:00
2023-10-13 16:16:19 +02:00
2023-10-07 03:46:48 -04:00
2023-08-17 08:45:57 +08:00
2023-09-17 16:49:21 +02:00
2023-10-13 16:16:19 +02:00
2023-07-02 15:15:17 -04: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.