This attribute keyword has been non-working in
defface for 14 years,
thus warning about it is both safe and decent.
* lisp/emacs-lisp/bytecomp.el (bytecomp--check-cus-face-spec):
Warn and suggest :inverse-video to be used instead.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-
defface-spec):
Add a test case.
* etc/NEWS: Notify the user.
(cherry picked from commit
8d0c8076c3f2c27bd8ff0dbc72d046c64e1dde44)
\f
* Lisp Changes in Emacs 31.1
+---
+** The face attribute ':reverse-video' is obsolete.
+Use ':inverse-video' instead.
+
+++
** Support interactive D-Bus authorization.
A new ':authorizable t' parameter has been added to 'dbus-call-method'
:underline :overline :strike-through :box
:inverse-video :stipple :font
;; FIXME: obsolete keywords, warn about them too?
- ;; `:reverse-video' is very rare.
:bold ; :bold t = :weight bold
:italic ; :italic t = :slant italic
- :reverse-video ; alias for :inverse-video
))
(when (eq (car-safe val) 'quote)
(bytecomp--cus-warn
(list val atts sp spec)
"Value for face attribute `%s' should not be quoted" attr)))
+ ((eq attr :reverse-video)
+ (bytecomp--cus-warn
+ (list atts sp spec)
+ (concat "Face attribute `:reverse-video' is obsolete;"
+ " use `:inverse-video' instead")))
(t
(bytecomp--cus-warn
(list atts sp spec)
(bytecomp--with-warning-test
(rx "`:inverse' is not a valid face attribute keyword")
(df '((t (:background "blue" :inverse t))))) ; old attr list syntax
+ (bytecomp--with-warning-test
+ (rx "Face attribute `:reverse-video' is obsolete;"
+ " use `:inverse-video' instead")
+ (df '((t :background "red" :reverse-video t))))
(bytecomp--with-warning-test
(rx "Value for face attribute `:inherit' should not be quoted")
(df '((t :inherit 'other))))