Subject: bug#67764: 30.0.50; Opening image in eww no longer works

From: Visuwesh <[email-masked]>
Date: Tue, 12 Dec 2023 09:42:54 +0530

[Monday December 11, 2023] Eli Zaretskii wrote:

>> Cc: [email-masked]
>> From: Visuwesh <[email-masked]>
>> Date: Mon, 11 Dec 2023 17:10:01 +0530
>> 
>> >   emacs -Q
>> >   M-: (eww "https://www.gnu.org/software/emacs/images/emacs.png")
>> >
>> > On master it fails with "Wrong type argument: stringp, nil".
>> > Bisect says 4254544 is the first bad commit.
>> 
>> Recent changes in shr-put-image didn't account for the possible nil
>> value for ALT.  Attached patch fixes the issue on my end.
>> 
>> 
>> >From f6d3fc0de572a1039e83df0389c1c7efce0ef0cf Mon Sep 17 00:00:00 2001
>> From: Visuwesh <[email-masked]>
>> Date: Mon, 11 Dec 2023 17:09:03 +0530
>> Subject: [PATCH] ; Fix shr-put-image with nil value for ALT
>> 
>> [...]
>>
> Thanks, but can we please avoid running a fixed string through
> string-trim?
>
> Also, I think the fallback on "*" deserves a comment to explain why
> that is done.

OK, how about the attached instead?

>From 27cd2c4c028723009ebf19696825d22c15f59795 Mon Sep 17 00:00:00 2001
From: Visuwesh <[email-masked]>
Date: Mon, 11 Dec 2023 17:09:03 +0530
Subject: [PATCH] Fix shr-put-image with nil value for ALT

* lisp/net/shr.el (shr-put-image): Account for nil value for ALT.
(Bug#6774)
---
 lisp/net/shr.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 9f030b4c743..bf5038a421d 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -1137,7 +1137,9 @@ shr-put-image
         (when image
           ;; The trailing space can confuse shr-insert into not
           ;; putting any space after inline images.
-	  (setq alt (string-trim alt))
+          ;; ALT may be nil when visiting image URLs in eww
+          ;; (bug#6774).
+	  (setq alt (if alt (string-trim alt) "*"))
 	  ;; When inserting big-ish pictures, put them at the
 	  ;; beginning of the line.
 	  (let ((inline (shr--inline-image-p image)))
-- 
2.42.0