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.
next prev 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.