emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master bda8a57: Handle 'abbr' and 'acronym' tags in shr.el


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master bda8a57: Handle 'abbr' and 'acronym' tags in shr.el
Date: Sun, 7 Jul 2019 07:57:32 -0400 (EDT)

branch: master
commit bda8a57141e6cb5455e1246c6ab394791fd6c582
Author: Nick Drozd <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Handle 'abbr' and 'acronym' tags in shr.el
    
    * lisp/net/shr.el (shr-tag-abbr, shr-tag-acronym): New functions
    handling 'abbr' and 'acronym' tags, respectively.
    * etc/NEWS: Announce change in shr behavior (bug#36475).
---
 etc/NEWS        |  2 +-
 lisp/net/shr.el | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/etc/NEWS b/etc/NEWS
index abbece3..852b6e4 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -987,7 +987,7 @@ This attribute is meant to tell screen readers to ignore a 
tag.
 *** 'shr-tag-ol' now respects the ordered list 'start' attribute.
 
 ---
-*** The <code ...> tag is now handled.
+*** The following tags are now handled: <code>, <abbr>, and <acronym>.
 
 ** Htmlfontify
 
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 3d437bc..b6dbcaa 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -161,6 +161,12 @@ temporarily blinks with this face."
   :version "27.1"
   :group 'shr)
 
+(defface shr-abbreviation
+  '((t :inherit underline :underline (:style wave)))
+  "Face for <abbr> elements."
+  :version "27.1"
+  :group 'shr)
+
 (defvar shr-inhibit-images nil
   "If non-nil, inhibit loading images.")
 
@@ -1472,6 +1478,21 @@ ones, in case fg and bg are nil."
     (when url
       (shr-urlify (or shr-start start) (shr-expand-url url) title))))
 
+(defun shr-tag-abbr (dom)
+  (when-let* ((title (dom-attr dom 'title))
+             (start (point)))
+    (shr-generic dom)
+    (shr-add-font start (point) 'shr-abbreviation)
+    (add-text-properties
+     start (point)
+     (list
+      'help-echo title
+      'mouse-face 'highlight))))
+
+(defun shr-tag-acronym (dom)
+  ;; `acronym' is deprecated in favor of `abbr'.
+  (shr-tag-abbr dom))
+
 (defun shr-tag-object (dom)
   (unless shr-inhibit-images
     (let ((start (point))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]