From unknown Fri Sep 05 17:16:52 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#11700 <11700@debbugs.gnu.org> To: bug#11700 <11700@debbugs.gnu.org> Subject: Status: 24.1.50; Bad interaction between BiDi and org-tables Reply-To: bug#11700 <11700@debbugs.gnu.org> Date: Sat, 06 Sep 2025 00:16:52 +0000 retitle 11700 24.1.50; Bad interaction between BiDi and org-tables reassign 11700 emacs,org-mode submitter 11700 Dov Grobgeld severity 11700 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 13 15:29:44 2012 Received: (at submit) by debbugs.gnu.org; 13 Jun 2012 19:29:44 +0000 Received: from localhost ([127.0.0.1]:41218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SetGA-0001XN-Ss for submit@debbugs.gnu.org; Wed, 13 Jun 2012 15:29:44 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34526) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SetG6-0001XD-EN for submit@debbugs.gnu.org; Wed, 13 Jun 2012 15:29:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SetDJ-0000Ru-0M for submit@debbugs.gnu.org; Wed, 13 Jun 2012 15:26:48 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:34165) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SetDI-0000Ro-Po for submit@debbugs.gnu.org; Wed, 13 Jun 2012 15:26:44 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58686) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SetDF-0005ab-4H for bug-gnu-emacs@gnu.org; Wed, 13 Jun 2012 15:26:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SetDB-0000RG-G5 for bug-gnu-emacs@gnu.org; Wed, 13 Jun 2012 15:26:40 -0400 Received: from mail-ob0-f169.google.com ([209.85.214.169]:52056) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SetDB-0000R7-4I for bug-gnu-emacs@gnu.org; Wed, 13 Jun 2012 15:26:37 -0400 Received: by obbta14 with SMTP id ta14so746838obb.0 for ; Wed, 13 Jun 2012 12:26:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=ELd/TDJDHWABAdCAh9vvLt5ZFyaX4iWrDiGpd3S5d7I=; b=yHb21wYHb+4HTdvcEiLBG3vvxFMm++87y/K4ULFaiiMVIPL/kQMVAztnyiy42ONdim gaswyMGX4jp0e/xfFpKXdM4B36dQTn9wRwfRL2YmmvgDn11q7nMaQRgS3IUDP8hsocHJ DTn+A03yblj8Koh66P0cpDBmgouTmM3XHoR3I+rKB1iuGRnvgtVrbrSi0vlGyy5MOV/t PJFCJGPcDHXmbD+q2s1jMtGxRBDUk3dgMkVakyLUdWgI1fhOwqaVWItrc/7S72xlV7jC WqZHNEVOVvQRU22DKa0JXEpagmc9S72VcVfClUkxuzIBqiB1v+2M7WjjKHA1fVSOlAAU At3Q== MIME-Version: 1.0 Received: by 10.182.31.47 with SMTP id x15mr25563288obh.62.1339615595190; Wed, 13 Jun 2012 12:26:35 -0700 (PDT) Received: by 10.182.17.10 with HTTP; Wed, 13 Jun 2012 12:26:35 -0700 (PDT) Date: Wed, 13 Jun 2012 22:26:35 +0300 Message-ID: Subject: 24.1.50; Bad interaction between BiDi and org-tables From: Dov Grobgeld To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.1 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) This bug report will be sent to the Bug-GNU-Emacs mailing list and the GNU bug tracker at debbugs.gnu.org.=C2=A0 Please check that the From: line contains a valid email address.=C2=A0 After a delay of up to one day, you should receive an acknowledgement at that address. Please write in English if possible, as the Emacs maintainers usually do not have translators for other languages. Please describe exactly what actions triggered the bug, and the precise symptoms of the bug.=C2=A0 If you can, give a recipe starting from `emacs -Q': The ordering of columns of an org-table is wrong in when bidi-display-reordering is true and there RTL characters in the table. Imagine you have a buffer with the following logical contents (using the convention that capitals are RTL characters). | abcdef | abc | | ABCDEF | ABC | I would like this to be displayed as: | abcdef | abc | | FEDCBA | CBA | The problem is that I want to each column of the table to be isolated (with regards to bidi influence) from other columns in the table. (Of course we also want to choose the table direction, but that is a different and solvable issue.) If there is no such separation, which is the behaviour currently get in emacs HEAD, then the resulting rendered buffer is: | abcdef | abc | | CBA | FEDCBA | Is this even solvable in the current emacs bidi model? If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: =C2=A0=C2=A0=C2=A0 `bt full' and `xbacktrace'. For information about debugging Emacs, please read the file /usr/local/public-dev/share/emacs/24.1.50/etc/DEBUG. In GNU Emacs 24.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.24.10) =C2=A0of 2012-06-13 on grower Windowing system distributor `Fedora Project', version 11.0.11200000 Configured using: =C2=A0`configure '--prefix=3D/usr/local/public-dev/' 'CFLAGS=3D-g -O0'' Important settings: =C2=A0 value of $LANG: en_US.utf8 =C2=A0 value of $XMODIFIERS: @im=3Dnone =C2=A0 locale-coding-system: utf-8-unix =C2=A0 default enable-multibyte-characters: t Major mode: Org Minor modes in effect: =C2=A0 buffer-face-mode: t =C2=A0 show-paren-mode: t =C2=A0 csv-field-index-mode: t =C2=A0 partial-completion-mode: t =C2=A0 xmsi-mode: t =C2=A0 diff-auto-refine-mode: t =C2=A0 delete-selection-mode: t =C2=A0 shell-dirtrack-mode: t =C2=A0 tooltip-mode: t =C2=A0 mouse-wheel-mode: t =C2=A0 menu-bar-mode: t =C2=A0 file-name-shadow-mode: t =C2=A0 global-font-lock-mode: t =C2=A0 font-lock-mode: t =C2=A0 auto-composition-mode: t =C2=A0 auto-encryption-mode: t =C2=A0 auto-compression-mode: t =C2=A0 column-number-mode: t =C2=A0 line-number-mode: t =C2=A0 visual-line-mode: t =C2=A0 transient-mark-mode: t Recent input: C-x 1 C-x C-f C-a C-k / t m p / f o o . o r g | SPC a b c SPC | SPC a b c d e f SPC | | SPC =D7=90 =D7=91 =D7=92 SPC | SPC =D7=90 =D7=91 =D7=92 =D7=9C =D7=93 =D7=94 =D7=95 d e f =D7=93 =D7=94 =D7=95 C-=D7=99 C-d C-d C-a C-f C-f C-f C-b C-b C-b C-b C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-d C-d C-d C-_ C-d e =D7=92 y =D7=90 =D7=91 =D7=91 =D7=92 SPC | SPC =D7=90 =D7=91 =D7=92 =D7=93 =D7= =94 =D7=95 =D7=90 =D7=91 =D7=9F =D7=92 =D7=93 =D7=94 =D7=95 SPC | SPC =D7=90 =D7=91 =D7=92 C-k M-=D7= =A0 =D7=9D M-x r e p o r Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. (New file) OVERVIEW Entities are displayed as UTF8 characers Auto-saving...done Undo! if: To use shift-selection with Org-mode, customize `org-support-shift-select' [5 times] Auto-saving...done Auto-saving...done Making completion list... Load-path shadows: /home/dov/github/dov-env/emacs/longlines hides /usr/local/public-dev/share/emacs/24.1.50/lisp/longlines /home/dov/github/dov-env/emacs/compile hides /usr/local/public-dev/share/emacs/24.1.50/lisp/progmodes/compile /home/dov/github/dov-env/emacs/octave-mod hides /usr/local/public-dev/share/emacs/24.1.50/lisp/progmodes/octave-mod /home/dov/github/dov-env/emacs/gdb-mi hides /usr/local/public-dev/share/emacs/24.1.50/lisp/progmodes/gdb-mi /home/dov/github/dov-env/emacs/octave-inf hides /usr/local/public-dev/share/emacs/24.1.50/lisp/progmodes/octave-inf /home/dov/github/dov-env/emacs//org-mode/ob-lilypond hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-lilypond /home/dov/github/dov-env/emacs//org-mode/ob-C hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-C /home/dov/github/dov-env/emacs//org-mode/org-rmail hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-rmail /home/dov/github/dov-env/emacs//org-mode/org-beamer hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-beamer /home/dov/github/dov-env/emacs//org-mode/ob-comint hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-comint /home/dov/github/dov-env/emacs//org-mode/ob-keys hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-keys /home/dov/github/dov-env/emacs//org-mode/org-macs hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-macs /home/dov/github/dov-env/emacs//org-mode/ob-ref hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-ref /home/dov/github/dov-env/emacs//org-mode/ob-js hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-js /home/dov/github/dov-env/emacs//org-mode/org-mobile hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-mobile /home/dov/github/dov-env/emacs//org-mode/org-plot hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-plot /home/dov/github/dov-env/emacs//org-mode/org-capture hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-capture /home/dov/github/dov-env/emacs//org-mode/ob-lisp hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-lisp /home/dov/github/dov-env/emacs//org-mode/org-compat hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-compat /home/dov/github/dov-env/emacs//org-mode/org-html hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-html /home/dov/github/dov-env/emacs//org-mode/org-id hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-id /home/dov/github/dov-env/emacs//org-mode/ob-mscgen hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-mscgen /home/dov/github/dov-env/emacs//org-mode/org-entities hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-entities /home/dov/github/dov-env/emacs//org-mode/org-colview hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-colview /home/dov/github/dov-env/emacs//org-mode/org-faces hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-faces /home/dov/github/dov-env/emacs//org-mode/ob-R hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-R /home/dov/github/dov-env/emacs//org-mode/ob-awk hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-awk /home/dov/github/dov-env/emacs//org-mode/org-xoxo hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-xoxo /home/dov/github/dov-env/emacs//org-mode/org-timer hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-timer /home/dov/github/dov-env/emacs//org-mode/org-icalendar hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-icalendar /home/dov/github/dov-env/emacs//org-mode/ob-org hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-org /home/dov/github/dov-env/emacs//org-mode/ob-screen hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-screen /home/dov/github/dov-env/emacs//org-mode/org-habit hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-habit /home/dov/github/dov-env/emacs//org-mode/ob-eval hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-eval /home/dov/github/dov-env/emacs//org-mode/org-datetree hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-datetree /home/dov/github/dov-env/emacs//org-mode/ob-table hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-table /home/dov/github/dov-env/emacs//org-mode/ob-scheme hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-scheme /home/dov/github/dov-env/emacs//org-mode/org-ctags hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-ctags /home/dov/github/dov-env/emacs//org-mode/org-mouse hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-mouse /home/dov/github/dov-env/emacs//org-mode/ob-sh hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-sh /home/dov/github/dov-env/emacs//org-mode/org hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org /home/dov/github/dov-env/emacs//org-mode/org-mhe hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-mhe /home/dov/github/dov-env/emacs//org-mode/org-mac-message hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-mac-message /home/dov/github/dov-env/emacs//org-mode/ob-exp hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-exp /home/dov/github/dov-env/emacs//org-mode/org-freemind hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-freemind /home/dov/github/dov-env/emacs//org-mode/org-remember hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-remember /home/dov/github/dov-env/emacs//org-mode/org-attach hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-attach /home/dov/github/dov-env/emacs//org-mode/org-wl hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-wl /home/dov/github/dov-env/emacs//org-mode/ob-java hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-java /home/dov/github/dov-env/emacs//org-mode/ob-octave hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-octave /home/dov/github/dov-env/emacs//org-mode/ob-matlab hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-matlab /home/dov/github/dov-env/emacs//org-mode/org-ascii hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-ascii /home/dov/github/dov-env/emacs//org-mode/org-bbdb hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-bbdb /home/dov/github/dov-env/emacs//org-mode/ob-haskell hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-haskell /home/dov/github/dov-env/emacs//org-mode/ob-sqlite hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-sqlite /home/dov/github/dov-env/emacs//org-mode/org-info hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-info /home/dov/github/dov-env/emacs//org-mode/ob-perl hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-perl /home/dov/github/dov-env/emacs//org-mode/org-archive hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-archive /home/dov/github/dov-env/emacs//org-mode/org-exp-blocks hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-exp-blocks /home/dov/github/dov-env/emacs//org-mode/org-mks hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-mks /home/dov/github/dov-env/emacs//org-mode/ob-ruby hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-ruby /home/dov/github/dov-env/emacs//org-mode/org-protocol hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-protocol /home/dov/github/dov-env/emacs//org-mode/org-special-blocks hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-special-blocks /home/dov/github/dov-env/emacs//org-mode/org-table hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-table /home/dov/github/dov-env/emacs//org-mode/org-taskjuggler hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-taskjuggler /home/dov/github/dov-env/emacs//org-mode/ob-clojure hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-clojure /home/dov/github/dov-env/emacs//org-mode/org-mew hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-mew /home/dov/github/dov-env/emacs//org-mode/ob-ditaa hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-ditaa /home/dov/github/dov-env/emacs//org-mode/org-w3m hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-w3m /home/dov/github/dov-env/emacs//org-mode/ob-plantuml hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-plantuml /home/dov/github/dov-env/emacs//org-mode/org-gnus hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-gnus /home/dov/github/dov-env/emacs//org-mode/ob-tangle hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-tangle /home/dov/github/dov-env/emacs//org-mode/ob hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob /home/dov/github/dov-env/emacs//org-mode/org-src hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-src /home/dov/github/dov-env/emacs//org-mode/ob-calc hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-calc /home/dov/github/dov-env/emacs//org-mode/org-crypt hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-crypt /home/dov/github/dov-env/emacs//org-mode/org-list hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-list /home/dov/github/dov-env/emacs//org-mode/ob-latex hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-latex /home/dov/github/dov-env/emacs//org-mode/org-docbook hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-docbook /home/dov/github/dov-env/emacs//org-mode/org-pcomplete hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-pcomplete /home/dov/github/dov-env/emacs//org-mode/org-publish hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-publish /home/dov/github/dov-env/emacs//org-mode/ob-emacs-lisp hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-emacs-lisp /home/dov/github/dov-env/emacs//org-mode/org-exp hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-exp /home/dov/github/dov-env/emacs//org-mode/org-jsinfo hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-jsinfo /home/dov/github/dov-env/emacs//org-mode/org-indent hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-indent /home/dov/github/dov-env/emacs//org-mode/org-feed hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-feed /home/dov/github/dov-env/emacs//org-mode/org-clock hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-clock /home/dov/github/dov-env/emacs//org-mode/ob-lob hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-lob /home/dov/github/dov-env/emacs//org-mode/org-bibtex hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-bibtex /home/dov/github/dov-env/emacs//org-mode/org-latex hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-latex /home/dov/github/dov-env/emacs//org-mode/org-footnote hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-footnote /home/dov/github/dov-env/emacs//org-mode/ob-maxima hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-maxima /home/dov/github/dov-env/emacs//org-mode/ob-sass hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-sass /home/dov/github/dov-env/emacs//org-mode/ob-gnuplot hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-gnuplot /home/dov/github/dov-env/emacs//org-mode/ob-dot hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-dot /home/dov/github/dov-env/emacs//org-mode/org-inlinetask hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-inlinetask /home/dov/github/dov-env/emacs//org-mode/ob-asymptote hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-asymptote /home/dov/github/dov-env/emacs//org-mode/ob-css hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-css /home/dov/github/dov-env/emacs//org-mode/org-agenda hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-agenda /home/dov/github/dov-env/emacs//org-mode/ob-python hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-python /home/dov/github/dov-env/emacs//org-mode/org-irc hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-irc /home/dov/github/dov-env/emacs//org-mode/org-vm hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-vm /home/dov/github/dov-env/emacs//org-mode/ob-ocaml hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-ocaml /home/dov/github/dov-env/emacs//org-mode/org-docview hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/org-docview /home/dov/github/dov-env/emacs//org-mode/ob-ledger hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-ledger /home/dov/github/dov-env/emacs//org-mode/ob-sql hides /usr/local/public-dev/share/emacs/24.1.50/lisp/org/ob-sql Features: (shadow mail-extr emacsbug sendmail tabify org-table face-remap org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-info org-gnus org-docview org-bibtex bibtex org-bbdb paren zoom-frm qtdoc browse-url git-find-file org-mw ob-C ob-R ob-octave ob-plantuml ob-asymptote ob-dot ob-ditaa ob-python ob-perl ob-sh org-htmlslidy org-s5 persistent ipython executable org-export iimage org-crypt org-install org-wikipedia org-git-hyperlink org-man screenshot dmacro tramp tramp-compat tramp-loaddefs tex-mode color-moccur matlab-load sourcepair csv-mode sort dired-details+ dired-details mediawiki url-cache mm-url url-http tls url-auth url-gw python-mode url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap xml-parse doxymacs ack epa-file epa epg epg-config epresent org-latex org-export-latex org-beamer footnote org-exp ob-exp org-exp-blocks org-agenda org ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys ob ob-eval org-pcomplete org-list org-faces org-compat org-entities org-macs cal-menu calendar cal-loaddefs gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader pde-load complete pde-abbv tempo-x tempo pde-patch help-dwim woman man template-simple pde-vars xmsi-math-symbols-input mo-git-blame scroll-all markdown-mode noutline outline magit-blame magit-bisect magit-key-mode magit esh-var esh-io esh-cmd esh-ext esh-proc esh-arg eldoc esh-groups eshell esh-module esh-mode esh-util ido iswitchb diff-mode log-edit pcvs-util add-log vc-ediff octave-mod csharp-mode cc-langs doc-mode derived sgml-mode mb-depth two-column gud message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader delsel server javascript-mode icicles icicles-mode warnings dired+ dired-x dired-aux advice help-fns advice-preload icicles-cmd2 compile easy-mmode imenu edmacro icicles-cmd1 frame-cmds frame-fns avoid cus-edit cus-start cus-load yow etags shell pcomplete cookie1 comint ansi-color ring bookmark pp dabbrev recentf tree-widget icicles-mcmd help-mode view image-dired format-spec dired filesets icicles-fn icicles-var cl-macs icicles-opt kmacro ffap url-parse auth-source eieio byte-opt bytecomp byte-compile cconv gnus-util mm-util mail-prsvr password-cache url-vars wid-edit thingatpt icicles-face icicles-mac cl macroexp cl-lib gtk-look info-look info vc ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff vc-dispatcher cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 13 23:13:02 2012 Received: (at 11700) by debbugs.gnu.org; 14 Jun 2012 03:13:02 +0000 Received: from localhost ([127.0.0.1]:41560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sf0UX-0004OO-Iw for submit@debbugs.gnu.org; Wed, 13 Jun 2012 23:13:01 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:44408) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sf0UV-0004O7-64 for 11700@debbugs.gnu.org; Wed, 13 Jun 2012 23:12:59 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0M5L00B00742FZ00@a-mtaout21.012.net.il> for 11700@debbugs.gnu.org; Thu, 14 Jun 2012 06:10:07 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.210.75]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M5L00B2Z7GVCC90@a-mtaout21.012.net.il>; Thu, 14 Jun 2012 06:10:07 +0300 (IDT) Date: Thu, 14 Jun 2012 06:10:22 +0300 From: Eli Zaretskii Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables In-reply-to: X-012-Sender: halo1@inter.net.il To: Dov Grobgeld Message-id: <83mx46y4f5.fsf@gnu.org> References: X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11700 Cc: 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Wed, 13 Jun 2012 22:26:35 +0300 > From: Dov Grobgeld > > Imagine you have a buffer with the following logical contents (using the > convention that capitals are RTL characters). > > | abcdef | abc | > | ABCDEF | ABC | > > I would like this to be displayed as: > > | abcdef | abc | > | FEDCBA | CBA | > > The problem is that I want to each column of the table to be isolated > (with regards to bidi influence) from other columns in the table. (Of > course we also want to choose the table direction, but that is a > different and solvable issue.) If there is no such separation, which > is the behaviour currently get in emacs HEAD, then the resulting > rendered buffer is: > > | abcdef | abc | > | CBA | FEDCBA | > > Is this even solvable in the current emacs bidi model? Yes, it is. The solution involves putting segment separators between the table columns. These could be TAB characters or a display property whose value is (space . :width N) or (space . :align-to COL). Org maintainers, please ask if you need help in fixing this. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 14 14:13:47 2012 Received: (at 11700) by debbugs.gnu.org; 14 Jun 2012 18:13:47 +0000 Received: from localhost ([127.0.0.1]:42606 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfEYC-0002P2-FP for submit@debbugs.gnu.org; Thu, 14 Jun 2012 14:13:47 -0400 Received: from mail-ob0-f172.google.com ([209.85.214.172]:43046) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfEY9-0002Ov-P7 for 11700@debbugs.gnu.org; Thu, 14 Jun 2012 14:13:43 -0400 Received: by obbwc20 with SMTP id wc20so1664117obb.3 for <11700@debbugs.gnu.org>; Thu, 14 Jun 2012 11:10:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=0Ja9wX7XcUDNOQBZ4PnNBtHyRWp/kgIQGwffahME6Sc=; b=MCPC1Yv7BQMIuzcgklra+KF9jglK7LyyWSzwzdMkjtBnxO9TC4oCiFhfEeTSC5pmfa UA2tzzA6lDt/WAsHVUW6E9swmLoXe6M3Axd0XjfFT6gCtA1VGidk4qIXTBGXe+k1rJCM nlA8plSOHm7VsuRki6Fp6aaZeRGneUupFcgoef1XA3gk1j1rwBES+DnaRKxdM4M8GIOT /Hgo9iCxFsbT0G2TYoYqqqSpaeBISHh5PDRsffwLQhVbyoOFtmmR5yJYE6EsjXTNVxJ2 gMC/Fhc/e0WfW/XiSzkoxxsNMpvsdNDEAuzBRu9qllcYu/CgnW5dwQxGZ4AYnW2s8Cl+ lAoQ== MIME-Version: 1.0 Received: by 10.182.115.7 with SMTP id jk7mr2899834obb.9.1339697446483; Thu, 14 Jun 2012 11:10:46 -0700 (PDT) Received: by 10.182.17.10 with HTTP; Thu, 14 Jun 2012 11:10:46 -0700 (PDT) In-Reply-To: <83mx46y4f5.fsf@gnu.org> References: <83mx46y4f5.fsf@gnu.org> Date: Thu, 14 Jun 2012 21:10:46 +0300 Message-ID: Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables From: Dov Grobgeld To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11700 Cc: 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Do you think that you can provide some lisp code that builds the buffer contents and the display properties for the three options that ou refered to as an illustration? I tried inserting tabs into the buffer before the vertical bars, but after reordering it still didn't come out right. Regards, Dov On Thu, Jun 14, 2012 at 6:10 AM, Eli Zaretskii wrote: >> Date: Wed, 13 Jun 2012 22:26:35 +0300 >> From: Dov Grobgeld >> >> Imagine you have a buffer with the following logical contents (using the >> convention that capitals are RTL characters). >> >> | abcdef | abc | >> | ABCDEF | ABC | >> >> I would like this to be displayed as: >> >> | abcdef | abc | >> | FEDCBA | CBA | >> >> The problem is that I want to each column of the table to be isolated >> (with regards to bidi influence) from other columns in the table. (Of >> course we also want to choose the table direction, but that is a >> different and solvable issue.) If there is no such separation, which >> is the behaviour currently get in emacs HEAD, then the resulting >> rendered buffer is: >> >> | abcdef | abc | >> | CBA | FEDCBA | >> >> Is this even solvable in the current emacs bidi model? > > Yes, it is. =C2=A0The solution involves putting segment separators betwee= n > the table columns. =C2=A0These could be TAB characters or a display > property whose value is (space . :width N) or (space . :align-to COL). > > Org maintainers, please ask if you need help in fixing this. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 14 15:40:47 2012 Received: (at 11700) by debbugs.gnu.org; 14 Jun 2012 19:40:47 +0000 Received: from localhost ([127.0.0.1]:42654 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfFuR-0004P3-9S for submit@debbugs.gnu.org; Thu, 14 Jun 2012 15:40:47 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:44397) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfFuN-0004Ot-Me for 11700@debbugs.gnu.org; Thu, 14 Jun 2012 15:40:46 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0M5M00F00H6HN500@a-mtaout22.012.net.il> for 11700@debbugs.gnu.org; Thu, 14 Jun 2012 22:37:42 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.210.75]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M5M00F58H6T49A0@a-mtaout22.012.net.il>; Thu, 14 Jun 2012 22:37:42 +0300 (IDT) Date: Thu, 14 Jun 2012 22:37:58 +0300 From: Eli Zaretskii Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables In-reply-to: To: Dov Grobgeld Message-id: <837gv9y99l.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: QUOTED-PRINTABLE X-012-Sender: halo1@inter.net.il References: <83mx46y4f5.fsf@gnu.org> X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11700 Cc: 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Thu, 14 Jun 2012 21:10:46 +0300 > From: Dov Grobgeld > Cc: 11700@debbugs.gnu.org >=20 > Do you think that you can provide some lisp code that builds the > buffer contents and the display properties for the three options th= at > ou refered to as an illustration? >=20 > I tried inserting tabs into the buffer before the vertical bars, bu= t > after reordering it still didn't come out right. ??? What exactly did you try? You need to have a TAB before and afte= r each '|' that's between the cells (the outer ones do not need a TAB). Like this (you should see this correctly in Emacs 24.1; move cursor with C-f to see the logical order): =E2=80=8E| =D7=90=D7=91=D7=92=D7=93 =09|=09=D7=94=D7=95=D7=96= =D7=97=D7=98=D7=99 | Isn't this what you wanted? As for the display properties, replace the TABs in the example above with something like this: (insert (propertize " " '(display (space :align-to 10)))) The number 10 should be the column where you want the "|" separator t= o be aligned. For the replacement of the second TAB, increment the value to get the desired alignment of the text of the second cell. From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 15 02:42:41 2012 Received: (at 11700) by debbugs.gnu.org; 15 Jun 2012 06:42:41 +0000 Received: from localhost ([127.0.0.1]:43549 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfQEw-0002QQ-Ex for submit@debbugs.gnu.org; Fri, 15 Jun 2012 02:42:40 -0400 Received: from mail-ob0-f172.google.com ([209.85.214.172]:47153) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfQEr-0002QG-KG for 11700@debbugs.gnu.org; Fri, 15 Jun 2012 02:42:35 -0400 Received: by obbwc20 with SMTP id wc20so2583947obb.3 for <11700@debbugs.gnu.org>; Thu, 14 Jun 2012 23:39:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=ijDzMo7aQDJA6WvQGZLVLyPAdTNtu8WaG0UAwXTiPg0=; b=Y9+dlKPB1OK7Lzv34PwcGTC6iLoWthpSc/c9Lm5crSnWmEYGZjx8b/+/jaAtu8Orj6 vmF/QUT7in3FhMGDbxScCSO9Re7I/HxGPgv1+MIMnK9QTLoGKc+20cHaJrckVxZykjrI qjlGlV4cSXLy/JyNE+6q9FGt/JXymMG+8uHW2LDXZAr3z43viuMEOVQ9aAqMSJAJHiF9 P/qfeHR7ggi4Iva0FOz+s9QprgjAQ2EYFo8Ml+or0Bilu0jrg59Nhzv7ShQMkMY5uDeL /sNCYRJwlSTqm3fEnR32mlUDiIA20fAvb+s/HPwAXJAAoT2mCj7fzhPj3Pxo3ZJtTRb7 5wRQ== MIME-Version: 1.0 Received: by 10.60.32.113 with SMTP id h17mr4628064oei.40.1339742375796; Thu, 14 Jun 2012 23:39:35 -0700 (PDT) Received: by 10.182.17.10 with HTTP; Thu, 14 Jun 2012 23:39:35 -0700 (PDT) In-Reply-To: <837gv9y99l.fsf@gnu.org> References: <83mx46y4f5.fsf@gnu.org> <837gv9y99l.fsf@gnu.org> Date: Fri, 15 Jun 2012 09:39:35 +0300 Message-ID: Subject: Re: [O] bug#11700: 24.1.50; Bad interaction between BiDi and org-tables From: Dov Grobgeld To: Eli Zaretskii Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11700 Cc: 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) On Thu, Jun 14, 2012 at 10:37 PM, Eli Zaretskii wrote: >> Date: Thu, 14 Jun 2012 21:10:46 +0300 >> From: Dov Grobgeld >> Cc: 11700@debbugs.gnu.org >> [stuff deleted] >> I tried inserting tabs into the buffer before the vertical bars, but >> after reordering it still didn't come out right. > > ??? What exactly did you try? =C2=A0You need to have a TAB before and aft= er > each '|' that's between the cells (the outer ones do not need a TAB). > Like this (you should see this correctly in Emacs 24.1; move cursor > with C-f to see the logical order): > > =E2=80=8E| =C2=A0 =C2=A0 =C2=A0=D7=90=D7=91=D7=92=D7=93 =C2=A0 =C2=A0| = =C2=A0 =C2=A0 =C2=A0 =D7=94=D7=95=D7=96=D7=97=D7=98=D7=99 =C2=A0 =C2=A0 | > > Isn't this what you wanted? Yes. Great! This is indeed what I wanted. My mistake was that I tried it with a tab character before OR after the vertical bar. This solution should be really simple to implement in org-mode as it means that instead of joining the table columns with "" as is currently done, you just need to use "" as well as setting the tab width to 1. But I just wonder, is there any other character (preferably white space character) with the same end-of-segment-boundary properties as tab, in case tab is used for something else in org-mode? Or is it possible to take an arbitrary character, e.g. U+E0020, and bless it with end-of-segment boundary properties and then use that in the org-mode buffer? As a side note, I really like the idea of end of segment separator, and I wasn't aware of it when I wrote fribidi a long time ago. I wonder if the semantics of the emacs segment separator follows the Unicode Bidi Algorithm? From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 15 04:41:27 2012 Received: (at 11700) by debbugs.gnu.org; 15 Jun 2012 08:41:27 +0000 Received: from localhost ([127.0.0.1]:43658 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfS5u-00054z-JY for submit@debbugs.gnu.org; Fri, 15 Jun 2012 04:41:27 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:58657) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SfS5s-00054q-1l for 11700@debbugs.gnu.org; Fri, 15 Jun 2012 04:41:25 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0M5N00J00GITI700@a-mtaout20.012.net.il> for 11700@debbugs.gnu.org; Fri, 15 Jun 2012 11:38:08 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.210.75]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M5N00JU5HBIM610@a-mtaout20.012.net.il>; Fri, 15 Jun 2012 11:38:07 +0300 (IDT) Date: Fri, 15 Jun 2012 11:38:08 +0300 From: Eli Zaretskii Subject: Re: [O] bug#11700: 24.1.50; Bad interaction between BiDi and org-tables In-reply-to: X-012-Sender: halo1@inter.net.il To: Dov Grobgeld Message-id: <83lijpezrj.fsf@gnu.org> References: <83mx46y4f5.fsf@gnu.org> <837gv9y99l.fsf@gnu.org> X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11700 Cc: 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Fri, 15 Jun 2012 09:39:35 +0300 > From: Dov Grobgeld > Cc: 11700@debbugs.gnu.org > > Yes. Great! This is indeed what I wanted. My mistake was that I tried > it with a tab character before OR after the vertical bar. This > solution should be really simple to implement in org-mode as it means > that instead of joining the table columns with "" > as is currently done, you just need to use "" as well > as setting the tab width to 1. Yep. > But I just wonder, is there any other character (preferably white > space character) with the same end-of-segment-boundary properties as > tab, in case tab is used for something else in org-mode? That's the (space . :align-to COLUMN) display property I was talking about. With it, you can arrange for a single blank, say, to produce a stretch of whitespace of arbitrary size, in character cell units, aligned to a specified column. If you use :width instead of :align-to, you can have the size tuned in pixels. Emacs treats text covered by such display properties as segment separators, so they produce the same effect as TAB does. That's because conceptually, such display properties are used to separate text into columnar display, exactly like TAB is used in plain-text tables. You can find examples of using these display properties in minibuffer.el, where they are used to produce the display in the *Completions* buffer. Their documentation is in the ELisp manual. > Or is it possible to take an arbitrary character, e.g. U+E0020, and > bless it with end-of-segment boundary properties and then use that > in the org-mode buffer? Try using u+2029, it should do the trick, I think. > As a side note, I really like the idea of end of segment separator, > and I wasn't aware of it when I wrote fribidi a long time ago. I > wonder if the semantics of the emacs segment separator follows the > Unicode Bidi Algorithm? Of course, it does; Emacs implements the UBA to the letter, taking only the "high-level protocols" fire-escape to guide the reordering using Emacs-specific context. (But even the high-level protocols feature is part of the UBA, see section 4.3 there.) The Segment Separator feature is not an Emacs invention, it exists in the UBA. The key to understanding it is this part of the UBA: L1. On each line, reset the embedding level of the following characters to the paragraph embedding level: 1. Segment separators, 2. Paragraph separators, 3. Any sequence of whitespace characters preceding a segment separator or paragraph separator, and 4. Any sequence of white space characters at the end of the line. And the TAB character has "S", i.e. "segment separator", as its bidi property. Since its embedding level is reset to the base embedding level of the paragraph, the result is that text on both sides of a TAB is reordered separately and independently. Moreover, the high-level protocols feature give us one more possibility: HL4. Apply the Bidirectional Algorithm to segments. . The Bidirectional Algorithm can be applied independently to one or more segments of structured text. For example, when displaying a document consisting of textual data and visible markup in an editor, a higher-level process can handle syntactic elements in the markup separately from the textual data. Emacs uses this to treat the `space' display properties as segment separators. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 15:27:59 2017 Received: (at 11700) by debbugs.gnu.org; 4 Dec 2017 20:27:59 +0000 Received: from localhost ([127.0.0.1]:45961 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxLK-00065S-Pc for submit@debbugs.gnu.org; Mon, 04 Dec 2017 15:27:58 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:34500) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxLI-00065H-VB for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 15:27:57 -0500 Received: from saiph.selenimh (000043010000000000000469.ipv6.commingeshautdebit.fr [IPv6:2a03:a0a0:0:4301::469]) (Authenticated sender: mail@nicolasgoaziou.fr) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id BA476A80DC; Mon, 4 Dec 2017 21:27:54 +0100 (CET) Received: from ngz by saiph.selenimh with local (Exim 4.89) (envelope-from ) id 1eLxLF-0005aJ-H0; Mon, 04 Dec 2017 21:27:53 +0100 From: Nicolas Goaziou To: Eli Zaretskii Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables In-Reply-To: <83mx46y4f5.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 14 Jun 2012 06:10:22 +0300") References: <83mx46y4f5.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Date: Mon, 04 Dec 2017 21:27:53 +0100 Message-ID: <87mv2y6xx2.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 11700 Cc: Dov Grobgeld , 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hello, Eli Zaretskii writes: >> Date: Wed, 13 Jun 2012 22:26:35 +0300 >> From: Dov Grobgeld >> >> Imagine you have a buffer with the following logical contents (using the >> convention that capitals are RTL characters). >> >> | abcdef | abc | >> | ABCDEF | ABC | >> >> I would like this to be displayed as: >> >> | abcdef | abc | >> | FEDCBA | CBA | >> >> The problem is that I want to each column of the table to be isolated >> (with regards to bidi influence) from other columns in the table. (Of >> course we also want to choose the table direction, but that is a >> different and solvable issue.) If there is no such separation, which >> is the behaviour currently get in emacs HEAD, then the resulting >> rendered buffer is: >> >> | abcdef | abc | >> | CBA | FEDCBA | >> >> Is this even solvable in the current emacs bidi model? > > Yes, it is. The solution involves putting segment separators between > the table columns. These could be TAB characters or a display > property whose value is (space . :width N) or (space . :align-to COL). > > Org maintainers, please ask if you need help in fixing this. *raises a hand* I'd rather preserve structure of Org documents outside of Emacs. So, `:align-to' is not an option. IIUC, I need to replace the closest space from vertical bars with #(" " 0 1 (space :width 1)) This doesn't sound too difficult. However, could someone provide tests cases so we get it right once and for all? Thank you. Regards, -- Nicolas Goaziou 0x80A93738 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 15:35:49 2017 Received: (at 11700) by debbugs.gnu.org; 4 Dec 2017 20:35:49 +0000 Received: from localhost ([127.0.0.1]:45974 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxSv-0006Ib-5I for submit@debbugs.gnu.org; Mon, 04 Dec 2017 15:35:49 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:39181) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxSt-0006IO-8B for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 15:35:47 -0500 Received: by mail-wm0-f42.google.com with SMTP id i11so16607563wmf.4 for <11700@debbugs.gnu.org>; Mon, 04 Dec 2017 12:35:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=6XtwYyoCNsXyMsvmxCuWUKAUd7xHKShnPjYwTclz4og=; b=nA6tKJuER4QLwaYB5ZetTmx4+1DrsfwV9bXjMgOcBw1xPw6th3csX5mfqYZYL0uQhU xXcR96qZXUYy0SII+Plc9N9EhYtMzy38HPg5dkqByOs1j8XSHDF98fyD6j2tNHqYqDE5 8fH6xyr8Qu1GVxcpZAzaB53s/JWqY3TvoOwyn522kOfqERfTxD8njmSxwMrTabQ89sF4 ZUr59Juw2rPhOsIRVhSIBH1ZLqXc2Q34n1UMR3rrpwcHcsPO0gs5HDR7mybrUn0uh3XU aeQCaQVd0gt1codjLEHycRwAt46e9+65R1aasiCGIdzzhiNLSUNCzbzQ1d+KuoH8cPFw M1Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=6XtwYyoCNsXyMsvmxCuWUKAUd7xHKShnPjYwTclz4og=; b=EMe8tcBVO8EYlnlcKwZfZjW/O76qtBop2ZmombIe7+Boo1ucKQF1j4bEq3lkXu6nT/ LDW7MrFuioDIL0V3KXYJh15FTajpeVw/U8kZP2KXjIVmRLwede7ZrgFa18ZWJ048GxU1 yiNTy2emR2rqpfEo9VYkRzgjSdTIQU2TIaWcoWHiNXQ7Hnfc99bSPEXX5Sxy+cvRL7y+ c2f8LhJX3BwziG16iZYDoo8EAZp96BMJuXflTgXUohIuch+9iO+gopN2ZvNjerbw3qQF EZXfSQ/HEdMDBcETGbLF+fL7MeIoaWWPYLQk4W83IaurXArNzsonM4rwVNXGlJAYLfjq mv9g== X-Gm-Message-State: AJaThX7zWWbWb9Qgouj6rkBjnupzMu0+6on5t1D6Y9/NDeMUcQZyHbjs 31HPRau82Tlx48JmehiMVUXSh+foOkZHPiE9284= X-Google-Smtp-Source: AGs4zMatVQCfpRlAotBrdw10zXuDtqsaBcrF8OImBMQrF4AouYrjgdab7j0GCCFb0D+WQ7jpUM9P9IMzHgW9ZMkvRrk= X-Received: by 10.80.144.178 with SMTP id c47mr33016042eda.188.1512419741195; Mon, 04 Dec 2017 12:35:41 -0800 (PST) MIME-Version: 1.0 Received: by 10.80.172.117 with HTTP; Mon, 4 Dec 2017 12:35:40 -0800 (PST) In-Reply-To: <87mv2y6xx2.fsf@nicolasgoaziou.fr> References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> From: Dov Grobgeld Date: Mon, 4 Dec 2017 21:35:40 +0100 Message-ID: Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables To: Nicolas Goaziou Content-Type: multipart/alternative; boundary="f403045c18c66ce309055f89a985" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 11700 Cc: Eli Zaretskii , 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --f403045c18c66ce309055f89a985 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable The correct Unicode=E2=89=A56.3 way to do this would be with the unicode is= olation characters. I.e. you would wrap each of the columns with column contents. Does emacs honor these? Should be easy to test. Regards, Dov On Mon, Dec 4, 2017 at 9:27 PM, Nicolas Goaziou wrote: > Hello, > > Eli Zaretskii writes: > > >> Date: Wed, 13 Jun 2012 22:26:35 +0300 > >> From: Dov Grobgeld > >> > >> Imagine you have a buffer with the following logical contents (using t= he > >> convention that capitals are RTL characters). > >> > >> | abcdef | abc | > >> | ABCDEF | ABC | > >> > >> I would like this to be displayed as: > >> > >> | abcdef | abc | > >> | FEDCBA | CBA | > >> > >> The problem is that I want to each column of the table to be isolated > >> (with regards to bidi influence) from other columns in the table. (Of > >> course we also want to choose the table direction, but that is a > >> different and solvable issue.) If there is no such separation, which > >> is the behaviour currently get in emacs HEAD, then the resulting > >> rendered buffer is: > >> > >> | abcdef | abc | > >> | CBA | FEDCBA | > >> > >> Is this even solvable in the current emacs bidi model? > > > > Yes, it is. The solution involves putting segment separators between > > the table columns. These could be TAB characters or a display > > property whose value is (space . :width N) or (space . :align-to COL). > > > > Org maintainers, please ask if you need help in fixing this. > > *raises a hand* > > I'd rather preserve structure of Org documents outside of Emacs. So, > `:align-to' is not an option. > > IIUC, I need to replace the closest space from vertical bars with > > #(" " 0 1 (space :width 1)) > > This doesn't sound too difficult. > > However, could someone provide tests cases so we get it right once and > for all? > > Thank you. > > Regards, > > -- > Nicolas Goaziou 0x80A93738 > --f403045c18c66ce309055f89a985 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The correct Unicode=E2=89=A56.3 way to do this would be= with the unicode isolation characters. I.e. you would wrap each of the col= umns with <FSI>column contents<BDI>. Does emacs honor these? Sh= ould be easy to test.

Regards,
Dov
<= /div>

On Mon, Dec = 4, 2017 at 9:27 PM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
Hello,

Eli Zaretskii <eliz@gnu.org> writ= es:

>> Date: Wed, 13 Jun 2012 22:26:35 +0300
>> From: Dov Grobgeld <d= ov.grobgeld@gmail.com>
>>
>> Imagine you have a buffer with the following logical contents (usi= ng the
>> convention that capitals are RTL characters).
>>
>> | abcdef | abc |
>> | ABCDEF | ABC |
>>
>> I would like this to be displayed as:
>>
>> | abcdef | abc |
>> | FEDCBA | CBA |
>>
>> The problem is that I want to each column of the table to be isola= ted
>> (with regards to bidi influence) from other columns in the table. = (Of
>> course we also want to choose the table direction, but that is a >> different and solvable issue.) If there is no such separation, whi= ch
>> is the behaviour currently get in emacs HEAD, then the resulting >> rendered buffer is:
>>
>> | abcdef | abc |
>> | CBA | FEDCBA |
>>
>> Is this even solvable in the current emacs bidi model?
>
> Yes, it is.=C2=A0 The solution involves putting segment separators bet= ween
> the table columns.=C2=A0 These could be TAB characters or a display > property whose value is (space . :width N) or (space . :align-to COL).=
>
> Org maintainers, please ask if you need help in fixing this.

*raises a hand*

I'd rather preserve structure of Org documents outside of Emacs. So, `:align-to' is not an option.

IIUC, I need to replace the closest space from vertical bars with

=C2=A0 #(" " 0 1 (space :width 1))

This doesn't sound too difficult.

However, could someone provide tests cases so we get it right once and
for all?

Thank you.

Regards,

--
Nicolas Goaziou=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0x80A93738

--f403045c18c66ce309055f89a985-- From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 15:43:38 2017 Received: (at 11700) by debbugs.gnu.org; 4 Dec 2017 20:43:38 +0000 Received: from localhost ([127.0.0.1]:45982 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxaU-0006Tk-1U for submit@debbugs.gnu.org; Mon, 04 Dec 2017 15:43:38 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48394) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxaT-0006TY-4j for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 15:43:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLxaJ-0005O9-CJ for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 15:43:31 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33883) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eLxaJ-0005Nw-8x; Mon, 04 Dec 2017 15:43:27 -0500 Received: from [176.228.60.248] (port=4888 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eLxaI-0008NM-DA; Mon, 04 Dec 2017 15:43:27 -0500 Date: Mon, 04 Dec 2017 22:43:12 +0200 Message-Id: <834lp6xlzz.fsf@gnu.org> From: Eli Zaretskii To: Dov Grobgeld In-reply-to: (message from Dov Grobgeld on Mon, 4 Dec 2017 21:35:40 +0100) Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 11700 Cc: 11700@debbugs.gnu.org, mail@nicolasgoaziou.fr X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Dov Grobgeld > Date: Mon, 4 Dec 2017 21:35:40 +0100 > Cc: Eli Zaretskii , 11700@debbugs.gnu.org > > The correct Unicode≥6.3 way to do this would be with the unicode isolation characters. I.e. you would wrap > each of the columns with column contents. Does emacs honor these? Yes, Emacs implements Unicode 9.0, including the UBA with isolates. However, I suspect that the results of wrapping with isolates will be different from using the original proposal of using segment separators. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 15:45:41 2017 Received: (at 11700) by debbugs.gnu.org; 4 Dec 2017 20:45:41 +0000 Received: from localhost ([127.0.0.1]:45986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxcT-0006X6-Er for submit@debbugs.gnu.org; Mon, 04 Dec 2017 15:45:41 -0500 Received: from eggs.gnu.org ([208.118.235.92]:49095) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxcS-0006Wu-7o for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 15:45:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLxcI-0006Gt-Ep for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 15:45:35 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33993) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eLxcI-0006Gm-5H; Mon, 04 Dec 2017 15:45:30 -0500 Received: from [176.228.60.248] (port=4889 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eLxcG-000074-8F; Mon, 04 Dec 2017 15:45:29 -0500 Date: Mon, 04 Dec 2017 22:45:10 +0200 Message-Id: <83374qxlwp.fsf@gnu.org> From: Eli Zaretskii To: Nicolas Goaziou In-reply-to: <87mv2y6xx2.fsf@nicolasgoaziou.fr> (message from Nicolas Goaziou on Mon, 04 Dec 2017 21:27:53 +0100) Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 11700 Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Nicolas Goaziou > Cc: Dov Grobgeld , 11700@debbugs.gnu.org > Date: Mon, 04 Dec 2017 21:27:53 +0100 > > I'd rather preserve structure of Org documents outside of Emacs. So, > `:align-to' is not an option. > > IIUC, I need to replace the closest space from vertical bars with > > #(" " 0 1 (space :width 1)) > > This doesn't sound too difficult. > > However, could someone provide tests cases so we get it right once and > for all? Such tests can only be run interactively, because bidi reordering is a display-time feature in Emacs. Is that OK with you? From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 15:53:28 2017 Received: (at 11700) by debbugs.gnu.org; 4 Dec 2017 20:53:28 +0000 Received: from localhost ([127.0.0.1]:45990 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxk0-0006jt-Ea for submit@debbugs.gnu.org; Mon, 04 Dec 2017 15:53:28 -0500 Received: from eggs.gnu.org ([208.118.235.92]:51193) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxjy-0006jg-Pa for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 15:53:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLxjq-0001gT-Eu for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 15:53:21 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34189) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eLxjq-0001gL-C2; Mon, 04 Dec 2017 15:53:18 -0500 Received: from [176.228.60.248] (port=4891 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eLxjp-0000kz-CH; Mon, 04 Dec 2017 15:53:18 -0500 Date: Mon, 04 Dec 2017 22:53:05 +0200 Message-Id: <831skaxlji.fsf@gnu.org> From: Eli Zaretskii To: dov.grobgeld@gmail.com, mail@nicolasgoaziou.fr In-reply-to: <834lp6xlzz.fsf@gnu.org> (message from Eli Zaretskii on Mon, 04 Dec 2017 22:43:12 +0200) Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> <834lp6xlzz.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 11700 Cc: 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Mon, 04 Dec 2017 22:43:12 +0200 > From: Eli Zaretskii > Cc: mail@nicolasgoaziou.fr, 11700@debbugs.gnu.org > > Yes, Emacs implements Unicode 9.0, including the UBA with isolates. Actually, the current development sources and the upcoming Emacs 26.1 already support Unicode 10.0. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 16:02:04 2017 Received: (at 11700) by debbugs.gnu.org; 4 Dec 2017 21:02:04 +0000 Received: from localhost ([127.0.0.1]:45998 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxsK-0006xV-Fw for submit@debbugs.gnu.org; Mon, 04 Dec 2017 16:02:04 -0500 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:58385) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLxsI-0006x4-3E for 11700@debbugs.gnu.org; Mon, 04 Dec 2017 16:02:02 -0500 Received: from saiph.selenimh (000043010000000000000469.ipv6.commingeshautdebit.fr [IPv6:2a03:a0a0:0:4301::469]) (Authenticated sender: mail@nicolasgoaziou.fr) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 250331720A9; Mon, 4 Dec 2017 22:02:01 +0100 (CET) Received: from ngz by saiph.selenimh with local (Exim 4.89) (envelope-from ) id 1eLxsG-0005de-Ib; Mon, 04 Dec 2017 22:02:00 +0100 From: Nicolas Goaziou To: Eli Zaretskii Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables In-Reply-To: <83374qxlwp.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 04 Dec 2017 22:45:10 +0200") References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> <83374qxlwp.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Date: Mon, 04 Dec 2017 22:02:00 +0100 Message-ID: <877eu26wc7.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 11700 Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii writes: > Such tests can only be run interactively, because bidi reordering is a > display-time feature in Emacs. Is that OK with you? That's better than no test at all in my book, so I'm fine with it, yes. I can use isolation characters instead (if anyone cares to point me to what those are), if you think that's better. Regards, From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 04:29:15 2017 Received: (at 11700) by debbugs.gnu.org; 8 Dec 2017 09:29:15 +0000 Received: from localhost ([127.0.0.1]:51320 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNEy3-00083s-Jp for submit@debbugs.gnu.org; Fri, 08 Dec 2017 04:29:15 -0500 Received: from eggs.gnu.org ([208.118.235.92]:32809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNEy1-00083e-L9 for 11700@debbugs.gnu.org; Fri, 08 Dec 2017 04:29:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eNExs-0000QR-95 for 11700@debbugs.gnu.org; Fri, 08 Dec 2017 04:29:08 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,T_RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:52900) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eNExs-0000QB-5Y; Fri, 08 Dec 2017 04:29:04 -0500 Received: from [176.228.60.248] (port=2707 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eNExr-00065G-3C; Fri, 08 Dec 2017 04:29:03 -0500 Date: Fri, 08 Dec 2017 11:28:42 +0200 Message-Id: <83zi6twotx.fsf@gnu.org> From: Eli Zaretskii To: Nicolas Goaziou In-reply-to: <877eu26wc7.fsf@nicolasgoaziou.fr> (message from Nicolas Goaziou on Mon, 04 Dec 2017 22:02:00 +0100) Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> <83374qxlwp.fsf@gnu.org> <877eu26wc7.fsf@nicolasgoaziou.fr> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 11700 Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Nicolas Goaziou > Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org > Date: Mon, 04 Dec 2017 22:02:00 +0100 > > Eli Zaretskii writes: > > > Such tests can only be run interactively, because bidi reordering is a > > display-time feature in Emacs. Is that OK with you? > > That's better than no test at all in my book, so I'm fine with it, yes. OK. Can one of you please provide a short Lisp snippet that generates a 2x2 Org table and inserts it in a buffer, which I could use as the basis for the test? That would get me off the ground quicker, since I'm a very infrequent user of Org tables. > I can use isolation characters instead (if anyone cares to point me to > what those are), if you think that's better. I will experiment with both and see which one is better. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 12:09:05 2017 Received: (at 11700) by debbugs.gnu.org; 8 Dec 2017 17:09:05 +0000 Received: from localhost ([127.0.0.1]:52759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNM93-00042l-0i for submit@debbugs.gnu.org; Fri, 08 Dec 2017 12:09:05 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:48942) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNM91-00042c-Od for 11700@debbugs.gnu.org; Fri, 08 Dec 2017 12:09:04 -0500 Received: from saiph.selenimh (000043010000000000000469.ipv6.commingeshautdebit.fr [IPv6:2a03:a0a0:0:4301::469]) (Authenticated sender: mail@nicolasgoaziou.fr) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 74400A80C2; Fri, 8 Dec 2017 18:09:01 +0100 (CET) Received: from ngz by saiph.selenimh with local (Exim 4.89) (envelope-from ) id 1eNM8v-00089U-EP; Fri, 08 Dec 2017 18:08:57 +0100 From: Nicolas Goaziou To: Eli Zaretskii Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables In-Reply-To: <83zi6twotx.fsf__4220.56812462888$1512725457$gmane$org@gnu.org> (Eli Zaretskii's message of "Fri, 08 Dec 2017 11:28:42 +0200") References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> <83374qxlwp.fsf@gnu.org> <877eu26wc7.fsf@nicolasgoaziou.fr> <83zi6twotx.fsf__4220.56812462888$1512725457$gmane$org@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Date: Fri, 08 Dec 2017 18:08:57 +0100 Message-ID: <87mv2trvti.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 11700 Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hello, Eli Zaretskii writes: > Can one of you please provide a short Lisp snippet that generates a > 2x2 Org table and inserts it in a buffer, which I could use as the > basis for the test? That would get me off the ground quicker, since > I'm a very infrequent user of Org tables. For tests, we use `org-test-with-temp-text' macro, e.g., (org-test-with-temp-text "| a | b |\n| c | d |" ... do something in that buffer ...) > I will experiment with both and see which one is better. OK. Thank you. Regards, -- Nicolas Goaziou From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 23 08:38:21 2017 Received: (at 11700) by debbugs.gnu.org; 23 Dec 2017 13:38:21 +0000 Received: from localhost ([127.0.0.1]:48816 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSk0L-0000gy-By for submit@debbugs.gnu.org; Sat, 23 Dec 2017 08:38:21 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSk0J-0000gj-Cp for 11700@debbugs.gnu.org; Sat, 23 Dec 2017 08:38:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eSk0A-0003Ie-Hm for 11700@debbugs.gnu.org; Sat, 23 Dec 2017 08:38:13 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43180) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eSk0A-0003IR-Dv; Sat, 23 Dec 2017 08:38:10 -0500 Received: from [176.228.60.248] (port=3846 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eSk09-0006Af-Pc; Sat, 23 Dec 2017 08:38:10 -0500 Date: Sat, 23 Dec 2017 15:38:11 +0200 Message-Id: <83y3ltk1j0.fsf@gnu.org> From: Eli Zaretskii To: Nicolas Goaziou In-reply-to: <87mv2trvti.fsf@nicolasgoaziou.fr> (message from Nicolas Goaziou on Fri, 08 Dec 2017 18:08:57 +0100) Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> <83374qxlwp.fsf@gnu.org> <877eu26wc7.fsf@nicolasgoaziou.fr> <83zi6twotx.fsf__4220.56812462888$1512725457$gmane$org@gnu.org> <87mv2trvti.fsf@nicolasgoaziou.fr> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 11700 Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Nicolas Goaziou > Date: Fri, 08 Dec 2017 18:08:57 +0100 > Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org > > For tests, we use `org-test-with-temp-text' macro, e.g., > > (org-test-with-temp-text "| a | b |\n| c | d |" > ... do something in that buffer ...) You didn't say that this macro is only available in the Org's Git repository... Anyway, since it's a very simple macro, I just used its guts below. I found both methods doing well, so I'm going to show both, and let you decide which one is better. The below provides a demonstration of each method by displaying a buffer with a table whose columns include both L2R and R2L text, such that the table columns are still laid out left to right, unlike when one just types the characters in the cells. Method 1: wrap each string with (invisible) bidi formatting control characters which isolate each string from the surrounding text. (defun bidi-isolate-string (str) (concat (propertize (string ?\x2068) 'invisible t) str (propertize (string ?\x2069) 'invisible t))) (with-current-buffer (get-buffer-create "bidi-org-table1") (org-mode) (insert (concat "| " (bidi-isolate-string "abcd") " | " (bidi-isolate-string "efgh") " |\n| " (bidi-isolate-string "אבגד") " | " (bidi-isolate-string "הוזח") " |")) (pop-to-buffer "bidi-org-table")) This has a minor issue: it fails to conceal the bidi control characters on display, although I used the 'invisible' property for that purpose. I'm guessing that Org takes control of the 'invisible' properties, in which case perhaps this method should use some other property, if possible. If it is not practical to conceal the bidi controls on display, the following method is preferable. Method 2: give the spaces around the cell text the display property which makes the spaces serve as segment separators for the purposes of the bidirectional reordering. (defun bidi-separator-space () (propertize " " 'display '(space :width 1))) (with-current-buffer (get-buffer-create "bidi-org-table2") (org-mode) (insert (concat "|" (bidi-separator-space) "abcd" (bidi-separator-space) "|" (bidi-separator-space) "efgh" (bidi-separator-space) "|\n|" (bidi-separator-space) "אבגד" (bidi-separator-space) "|" (bidi-separator-space) "הוזח" (bidi-separator-space) "|")) (pop-to-buffer "bidi-org-table2")) Let me know if I can help you further, or if you have additional questions. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 23 08:48:40 2017 Received: (at 11700) by debbugs.gnu.org; 23 Dec 2017 13:48:40 +0000 Received: from localhost ([127.0.0.1]:48820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSkAK-0000w6-CL for submit@debbugs.gnu.org; Sat, 23 Dec 2017 08:48:40 -0500 Received: from eggs.gnu.org ([208.118.235.92]:45696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSkAJ-0000vu-Ns for 11700@debbugs.gnu.org; Sat, 23 Dec 2017 08:48:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eSkAB-0001x4-7g for 11700@debbugs.gnu.org; Sat, 23 Dec 2017 08:48:34 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43300) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eSkAB-0001wr-4S; Sat, 23 Dec 2017 08:48:31 -0500 Received: from [176.228.60.248] (port=3850 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eSkAA-0006w5-Hd; Sat, 23 Dec 2017 08:48:30 -0500 Date: Sat, 23 Dec 2017 15:48:32 +0200 Message-Id: <83vagxk11r.fsf@gnu.org> From: Eli Zaretskii To: mail@nicolasgoaziou.fr In-reply-to: <83y3ltk1j0.fsf@gnu.org> (message from Eli Zaretskii on Sat, 23 Dec 2017 15:38:11 +0200) Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> <83374qxlwp.fsf@gnu.org> <877eu26wc7.fsf@nicolasgoaziou.fr> <83zi6twotx.fsf__4220.56812462888$1512725457$gmane$org@gnu.org> <87mv2trvti.fsf@nicolasgoaziou.fr> <83y3ltk1j0.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 11700 Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Sat, 23 Dec 2017 15:38:11 +0200 > From: Eli Zaretskii > Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org > > I found both methods doing well, so I'm going to show both, and let > you decide which one is better. On second thought, I think Method 2 is better, because it does exactly what segment separators were invented for: to separate cells in tables. By contrast, the bidi formatting control characters are for controlling the display order in general text, not necessarily in tables. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 23 17:51:47 2017 Received: (at 11700-done) by debbugs.gnu.org; 23 Dec 2017 22:51:47 +0000 Received: from localhost ([127.0.0.1]:49712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSsdv-000811-5S for submit@debbugs.gnu.org; Sat, 23 Dec 2017 17:51:47 -0500 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:57014) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSsdt-00080t-8C for 11700-done@debbugs.gnu.org; Sat, 23 Dec 2017 17:51:45 -0500 Received: from saiph.selenimh (000043010000000000000469.ipv6.commingeshautdebit.fr [IPv6:2a03:a0a0:0:4301::469]) (Authenticated sender: mail@nicolasgoaziou.fr) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 9C78217209B; Sat, 23 Dec 2017 23:51:43 +0100 (CET) Received: from ngz by saiph.selenimh with local (Exim 4.89) (envelope-from ) id 1eSsdq-0001pQ-LO; Sat, 23 Dec 2017 23:51:42 +0100 From: Nicolas Goaziou To: Eli Zaretskii Subject: Re: bug#11700: 24.1.50; Bad interaction between BiDi and org-tables In-Reply-To: <83y3ltk1j0.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 23 Dec 2017 15:38:11 +0200") References: <83mx46y4f5.fsf@gnu.org> <87mv2y6xx2.fsf@nicolasgoaziou.fr> <83374qxlwp.fsf@gnu.org> <877eu26wc7.fsf@nicolasgoaziou.fr> <83zi6twotx.fsf__4220.56812462888$1512725457$gmane$org@gnu.org> <87mv2trvti.fsf@nicolasgoaziou.fr> <83y3ltk1j0.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Date: Sat, 23 Dec 2017 23:51:42 +0100 Message-ID: <87o9mphxc1.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 11700-done Cc: dov.grobgeld@gmail.com, 11700-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hello, Eli Zaretskii writes: >> From: Nicolas Goaziou >> Date: Fri, 08 Dec 2017 18:08:57 +0100 >> Cc: dov.grobgeld@gmail.com, 11700@debbugs.gnu.org >> >> For tests, we use `org-test-with-temp-text' macro, e.g., >> >> (org-test-with-temp-text "| a | b |\n| c | d |" >> ... do something in that buffer ...) > > You didn't say that this macro is only available in the Org's Git > repository... I believed our test suite had been merged with Emacs. Sorry about that. > Method 2: give the spaces around the cell text the display property > which makes the spaces serve as segment separators for the purposes of > the bidirectional reordering. Sounds good. I implemented it in Org. Hopefully, Org is now friendlier to BiDi. Please let me know if something is missing. Thank you. Regards, -- Nicolas Goaziou 0x80A93738 From unknown Fri Sep 05 17:16:52 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 21 Jan 2018 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator