1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 04:10:27 -08:00
emacs/lisp/erc
F. Jason Park 31a80f61ec Preserve prompt in erc-cmd-CLEAR
* etc/ERC-NEWS: Mention behavioral changes to functionality provided
by the `truncate' and `log' modules and also the "/CLEAR" command.
* lisp/erc/erc-log.el (erc-truncate-buffer-on-save): Deprecate option
because three's a crowd, and ERC already has a dedicated module as
well as a slash command for this purpose.  And although this commit
restores functionality, this option has been unusable since at least
the release of ERC 5.5, with no known complaints received thus far.
Also, the doc string of `erc-save-buffer-in-logs' makes no mention of
this feature WRT interactive invocations or otherwise.
(erc-log-mode, erc-log-enable, erc-log-disable): Subscribe to
new internal hook `erc--pre-clear-functions'.
(erc-log--save-in-progress-p): New variable to help restore
`erc-truncate-buffer-on-save' and promote code reuse.
(erc-logging-enabled): Guard with `erc-log--saved-in-progress-p'.
(erc-save-buffer-in-logs): Overload `buffer' parameter to allow
various hooks to supply a non-buffer as well.  Warn when people use
`erc-truncate-buffer-on-save', which is now deprecated.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable,
erc-stamp-disable): Subscribe to `erc--pre-clear-functions'.
(erc-stamp--update-saved-position): New function for updating
last-logged marker on `erc-stamp--insert-date-function'.
(erc-stamp--reset-on-clear): New function to forget last inserted
stamps when truncating.
* lisp/erc/erc-truncate.el (erc-truncate-mode, erc-truncate-enable,
erc-truncate-disable): Use `erc-insert-done-hook' instead of
`erc-insert-post-hook', as implicitly suggested by an ancient comment,
which ponders whether truncating the buffer at the insertion phase may
be harmful to other hook members.
(erc-truncate-buffer-to-size): Set truncation boundary at message
break instead of line break.  Run `erc--pre-clear-functions'.
(erc-truncate-buffer): Save excursion.  This should probably be
handled by `erc-truncate-buffer-to-size' instead, but that's
likelier to cause breakage in third-party code.
* lisp/erc/erc.el (erc--pre-clear-functions): New internal hook.
(erc-cmd-CLEAR): Run `erc--pre-clear-functions' before clearing, and
don't blow away prompt.  The latter was a regression caused by
05f6fdb9e7 "Preserve ERC prompt and its bounding markers".
* test/lisp/erc/erc-scenarios-log.el: New file.  (Bug#60936)
2023-05-29 21:46:23 -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 Add interface for finding users in erc-server-PRIVMSG 2023-05-05 17:18:01 -07:00
erc-button.el Simplify erc-tab interface 2023-05-29 21:42:41 -07:00
erc-capab.el Don't associate ERC modules with undefined groups 2023-04-08 14:23:51 -07:00
erc-common.el Add helper for restoring local session vars in ERC 2023-05-13 07:05:22 -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 * lisp/erc/erc-fill.el (erc-fill-spaced-commands): Fix typing errors 2023-05-18 09:49:53 +02:00
erc-goodies.el Make some module toggles more resilient in ERC 2023-05-13 07:05:22 -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 Make some module toggles more resilient in ERC 2023-05-13 07:05:22 -07:00
erc-join.el Fix custom type of erc-autojoin-channels-alist 2023-05-21 20:44:06 -07: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 Preserve prompt in erc-cmd-CLEAR 2023-05-29 21:46:23 -07:00
erc-match.el Make some module toggles more resilient in ERC 2023-05-13 07:05:22 -07:00
erc-menu.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-netsplit.el ; Silence byte compiler in erc-netsplit-JOIN 2023-05-21 18:59:33 -07: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 Add helper for restoring local session vars in ERC 2023-05-13 07:05:22 -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 Make some module toggles more resilient in ERC 2023-05-13 07:05:22 -07:00
erc-stamp.el Preserve prompt in erc-cmd-CLEAR 2023-05-29 21:46:23 -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 Preserve prompt in erc-cmd-CLEAR 2023-05-29 21:46:23 -07:00
erc-xdcc.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc.el Preserve prompt in erc-cmd-CLEAR 2023-05-29 21:46:23 -07:00