From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#27525: 25.1; Line wrapping of bidi paragraphs Date: Thu, 20 Jul 2017 14:09:36 +0300 Message-ID: <83bmofbc0f.fsf@gnu.org> References: <8337abobuz.fsf@gnu.org> <87eftpa30a.fsf@blei.turtle-trading.net> <83a84djweb.fsf@gnu.org> <83shhsbakk.fsf@gnu.org> <83lgnjbsqw.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1500549008 12214 195.159.176.226 (20 Jul 2017 11:10:08 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 20 Jul 2017 11:10:08 +0000 (UTC) Cc: 27525@debbugs.gnu.org To: Itai Berli Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jul 20 13:10:03 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dY9LH-0002wF-E9 for geb-bug-gnu-emacs@m.gmane.org; Thu, 20 Jul 2017 13:10:03 +0200 Original-Received: from localhost ([::1]:37311 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dY9LN-0006Wr-0l for geb-bug-gnu-emacs@m.gmane.org; Thu, 20 Jul 2017 07:10:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49474) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dY9LH-0006Sx-Mg for bug-gnu-emacs@gnu.org; Thu, 20 Jul 2017 07:10:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dY9LG-0001n3-Ny for bug-gnu-emacs@gnu.org; Thu, 20 Jul 2017 07:10:03 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:45984) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dY9LG-0001mp-K7 for bug-gnu-emacs@gnu.org; Thu, 20 Jul 2017 07:10:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dY9LG-00055m-Bc for bug-gnu-emacs@gnu.org; Thu, 20 Jul 2017 07:10:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 20 Jul 2017 11:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27525 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 27525-submit@debbugs.gnu.org id=B27525.150054899919561 (code B ref 27525); Thu, 20 Jul 2017 11:10:02 +0000 Original-Received: (at 27525) by debbugs.gnu.org; 20 Jul 2017 11:09:59 +0000 Original-Received: from localhost ([127.0.0.1]:48661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dY9LC-00055Q-Fa for submit@debbugs.gnu.org; Thu, 20 Jul 2017 07:09:58 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:58477) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dY9LB-00055E-Ad for 27525@debbugs.gnu.org; Thu, 20 Jul 2017 07:09:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dY9L0-0001dm-VU for 27525@debbugs.gnu.org; Thu, 20 Jul 2017 07:09:51 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55956) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dY9L0-0001dg-Rt; Thu, 20 Jul 2017 07:09:46 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4069 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dY9L0-00010c-BF; Thu, 20 Jul 2017 07:09:46 -0400 In-reply-to: (message from Itai Berli on Thu, 20 Jul 2017 10:01:33 +0300) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:134789 Archived-At: > Resent-Sender: help-debbugs@gnu.org > From: Itai Berli > Date: Thu, 20 Jul 2017 10:01:33 +0300 > > I see no reason to continue this discussion any further. Thank you. > One thing I'm curious about, though. What bidi features exist in Emacs, half of which the other editors don't > have? Which features were you referring to when you wrote that, thanks to them, "10 years later, Emacs still > shines among all the bidi-aware editors out there"? . For starters, all the UBA features are fully supported, including the directional isolates and bracket-matching (a.k.a. "BPA"). . Support for bidirectional display on both GUI and text-mode terminals. . Both logical-order and visual-order cursor motion. . Full support for Arabic shaping and other complex-script shaping features in bidirectional text (e.g., Hebrew "nikkud"). . Bidi formatting controls are visible on screen, so users don't need to guess why display looks like it does. . Variables to control where paragraphs begin and end, for the purposes of determining base paragraph direction. . Variables to disable mirroring of parentheses due to bidi context, and even disable bidi reordering entirely, if needed. . Lisp functions that are necessary when writing bidi-aware customizations and features: . a function that returns base paragraph direction at point . a function that returns resolved bidi levels for a line . a function that takes a string and wraps it so that it could be concatenated with other strings without fear of producing jumbled display due to reordering (important for tabular display) . a function to find characters whose directionality was overridden by bidi controls (which could be used to maliciously dupe the user to think a string is not what it really is) . a function to return a substring of buffer text surrounded by bidi controls that make sure its visual appearance will not change when copied to a different portion of text And that is even before we consider Emacs-only features, which those other editors can only dream about, like mouse-highlight, display and overlay strings, invisible text, text alignment on display, etc. -- all of which are bidi-aware in Emacs.