]> git.eshelyaron.com Git - emacs.git/commitdiff
shr: don't invoke unbound function (Bug#21895)
authorEric Hanchrow <eric.hanchrow@gmail.com>
Fri, 13 Nov 2015 01:23:37 +0000 (17:23 -0800)
committerJohn Wiegley <johnw@newartisans.com>
Fri, 13 Nov 2015 01:38:06 +0000 (17:38 -0800)
* lisp/net/shr.el (have-fringes-p): New function.
  (shr-insert-document, shr-fill-text): Use it.

lisp/net/shr.el

index 58deaea6f53cf75e283fe260711b362630f1108a..23e2dc1f8740f50204a570e62837cc0153c9ad24 100644 (file)
@@ -203,6 +203,13 @@ cid: URL as the argument.")
       (goto-char begin)
       (shr-insert-document dom))))
 
+(defun have-fringes-p ()
+  "Return t if fringe-columns is bound, and either (fringe-columns 'left) or
+\(fringe-columns 'right) returns nonzero."
+  (and (fboundp 'fringe-columns)
+       (or (not (zerop (fringe-columns 'right)))
+           (not (zerop (fringe-columns 'left))))))
+
 ;;;###autoload
 (defun shr-insert-document (dom)
   "Render the parsed document DOM into the current buffer.
@@ -230,19 +237,13 @@ DOM should be a parse tree as generated by
                                (if (not shr-use-fonts)
                                    (- (window-body-width) 1
                                        (if (and (null shr-width)
-                                                (or (zerop
-                                                     (fringe-columns 'right))
-                                                    (zerop
-                                                     (fringe-columns 'left))))
+                                                (not (have-fringes-p)))
                                            0
                                          1))
                                  (- (window-body-width nil t)
                                      (* 2 (frame-char-width))
                                      (if (and (null shr-width)
-                                              (or (zerop
-                                                   (fringe-columns 'right))
-                                                  (zerop
-                                                   (fringe-columns 'left))))
+                                              (not (have-fringes-p)))
                                          (* (frame-char-width) 2)
                                        0))))))
     (shr-descend dom)
@@ -466,8 +467,7 @@ size, and full-buffer size."
                                    ;; to usurp one column for the
                                    ;; continuation glyph.
                                    (if (and (null shr-width)
-                                            (or (zerop (fringe-columns 'right))
-                                                (zerop (fringe-columns 'left))))
+                                            (not (have-fringes-p)))
                                        (* (frame-char-width) 2)
                                      0))))
        (shr-insert text)