1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-03 04:21:28 -08:00
emacs/test/lisp
F. Jason Park 174b3dd9bd Make nested input handling more robust in ERC
* lisp/erc/erc.el (erc--send-action-function): New function-valued
variable for locally advising `erc-send-action' so that built-in
modules can elect to handle insertion and sending themselves.
(erc-send-action): Defer to `erc--send-action-function'.
(erc--send-action-perform-ctcp): Isolate the message-sending business
for CTCP ACTIONs that used to reside in `erc-send-action'.
(erc--send-action-display): Isolate the message-insertion business
formerly residing in `erc-send-action' for more granular use.  Fix a
minor bug involving inserted representations of CTCP ACTIONs not
having `erc-my-nick-face' applied to the speaker.
(erc--send-action): Perform the same displaying and sending of CTCP
ACTION messages formerly handled by `erc-send-action', but display
messages before sending them.
(erc--current-line-input-split): New variable bound to the post-review
`erc--input-split' object for the extent of display processing.  This
mainly benefits slash-command handlers and the utility functions they
employ, such as `erc-send-message'.
(erc-cmd-SAY): Defer to `erc--send-message'.
(erc--send-message-nested-function): New function-valued variable
supporting an internal interface for influencing how
`erc-send-message' inserts and sends prompt input.  Some handlers for
slash commands, like /SV, use `erc-send-message' to perform their own
insertion and sending, which is normally the domain of
`erc-send-current-line'.  When this happens, modules can't easily
leverage the normal hook-based API to do things like suppress
insertion but allow sending or vice-versa.  This variable provides an
internal seam for modules to exert such influence.
(erc-send-message): Behave specially when called by the default
interactive client via `erc-send-current-line' and friends.
(erc--send-message-external): New function to house the former body of
`erc-send-message', for third-party code needing to apply the
traditional behavior.
(erc--send-message-nested): New function for turning arbitrary text,
such as replacement prompt input, into outgoing message text by doing
things like ensuring "send" hooks run and invariants for prompt
markers are preserved.
(erc--make-input-split): New helper function for creating a standard
`erc--input-split' object from a string.  This is arguably less
confusing than adding another constructor to the struct definition.
(erc-send-current-line): Bind `erc--current-line-input-split' when
dispatching prompt-input handlers.  Use helper `erc--make-input-split'
to initialize working `erc--input-split' state object.
(erc--run-send-hooks): Honor existing `refoldp' slot from
`erc--input-split' object.
(erc--send-input-lines): Convert to generic function to allow modules
control over fundamental insertion and sending operations, which is
necessary for next-generation features, like multiline messages.
(erc-modes): Don't output non-modules.  That is, only list actual
modules created via `define-erc-module', and `quote' members of the
resulting list.
* test/lisp/erc/erc-scenarios-base-send-message.el: New test file.
* test/lisp/erc/resources/base/send-message/noncommands.eld: New data
file.  (Bug#67031)
2023-11-12 20:37:48 -08:00
..
align-resources Support lua-ts-mode in align.el 2023-10-21 12:25:25 +02:00
auth-source-resources Move netrc tests to auth-source-tests.el 2022-08-04 17:33:34 +02:00
bookmark-resources
calc Actually check the result of equal comparisons in tests 2023-08-14 17:03:44 +02:00
calendar Revert "Mark two tests as expensive" 2023-09-16 19:09:04 +02:00
cedet Split up tests in bovine/gcc-tests.el 2023-08-28 22:07:23 +02:00
custom-resources
dired-resources/insert-directory
emacs-lisp Fix bytecomp-tests--dest-mountpoint test failure 2023-11-04 10:30:41 +01:00
emulation ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
epg-resources Replace aging OpenPGP artifacts in the epg tests. 2022-10-06 14:53:39 +02:00
erc Make nested input handling more robust in ERC 2023-11-12 20:37:48 -08:00
eshell ; Fix docstring typo in Eshell tests 2023-11-12 11:08:40 -08:00
faces-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
files-resources * test/lisp/files-resources/compile-utf8.el: Use lexical-binding 2022-05-26 12:16:04 -04:00
gnus Merge from origin/emacs-29 2023-10-28 05:06:21 -04:00
hfy-cmap-resources
image Revert "Fix image-dired-utils-tests after 83b6a8a514 (bug#61394)" 2023-08-03 11:40:44 +03:00
international Merge from origin/emacs-29 2023-09-23 09:32:57 -04:00
loadhist-resources ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
mail ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
mh-e MH-E testing: find locally-installed GNU Mailutils libraries 2023-11-03 15:24:21 -07:00
minibuffer-resources
net ; Fix webjump test after recent change 2023-10-25 23:26:33 +02:00
nxml ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
obsolete ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
org ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
pcmpl-linux-resources
play ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
progmodes Hook 'bug-reference-mode' up to 'thing-at-point' 2023-11-11 21:40:12 -08:00
saveplace-resources
so-long-tests ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
term ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
textmodes Fix font locking of booleans in conf-toml-mode 2023-08-01 14:39:30 +02:00
time-resources
url Use more recent public_suffix_list.dat where possible 2023-02-17 22:50:13 +01:00
use-package Fix use-package :vc keyword when byte-compiled 2023-06-03 10:27:46 +03:00
vc Use new ERT skip-when macro in tests 2023-09-04 18:25:18 +02:00
xdg-resources
abbrev-tests.el ; * test/lisp/abbrev-tests.el (abbrev--possibly-save-test): Fix test. 2023-03-18 12:35:10 +02:00
align-tests.el ; * test/lisp/align-tests.el: Pacify warning. 2023-10-23 12:59:13 +02:00
allout-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
allout-widgets-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ansi-color-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ansi-osc-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
apropos-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
arc-mode-tests.el Clean up files created by arc-mode-tests 2023-05-10 14:48:34 +02:00
auth-source-pass-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
auth-source-tests.el Fix auth-source-macos-keychain (bug#64977) 2023-08-13 18:31:47 +02:00
autoinsert-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
autorevert-tests.el Use new ERT skip-when macro in tests 2023-09-04 18:25:18 +02:00
battery-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
bookmark-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
buff-menu-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
button-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
calculator-tests.el Add test for calculator-exp 2023-08-16 21:27:50 +02:00
char-fold-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
color-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
comint-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
completion-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
cus-edit-tests.el ; * test/lisp/cus-edit-tests.el: remove unused var (bug#63290) 2023-08-21 17:05:53 +02:00
custom-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
dabbrev-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
delim-col-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
descr-text-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
desktop-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
dired-aux-tests.el ; * test/lisp/dired-aux-tests.el: remove mistaken unwind-protect 2023-03-29 22:18:28 +02:00
dired-tests.el ; * test/lisp/dired-tests.el (dired-test-bug27243-03): fix unwind 2023-08-14 17:03:44 +02:00
dired-x-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
dnd-tests.el Render default DND file name handlers more precise 2023-10-28 06:42:48 +00:00
dom-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
edmacro-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
electric-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
elide-head-tests.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
env-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
epg-config-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
epg-tests.el Skip hanging EasyPG tests on GnuPG 2.4 2023-08-29 00:48:54 +02:00
faces-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ffap-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
filenotify-tests.el New filenotify tests 2023-10-12 11:02:53 +02:00
files-tests.el ; Improve commentary in 'files-tests-save-buffer-read-only-file'. 2023-11-04 15:02:07 +02:00
files-x-tests.el Fix connection-local variables settings 2023-03-13 18:02:36 +01:00
find-cmd-tests.el Avoid using rx any for not-newline 2023-05-30 17:44:53 +02:00
font-lock-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
format-spec-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
help-fns-tests.el Make describe-keymap tests more robust 2023-08-08 03:54:02 +02:00
help-mode-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
help-tests.el Rename describe-map-tree to help--describe-map-tree 2023-09-17 22:56:00 +02:00
hfy-cmap-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
hi-lock-tests.el Fix hi-lock-tests when 'use-dialog-box' is non-nil 2023-02-18 10:45:12 +02:00
hl-line-tests.el Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
htmlfontify-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ibuffer-tests.el Use new ERT skip-when macro in tests 2023-09-04 18:25:18 +02:00
ido-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
image-file-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
image-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
imenu-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
info-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
info-xref-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
isearch-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
jit-lock-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
json-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
jsonrpc-tests.el Better jsonrpc.el workaround for debug-on-error check 2023-03-14 19:36:47 +00:00
kmacro-tests.el Fix insertion of keyboard macro containing named keys 2023-02-24 11:43:08 +01:00
loadhist-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
lpr-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ls-lisp-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
man-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
md4-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
minibuffer-tests.el Fix test failures in test/lisp/minibuffer-tests.el 2023-11-11 16:13:52 +00:00
misc-tests.el Add duplicate-region-final-position (bug#64185) 2023-07-01 12:41:09 +02:00
mouse-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
mwheel-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
newcomment-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
obarray-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
paren-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
password-cache-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
pcmpl-linux-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
pcomplete-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
proced-tests.el ; Fix copyright year in proced-tests.el 2023-08-29 21:40:38 +02:00
ps-print-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
register-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
repeat-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
replace-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
rot13-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
saveplace-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
scroll-lock-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
server-tests.el Skip hanging tests on Cygwin (bug#65325) 2023-08-19 14:21:34 -04:00
ses-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
shadowfile-tests.el Use new ERT skip-when macro in tests 2023-09-04 18:25:18 +02:00
shell-tests.el ; * test/lisp/shell-tests.el: Add tests for shell-dirtrack-mode (bug#64311) 2023-07-08 19:30:06 +03:00
simple-tests.el Revert "Mark two tests as expensive" 2023-09-16 19:09:04 +02:00
sort-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
soundex-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
startup-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
subr-tests.el (provided-mode-derived-p): Fix alias case 2023-10-27 20:18:54 -04:00
tab-bar-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tabify-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tar-mode-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
tempo-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
term-tests.el Use new ERT skip-when macro in tests 2023-09-04 18:25:18 +02:00
thingatpt-tests.el Improve thing-at-point email detection 2023-03-10 11:22:54 +01:00
thread-tests.el Use new ERT skip-when macro in tests 2023-09-04 18:25:18 +02:00
time-stamp-tests.el Further improve test coverage of time-stamp-pattern parsing 2023-11-04 21:46:27 -07:00
time-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
timezone-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
uniquify-tests.el ; * test/lisp/uniquify-tests.el (uniquify-home): Delete (bug#62621). 2023-08-03 17:04:41 +03:00
version-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
wdired-tests.el Fix wdired-tests on MS-Windows 2023-03-02 14:21:33 +02:00
whitespace-tests.el Merge from origin/emacs-29 2023-01-01 05:47:47 -05:00
wid-edit-tests.el Avoid errors when a restricted-sexp widget is empty 2023-09-16 12:56:34 +03:00
x-dnd-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
xdg-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
xml-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
xt-mouse-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
yank-media-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00