unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Chong Yidong <cyd@stupidchicken.com>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: bidi-display-reordering is now non-nil by default
Date: Fri, 19 Aug 2011 10:13:26 +0300	[thread overview]
Message-ID: <838vqpswkp.fsf@gnu.org> (raw)
In-Reply-To: <87vctuz6eb.fsf@stupidchicken.com>

> From: Chong Yidong <cyd@stupidchicken.com>
> Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
> Date: Thu, 18 Aug 2011 18:44:44 -0400
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > What's wrong with using the `display' property with a special value,
> > as I suggested a few mails ago?  It _is_ a character property, isn't
> > it?
> 
> I'll have to think more about it, but I am not sure it's a good idea.
> The display property is already used for a lot of other unrelated
> purposes, like variable-width spaces.  So if you want to mark out a bidi
> segment on a stretch of text that already has other display properties
> present, you'd currently have to do some nasty merging of display specs.

I don't see any need for any merging.  We already process display
specs on before- and after-strings, and the same code can be used
here.  IOW, those other display specs will be simply processed as part
of displaying the stretch of text covered by the bidi display spec.
Since the iterator state is pushed onto the stack, I see no issues
here that need merging.  If I'm missing something, please point out
what that is or show an example where we would need to merge display
specs.

> Searching for the bidi display spec would be similarly annoying.

We already do search for display properties as part of bidi scanning,
see bidi_fetch_char and compute_display_string_pos.  It would be a
simple job to add another spec to the list of those considered
relevant by handle_display_spec, which compute_display_string_pos
calls to see if the display spec needs special handling by the bidi
iteration.  What's left is to write a next_element_from_buffer_segment
or some such that is almost an identical twin of
next_element_from_string, and a few lines of code that initialize the
bidi iterator for reordering the segment, again almost like what we
already have for display strings.

> It would be much nicer to have a separate text property specifically
> for the purpose of marking out a bidi segment.

We can do that, too, but searching for 2 different properties is more
expensive than searching for just one.

Also, it isn't clear to me how your suggestion will work if the buffer
whose segments are determined by the bidi property is also reordered
"normally", e.g. if the surrounding text includes R2L characters.  The
non-linear iteration through the surrounding text will complicate the
way we take notice of the segments that are to be reordered
separately.

> >> I don't recall the last time I ran into a problem with deferred
> >> font-lock.  I seriously doubt this is a real issue.
> >
> > ??? Set jit-lock-defer-time to something like 2, then visit xdisp.c,
> > scroll, and watch the fun.
> 
> Then don't do that.

Users currently customize font-lock for purposes that have nothing to
do with bidi reordering.  With your suggestion, they will have two
contradicting goals for a single customization.  I don't see how they
will succeed in reconciling them.



  parent reply	other threads:[~2011-08-19  7:13 UTC|newest]

Thread overview: 245+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-15  8:04 bidi-display-reordering is now non-nil by default 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 15:29                       ` use of `mouse-face' to delimit text zones [was: bidi-display-reordering is now non-nil by default] Drew Adams
2011-08-23 16:15                         ` Eli Zaretskii
2011-08-23 18:34                           ` Stefan Monnier
2011-08-23 18:45                             ` use of `mouse-face' to delimit text zones Eli Zaretskii
2011-08-23 19:17                               ` Štěpán Němec
2011-08-23 19:22                               ` Stefan Monnier
2011-08-23 18:24                       ` bidi-display-reordering is now non-nil by default 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-20  8:14                                         ` bidi reordering in program source buffers (was: bidi-display-reordering is now non-nil by default) Eli Zaretskii
2011-08-20  9:28                                           ` Andreas Schwab
2011-08-20 10:53                                             ` Eli Zaretskii
2011-08-25 13:51                                               ` Ehud Karni
2011-08-25 17:28                                                 ` bidi reordering in program source buffers Eli Zaretskii
2011-08-25 20:01                                                   ` Ehud Karni
2011-08-25 21:09                                                     ` Eli Zaretskii
2011-08-19 19:29                                     ` bidi-display-reordering is now non-nil by default Chong Yidong
2011-08-19  7:13                                   ` Eli Zaretskii [this message]
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
  -- strict thread matches above, loose matches on Subject: below --
2011-08-16 10:02 Andrey Paramonov
2011-08-16 10:40 ` Eli Zaretskii
2011-08-16 11:27   ` Andrey Paramonov
2011-07-28 17:21 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
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

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=838vqpswkp.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).