Subject: Re: bug#43166: The issues.guix.gnu.org is hard to read in emacs-w3m.

From: Mark H Weaver <[email-masked]>
Date: Sun, 12 Dec 2021 19:59:40 -0500

Hi Ricardo,

Ricardo Wurmus <[email-masked]> writes:
> This is now fixed in mumi.  I tested the change in eww and in icecat.
>
> This was easier to implement than when the bug was first reported.  Due
> to later developments I could limit the use of “pre” to lines in the
> “diff” context, so that message text can still be reflown.

This is an enormous improvement, thank you!

However, in both EWW and Lynx, the embedded patches are rendered
double-spaced, i.e. there are empty lines inserted between every two
adjacent lines of every patch.  I guess that's because Mumi wraps each
individual line within its own 'pre' and 'div' elements, instead of
putting the entire patch within a single 'pre' element.

As a result, for users of EWW or Lynx, Mumi is still far inferior to the
web interface of Debian's bug tracking system (used by bugs.gnu.org).

Here's a sample of the HTML generated by Debbugs for a patch in
<https://bugs.gnu.org/43159>:

--8<---------------cut here---------------start------------->8---
<pre class="message">* guix/ui.scm (show-bug-report-information): Link to
&lt;<a href="https://guix.gnu.org/help/">https://guix.gnu.org/help/</a>&gt; instead of &lt;<a href="https://www.gnu.org/gethelp/">https://www.gnu.org/gethelp/</a>&gt;.
The former is much more useful and includes links to GNU manuals.
---
 guix/ui.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/guix/ui.scm b/guix/ui.scm
index 4d90a47bb9..87a1925a4b 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -542,8 +542,9 @@ There is NO WARRANTY, to the extent permitted by law.
 Report bugs to: ~a.&quot;) %guix-bug-report-address)
   (format #t (G_ &quot;
 ~a home page: &lt;~a&gt;&quot;) %guix-package-name %guix-home-page-url)
-  (display (G_ &quot;
-General help using GNU software: &lt;<a href="http://www.gnu.org/gethelp/&gt;&quot;)">http://www.gnu.org/gethelp/&gt;&quot;)</a>)
+  (format #t (G_ &quot;
+General help using Guix and GNU software: &lt;~a&gt;&quot;)
+           &quot;<a href="https://guix.gnu.org/help/&quot;">https://guix.gnu.org/help/&quot;</a>)
   (newline))
 
 (define (augmented-system-error-handler file)
-- 
2.28.0

</pre>
--8<---------------cut here---------------end--------------->8---

Here's the corresponding HTML generated by Mumi for the same 'diff':
(I've added newlines and indentation to make it more readable, but in
fact there were no newlines in this portion of Mumi's HTML output)

--8<---------------cut here---------------start------------->8---
<div class="block text">
  <div class="line commit changelog"><a class="line-anchor" id="1-lineno0" href="#1-lineno0"></a>* guix/ui.scm (show-bug-report-information): Link to</div>
  <div class="line"><a class="line-anchor" id="1-lineno1" href="#1-lineno1"></a><a href="https://guix.gnu.org/help/">https://guix.gnu.org/help/</a> instead of  https://www.gnu.org/gethelp/ .</div>
  <div class="line"><a class="line-anchor" id="1-lineno2" href="#1-lineno2"></a>The former is much more useful and includes links to GNU manuals.</div>
  <div class="line"><a class="line-anchor" id="1-lineno3" href="#1-lineno3"></a>---</div>
  <div class="line"><a class="line-anchor" id="1-lineno4" href="#1-lineno4"></a> guix/ui.scm | 5 +++--</div>
  <div class="line"><a class="line-anchor" id="1-lineno5" href="#1-lineno5"></a> 1 file changed, 3 insertions(+), 2 deletions(-)</div>
  <br />
</div>
<details class="block diff" open="open">
  <summary>Toggle diff (18 lines)</summary>
  <div class="line diff file"><a class="line-anchor" id="1-lineno7" href="#1-lineno7"></a>diff --git a/guix/ui.scm b/guix/ui.scm</div>
  <div class="line"><a class="line-anchor" id="1-lineno8" href="#1-lineno8"></a><pre>index 4d90a47bb9..87a1925a4b 100644</pre></div>
  <div class="line diff deletion"><a class="line-anchor" id="1-lineno9" href="#1-lineno9"></a><pre>--- a/guix/ui.scm</pre></div>
  <div class="line diff addition"><a class="line-anchor" id="1-lineno10" href="#1-lineno10"></a><pre>+++ b/guix/ui.scm</pre></div>
  <div class="line diff range"><a class="line-anchor" id="1-lineno11" href="#1-lineno11"></a><pre>@@ -542,8 +542,9 @@ There is NO WARRANTY, to the extent permitted by law.</pre></div>
  <div class="line"><a class="line-anchor" id="1-lineno12" href="#1-lineno12"></a><pre> Report bugs to: ~a.&quot;) %guix-bug-report-address)</pre></div>
  <div class="line"><a class="line-anchor" id="1-lineno13" href="#1-lineno13"></a><pre>   (format #t (G_ &quot;</pre></div>
  <div class="line"><a class="line-anchor" id="1-lineno14" href="#1-lineno14"></a><pre> ~a home page: &lt;~a&gt;&quot;) %guix-package-name %guix-home-page-url)</pre></div>
  <div class="line diff deletion"><a class="line-anchor" id="1-lineno15" href="#1-lineno15"></a><pre>-  (display (G_ &quot;</pre></div>
  <div class="line diff deletion"><a class="line-anchor" id="1-lineno16" href="#1-lineno16"></a><pre>-General help using GNU software: &lt;http://www.gnu.org/gethelp/&gt;&quot;))</pre></div>
  <div class="line diff addition"><a class="line-anchor" id="1-lineno17" href="#1-lineno17"></a><pre>+  (format #t (G_ &quot;</pre></div>
  <div class="line diff addition"><a class="line-anchor" id="1-lineno18" href="#1-lineno18"></a><pre>+General help using Guix and GNU software: &lt;~a&gt;&quot;)</pre></div>
  <div class="line diff addition"><a class="line-anchor" id="1-lineno19" href="#1-lineno19"></a><pre>+           &quot;https://guix.gnu.org/help/&quot;)</pre></div>
  <div class="line"><a class="line-anchor" id="1-lineno20" href="#1-lineno20"></a><pre>   (newline))</pre></div>
  <div class="line"><a class="line-anchor" id="1-lineno21" href="#1-lineno21"></a><pre> </pre></div>
  <div class="line"><a class="line-anchor" id="1-lineno22" href="#1-lineno22"></a><pre> (define (augmented-system-error-handler file)</pre></div>
  <div class="line"><a class="line-anchor" id="1-lineno23" href="#1-lineno23"></a><pre>-- </pre></div>
  <div class="line"><a class="line-anchor" id="1-lineno24" href="#1-lineno24"></a><pre>2.28.0</pre></div>
</details>
--8<---------------cut here---------------end--------------->8---

I don't know if enough people care about this, though.  I suppose there
are some advantages to Mumi's method of rendering patches, e.g. to
enable better CSS styling of patches for the majority of users who
prefer to do almost everything within a modern web browser.

In any case, Mumi is now usable in simple web browsers, and that's a
great improvement.  Thanks for taking the time to work on it, Ricardo.

     Regards,
       Mark

-- 
Disinformation flourishes because many people care deeply about injustice
but very few check the facts.  Ask me about <https://stallmansupport.org>.