shr: don't invoke unbound function (Bug#21895)

* lisp/net/shr.el (have-fringes-p): New function.
  (shr-insert-document, shr-fill-text): Use it.
This commit is contained in:
Eric Hanchrow 2015-11-12 17:23:37 -08:00 committed by John Wiegley
parent 6e5186e8a7
commit 9463abf4cc

View 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)