]> git.eshelyaron.com Git - emacs.git/commitdiff
Make shr fold long title texts
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 13 Dec 2014 15:23:40 +0000 (16:23 +0100)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 13 Dec 2014 15:23:40 +0000 (16:23 +0100)
* net/shr.el (shr-fold-text): New function.
(shr-show-alt-text, shr-urlify, shr-tag-img): Use it to fold long
alt/title texts.

lisp/ChangeLog
lisp/net/shr.el

index 6955c3c6cca5f5bec6463aa3da3a5cae23a302e1..5caf37672c7b1c055ef46f85461e8e061617c008 100644 (file)
@@ -1,5 +1,9 @@
 2014-12-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
+       * net/shr.el (shr-fold-text): New function.
+       (shr-show-alt-text, shr-urlify, shr-tag-img): Use it to fold long
+       alt/title texts.
+
        * files.el (directory-files-recursively): Really check whether
        files are symlinks.
        (directory-name-p): New function.
index 695b91dcb1bd230275b75ae1d4e16e69aef51a2a..2fff360354659f48f85b1f53f51fdcb26400188c 100644 (file)
@@ -301,7 +301,7 @@ redirects somewhere else."
   (let ((text (get-text-property (point) 'shr-alt)))
     (if (not text)
        (message "No image under point")
-      (message "%s" text))))
+      (message "%s" (shr-fold-text text)))))
 
 (defun shr-browse-image (&optional copy-url)
   "Browse the image under point.
@@ -412,6 +412,13 @@ size, and full-buffer size."
           (cdr (assq 'color shr-stylesheet))
           (cdr (assq 'background-color shr-stylesheet))))))))
 
+(defun shr-fold-text (text)
+  (with-temp-buffer
+    (let ((shr-indentation 0)
+         (shr-internal-width (window-width)))
+      (shr-insert text)
+      (buffer-string))))
+
 (define-inline shr-char-breakable-p (char)
   "Return non-nil if a line can be broken before and after CHAR."
   (inline-quote (aref fill-find-break-point-function-table ,char)))
@@ -881,7 +888,7 @@ START, and END.  Note that START and END should be markers."
   (add-text-properties
    start (point)
    (list 'shr-url url
-        'help-echo (if title (format "%s (%s)" url title) url)
+        'help-echo (if title (shr-fold-text (format "%s (%s)" url title)) url)
         'follow-link t
         'mouse-face 'highlight
         'keymap shr-map)))
@@ -1283,7 +1290,7 @@ The preference is a float determined from `shr-prefer-media-type'."
          (put-text-property start (point) 'image-displayer
                             (shr-image-displayer shr-content-function))
          (put-text-property start (point) 'help-echo
-                            (or (dom-attr dom 'title) alt)))
+                            (shr-fold-text (or (dom-attr dom 'title) alt))))
        (setq shr-state 'image)))))
 
 (defun shr-tag-pre (dom)