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: Bidi reordering engine upgraded Date: Wed, 15 Oct 2014 17:51:00 +0300 Message-ID: <834mv55quj.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1413384692 31213 80.91.229.3 (15 Oct 2014 14:51:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 15 Oct 2014 14:51:32 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 15 16:51:25 2014 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 1XePv6-00081w-Vu for ged-emacs-devel@m.gmane.org; Wed, 15 Oct 2014 16:51:21 +0200 Original-Received: from localhost ([::1]:45130 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XePv6-0003Lx-L0 for ged-emacs-devel@m.gmane.org; Wed, 15 Oct 2014 10:51:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36747) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XePuw-0003LY-Gk for emacs-devel@gnu.org; Wed, 15 Oct 2014 10:51:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XePuo-00062x-T0 for emacs-devel@gnu.org; Wed, 15 Oct 2014 10:51:10 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:46271) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XePuo-00062f-Ks for emacs-devel@gnu.org; Wed, 15 Oct 2014 10:51:02 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NDH00E00QG1GW00@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Wed, 15 Oct 2014 17:51:00 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NDH00EVWQL0CD40@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Wed, 15 Oct 2014 17:51:00 +0300 (IDT) X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.166 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:175413 Archived-At: With revision 118121, the upgraded bidi reordering engine landed on the trunk. Barring bugs, we are now fully compliant with The Unicode Bidirectional Algorithm defined by the latest Unicode Standard v7.0, and even with a few suggestions that will only make it into Unicode 8.0. The changes in the UBA as defined by the latest Unicode Standard, wrt to the original UBA we had until and including Unicode 6.2, are significant. They required serious refactoring and reimplementation of several core parts in bidi.c, something that wasn't attempted for quite a few years. In addition, one of the new UBA features, the so-called Bidirectional Parentheses Algorithm (BPA), affects pure-ASCII text as well, and specifically editing of program sources (which widely use parentheses and brackets of several kinds). The result is some small slowdown -- a few percents in my testing -- in redisplay operations. If more significant slowdown will be reported in some special cases, I will try to find optimizations to countermand that. No matter how much testing I've put into the new code, there will probably be bugs. Please be attentive to any display glitches in the trunk code, let alone crashes etc., and report them as bugs. Thanks, and enjoy.