]> git.eshelyaron.com Git - emacs.git/commitdiff
Warn about :reverse-video in defface
authorMattias EngdegÄrd <mattiase@acm.org>
Sat, 28 Sep 2024 20:04:19 +0000 (22:04 +0200)
committerEshel Yaron <me@eshelyaron.com>
Mon, 30 Sep 2024 19:41:23 +0000 (21:41 +0200)
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)

etc/NEWS
lisp/emacs-lisp/bytecomp.el
test/lisp/emacs-lisp/bytecomp-tests.el

index 507b69fa66eba3dbdf7a9bbc43300e8576c5c014..7bd59311e29794bf1ad1085484bc5518585ba1de 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -429,6 +429,10 @@ All the characters that belong to the 'symbol' script (according to
 \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'
index 4cb6518c8e9fbb3306bbd8a3edb50a99dca23785..43ed67b0cbd16bc0ac1dd7de289c269692b26adf 100644 (file)
@@ -5404,15 +5404,18 @@ FORM is used to provide location, `bytecomp--cus-function' and
                             :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)
index cce6b1221fc5c1f69c5ea6caf286613e943c75c4..39c3732581a27bb5eca42b2b2eda143d587c026d 100644 (file)
@@ -2000,6 +2000,10 @@ EXPECTED-POINT BINDINGS (MODES \\='\\='(ruby-mode js-mode python-mode)) \
     (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))))