all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: rms@gnu.org
Cc: emacs-bidi@gnu.org, emacs-devel@gnu.org
Subject: Re: Mixed L2R and R2L paragraphs and horizontal scroll
Date: Sun, 31 Jan 2010 20:16:36 +0200	[thread overview]
Message-ID: <837hqyi1h7.fsf@gnu.org> (raw)
In-Reply-To: <E1NbZ7x-0004Jc-A8@fencepost.gnu.org>

> From: Richard Stallman <rms@gnu.org>
> CC: emacs-devel@gnu.org, emacs-bidi@gnu.org
> Date: Sun, 31 Jan 2010 07:42:09 -0500
> 
> 	  +---------------------------------------+
> 	  |abcdefghijk                            |
> 	  |                            KJIHGFEDCBA|
> 	  |                                       |
> 	  +---------------------------------------+
> 
> Why are there 28 spaces; what makes KJIHGFEDCBA end at column 39?

The fact that there are only 11 characters in that line, and the fact
that the window I drew happens to be 39 characters wide.  An R2L line
is drawn with its first character (A) flushed to the right margin of
the window, the second character (B) one column to the left of it,
etc.

> Is that determined by the width of the window, or by some separate
> setting analogous to fill-column?

Only the width of the window.

>       But Emacs does not
>     have a rigid line length, so flushing the R2L lines against the right
>     margin of the window makes their position depend on the window width.
>     Is that okay?  (I think it is.)
> 
> Maybe there SHOULD be a specified line length for this purpose.
> (Perhaps fill-column?  Or "use fill-column" could be one of the
> settings.)  nil could mean "use the window width".
> 
> When the width is specified, not nil, then the right behavior
> is to use that width even if it causes truncation.

You are talking about introducing a new feature.  That could be good,
but for now I'd like to have a bidi display without new features.  We
will need that anyway, even under your suggestion, for supporting the
nil value.

>     Now the crucial question: what do you think should happen if I scroll
>     the leftmost window horizontally so that the end of the first line
>     (the characters "ijk") become visible?  I think it should be this:
> 
> 	  +---------+---------+-------------------+
> 	  |$ijk     |abcdefgh$|abcdefghijk        |
> 	  |$HGFEDCBA|$HGFEDCBA|        KJIHGFEDCBA|
> 	  |         |         |                   |
> 	  +---------+---------+-------------------+
> 
> Horizontal scrolling should apply to the whole window contents
> in a rigid fashion.

But that cannot be done in this case, because the second line cannot
be scrolled to the left without moving its first character A from the
right margin.

I now think that the following display is the right one (see my other
message for the reasons):

          +---------+---------+-------------------+
          |$ijk     |abcdefgh$|abcdefghijk        |
          |     KJI$|$HGFEDCBA|        KJIHGFEDCBA|
          |         |         |                   |
          +---------+---------+-------------------+

and if the window is scrolled by 2 characters less, then it should
look like this:

          +---------+---------+-------------------+
          |$ghijk   |abcdefgh$|abcdefghijk        |
          |   KJIHG$|$HGFEDCBA|        KJIHGFEDCBA|
          |         |         |                   |
          +---------+---------+-------------------+

etc.

The principle is: the only point of reference is the margin, the left
one for L2R lines, and the right one for R2L.




  parent reply	other threads:[~2010-01-31 18:16 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-30 13:44 Mixed L2R and R2L paragraphs and horizontal scroll Eli Zaretskii
2010-01-30 15:14 ` David De La Harpe Golden
2010-01-30 15:33   ` Eli Zaretskii
2010-01-30 16:36 ` martin rudalics
2010-01-30 17:01   ` Eli Zaretskii
2010-01-30 17:22     ` martin rudalics
2010-01-30 17:52       ` Eli Zaretskii
2010-01-30 18:31         ` martin rudalics
2010-01-30 19:12           ` Eli Zaretskii
2010-01-30 19:45             ` martin rudalics
2010-01-30 21:40               ` Eli Zaretskii
2010-01-31  9:36                 ` martin rudalics
2010-01-31 18:02                   ` Eli Zaretskii
2010-01-31 20:01                     ` martin rudalics
2010-01-31 21:53                       ` Miles Bader
2010-02-01  4:12                         ` Eli Zaretskii
2010-02-01  8:34                         ` martin rudalics
2010-02-01  4:11                       ` Eli Zaretskii
2010-02-01  8:34                         ` martin rudalics
2010-02-01 20:21                           ` Eli Zaretskii
2010-02-02  8:08                             ` martin rudalics
2010-02-02 19:30                               ` Eli Zaretskii
2010-02-03 16:06                                 ` martin rudalics
2010-02-01 21:05                       ` Richard Stallman
2010-02-02  8:08                         ` martin rudalics
2010-02-02 13:23                           ` tomas
2010-02-02 14:39                             ` martin rudalics
2010-02-02 19:32                             ` Eli Zaretskii
2010-02-06  6:29                               ` tomas
2010-02-02 21:21                             ` Richard Stallman
2010-02-06  6:35                               ` tomas
2010-02-06 14:46                                 ` David De La Harpe Golden
2010-02-06 22:55                                 ` Richard Stallman
2010-02-02 21:21                           ` Richard Stallman
2010-01-30 23:26 ` David De La Harpe Golden
2010-01-31 12:42 ` Richard Stallman
2010-01-31 15:02   ` David De La Harpe Golden
2010-01-31 18:20     ` Eli Zaretskii
2010-01-31 18:16   ` Eli Zaretskii [this message]
2010-02-01 21:05     ` Richard Stallman
2010-02-01 21:51       ` Eli Zaretskii
2010-02-02 21:21         ` Richard Stallman
2010-02-01 14:00 ` Ehud Karni
2010-02-01 20:18   ` Eli Zaretskii
2010-02-01 22:05     ` [emacs-bidi] " Ehud Karni
2010-02-02 20:04       ` Eli Zaretskii
2010-02-03 13:10         ` Ehud Karni
2010-02-03 18:59           ` Eli Zaretskii
2010-02-04 11:01             ` Richard Stallman
2010-02-04 15:14               ` [emacs-bidi] " Stefan Monnier
2010-02-04 15:57                 ` David Kastrup
2010-02-04 17:21                   ` Davis Herring
2010-02-04 19:33                   ` Eli Zaretskii
2010-02-04 20:46                   ` [emacs-bidi] " tomas
2010-02-04 22:23                     ` Eli Zaretskii
2010-02-06  6:41                       ` [emacs-bidi] " tomas
2010-02-04 22:05                   ` Stefan Monnier
2010-02-04 19:12               ` Eli Zaretskii
2010-02-05 12:44                 ` Richard Stallman
2010-02-05 13:30                   ` Eli Zaretskii
2010-02-05 18:06                     ` [emacs-bidi] " Stefan Monnier
2010-02-05 21:48                       ` Eli Zaretskii
2010-02-06 22:55                         ` Richard Stallman
2010-02-07  4:08                           ` Eli Zaretskii
2010-02-07  8:35                             ` David Kastrup
2010-02-07 15:05                             ` Richard Stallman
2010-02-04 14:02             ` [emacs-bidi] " Ehud Karni
2010-02-04 19:30               ` Eli Zaretskii
2010-02-04 19:48                 ` [emacs-bidi] " Eli Zaretskii
2010-02-06  6:52               ` tomas
2010-02-03 21:02           ` Davis Herring
2010-02-04  4:16             ` Bidirectional embeddings (was: Mixed L2R and R2L paragraphs and horizontal scroll) Eli Zaretskii
2010-02-04 16:21             ` [emacs-bidi] Mixed L2R and R2L paragraphs and horizontal scroll Ehud Karni
2010-02-04 19:40               ` Eli Zaretskii
2010-02-04 22:13                 ` [emacs-bidi] " Stefan Monnier
2010-02-05  9:50                   ` Eli Zaretskii
2010-02-05 10:47                     ` Eli Zaretskii
2010-02-05 18:06                     ` [emacs-bidi] " Stefan Monnier
2010-02-06 13:39                     ` David De La Harpe Golden
2010-02-06 15:45                       ` Ehud Karni
2010-02-06 19:38                       ` Eli Zaretskii
2010-02-06 21:18                         ` [emacs-bidi] " David De La Harpe Golden
2010-02-11 21:40                     ` Beni Cherniavsky
2010-02-12 11:03                       ` Eli Zaretskii
2010-02-12 12:36                         ` Eli Zaretskii
2010-02-05 12:21                 ` [emacs-bidi] " Ehud Karni
2010-02-05 13:47                   ` Eli Zaretskii
2010-02-05 14:22                     ` Miles Bader
2010-02-05 14:52                       ` Eli Zaretskii
2010-02-06  1:07                         ` Miles Bader
2010-02-06  9:03                           ` Eli Zaretskii
2010-02-06  9:32                             ` Miles Bader
2010-02-06 15:42                     ` [emacs-bidi] " Ehud Karni
2010-02-06 19:14                       ` Eli Zaretskii
2010-02-03 13:22         ` [emacs-bidi] " Ehud Karni
2010-02-03 19:01           ` Eli Zaretskii
2010-02-04 14:08             ` [emacs-bidi] " Ehud Karni
2010-02-01 15:36 ` 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

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

  git send-email \
    --in-reply-to=837hqyi1h7.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-bidi@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.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.