all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Kenichi Handa <handa@m17n.org>
Cc: stephen@xemacs.org, emacs-devel@gnu.org, larsi@gnus.org,
	list-general@mohsen.1.banan.byname.net
Subject: Re: bidi-display-reordering is now non-nil by default
Date: Tue, 09 Aug 2011 03:00:52 -0400	[thread overview]
Message-ID: <E1QqgJ2-0006f8-Rf@fencepost.gnu.org> (raw)
In-Reply-To: <tl7d3gfi06a.fsf@m17n.org> (message from Kenichi Handa on Tue, 09 Aug 2011 15:11:41 +0900)

> From: Kenichi Handa <handa@m17n.org>
> Cc: stephen@xemacs.org, larsi@gnus.org, list-general@mohsen.1.banan.byname.net,
>         emacs-devel@gnu.org
> Date: Tue, 09 Aug 2011 15:11:41 +0900
> 
> In article <E1QouuP-0006aC-L8@fencepost.gnu.org>, Eli Zaretskii <eliz@gnu.org> writes:
> 
> > >   Guidelines of [Unicode]). Paragraphs may also be
> > >   determined by higher-level protocols: for example, the
> > >   text in two different cells of a table will be in
> > >   different paragraphs.
> > > 
> > > The case of summary line belongs to the last sentence above.
> 
> > That is one possible interpretation, yes.  But it isn't the only one.
> 
> I think it is the most natural/appropriate interpretation.

I'm not convinced.  However, as I wrote, if we are okay with using
TABs to separate fields in summary buffers, the necessary
infrastructure is already implemented.  Personally, I'm not sure that
using TABs is the best way, for reasons I described in the quoted
message, but I'll leave this decision to Gnus developers and users.
Maybe making the TABs invisible (with the `invisible' text property)
will help us maintain a plausible display with predictable format, and
thus resolve the difficulties that bother me.

> > The goal is to have correct display of the summary lines, not to
> > decide whether we are dealing with cells or not.  Directional control
> > character allow to render summary lines for display correctly even
> > without "cells".
> 
> They can, but it is better to avoid using them to workaround
> the "cell" problem.

Why?  I didn't yet hear a single explanation of why people don't like
them.  They are just formatting control characters, like TAB, SPC, and
NL.

Without providing some good reasons for staying away of the
directional control characters, all this discussion is just waste of
energy and bandwidth.  Unless someone else is going to implement the
proposed text property alternative, I will need a _very_ good reason
to throw away what cost me many months of hard work and do it again
differently, because as far as I'm concerned, what we have now is very
satisfactory, to say the least, and no serious attempts were made this
far to use them to solve this issue.

> I think we should not stop finding the right solution just
> to release 24.1 on time.  Isn't it worth delaying 24.1 for
> the right solution?

How long are you prepared to wait?  How long are Emacs users prepared
to wait?

First, "the right solution" is not well defined yet.  People are
proposing to use text properties, but the proposal itself is not
detailed enough.  For example, are we going to use text properties for
any other bidi-related features, and if so, which ones?  We had better
have a good and detailed answer to this and similar questions, because
making such deep changes (see below) without a clear plan, or, worse,
just for the benefit of a single use case (lines with fields) is a bad
idea: it will complicate the heck out of the display code, which is
already a hard to maintain monstrosity, where alternatives already
exist.

I see no hope of coming up with a reasonably complete proposal from
this discussion, because most of the people arguing for the change
don't use R2L scripts and have no clear idea what is needed and how it
will affect users.  So it is again up to me, and I don't see the need
for such a change to begin with, because no one cared to tell what is
so dead wrong with the current facilities, which, btw, were not chosen
at random, but came out of long discussions and careful study of the
needs and of "prior art".

Next, implementing this suggestion is not a simple task at all.
Forcing bidi.c to check text properties will at best slow down the
display engine, which is already slower than Emacs 23.  Worse, there
are many potential pitfalls here, because code that examines text
properties will need to avoid walking the buffer, or it will cause
infinite recursion.  In the current implementation, at least handling
of the `display' and `invisible' properties does involve walking the
buffer--these parts will have to be redesigned and reimplemented.
Handlers of other properties will have to be carefully examined, to
make sure they don't run the same risk; in the current design, I never
needed such an analysis because of complete separation between
scanning the buffer and applying text properties.

Last, but not least, the elaborate logic that finds and applies text
properties when the next character in the visual order can be far away
of the current one will have to be redesigned and reimplemented.
Getting that logic right took months of trial and crash, because the
intricate details of how all this works in the display engine are not
documented anywhere.  I still bump into surprises from time to time to
this day, when I step through set_iterator_to_next and its
subroutines.  Who will have the energy and motivation to go through
all that process again?



  reply	other threads:[~2011-08-09  7:00 UTC|newest]

Thread overview: 232+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-28 17:21 bidi-display-reordering is now non-nil by default Eli Zaretskii
2011-07-28 18:51 ` David Kastrup
2011-07-28 20:35   ` Juanma Barranquero
2011-07-30 22:55 ` Werner LEMBERG
2011-07-31  3:06   ` Eli Zaretskii
2011-07-31  6:21     ` Werner LEMBERG
2011-07-31  6:29       ` Eli Zaretskii
2011-07-31  6:44         ` Werner LEMBERG
2011-07-31  7:01           ` Eli Zaretskii
2011-07-31  7:36             ` Werner LEMBERG
2011-07-31  6:17   ` Eli Zaretskii
2011-07-31  6:27     ` Werner LEMBERG
2011-07-31  6:40       ` Eli Zaretskii
2011-07-31  6:51         ` Werner LEMBERG
2011-07-31  7:59           ` David Kastrup
2011-07-31  9:03             ` Eli Zaretskii
2011-07-31  9:15               ` David Kastrup
2011-07-31  9:34                 ` Eli Zaretskii
2011-07-31  9:54                   ` David Kastrup
2011-07-31 10:18                     ` Eli Zaretskii
2011-07-31 10:35                       ` David Kastrup
2011-07-31 12:01                         ` Eli Zaretskii
2011-07-31 13:23                           ` David Kastrup
2011-07-31 13:43                             ` Eli Zaretskii
2011-07-31 11:07                   ` Lars Magne Ingebrigtsen
2011-07-31 12:22                     ` Eli Zaretskii
2011-07-31 13:25                       ` David Kastrup
2011-07-31 13:38                         ` Lars Magne Ingebrigtsen
2011-07-31 13:54                           ` David Kastrup
2011-07-31 13:59                             ` Eli Zaretskii
2011-07-31 14:26                               ` David Kastrup
2011-07-31 15:44                                 ` Eli Zaretskii
2011-08-01  1:14                                   ` Mohsen BANAN
2011-08-01  2:54                                     ` Eli Zaretskii
2011-08-03  2:39                                       ` Mohsen BANAN
2011-08-03  8:56                                         ` Eli Zaretskii
2011-08-01 15:51                                     ` Lars Ingebrigtsen
2011-08-03  2:56                                       ` Mohsen BANAN
2011-08-03 18:45                                         ` Lars Magne Ingebrigtsen
2011-08-03 19:30                                           ` Eli Zaretskii
2011-08-04  3:23                                             ` Stephen J. Turnbull
2011-08-04  5:16                                               ` Eli Zaretskii
2011-08-04  6:55                                                 ` Kenichi Handa
2011-08-04 10:12                                                   ` Eli Zaretskii
2011-08-09  6:11                                                     ` Kenichi Handa
2011-08-09  7:00                                                       ` Eli Zaretskii [this message]
2011-08-04 10:04                                                 ` Stephen J. Turnbull
2011-08-04 10:36                                                   ` Eli Zaretskii
2011-08-04 13:55                                                     ` Stephen J. Turnbull
2011-08-04 14:04                                                       ` David Kastrup
2011-08-04 14:59                                                         ` Eli Zaretskii
2011-08-04 14:53                                                       ` Eli Zaretskii
2011-08-04 16:55                                                         ` Stephen J. Turnbull
2011-08-04 17:07                                                           ` Stephen J. Turnbull
2011-08-04 17:43                                                           ` Eli Zaretskii
2011-08-05  3:38                                                             ` Stephen J. Turnbull
2011-08-05  5:46                                                               ` David Kastrup
2011-08-05  6:40                                                               ` Eli Zaretskii
2011-08-05  8:00                                                                 ` Stephen J. Turnbull
2011-08-04 13:59                                                 ` Stefan Monnier
2011-08-04 14:56                                                   ` Eli Zaretskii
2011-08-05  3:41                                             ` Michael Welsh Duggan
2011-08-05  6:56                                               ` Eli Zaretskii
2011-08-05 17:56                                             ` Chong Yidong
2011-08-05 18:10                                               ` Eli Zaretskii
2011-08-05 18:45                                                 ` Chong Yidong
2011-08-05 20:30                                                   ` Eli Zaretskii
2011-08-05 21:54                                                     ` Chong Yidong
2011-08-06  2:01                                                       ` Jason Rumney
2011-08-06  7:07                                                       ` Eli Zaretskii
2011-08-07 17:21                                                         ` Chong Yidong
2011-08-07 19:32                                                           ` Eli Zaretskii
2011-08-09 16:07                                                             ` Chong Yidong
2011-08-09 16:23                                                               ` Eli Zaretskii
2011-08-09 16:30                                                                 ` David Kastrup
2011-08-09 17:12                                                                   ` Eli Zaretskii
2011-08-09 17:26                                                                     ` David Kastrup
2011-08-09 17:34                                                                       ` Eli Zaretskii
2011-08-09 18:00                                                                         ` David Kastrup
2011-08-10  0:24                                                                           ` Richard Stallman
2011-08-11  5:38                                                                         ` Stephen J. Turnbull
2011-08-09 22:26                                                                 ` Chong Yidong
2011-08-10  1:03                                                                   ` Stefan Monnier
2011-08-10  1:14                                                                     ` David Kastrup
2011-08-10  4:50                                                                       ` Eli Zaretskii
2011-08-10 16:07                                                                         ` Chong Yidong
2011-08-10 16:40                                                                           ` Eli Zaretskii
2011-08-10 16:52                                                                             ` Chong Yidong
2011-08-10 17:13                                                                               ` Eli Zaretskii
2011-08-11  2:45                                                                               ` Mohsen BANAN
2011-08-10  3:07                                                                     ` Eli Zaretskii
2011-08-10 13:20                                                                       ` Stefan Monnier
2011-08-10 13:39                                                                         ` Eli Zaretskii
2011-08-10  3:04                                                                   ` Eli Zaretskii
2011-08-10  5:36                                                                     ` David Kastrup
2011-08-10 13:22                                                                     ` Stefan Monnier
2011-08-17 22:21                                                           ` Lars Magne Ingebrigtsen
2011-08-17 22:25                                                             ` Lars Magne Ingebrigtsen
2011-08-17 23:14                                                               ` Lars Magne Ingebrigtsen
2011-08-18  7:23                                                                 ` Eli Zaretskii
2011-08-18  7:00                                                               ` Eli Zaretskii
2011-09-10 19:11                                                                 ` Lars Magne Ingebrigtsen
2011-09-10 19:30                                                                   ` Eli Zaretskii
2011-09-10 19:33                                                                     ` Lars Magne Ingebrigtsen
2011-08-06 15:51                                                       ` Lars Magne Ingebrigtsen
2011-08-06 16:16                                                         ` David Kastrup
2011-08-06 16:17                                                         ` Eli Zaretskii
2011-08-06 19:21                                                       ` Mohsen BANAN
2011-07-31 13:54                         ` Eli Zaretskii
2011-08-02 15:34                           ` Stefan Monnier
2011-08-02 16:09                             ` Lars Magne Ingebrigtsen
2011-08-02 16:42                               ` David Kastrup
2011-08-02 16:48                                 ` Lars Magne Ingebrigtsen
2011-08-02 18:27                                 ` James Cloos
2011-08-02 16:50                               ` Eli Zaretskii
2011-08-02 17:01                             ` Eli Zaretskii
2011-08-01 15:45         ` Chong Yidong
2011-08-01 17:44           ` Eli Zaretskii
2011-08-01 20:33             ` Lars Ingebrigtsen
2011-08-02  5:06               ` Eli Zaretskii
2011-08-02  7:20                 ` David Kastrup
2011-08-02  7:43                   ` Eli Zaretskii
2011-08-02 10:27                     ` Štěpán Němec
2011-08-02 11:33                       ` Eli Zaretskii
2011-08-02 13:37                 ` Lars Magne Ingebrigtsen
2011-08-02 17:10                   ` Eli Zaretskii
2011-08-02 17:35                     ` Lars Magne Ingebrigtsen
2011-08-02 19:44                       ` Eli Zaretskii
2011-08-03  3:04                         ` محسن بنان
2011-08-03  5:11                           ` James Cloos
2011-08-03  5:52                             ` Mohsen BANAN
2011-08-03  9:28                             ` Eli Zaretskii
2011-08-03 12:08                               ` James Cloos
2011-08-03 12:57                                 ` Eli Zaretskii
2011-08-03 13:06                                   ` James Cloos
2011-08-03 13:48                                     ` Eli Zaretskii
2011-08-03 14:10                                       ` James Cloos
2011-08-03 16:08                                         ` Eli Zaretskii
2011-08-03 17:20                                           ` Mohsen BANAN
2011-08-03  8:42                           ` Eli Zaretskii
2011-08-03 19:26                             ` main
2011-08-02 15:43           ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2011-08-15  8:04 Andrey Paramonov
2011-08-15  9:10 ` Eli Zaretskii
2011-08-15  9:24   ` David Kastrup
2011-08-15 10:20     ` Eli Zaretskii
2011-08-15 10:46       ` David Kastrup
2011-08-15 11:10         ` Eli Zaretskii
2011-08-15 11:27           ` David Kastrup
2011-08-15 11:56             ` Eli Zaretskii
2011-08-15 12:56               ` David Kastrup
2011-08-15 13:07                 ` Eli Zaretskii
2011-08-15 13:59     ` Stefan Monnier
2011-08-15 14:18       ` David Kastrup
2011-08-15 16:57         ` Stefan Monnier
2011-08-15 17:12         ` Eli Zaretskii
2011-08-15 16:55       ` Eli Zaretskii
2011-08-15 18:13         ` Stefan Monnier
2011-08-17 20:34           ` Lars Magne Ingebrigtsen
2011-08-18 16:14           ` Eli Zaretskii
2011-08-22  6:02             ` Eli Zaretskii
2011-08-22 19:35               ` Stefan Monnier
2011-08-23  8:05                 ` Eli Zaretskii
2011-08-23 18:19                   ` Stefan Monnier
2011-08-23 19:03                     ` Eli Zaretskii
2011-08-23 19:17                       ` Stefan Monnier
2011-08-24  6:35                         ` Eli Zaretskii
2011-08-24  9:02                         ` Eli Zaretskii
2011-08-24 14:51                           ` Stefan Monnier
2011-08-24 16:55                             ` Eli Zaretskii
2011-08-25  4:38                               ` Stefan Monnier
2011-08-25  6:12                                 ` Eli Zaretskii
2011-08-26  3:55                                   ` Stefan Monnier
2011-08-26  7:31                                     ` Eli Zaretskii
2011-08-27  2:53                                       ` Stefan Monnier
2011-08-27  8:16                                         ` Eli Zaretskii
2011-08-28  2:52                                           ` Stefan Monnier
2011-08-28  6:03                                             ` Eli Zaretskii
2011-08-29 14:46                                               ` Stefan Monnier
2011-08-25 10:50                                 ` Eli Zaretskii
2011-08-22 19:37               ` Stefan Monnier
2011-08-22 21:35                 ` Štěpán Němec
2011-08-23  1:13                   ` Stefan Monnier
2011-08-23  9:58                     ` Štěpán Němec
2011-08-23 18:24                       ` Stefan Monnier
2011-08-23 19:14                         ` Štěpán Němec
2011-08-23  8:40                 ` Eli Zaretskii
2011-08-15 18:28         ` Chong Yidong
2011-08-15 20:41           ` Eli Zaretskii
2011-08-16  1:11             ` Stefan Monnier
2011-08-16  2:02             ` Chong Yidong
2011-08-16  6:47               ` Eli Zaretskii
2011-08-16  7:07                 ` David Kastrup
2011-08-16  9:25                   ` Eli Zaretskii
2011-08-16 10:01                     ` David Kastrup
2011-08-16 10:37                       ` Eli Zaretskii
2011-08-16  7:40                 ` Andreas Schwab
2011-08-16  7:54                   ` David Kastrup
2011-08-16  9:20                     ` Eli Zaretskii
2011-08-16  9:40                       ` David Kastrup
2011-08-16 10:01                         ` Eli Zaretskii
2011-08-16 14:10                           ` Stefan Monnier
2011-08-16  9:03                   ` Eli Zaretskii
2011-08-16  9:10                     ` Andreas Schwab
2011-08-16  9:55                       ` Eli Zaretskii
2011-08-16  9:03                   ` Eli Zaretskii
2011-08-16 14:03                 ` Stefan Monnier
2011-08-16 14:48                   ` Eli Zaretskii
2011-08-16 15:48                 ` Chong Yidong
2011-08-16 17:50                   ` Eli Zaretskii
2011-08-16 22:24                     ` Chong Yidong
2011-08-17  6:30                       ` Eli Zaretskii
2011-08-17  9:34                         ` Juri Linkov
2011-08-17 10:05                           ` Eli Zaretskii
2011-08-17 22:32                         ` Chong Yidong
2011-08-18  8:21                           ` Eli Zaretskii
2011-08-18 17:13                             ` Chong Yidong
2011-08-18 17:45                               ` Eli Zaretskii
2011-08-18 22:44                                 ` Chong Yidong
2011-08-19  3:16                                   ` Stefan Monnier
2011-08-19  7:25                                     ` Eli Zaretskii
2011-08-19 20:00                                       ` Chong Yidong
2011-08-19 19:29                                     ` Chong Yidong
2011-08-19  7:13                                   ` Eli Zaretskii
2011-08-19 19:43                                     ` Chong Yidong
2011-08-20  7:39                                       ` Eli Zaretskii
2011-08-19 14:51                                   ` Lars Magne Ingebrigtsen
2011-08-19 15:12                                     ` Eli Zaretskii
2011-08-15  9:27   ` Andrey Paramonov
2011-08-16 10:02 Andrey Paramonov
2011-08-16 10:40 ` Eli Zaretskii
2011-08-16 11:27   ` Andrey Paramonov

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=E1QqgJ2-0006f8-Rf@fencepost.gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=handa@m17n.org \
    --cc=larsi@gnus.org \
    --cc=list-general@mohsen.1.banan.byname.net \
    --cc=stephen@xemacs.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.