GNU bug report logs - #10714
SHR leaves too much trailing whitespace

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Fri, 3 Feb 2012 18:36:01 UTC

Severity: normal

Tags: fixed

Found in version 24.0.92

Fixed in version 24.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 10714 in the body.
You can then email your comments to 10714 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#10714; Package emacs. (Fri, 03 Feb 2012 18:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 03 Feb 2012 18:36:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: bug-gnu-emacs <at> gnu.org
Subject: SHR leaves too much trailing whitespace
Date: Fri, 03 Feb 2012 13:34:25 -0500
Package: Emacs
Version: 24.0.92

SHR usually does a pretty good job of showing me the useful content of
those obnoxious HTML email, but occasionally the result is hard to read.
One fairly common case is that every text line is much longer than my
window's with (like twice as long, for instance), although most of it is
whitespace (I suspect it's due to some horrendous HTML markup using
something like tables to force a particular layout that only works for
1280x800 screens).  So I think we should trim all trailing whitespace
after rendering, which will solve at least some of those problems.


        Stefan




In GNU Emacs 24.0.92.1 (i686-pc-linux-gnu, GTK+ Version 2.24.8)
 of 2012-01-17 on pastel
Windowing system distributor `The X.Org Foundation', version 11.0.11103901
Configured using:
 `configure
 'CFLAGS=-Wall -Wno-pointer-sign -DUSE_LISP_UNION_TYPE -DSYNC_INPUT -DENABLE_CHECKING -DXASSERTS -DFONTSET_DEBUG -g -O0'
 '--with-tiff=no''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: fr_CH.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: InactiveMinibuffer

Minor modes in effect:
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  electric-pair-mode: t
  electric-indent-mode: t
  url-handler-mode: t
  global-reveal-mode: t
  reveal-mode: t
  auto-insert-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<right> <down> <left> <left> <left> <left> <down> <left> 
<return> C-e C-x C-s <select-window> <help-echo> <select-window> 
<select-window> <switch-frame> <switch-frame> <select-window> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<select-window> <select-window> <select-window> <select-window> 
<switch-frame> <switch-frame> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<select-window> <select-window> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <select-window> <switch-frame> <switch-frame> 
<select-window> <select-window> <select-window> <select-window> 
<switch-frame> <help-echo> <switch-frame> <switch-frame> 
<switch-frame> <select-window> <select-window> <select-window> 
<help-echo> <select-window> C-a <up> <up> <up> <up> 
<up> <up> C-SPC <down> <down> <down> <down> <down> 
<down> <down> <down> <down> M-; C-x C-s C-c C-c <return> 
<tab> - > SPC <tab> C-a C-x C-s C-c C-c <return> <select-window> 
<select-window> <select-window> <help-echo> <select-window> 
<select-window> <select-window> <select-window> <help-echo> 
<select-window> <select-window> <select-window> <select-window> 
<help-echo> <switch-frame> <switch-frame> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <help-echo> <select-window> <select-window> 
<switch-frame> <switch-frame> <select-window> <select-window> 
<help-echo> <select-window> <select-window> <select-window> 
<select-window> <select-window> <select-window> <help-echo> 
<switch-frame> <switch-frame> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<switch-frame> <switch-frame> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <select-window> <switch-frame> <switch-frame> 
<select-window> <select-window> <select-window> <select-window> 
<select-window> <select-window> <select-window> <select-window> 
<help-echo> <select-window> <select-window> <switch-frame> 
<switch-frame> <select-window> <select-window> <select-window> 
<select-window> <help-echo> <select-window> <select-window> 
<help-echo> <select-window> <select-window> <help-echo> 
<select-window> <select-window> <select-window> <select-window> 
<switch-frame> <switch-frame> <select-window> <select-window> 
<select-window> <select-window> <select-window> <switch-frame> 
<switch-frame> <select-window> <select-window> <select-window> 
<help-echo> <select-window> <select-window> <help-echo> 
<select-window> <select-window> <select-window> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> f ~ / 
s / m / r e c <tab> <return> C-s s a u c i s s e C-s 
C-s C-s C-s C-a C-s p o i r e C-s C-s C-s C-s C-s C-s 
C-s C-s C-s C-s C-s C-a <up> <left> <right> <down> 
<down> <left> <right> <help-echo> <switch-frame> <switch-frame> 
<help-echo> <switch-frame> M-x r e p o - e m - b u 
<tab> <return>

Recent messages:
Warning: isearch-message-state is obsolete!
Mark saved where search started
Warning: isearch-success-state is obsolete! [2 times]
Warning: isearch-error-state is obsolete!
Warning: isearch-message-state is obsolete!
Warning: isearch-success-state is obsolete! [2 times]
Warning: isearch-error-state is obsolete!
Warning: isearch-message-state is obsolete!
Mark saved where search started
Warning: interactive-p is obsolete! [2 times]

Load-path shadows:
None found.

Features:
(typer-mode epa-file epa epg epg-config vc-dir descr-text informat
texinfo vc-sccs vc-svn vc-cvs vc-rcs cal-china lunar solar cal-dst
cal-bahai cal-islam cal-hebrew holidays hol-loaddefs cal-french
diary-lib diary-loaddefs cal-move cal-menu calendar cal-loaddefs sort
mail-extr message sendmail rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mail-utils
mailheader emacsbug sh-script conf-mode hideif cpp cmacexp cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs sgml-mode format-spec reftex-vcr reftex-dcr reftex reftex-vars
tex-mode latexenc bbdb-com mailabbrev bbdb timezone whitespace
autorevert doc-view jka-compr image-mode dired cl-specs xscheme trace
testcover scheme unsafep re-builder shadow inf-lisp ielm pp gmm-utils
ert find-func ewoc elp edebug cust-print repeat debug quail rect
multi-isearch dabbrev shell pcomplete vc ediff-merg ediff-diff
ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff
vc-dispatcher executable copyright cus-edit cus-start cus-load wid-edit
smerge-mode newcomment diff-mode vc-bzr filecache mule-util caml tuareg
speedbar sb-image ezimage dframe skeleton compile comint ring derived
smie caml-help caml-types caml-emacs server noutline outline easy-mmode
flyspell ispell eldoc checkdoc regexp-opt thingatpt help-mode view
prog-mode load-dir electric url-handlers url-parse auth-source warnings
eieio byte-opt bytecomp byte-compile cconv macroexp assoc gnus-util
password-cache url-vars mm-util mail-prsvr reveal autoinsert uniquify
advice help-fns advice-preload time-date savehist minibuf-eldef
disp-table cl cl-loaddefs all-autoloads company-autoloads
debbugs-autoloads epoch-view-autoloads jgraph-mode-autoloads
js2-mode-autoloads lmc-autoloads load-dir-autoloads markchars-autoloads
minimap-autoloads muse-autoloads info easymenu oauth2-autoloads
quarter-plane-autoloads rainbow-mode-autoloads register-list-autoloads
sisu-mode-autoloads svg-clock-autoloads undo-tree-autoloads
uni-confusables-autoloads windresize-autoloads package tabulated-list
proof-site proof-autoloads pg-vars bbdb-autoloads agda2 tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10714; Package emacs. (Sun, 05 Feb 2012 18:41:01 GMT) Full text and rfc822 format available.

Message #8 received at 10714 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 10714 <at> debbugs.gnu.org
Subject: Re: bug#10714: SHR leaves too much trailing whitespace
Date: Sun, 05 Feb 2012 19:39:52 +0100
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> So I think we should trim all trailing whitespace after rendering,
> which will solve at least some of those problems.

I think that's a very good idea.  The final stage in the rendering
process would be just to delete all trailing whitespace.

It seems intuitive to me that this would create a better result than the
current rendering, but right now I'm now able to find any HTML emails
here that renders badly in this manner.  (And I'd like to test it to see
if there are any unforeseen negative effects.)

Do you happen to have such an email handy that you could forward to me?
If not, I can search around my spam mailbox some more...

-- 
(domestic pets only, the antidote for overdose, milk.)
  http://lars.ingebrigtsen.no  *  Sent from my Rome




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 07 Feb 2012 00:18:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 24.1, send any further explanations to 10714 <at> debbugs.gnu.org and Stefan Monnier <monnier <at> iro.umontreal.ca> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 07 Feb 2012 00:18:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10714; Package emacs. (Tue, 07 Feb 2012 00:19:01 GMT) Full text and rfc822 format available.

Message #15 received at 10714 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 10714 <at> debbugs.gnu.org
Subject: Re: bug#10714: SHR leaves too much trailing whitespace
Date: Tue, 07 Feb 2012 01:17:28 +0100
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> Here's a similar email with lots of trailing whitespace,

Thanks.  And I found a few spam messages that looked pretty much
unreadable with all the trailing white space, and just removing it makes
it a lot more readable.  (Unfortunately.  :-)

I've now fixed this in No Gnus, so it should show up in Emacs 24
soonish...

-- 
(domestic pets only, the antidote for overdose, milk.)
  http://lars.ingebrigtsen.no  *  Sent from my Rome




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#10714; Package emacs. (Tue, 07 Feb 2012 20:09:02 GMT) Full text and rfc822 format available.

Message #18 received at 10714 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 10714 <at> debbugs.gnu.org
Subject: Re: bug#10714: SHR leaves too much trailing whitespace
Date: Tue, 07 Feb 2012 21:07:30 +0100
One thing just occurred to me.  If you have something like

<table bgcolor=red><tr><td>bla bla bla</table>

that goes over several lines, that should be presented as a block with a
red background.  By just stripping all the white space, we instead get a 
ragged right, which is kinda ugly (and makes some tables less readable,
if there are nested blocks).

So I think the whitespace-stripping thing will have to be adjusted
slightly, and only remove the whitespace if it actually makes the lines
wider than the window is.

-- 
(domestic pets only, the antidote for overdose, milk.)
  http://lars.ingebrigtsen.no  *  Sent from my Rome




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 07 Mar 2012 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 13 years and 113 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.