mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Simplify erc-button-add-nickname-buttons
* lisp/erc/erc-button.el (erc-button--nick): Remove `face' slot, which was set to `erc-button-face' by default. It's ignored when the button is a nick and thus useless and misleading. (erc-button-add-nickname-buttons): Rework and reflow for readability. Don't bind or set `erc-button' face because it's ignored when dealing with nicks. Don't return the value of face options when calling a `form' function because they can be nil in practice even though their Custom type specs do not say so. * lisp/erc/erc-common.el (erc--with-dependent-type-match): Add helper macro for Custom :type defs that incur warnings from `setopt' due to some missing dependency. This occurs when specifying a :type of `face' instead of `symbol' and the option's default value includes faces from another library that hasn't been loaded. * lisp/erc/erc.el (erc--get-speaker-bounds): New helper function to retrieve bounds of a speaker label when present. * test/lisp/erc/erc-tests.el (erc--with-dependent-type-match): Add test. (Bug#64301)
This commit is contained in:
parent
4d6ed774fe
commit
4f3d036957
4 changed files with 65 additions and 41 deletions
|
|
@ -129,6 +129,15 @@
|
|||
|
||||
(advice-remove 'buffer-local-value 'erc-with-server-buffer)))
|
||||
|
||||
(ert-deftest erc--with-dependent-type-match ()
|
||||
(should (equal (macroexpand-1
|
||||
'(erc--with-dependent-type-match (repeat face) erc-match))
|
||||
'(backquote
|
||||
(repeat :match ,(lambda (w v)
|
||||
(require 'erc-match)
|
||||
(widget-editable-list-match w v))
|
||||
face)))))
|
||||
|
||||
(defun erc-tests--send-prep ()
|
||||
;; Caller should probably shadow `erc-insert-modify-hook' or
|
||||
;; populate user tables for erc-button.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue