mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-05 19:31:02 -08:00
* etc/ERC-NEWS: Mention more detailed feedback when option `erc-warn-about-blank-lines' is non-nil. * lisp/erc/erc-common.el (erc--input-split): Add `abortp' slot to allow a premature exit while validating prompt input. * lisp/erc/erc.el (erc-warn-about-blank-lines): Clarify meaning of "blank lines" in doc string, and mention interaction with companion option `erc-send-whitespace-lines'. (erc-inhibit-multiline-input): Fix inaccurate description in doc string. (erc--input-review-functions): Move `erc--discard-trailing-multiline-nulls' to end of list, after `erc--run-input-validation-checks' so that the latter doesn't have to resplit the original input string in order to issue feedback. (erc--blank-in-multiline-input-p): Remove unused internal function originally slated to be part of ERC 5.6. (erc--check-prompt-input-for-something): New trivial validation function to check if the input is empty. (erc--count-blank-lines): New function that tallies up the number of blank and whitespace-only lines in the current input. One downside of this design is that this function's conclusions aren't shared with `erc--discard-trailing-multiline-nulls', which must decide on its own how many lines to strip. (erc--check-prompt-explanation): New variable. (erc--check-prompt-input-for-multiline-blanks): Rework significantly to provide more informative messages and more sensible behavior for common cases with respect to relevant option values. (erc--check-prompt-input-functions): Add new validation function `erc--check-prompt-for-something'. (erc--run-input-validation-checks): Set `abortp' slot of `erc--input-split' when hooks return a non-string, rather than generate an unhelpful fallback message. Also print a message when the variable `erc--check-prompt-explanation' is non-nil. (erc-send-current-line): When the `abortp' slot of the current `erc--input-split' object is non-nil, forgo normal input processing. This fixes a regression in 5.6-git, which previously emitted an error message when it should have just exited the command. (erc--discard-trailing-multiline-nulls): Always run, regardless of `erc-send-whitespace-lines', and leave a blank line behind when stripping a message consisting of only blank lines. (erc--run-send-hooks): Always run hooks and surrounding logic rather than only when hooks are populated. * test/lisp/erc/erc-tests.el (erc--refresh-prompt): Add assertion and use default value for `erc--input-review-functions'. (erc-ring-previous-command): Use default value for `erc--input-review-functions' and ensure `erc-current-nick' does not error. (erc--blank-in-multiline-input-p): Remove obsolete test. (erc--check-prompt-input-functions): Update expected message. (erc--discard-trailing-multiline-nulls, erc--count-blank-lines): New tests. (erc-tests--check-prompt-input--expect, erc-tests--check-prompt-input-messages): New helper variables. (erc--check-prompt-input-for-multiline-blanks, erc--check-prompt-input-for-multiline-blanks/explanations): New tests. (erc-send-whitespace-lines): Expect hook-processing logic to pad empty lines instead of deferring to `erc-send-input-line-function'. (Bug#66073) |
||
|---|---|---|
| .. | ||
| ChangeLog.1 | ||
| ChangeLog.2 | ||
| erc-autoaway.el | ||
| erc-backend.el | ||
| erc-button.el | ||
| erc-capab.el | ||
| erc-common.el | ||
| erc-compat.el | ||
| erc-dcc.el | ||
| erc-desktop-notifications.el | ||
| erc-ezbounce.el | ||
| erc-fill.el | ||
| erc-goodies.el | ||
| erc-ibuffer.el | ||
| erc-identd.el | ||
| erc-imenu.el | ||
| erc-join.el | ||
| erc-lang.el | ||
| erc-list.el | ||
| erc-log.el | ||
| erc-match.el | ||
| erc-menu.el | ||
| erc-netsplit.el | ||
| erc-networks.el | ||
| erc-nicks.el | ||
| erc-notify.el | ||
| erc-page.el | ||
| erc-pcomplete.el | ||
| erc-replace.el | ||
| erc-ring.el | ||
| erc-sasl.el | ||
| erc-services.el | ||
| erc-sound.el | ||
| erc-speedbar.el | ||
| erc-spelling.el | ||
| erc-stamp.el | ||
| erc-status-sidebar.el | ||
| erc-track.el | ||
| erc-truncate.el | ||
| erc-xdcc.el | ||
| erc.el | ||