1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-10 05:30:45 -08:00
emacs/test/lisp/erc
F. Jason Park fee637468b Reconcile erc-stamp--date-stamps when merging buffers
* etc/ERC-NEWS: Mention new face `erc-information'.
* lisp/erc/erc-button.el (erc-button-add-buttons): Skip buttonization
when the "msg prop" `erc--skip' is present and contains the symbol
`button'.  Set `alist' to nil in the same guard condition as a
roundabout way of suppressing further processing.
* lisp/erc/erc-networks.el (erc--insert-admin-message): Forward
declaration.
(erc-networks--insert-transplanted-content)
(erc-networks--transplant-buffer-content): Replace former with latter.
Change signature to take source and destination buffers as parameters.
(erc-networks--transplant-target-buffer-function): New function-valued
variable.
(erc-networks--target-transplant-in-progress-p): New variable, a flag
for downstream code to detect when a transplant is underway.
(erc-networks--reclaim-orphaned-target-buffers): Defer to
`erc-networks--transplant-target-buffer-function' to handle the actual
transplant business.  Crucially, kill the buffer afterwards instead of
beforehand.  If new buffer-association bugs emerge related to the
combining of old or renamed target buffers, this reordering may be at
fault.
(erc-networks--copy-over-server-buffer-contents): Pass old and new
buffers to `erc-networks--insert-transplanted-content'.
* lisp/erc/erc-stamp.el
(erc-stamp--defer-date-insertion-on-post-modify): Set `fn' slot of
`erc-stamp--date' instance to `ignore' when running the actual
callback in order to conserve a little space.
(erc-stamp--date-mode): Add and remove hook members for
`erc-networks--copy-server-buffer-functions' and
`erc-networks--transplant-target-buffer-function'.
(erc-insert-timestamp-left-and-right): Always clear
`erc-timestamp-last-inserted-right' to ensure a right stamp
accompanies every date stamp.
(erc-stamp--dedupe-date-stamps)
(erc-stamp--dedupe-date-stamps-from-buffer)
(erc-stamp--dedupe-date-stamps-from-target-buffer): New functions.
Date stamp behavior was revamped as part of bug#60936.
* lisp/erc/erc.el (erc-informational): New face.
(erc--insert-admin-message): New function to hide some "msg prop"
complexity from "upstream" libraries, like `erc-networks', and thus
avoid more forward-declarations.  A less smelly approach would be to
devise a general interface owned by such libraries, or erc-common,
that `erc-mode' could then hook into on init.
(erc-display-message-highlight): Make face matching more limber to
accommodate the convention of face names lacking a "-face" suffix.
(erc-message-english-graft): New variable.
(erc-kill-channel): Inhibit execution of hook when
`erc-networks--target-transplant-in-progress-p' is non-nil.
* test/lisp/erc/erc-networks-tests.el
(erc-networks--rename-server-buffer--no-existing--orphan)
(erc-networks--rename-server-buffer--existing--reuse)
(erc-networks--rename-server-buffer--local-match)
(erc-networks--rename-server-buffer--local-nomatch): Use helper to
initialize markers.
* test/lisp/erc/erc-stamp-tests.el (erc-stamp--dedupe-date-stamps):
New test.  (Bug#70928)
2024-05-18 15:48:05 -07:00
..
resources Add format-catalog entry for unknown chan mode in ERC 2024-05-08 17:11:26 -07:00
erc-button-tests.el Don't nest date stamp insertions in erc-stamp 2024-04-19 13:54:52 -07:00
erc-dcc-tests.el ; Simplify (with-current-buffer (get-buffer ...) ...) 2024-03-14 12:40:26 +02:00
erc-fill-tests.el Don't nest date stamp insertions in erc-stamp 2024-04-19 13:54:52 -07:00
erc-goodies-tests.el Remove unused faces from various erc-goodies tests 2024-03-23 15:10:32 -07:00
erc-join-tests.el
erc-match-tests.el
erc-networks-tests.el Reconcile erc-stamp--date-stamps when merging buffers 2024-05-18 15:48:05 -07:00
erc-nicks-tests.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-sasl-tests.el
erc-scenarios-auth-source.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-association-nick.el ; Set explicit hook depth for erc-once-with-server-event 2024-05-02 19:21:48 -07:00
erc-scenarios-base-association-query.el
erc-scenarios-base-association-samenet.el
erc-scenarios-base-association.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-attach.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-auto-recon.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-buffer-display.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-chan-modes.el Actually derive channel membership from PREFIX in ERC 2024-01-24 20:58:32 -08:00
erc-scenarios-base-compat-rename-bouncer.el
erc-scenarios-base-kill-on-part.el Don't kill server buffer with erc-kill-buffer-on-part 2024-05-18 15:48:05 -07:00
erc-scenarios-base-local-module-modes.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-local-modules.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-misc-regressions.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-netid-bouncer-id.el
erc-scenarios-base-netid-bouncer-recon-base.el
erc-scenarios-base-netid-bouncer-recon-both.el
erc-scenarios-base-netid-bouncer-recon-id.el
erc-scenarios-base-netid-bouncer.el
erc-scenarios-base-netid-samenet.el
erc-scenarios-base-reconnect.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-renick.el Add format-catalog entry for unknown chan mode in ERC 2024-05-08 17:11:26 -07:00
erc-scenarios-base-reuse-buffers.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-send-message.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-split-line.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-statusmsg.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-unstable.el
erc-scenarios-base-upstream-recon-soju.el
erc-scenarios-base-upstream-recon-znc.el Reassociate erc-networks--id for orphaned queries 2024-02-02 17:08:21 -08:00
erc-scenarios-display-message.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-ignore.el Add format-catalog entry for unknown chan mode in ERC 2024-05-08 17:11:26 -07:00
erc-scenarios-internal.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-join-auth-source.el
erc-scenarios-join-display-context.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-join-netid-newcmd-id.el
erc-scenarios-join-netid-newcmd.el
erc-scenarios-join-netid-recon-id.el
erc-scenarios-join-netid-recon.el
erc-scenarios-keep-place-indicator.el ; Fix typos 2024-01-28 17:11:51 +01:00
erc-scenarios-log.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-match.el Don't nest date stamp insertions in erc-stamp 2024-04-19 13:54:52 -07:00
erc-scenarios-misc-commands.el Make erc-cmd-AMSG session local; add /GMSG, /AME and /GME 2024-02-23 18:45:44 -08:00
erc-scenarios-misc.el Add format-catalog entry for unknown chan mode in ERC 2024-05-08 17:11:26 -07:00
erc-scenarios-prompt-format.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-sasl.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-scrolltobottom-relaxed.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-scrolltobottom.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-services-misc.el ; Simplify (with-current-buffer (get-buffer ...) ...) 2024-03-14 12:40:26 +02:00
erc-scenarios-stamp.el Add erc--skip message property 2024-04-19 13:54:52 -07:00
erc-scenarios-status-sidebar.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-services-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-stamp-tests.el Reconcile erc-stamp--date-stamps when merging buffers 2024-05-18 15:48:05 -07:00
erc-tests.el Fix regression involving erc-query-buffer-p 2024-04-19 13:54:52 -07:00
erc-track-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00