1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-01 11:20:41 -08:00
emacs/test/lisp/erc
F. Jason Park 63d8b2a59a Make erc-fill-wrap work with left-sided stamps
* etc/ERC-NEWS: Remove all mention of option `erc-timestamp-align-to'
supporting a value of `margin', which has been abandoned.  Do mention
leading white space before stamps now having stamp-related properties.
* lisp/erc/erc-backend.el (erc--reveal-prompt, erc--conceal-prompt):
New generic functions with default implementations factored out from
`erc--unhide-prompt' and `erc--hide-prompt'.
(erc--prompt-hidden-p): New internal predicate function.
(erc--unhide-prompt): Defer to `erc--reveal-prompt', and set
`erc-prompt' text property to t.
(erc--hide-prompt): Defer to `erc--conceal-prompt', and set
`erc-prompt' text property to `hidden'.
* lisp/erc/erc-compat.el (erc-compat--29-browse-url-irc): Don't
use `function-equal'.
* lisp/erc/erc-fill.el (erc-fill-wrap-margin-width,
erc-fill-wrap-margin-side): New options to control side and initial
width of `fill-wrap' margin.
(erc-fill--wrap-beginning-of-line): Fix bug involving non-string
valued `display' props.
(erc-fill-wrap-toggle-truncate-lines): New command to re-enable
`visual-line-mode' when toggling off `truncate-lines'.
(erc-fill-wrap-mode-map): Remap `toggle-truncate-lines' to
`erc-fill-wrap-toggle-truncate-lines'.
(erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
Update doc string, persist a few local vars, and conditionally set
`erc-stamp--margin-left-p'.  When deactivating, disable
`visual-line-mode' first.
(erc-fill--wrap-continued-message-p): Use `erc-speaker' instead of
heuristics when comparing nicks between consecutive messages.
(erc-fill-wrap-nudge): Update doc string and account for left-sided
stamps.
(erc-timestamp-offset): Add comment regarding conditional guard based
on function-valued option.
* lisp/erc/erc-stamp.el (erc-timestamp-use-align-to): Remove value
variant `margin', which was originally intended to be new in ERC 5.6.
This functionality was all but useless without the internal minor mode
`erc-stamp--display-margin-mode' active.
(erc-stamp-right-margin-width): Remove unused option new in 5.6.
(erc-stamp--display-margin-force): Remove unused function.
(erc-stamp--margin-width, erc-stamp--margin-left-p): New internal
variables.
(erc-stamp--init-margins-on-connect): New function for initializing
mode-managed margin after connecting.
(erc-stamp--adjust-right-margin, erc-stamp--adjust-margin): Rename
function to latter and accommodate left-hand stamps.
(erc-stamp--inherited-props): Move definition higher up in same file.
(erc-stamp--display-margin-mode): Update function name, and adjust
setup and teardown to accommodate left-handed stamps.  Don't add
advice around `erc-insert-timestamp-function'.
(erc-stamp--last-prompt, erc-stamp--display-prompt-in-left-margin):
New function and helper var to convert a normal inserted prompt so
that it appears in the left margin.
(erc-stamp--refresh-left-margin-prompt): Helper for other modules to
quickly refresh prompt outside of insert hooks.
(erc--reveal-prompt, erc--conceal-prompt): New implementations for
when `erc-stamp--display-margin-mode' is active.
(erc-insert-timestamp-left): Convert to generic function and provide
implementation for `erc-stamp--display-margin-mode'.
(erc-stamp--omit-properties-on-folded-lines): New variable, an escape
hatch for propertizing white space before right-side stamps folded
over onto another line.
(erc-insert-timestamp-right): Don't expect `erc-timestamp-align-to' to
ever be the symbol `margin'.  Move handling for that case to one
contingent on the internal minor mode `erc-stamp--display-margin-mode'
being active.  Add text properties preceding stamps that occupy a line
by their lonesome.  See related news entry for rationale.  This is
arguably a breaking change.
* lisp/erc/erc.el (erc--refresh-prompt-hook): New hook variable for
modules to adjust prompt properties whenever it's refreshed.
(erc--refresh-prompt): Fix bug in which user-defined prompt functions
failed to hide when quitting in server buffers.  Run new hook
`erc--refresh-prompt-hook'.
(erc-display-prompt): Add comment noting that the text property
`erc-prompt' now actually matters: it's t while a session is running
and `hidden' when disconnected.
* test/lisp/erc/erc-fill-tests.el (erc-fill--left-hand-stamps): New
test.
* test/lisp/erc/erc-stamp-tests.el
(erc-stamp-tests--use-align-to--nil,
erc-stamp-tests--use-align-to--t): New functions forged from old test
bodies to allow optionally asserting pre-5.6 behavior regarding
leading white space on right-hand stamps that exist on their own line.
(erc-timestamp-use-align-to--nil, erc-timestamp-use-align-to--t):
Parameterize with compatibility flag.
(erc-timestamp-use-align-to--margin,
erc-stamp--display-margin-mode--right): Rename test to latter.
* test/lisp/erc/erc-tests.el (erc-hide-prompt): Add some assertions
for new possible value of `erc-prompt' text property.
* test/lisp/erc/resources/fill/snapshots/stamps-left-01.eld: New test
data file.  (Bug#60936)
2023-07-22 07:33:07 -07:00
..
resources Make erc-fill-wrap work with left-sided stamps 2023-07-22 07:33:07 -07:00
erc-button-tests.el Optionally combine faces in erc-display-message 2023-07-13 18:45:31 -07:00
erc-dcc-tests.el Fix command-line parsing regression in erc-cmd-DCC 2023-07-13 18:45:31 -07:00
erc-fill-tests.el Make erc-fill-wrap work with left-sided stamps 2023-07-22 07:33:07 -07:00
erc-goodies-tests.el Decouple keep-place-indicator from global ERC module 2023-07-13 18:45:31 -07:00
erc-join-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-match-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-networks-tests.el Deprecate erc-server-alist and erc-server-select 2023-07-13 18:45:31 -07:00
erc-nicks-tests.el Add module for colorizing nicknames to ERC 2023-07-13 18:45:31 -07:00
erc-sasl-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-auth-source.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-association-nick.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-association-query.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-association-samenet.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-association.el Remove obsolete server buffers on MOTD in erc-track 2023-01-10 06:34:01 -08:00
erc-scenarios-base-attach.el Revive option erc-query-on-unjoined-chan-privmsg 2023-05-05 17:18:01 -07:00
erc-scenarios-base-auto-recon.el Add probing erc-server-reconnect-function variant 2023-04-08 14:23:50 -07:00
erc-scenarios-base-buffer-display.el Allow custom display-buffer actions in ERC 2023-07-13 18:45:31 -07:00
erc-scenarios-base-compat-rename-bouncer.el ; Fix filename mismatches in prop lines of ERC tests 2023-01-24 20:15:18 -08:00
erc-scenarios-base-local-module-modes.el Refactor marker initialization in erc-open 2023-04-08 14:23:51 -07:00
erc-scenarios-base-local-modules.el Refactor marker initialization in erc-open 2023-04-08 14:23:51 -07:00
erc-scenarios-base-misc-regressions.el Add MOTD command to ERC 2023-04-08 14:23:50 -07:00
erc-scenarios-base-netid-bouncer-id.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-netid-bouncer-recon-base.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-netid-bouncer-recon-both.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-netid-bouncer-recon-id.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-netid-bouncer.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-netid-samenet.el ; Fix filename mismatches in prop lines of ERC tests 2023-01-24 20:15:18 -08:00
erc-scenarios-base-reconnect.el Move ERC's buffer-display tests to separate file 2023-05-05 17:18:01 -07:00
erc-scenarios-base-renick.el Revert "Add hook to regain nickname in ERC" 2023-06-11 20:24:07 -07:00
erc-scenarios-base-reuse-buffers.el ; Remove failing erc-reuse-buffers test 2023-02-14 08:25:00 -08:00
erc-scenarios-base-split-line.el Redo line splitting for outgoing messages in ERC 2023-05-05 17:18:01 -07:00
erc-scenarios-base-unstable.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-base-upstream-recon-soju.el ; Fix filename mismatches in prop lines of ERC tests 2023-01-24 20:15:18 -08:00
erc-scenarios-base-upstream-recon-znc.el ; Fix filename mismatches in prop lines of ERC tests 2023-01-24 20:15:18 -08:00
erc-scenarios-internal.el ; Prevent ERC-induced false positive in JUnit report 2023-02-15 08:34:04 -08:00
erc-scenarios-join-auth-source.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-join-display-context.el Allow custom display-buffer actions in ERC 2023-07-13 18:45:31 -07:00
erc-scenarios-join-netid-newcmd-id.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-join-netid-newcmd.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-join-netid-recon-id.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-join-netid-recon.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
erc-scenarios-log.el Preserve prompt in erc-cmd-CLEAR 2023-05-29 21:46:23 -07:00
erc-scenarios-match.el Respect existing invisibility props in erc-stamp 2023-07-13 18:45:31 -07:00
erc-scenarios-misc.el Ignore killed buffers when switching in erc-track 2023-04-08 14:23:51 -07:00
erc-scenarios-sasl.el Split overlong outgoing messages in erc-sasl 2023-04-08 14:23:50 -07:00
erc-scenarios-services-misc.el Redo erc-nickname-in-use-functions as a local module 2023-07-01 07:21:30 -07:00
erc-scenarios-status-sidebar.el Add erc-status-sidebar integration to erc-speedbar 2023-07-13 18:45:31 -07:00
erc-services-tests.el Make auth-source erc-services tests more readable 2023-04-08 14:23:51 -07:00
erc-stamp-tests.el Make erc-fill-wrap work with left-sided stamps 2023-07-22 07:33:07 -07:00
erc-tests.el Make erc-fill-wrap work with left-sided stamps 2023-07-22 07:33:07 -07:00
erc-track-tests.el ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00