diff options
| author | F. Moukayed <smfadi+emacs@gmail.com> | 2024-03-08 08:39:03 +0000 |
|---|---|---|
| committer | F. Jason Park <jp@neverwas.me> | 2024-03-10 06:11:29 -0700 |
| commit | 166c8a989491c21ea3baf96e4730a4ad9b78308f (patch) | |
| tree | b5340b3a37f979fc9a597ec7eca1a468b646e890 | |
| parent | e2620fd73441af19d478f7a9262de8c08a47ee2f (diff) | |
| download | emacs-166c8a98.tar.gz | |
Redefine erc-spoiler-face to indicate revealed text
* lisp/erc/erc-goodies.el (erc-spoiler-face): Redefine role and redo
definition to inherit from `erc-control-default-face'.
(erc-controls-propertize): Include `cursor-face' in the applied hover
properties for spoiler text, and ensure they aren't clobbered by other
built-in modules, like `button'.
(Bug#69597)
Copyright-paperwork-exempt: yes
| -rw-r--r-- | lisp/erc/erc-goodies.el | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/lisp/erc/erc-goodies.el b/lisp/erc/erc-goodies.el index f19fb5e..da14f5b 100644 --- a/lisp/erc/erc-goodies.el +++ b/lisp/erc/erc-goodies.el @@ -665,9 +665,7 @@ The value `erc-interpret-controls-p' must also be t for this to work." "ERC inverse face." :group 'erc-faces) -(defface erc-spoiler-face - '((((background light)) :foreground "DimGray" :background "DimGray") - (((background dark)) :foreground "LightGray" :background "LightGray")) +(defface erc-spoiler-face '((t :inherit default)) "ERC spoiler face." :group 'erc-faces) @@ -978,13 +976,16 @@ Also see `erc-interpret-controls-p' and `erc-interpret-mirc-color'." "Prepend properties from IRC control characters between FROM and TO. If optional argument STR is provided, apply to STR, otherwise prepend properties to a region in the current buffer." - (if (and fg bg (equal fg bg)) - (progn - (setq fg 'erc-spoiler-face - bg nil) - (put-text-property from to 'mouse-face 'erc-inverse-face str)) - (when fg (setq fg (erc-get-fg-color-face fg))) - (when bg (setq bg (erc-get-bg-color-face bg)))) + (when (and fg bg (equal fg bg) (not (equal fg "99"))) + (add-text-properties from to '( mouse-face erc-spoiler-face + cursor-face erc-spoiler-face) + str) + (erc--reserve-important-text-props from to + '( mouse-face erc-spoiler-face + cursor-face erc-spoiler-face) + str)) + (when fg (setq fg (erc-get-fg-color-face fg))) + (when bg (setq bg (erc-get-bg-color-face bg))) (font-lock-prepend-text-property from to |
