From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: "... the window start at a meaningless point within a line." Date: Sat, 17 Oct 2015 10:15:47 +0300 Message-ID: <831tcu55jw.fsf@gnu.org> References: <20150930204513.GA3174@acm.fritz.box> <83mvw39dp3.fsf@gnu.org> <20151001094138.GA2515@acm.fritz.box> <83h9maao7w.fsf@gnu.org> <20151001110204.GB2515@acm.fritz.box> <83egheaj9e.fsf@gnu.org> <20151015181642.GA6467@acm.fritz.box> <834mhr99e8.fsf@gnu.org> <20151016095535.GA2779@acm.fritz.box> <83wpun5d5u.fsf@gnu.org> <20151016151936.GB2779@acm.fritz.box> <83bnby67yn.fsf@gnu.org> <87wpumr16m.fsf@fencepost.gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: ger.gmane.org 1445066174 21217 80.91.229.3 (17 Oct 2015 07:16:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 17 Oct 2015 07:16:14 +0000 (UTC) Cc: acm@muc.de, emacs-devel@gnu.org To: David Kastrup Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 17 09:16:04 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZnLil-0007i2-8v for ged-emacs-devel@m.gmane.org; Sat, 17 Oct 2015 09:16:03 +0200 Original-Received: from localhost ([::1]:57290 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnLik-0006te-HF for ged-emacs-devel@m.gmane.org; Sat, 17 Oct 2015 03:16:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33715) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnLiY-0006tZ-Es for emacs-devel@gnu.org; Sat, 17 Oct 2015 03:15:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZnLiX-0002DU-FA for emacs-devel@gnu.org; Sat, 17 Oct 2015 03:15:50 -0400 Original-Received: from mtaout29.012.net.il ([80.179.55.185]:47777) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnLiT-0002Ay-Km; Sat, 17 Oct 2015 03:15:45 -0400 Original-Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NWC00900RP42T00@mtaout29.012.net.il>; Sat, 17 Oct 2015 10:15:06 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NWC007HHS560R30@mtaout29.012.net.il>; Sat, 17 Oct 2015 10:15:06 +0300 (IDT) In-reply-to: <87wpumr16m.fsf@fencepost.gnu.org> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.185 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:191809 Archived-At: > From: David Kastrup > Cc: Alan Mackenzie , emacs-devel@gnu.org > Date: Fri, 16 Oct 2015 22:46:57 +0200 >=20 > > Just turn on the 'hebrew' input method and start typing. > =D7=93=D7=95=D7=93 doesn't look all that different from L2R text. Yes, that's an example. But this example is actually not what Alan should look at, he should look at something like this: L2R paragraph with some =D7=93=D7=95=D7=93 =D7=9E=D7=9C=D7=9A =D7= =99=D7=A9=D7=A8=D7=90=D7=9C R2L text. The reason is that the iterator geometry is always L2R; screen lines in an R2L paragraph are produced "behind the back" of the iterator object. So all the move_it_* functions think the line begins at the left window margin, like the above example. To see the non-linear change in buffer position with the screen coordinates, use C-f to move through the above line. C-f moves forward in the strict logical order of buffer positions, so the non-linear way the cursor moves on the screen will demonstrate the problem, i.e. why it is wrong to compare buffer positions to decide which character is to the left of which on the screen.