1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 14:01:43 -08:00
emacs/lisp/erc
F. Jason Park 35dd1ade7f Preprocess prompt input linewise in ERC
* etc/ERC-NEWS: Mention revised role of `erc-pre-send-functions'
relative to line splitting.
* lisp/erc/erc-common.el (erc-input): Add new slot `refoldp' to allow
`erc-pre-send-functions' members to indicate that splitting should
occur a second time after all members have had their say.
(erc--input-split): Specify some defaults for overridden slots and
explicitly declare some types for good measure.
* lisp/erc/erc-goodies.el (erc-noncommands-mode,
erc-noncommands-enable, erc-noncommands-disable): Replace
`erc-pre-send-functions' with `erc--input-review-functions'.
* lisp/erc/erc-ring.el (erc-ring-enable, erc-ring-disable,
erc-ring-mode): Subscribe to `erc--input-review-functions' instead of
`erc-pre-send-functions' for `erc--add-to-input-ring'.
* lisp/erc/erc.el (erc-pre-send-functions): Note some nuances
regarding line splitting in doc string and note that a new slot is
available.
(erc--pre-send-split-functions, erc--input-review-functions): Rename
former to latter, while also obsoleting.  Remove large comment.  Add
new default member `erc--run-input-validation-checks'.
(erc-send-modify-hook): Replace the obsolete `erc-send-pre-hook' and
`erc-send-this' with `erc-pre-send-functions' in doc string.
(erc--check-prompt-input-for-excess-lines): Don't trim trailing
blanks.  Rework to also report overages in characters as well as
lines.
(erc--run-input-validation-hooks): New function to adapt an
`erc--input-split' object to `erc--check-prompt-input-functions'.
(erc-send-current-line): Run `erc--input-review-functions' in place of
the validation hooks they've subsumed.  Call `erc--send-input-lines'
instead of the now retired but not deprecated `erc-send-input'.
(erc--run-send-hooks, erc--send-input-lines): New functions that
together form an alternate version of `erc-send-input'.  They operate
on input linewise but make accommodations for older interfaces.
* test/lisp/erc/erc-tests.el (erc-ring-previous-command): Replace
`erc-pre-send-functions' with `erc--input-review-functions'.
(erc-tests--with-process-input-spy): Shadow
`erc--input-review-functions'.
(erc-check-prompt-input-for-excess-lines): Don't expect trailing
blanks to be trimmed.
(erc--run-send-hooks): New test.  (Bug#62947)
2023-05-05 17:18:01 -07:00
..
ChangeLog.1 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
ChangeLog.2 ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-autoaway.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-backend.el Redo line splitting for outgoing messages in ERC 2023-05-05 17:18:01 -07:00
erc-button.el Simplify erc-button movement commands 2023-05-05 17:18:01 -07:00
erc-capab.el Don't associate ERC modules with undefined groups 2023-04-08 14:23:51 -07:00
erc-common.el Preprocess prompt input linewise in ERC 2023-05-05 17:18:01 -07:00
erc-compat.el Optionally prompt for more ERC entry-point params 2023-04-08 14:23:51 -07:00
erc-dcc.el Fix DCC GET flag parsing in erc-dcc 2023-04-08 14:23:50 -07:00
erc-desktop-notifications.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-ezbounce.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-fill.el Simplify erc-button movement commands 2023-05-05 17:18:01 -07:00
erc-goodies.el Preprocess prompt input linewise in ERC 2023-05-05 17:18:01 -07:00
erc-ibuffer.el Don't require erc-goodies in erc.el 2023-04-08 14:23:51 -07:00
erc-identd.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-imenu.el Convert ERC's Imenu integration into proper module 2023-04-08 14:23:51 -07:00
erc-join.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-lang.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-list.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-log.el Put display properties to better use in erc-stamp 2023-04-08 14:23:51 -07:00
erc-match.el Add erc-timestamp property to invisible messages 2023-05-05 17:18:01 -07:00
erc-menu.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-netsplit.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-networks.el Add erc-button helper for substituting command keys 2023-04-08 14:23:51 -07:00
erc-notify.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-page.el Don't require erc-goodies in erc.el 2023-04-08 14:23:51 -07:00
erc-pcomplete.el Leverage loaddefs for migrating ERC modules 2023-04-08 14:23:50 -07:00
erc-replace.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-ring.el Preprocess prompt input linewise in ERC 2023-05-05 17:18:01 -07:00
erc-sasl.el Split overlong outgoing messages in erc-sasl 2023-04-08 14:23:50 -07:00
erc-services.el Leverage loaddefs for migrating ERC modules 2023-04-08 14:23:50 -07:00
erc-sound.el Leverage loaddefs for migrating ERC modules 2023-04-08 14:23:50 -07:00
erc-speedbar.el Don't require erc-goodies in erc.el 2023-04-08 14:23:51 -07:00
erc-spelling.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-stamp.el Add erc-timestamp property to invisible messages 2023-05-05 17:18:01 -07:00
erc-status-sidebar.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-track.el Ignore killed buffers when switching in erc-track 2023-04-08 14:23:51 -07:00
erc-truncate.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-xdcc.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc.el Preprocess prompt input linewise in ERC 2023-05-05 17:18:01 -07:00