From 2df7b98de317a7f89d1ec342d79a93dd789c70bc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Tue, 30 May 2023 22:58:26 +0200 Subject: [PATCH] * lisp/net/shr.el (shr-dom-max-natural-width): Rewrite muddled code. --- lisp/net/shr.el | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 86987807153..9b19a1b3980 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -2530,7 +2530,7 @@ flags that control whether to collect or render objects." (setq natural-width (or (dom-attr dom 'shr-td-cache-natural) (let ((natural (max (shr-pixel-buffer-width) - (shr-dom-max-natural-width dom 0)))) + (shr-dom-max-natural-width dom)))) (dom-set-attribute dom 'shr-td-cache-natural natural) natural)))) (if (and natural-width @@ -2559,22 +2559,18 @@ flags that control whether to collect or render objects." (cdr (assq 'color shr-stylesheet)) (cdr (assq 'background-color shr-stylesheet)))))) -(defun shr-dom-max-natural-width (dom max) - (if (eq (dom-tag dom) 'table) - (max max (or - (cl-loop - for line in (dom-attr dom 'shr-suggested-widths) - maximize (+ - shr-table-separator-length - (cl-loop for elem in line - summing - (+ (cdr elem) - (* 2 shr-table-separator-length))))) - 0)) - (dolist (child (dom-children dom)) - (unless (stringp child) - (setq max (max (shr-dom-max-natural-width child max))))) - max)) +(defun shr-dom-max-natural-width (dom) + (or (if (eq (dom-tag dom) 'table) + (cl-loop for line in (dom-attr dom 'shr-suggested-widths) + maximize (+ shr-table-separator-length + (cl-loop for elem in line + summing + (+ (cdr elem) + (* 2 shr-table-separator-length))))) + (cl-loop for child in (dom-children dom) + unless (stringp child) + maximize (shr-dom-max-natural-width child))) + 0)) (defun shr-buffer-width () (goto-char (point-min)) -- 2.39.2