Discussion:
[PATCH] doc changes for HTML renderers (debbugs #21650)
Mike Kupfer
2016-04-29 01:01:53 UTC
Permalink
This started out as just updating the MH-E Manual to reflect the code
changes that were done for Emacs bug #21650. But there was a lot in
that section that was out of date, so I ended up doing a more general
cleanup job on it. Let me know what you think.

thanks,
mike

PS. Thanks, Bill, for holding out for a clean fix to #21650.

2016-04-29 Mike Kupfer <***@acm.org>

Update MH-E's documentation about HTML renderers.

* doc/misc/mh-e.texi: Bump VERSION to current value (8.6), update
UPDATED and UPDATE-MONTH.
(HTML): Remove the footnote with the minimum Gnus version (we are
no longer trying to support multiple Emacs releases). Sort the
table of HTML renderers by name (the previous ordering was based
on a 10-year-old survey). Add shr and gnus-w3m to the table.
Remove the entry for w3 (no longer available). Update existing
entries so that they are more consistent about what features are
discussed, and to reflect recent testing (Debian 8). Small tweaks
to existing text.

diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi
index d1fd8f7..59b6806 100644
--- a/doc/misc/mh-e.texi
+++ b/doc/misc/mh-e.texi
@@ -9,12 +9,12 @@
@c %**end of header

@c Version of the software and manual.
-@set VERSION 8.5
+@set VERSION 8.6
@c Edition of the manual. It is either empty for the first edition or
@c has the form ", nth Edition" (without the quotes).
@set EDITION
-@set UPDATED 2013-03-02
-@set UPDATE-MONTH March, 2013
+@set UPDATED 2016-04-29
+@set UPDATE-MONTH April, 2016

@c Other variables.
@set MH-BOOK-HOME http://rand-mh.sourceforge.net/book/mh
@@ -2527,8 +2527,7 @@ HTML
@cindex HTML
@cindex Gnus

-MH-E can display messages that have been sent in ***@footnote{This
-feature depends on a version of Gnus that is at least 5.10.}. The
+MH-E can display messages that have been sent in HTML. The
content of the message will appear in the MH-Show buffer as you would
expect if the entire message is HTML, or there is an inline HTML body
part. However, if there is an HTML body part that is an attachment,
@@ -2549,86 +2548,111 @@ HTML
to use a different browser, then set this option accordingly. See the
documentation for the browser you use for additional information on
how to use it. In particular, find and disable the option to render
-images as this can tip off spammers that the email address they have
+images, as displaying remote images can tip off spammers that the
+email address they have
used is valid.

@vindex mm-text-html-renderer

If you're confused about which @code{mm-text-html-renderer} to use,
-here's a brief description of each, sorted by popularity, that
-includes the results of a quick poll of MH-E users from 2005-12-23.
+here's a brief description of each, sorted by name.

@table @asis
+@cindex browser, @samp{gnus-w3m}
+@cindex @samp{gnus-w3m}
@cindex browser, @samp{w3m}
@cindex @samp{w3m}
-@kindex Mouse-2
-@item @samp{w3m} 7
-The @samp{w3m} browser requires an external program. It's quick,
-produces pretty nice output, and best of all, it's the only browser
-that highlights links. These can be clicked with @kbd{Mouse-2} to view
-the content of the link in @samp{w3m}. The @samp{w3m} browser handles
-tables well and actually respects the table's width parameter (which
-can cause text to wrap if the author didn't anticipate that the page
-would be viewed in Emacs).
+@item @samp{gnus-w3m}
+The @samp{gnus-w3m} browser requires an external program. It's quick,
+produces pretty nice output, and it highlights links. It renders
+@samp{&ndash;} and @samp{&reg;} okay. It sometimes fails to wrap lines
+properly. It always downloads remote images.
@c -------------------------
-@cindex browser, @samp{w3m-standalone}
-@cindex @samp{w3m-standalone}
-@item @samp{w3m-standalone} 3
-This browser, along with @samp{nil} for the external browser, are the
-only choices that work without having to download a separate lisp
-package or external program. This browser is quick, but does not show
-links. It handles simple tables but some tables get rendered much
-wider than the Emacs frame. This browser was the only one not to
-handle the escape @samp{&ndash;} (it printed a @samp{?}), but it did
-render @samp{&reg;}.
+@cindex browser, @samp{html2text}
+@cindex @samp{html2text}
+@item @samp{html2text}
+The @samp{html2text} browser requires an external program. Some users
+have reported problems with it, such as filling
+the entire message as if it were one paragraph, or displaying chunks
+of raw HTML.
@c -------------------------
@cindex browser, @samp{links}
@cindex @samp{links}
-@item @samp{links} 1
+@item @samp{links}
The @samp{links} browser requires an external program. It's quick, and
produces nicer output than @samp{lynx} on single column mails in
tables. However, it doesn't show links and it doesn't do as nice a job
-on multi-column tables as some lines wrap. At least it fits in 80
-columns and thus seems better than @samp{w3} and
-@samp{w3m-standalone}. Converts escapes such as @samp{&reg;} to (R).
+on multi-column tables as some lines wrap. It does do a good job of
+fitting text within 80
+columns. It appear to render special characters using ASCII
+equivalents, e.g., @samp{&reg;} appears as (R). It does not download
+images.
@c -------------------------
@cindex browser, @samp{lynx}
@cindex @samp{lynx}
-@item @samp{lynx} 1
+@item @samp{lynx}
The @samp{lynx} browser requires an external program. It's quick and
produces pretty decent output but it doesn't show links. It doesn't
seem to do multi-column tables which makes output much cleaner. It
-centers the output and wraps long lines more than most. Handles
-@samp{&reg;}.
+centers the output and wraps long lines more than most. It does not
+always handle special characters like
+@samp{&reg;} or @samp{ndask}. It does not download images.
@c -------------------------
-@item @samp{nil} 1
-This choice obviously requires an external browser. Like
-@samp{w3m-standalone}, it works out of the box. With this setting,
+@item @samp{nil}
+This choice obviously requires an external browser.
+With this setting,
HTML messages have a button for the body part which you can view with
-@kbd{K v} (@code{mh-folder-toggle-mime-part}).
-@c -------------------------
-@cindex browser, @samp{w3}
-@cindex @samp{w3}
-@item @samp{w3} 0
-This choice does not require an external program as all of the
-rendering is done in lisp. You do need to get the package separately.
-This browser is @strong{slow}, and doesn't appear to have been updated
-since 2001 and the author hasn't responded to my emails. It displays
-unknown tags instead of hiding them, so you get to see all the
-Microsoft crap in certain messages. Tends to make multi-column tables
-wider than even a full-screen Emacs can handle. Like @samp{w3m}, you
-can follow links, but you have to find them first as they are not
-highlighted. Performs well on single-column tables and handles escapes
-such as @samp{&reg;}.
+@kbd{K v} (@code{mh-folder-toggle-mime-part}). Rendering of special
+characters and handling of remote images depends on your choice of
+browser.
+@c -------------------------
+@item @samp{shr}
+@cindex @samp{shr}
+This choice does not require an external program, but it does require
+that Emacs be configured at build time to use @samp{libxml2}. It is
+fairly quick, it highlights links, and it supports HTML color
+declarations. It renders @samp{&ndash;} and @samp{&reg;} okay. It
+sometimes truncates text, particularly if the message tries to have
+fancy text layout. By default it does not download images; this
+behavior is controlled by the options @code{mm-html-blocked-images}
+and @code{mm-html-inhibit-images}
+@ifinfo
+(@pxref{Display Customization,,,emacs-mime}).
+@end ifinfo
+@ifnotinfo
+(see section @uref{http://www.gnus.org/manual/emacs-mime_6.html,
+Display Customization} in the @cite{The Emacs MIME Manual}).
+@end ifnotinfo
@c -------------------------
-@cindex browser, @samp{html2text}
-@cindex @samp{html2text}
-@item @samp{html2text} 0
-The @samp{html2text} browser requires an external program. I noticed
-that it can do some nasty things with simple HTML mails (like filling
-the entire message as if it were one paragraph, including signature).
-On another message, it displayed half of the HTML tags for some
-reason.
+@cindex browser, @samp{w3m}
+@cindex @samp{w3m}
+@kindex Mouse-2
+@item @samp{w3m}
+The @samp{w3m} browser requires an external program. It's quick,
+produces pretty nice output, and it highlights links. These can be
+clicked with @kbd{Mouse-2} to view the content of the link in
+@samp{w3m}. The @samp{w3m} browser handles tables well and actually
+respects the table's width parameter (which can cause text to wrap if
+the author didn't anticipate that the page would be viewed in Emacs).
+It does not download images by default; this behavior is controlled by
+the option @code{mm-w3m-safe-url-regexp}
+@ifinfo
+(@pxref{Display Customization,,,emacs-mime}).
+@end ifinfo
+@ifnotinfo
+(see section @uref{http://www.gnus.org/manual/emacs-mime_6.html,
+Display Customization} in the @cite{The Emacs MIME Manual}).
+@end ifnotinfo
+@c -------------------------
+@cindex browser, @samp{w3m-standalone}
+@cindex @samp{w3m-standalone}
+@cindex browser, @samp{w3m}
+@cindex @samp{w3m}
+@item @samp{w3m-standalone}
+This browser is quick, but does not show
+links. It handles simple tables but some tables get rendered much
+wider than the Emacs frame. This browser renders @samp{&ndash;} and
+@samp{&reg;} okay. It does not download images.
@end table

@vindex mm-text-html-renderer
@@ -2637,13 +2661,14 @@ HTML
@code{mm-text-html-renderer},
@ifinfo
@xref{Display Customization,,,emacs-mime}, and the documentation for
-the Gnus command @kbd{W h} (@pxref{Article Washing,,,gnus},).
+the Gnus command @kbd{W h} (@pxref{Article Washing,,,gnus}).
@end ifinfo
@ifnotinfo
see section @uref{http://www.gnus.org/manual/emacs-mime_6.html,
Display Customization} in the @cite{The Emacs MIME Manual} and the
documentation for the Gnus command @kbd{W h} (see section
-@uref{http://www.gnus.org/manual/gnus_99.html, Article Washing} in the
+@uref{http://www.gnus.org/manual/gnus_48.html#Article-Washing, Article
+Washing} in the
@cite{The Gnus Manual}).
@end ifnotinfo
Bill Wohler
2016-04-29 04:40:02 UTC
Permalink
Looks good, Mike. Thanks!

Can you check it in, please?
Post by Mike Kupfer
This started out as just updating the MH-E Manual to reflect the code
changes that were done for Emacs bug #21650. But there was a lot in
that section that was out of date, so I ended up doing a more general
cleanup job on it. Let me know what you think.
thanks,
mike
PS. Thanks, Bill, for holding out for a clean fix to #21650.
Update MH-E's documentation about HTML renderers.
* doc/misc/mh-e.texi: Bump VERSION to current value (8.6), update
UPDATED and UPDATE-MONTH.
(HTML): Remove the footnote with the minimum Gnus version (we are
no longer trying to support multiple Emacs releases). Sort the
table of HTML renderers by name (the previous ordering was based
on a 10-year-old survey). Add shr and gnus-w3m to the table.
Remove the entry for w3 (no longer available). Update existing
entries so that they are more consistent about what features are
discussed, and to reflect recent testing (Debian 8). Small tweaks
to existing text.
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi
index d1fd8f7..59b6806 100644
--- a/doc/misc/mh-e.texi
+++ b/doc/misc/mh-e.texi
@@ -9,12 +9,12 @@
@c %**end of header
@c Version of the software and manual.
@c Edition of the manual. It is either empty for the first edition or
@c has the form ", nth Edition" (without the quotes).
@set EDITION
@c Other variables.
@set MH-BOOK-HOME http://rand-mh.sourceforge.net/book/mh
@@ -2527,8 +2527,7 @@ HTML
@cindex HTML
@cindex Gnus
-feature depends on a version of Gnus that is at least 5.10.}. The
+MH-E can display messages that have been sent in HTML. The
content of the message will appear in the MH-Show buffer as you would
expect if the entire message is HTML, or there is an inline HTML body
part. However, if there is an HTML body part that is an attachment,
@@ -2549,86 +2548,111 @@ HTML
to use a different browser, then set this option accordingly. See the
documentation for the browser you use for additional information on
how to use it. In particular, find and disable the option to render
-images as this can tip off spammers that the email address they have
+images, as displaying remote images can tip off spammers that the
+email address they have
used is valid.
@vindex mm-text-html-renderer
-here's a brief description of each, sorted by popularity, that
-includes the results of a quick poll of MH-E users from 2005-12-23.
+here's a brief description of each, sorted by name.
@table @asis
@cindex browser, @samp{w3m}
@cindex @samp{w3m}
-produces pretty nice output, and best of all, it's the only browser
-tables well and actually respects the table's width parameter (which
-can cause text to wrap if the author didn't anticipate that the page
-would be viewed in Emacs).
+produces pretty nice output, and it highlights links. It renders
+properly. It always downloads remote images.
@c -------------------------
-only choices that work without having to download a separate lisp
-package or external program. This browser is quick, but does not show
-links. It handles simple tables but some tables get rendered much
-wider than the Emacs frame. This browser was the only one not to
+have reported problems with it, such as filling
+the entire message as if it were one paragraph, or displaying chunks
+of raw HTML.
@c -------------------------
@cindex browser, @samp{links}
@cindex @samp{links}
tables. However, it doesn't show links and it doesn't do as nice a job
-on multi-column tables as some lines wrap. At least it fits in 80
+on multi-column tables as some lines wrap. It does do a good job of
+fitting text within 80
+columns. It appear to render special characters using ASCII
+images.
@c -------------------------
@cindex browser, @samp{lynx}
@cindex @samp{lynx}
produces pretty decent output but it doesn't show links. It doesn't
seem to do multi-column tables which makes output much cleaner. It
-centers the output and wraps long lines more than most. Handles
+centers the output and wraps long lines more than most. It does not
+always handle special characters like
@c -------------------------
-This choice obviously requires an external browser. Like
+This choice obviously requires an external browser.
+With this setting,
HTML messages have a button for the body part which you can view with
-This choice does not require an external program as all of the
-rendering is done in lisp. You do need to get the package separately.
-since 2001 and the author hasn't responded to my emails. It displays
-unknown tags instead of hiding them, so you get to see all the
-Microsoft crap in certain messages. Tends to make multi-column tables
-can follow links, but you have to find them first as they are not
-highlighted. Performs well on single-column tables and handles escapes
+characters and handling of remote images depends on your choice of
+browser.
+This choice does not require an external program, but it does require
+fairly quick, it highlights links, and it supports HTML color
+sometimes truncates text, particularly if the message tries to have
+fancy text layout. By default it does not download images; this
@c -------------------------
-that it can do some nasty things with simple HTML mails (like filling
-the entire message as if it were one paragraph, including signature).
-On another message, it displayed half of the HTML tags for some
-reason.
+produces pretty nice output, and it highlights links. These can be
+respects the table's width parameter (which can cause text to wrap if
+the author didn't anticipate that the page would be viewed in Emacs).
+It does not download images by default; this behavior is controlled by
+This browser is quick, but does not show
+links. It handles simple tables but some tables get rendered much
@end table
@vindex mm-text-html-renderer
@@ -2637,13 +2661,14 @@ HTML
@code{mm-text-html-renderer},
@ifinfo
@xref{Display Customization,,,emacs-mime}, and the documentation for
@end ifinfo
@ifnotinfo
+Washing} in the
@cite{The Gnus Manual}).
@end ifnotinfo
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
mh-e-devel mailing list
https://lists.sourceforge.net/lists/listinfo/mh-e-devel
--
Bill Wohler <***@newt.com> aka <***@nasa.gov>
http://www.newt.com/wohler/
GnuPG ID:610BD9AD
Mike Kupfer
2016-04-29 14:21:08 UTC
Permalink
Post by Bill Wohler
Can you check it in, please?
I can submit a patch to emacs-devel, but I don't believe I have write
permission for the git repo. (I'm a little reluctant to ask for write
permission at this time: we're in a release semi-freeze, and I've only
got 1 or 2 other patches under my belt. But I can ask if you think
that's the right thing to do.)

cheers,
mike
Bill Wohler
2016-04-29 17:00:46 UTC
Permalink
Ah, OK. I'll apply the patch to my repo and push it this weekend to both
master and the release branch. It's documentation, so I don't think one
needs special permission.
Post by Mike Kupfer
Post by Bill Wohler
Can you check it in, please?
I can submit a patch to emacs-devel, but I don't believe I have write
permission for the git repo. (I'm a little reluctant to ask for write
permission at this time: we're in a release semi-freeze, and I've only
got 1 or 2 other patches under my belt. But I can ask if you think
that's the right thing to do.)
cheers,
mike
--
Bill Wohler <***@newt.com> aka <***@nasa.gov>
http://www.newt.com/wohler/
GnuPG ID:610BD9AD
Bill Wohler
2016-05-02 02:00:42 UTC
Permalink
Just caught up with the emacs-devel and now I'm in agreement with you
about being careful about pushing the patch to the emacs-25 branch. I'll
first send out your patch to see if there is an objection.
Post by Bill Wohler
Ah, OK. I'll apply the patch to my repo and push it this weekend to both
master and the release branch. It's documentation, so I don't think one
needs special permission.
Post by Mike Kupfer
Post by Bill Wohler
Can you check it in, please?
I can submit a patch to emacs-devel, but I don't believe I have write
permission for the git repo. (I'm a little reluctant to ask for write
permission at this time: we're in a release semi-freeze, and I've only
got 1 or 2 other patches under my belt. But I can ask if you think
that's the right thing to do.)
cheers,
mike
--
http://www.newt.com/wohler/
GnuPG ID:610BD9AD
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
mh-e-devel mailing list
https://lists.sourceforge.net/lists/listinfo/mh-e-devel
--
Bill Wohler <***@newt.com> aka <***@nasa.gov>
http://www.newt.com/wohler/
GnuPG ID:610BD9AD
Bill Wohler
2016-05-30 23:19:08 UTC
Permalink
Done! Pushed to emacs-25 branch. I think it'll automagically make its
way to master.
Post by Bill Wohler
Ah, OK. I'll apply the patch to my repo and push it this weekend to both
master and the release branch. It's documentation, so I don't think one
needs special permission.
Post by Mike Kupfer
Post by Bill Wohler
Can you check it in, please?
I can submit a patch to emacs-devel, but I don't believe I have write
permission for the git repo. (I'm a little reluctant to ask for write
permission at this time: we're in a release semi-freeze, and I've only
got 1 or 2 other patches under my belt. But I can ask if you think
that's the right thing to do.)
cheers,
mike
--
http://www.newt.com/wohler/
GnuPG ID:610BD9AD
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
mh-e-devel mailing list
https://lists.sourceforge.net/lists/listinfo/mh-e-devel
--
Bill Wohler <***@newt.com> aka <***@nasa.gov>
http://www.newt.com/wohler/
GnuPG ID:610BD9AD
Mike Kupfer
2016-05-02 03:44:22 UTC
Permalink
Post by Bill Wohler
I'll
first send out your patch to see if there is an objection.
Sounds good, thanks.

mike
Mike Kupfer
2016-05-30 23:27:56 UTC
Permalink
Post by Bill Wohler
Done! Pushed to emacs-25 branch.
Yay! Thanks!

mike

Loading...