all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
Cc: 22250@debbugs.gnu.org, larsi@gnus.org
Subject: bug#22250: 25.0.50; Eww fails to break RTL paragraph
Date: Thu, 31 Dec 2015 17:26:11 +0200	[thread overview]
Message-ID: <83h9iybpws.fsf@gnu.org> (raw)
In-Reply-To: <87io3fptzl.fsf@justinian.turtle-trading.net> (message from Benjamin Riefenstahl on Wed, 30 Dec 2015 21:22:06 +0100)

> From: Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
> Cc: 22250@debbugs.gnu.org,  larsi@gnus.org
> Date: Wed, 30 Dec 2015 21:22:06 +0100
> 
> > I'll need a clear test case to look into this.
> 
> Try the attached patch.  It reverts parts of Lars' fix and adds a debug
> message to shr-vertical-motion.
> 
> For a base-line test, execute
> 
>   ./emacs -Q -nw --eval '(eww "https://odoacer.turtle-trading.net/abc-abc-abc-abc-abc-abc-abc-abc-abc-abc-abc-abc-abc-abc-test.html")'
> 
> Once the page is loaded, press "G RET".  This second load reproduces the
> problem for me.  I get this protocol in the message buffer:
> 
>   Contacting host: odoacer.turtle-trading.net:443
>   bpd: right-to-left pt: 1 hscroll: 0
>   bpd: right-to-left pt: 97 hscroll: 0
>   bpd: right-to-left pt: 193 hscroll: 0
>   bpd: right-to-left pt: 289 hscroll: 0
>   Contacting host: odoacer.turtle-trading.net:443
>   bpd: right-to-left pt: 1 hscroll: 57
>   bpd: right-to-left pt: 153 hscroll: 57
>   bpd: right-to-left pt: 305 hscroll: 57
> 
> The first run is as I expected.  The second run has point at 1 and
> hscroll at 57 (this is in a terminal, that's why the actual number is
> different from before).  According to my logic that should not be
> possible.  When the point is at 1, then hscroll should be 0 otherwise
> point would not be visible.  Unless some intermediate state is
> permissible.  But than shr could not rely on hscroll and therefore not
> on vertical-motion.
> 
> Now as a second experiment, remove the ";" from bidi-paragraph-direction
> in shr-insert-document.  Repeat the test.  Now the result should look
> correct.  Somehow bidi-paragraph-direction does make a difference.

No, it's not bidi-paragraph-direction, at least not directly.  The
problem is that shr-fill-lines needs to start in a window that is not
scrolled horizontally, because otherwise vertical-motion will move to
a wrong place (it interprets the column in its argument to be relative
to its left edge).  When EWW doesn't clear the previous value of
bidi-paragraph-direction, the message "Loading URL ..." that is
displayed when you type "G RET" is inserted into a buffer with a
right-to-left paragraph direction, and bidi-display-reordering was not
yet set to nil, so inserting that message with such a long URL causes
the window to auto-hscroll.  So when shr-insert-document is called,
and resets bidi-display-reordering, the window is already hscrolled,
and filling lines misbehaves.

I fixed that now by forcing zero hscroll on the window before the
line-filling starts.

I guess we can now close this bug?

Thanks.





  parent reply	other threads:[~2015-12-31 15:26 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-27 19:11 bug#22250: 25.0.50; Eww fails to break RTL paragraph Benjamin Riefenstahl
2015-12-27 19:27 ` Eli Zaretskii
2015-12-27 23:09   ` Benjamin Riefenstahl
2015-12-28  3:32     ` Eli Zaretskii
2015-12-28 16:40       ` Benjamin Riefenstahl
2015-12-28 17:12         ` Eli Zaretskii
2015-12-28 17:49           ` Eli Zaretskii
2015-12-28 18:15           ` Benjamin Riefenstahl
2015-12-28 18:30             ` Eli Zaretskii
2015-12-28 21:23               ` Benjamin Riefenstahl
2015-12-29 16:47                 ` Eli Zaretskii
2015-12-29 20:55                   ` Benjamin Riefenstahl
2015-12-29 21:03                     ` Eli Zaretskii
2015-12-29 22:33                       ` Benjamin Riefenstahl
2015-12-30 17:04                         ` Eli Zaretskii
2015-12-30 20:22                           ` Benjamin Riefenstahl
2015-12-30 20:30                             ` Benjamin Riefenstahl
2015-12-31 15:26                             ` Eli Zaretskii [this message]
2015-12-31 18:10                               ` Benjamin Riefenstahl
2015-12-31 18:23                                 ` Eli Zaretskii
2015-12-30 17:15                       ` Eli Zaretskii
2015-12-28 16:46       ` Lars Ingebrigtsen
2015-12-28 19:07     ` Benjamin Riefenstahl
2015-12-28 19:29       ` Eli Zaretskii
2015-12-27 19:30 ` Lars Ingebrigtsen
2015-12-27 19:38   ` Eli Zaretskii
2015-12-27 19:45   ` Eli Zaretskii
2015-12-27 19:49     ` Lars Ingebrigtsen
2015-12-27 20:22       ` Eli Zaretskii
2015-12-27 20:28         ` Eli Zaretskii
2015-12-27 21:00           ` Eli Zaretskii
2015-12-27 21:10             ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83h9iybpws.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=22250@debbugs.gnu.org \
    --cc=b.riefenstahl@turtle-trading.net \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.