]> git.eshelyaron.com Git - emacs.git/commitdiff
Handle 'abbr' and 'acronym' tags in shr.el
authorNick Drozd <nicholasdrozd@gmail.com>
Sat, 6 Jul 2019 12:02:37 +0000 (14:02 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 7 Jul 2019 11:57:25 +0000 (13:57 +0200)
* 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
lisp/net/shr.el

index abbece374a47402cef0443d38e253665c47c18cb..852b6e49486ca4b603310d37bb7f6c6e87491157 100644 (file)
--- 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
 
index 3d437bc69375665e1574683e235aed7edae9a140..b6dbcaa6cfb9766c61d06b3875f6034306d40590 100644 (file)
@@ -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))