From unknown Sun Jun 22 07:52:15 2025 X-Loop: help-debbugs@gnu.org Subject: bug#32516: 26.1; Reshape Arabic Characters in the Terminal Resent-From: Naheel Azawy Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 23 Aug 2018 21:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 32516 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 32516@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.153505984830439 (code B ref -1); Thu, 23 Aug 2018 21:31:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 Aug 2018 21:30:48 +0000 Received: from localhost ([127.0.0.1]:59162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fsxBm-0007ur-Bt for submit@debbugs.gnu.org; Thu, 23 Aug 2018 17:30:48 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50263) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fsx2P-0007du-TB for submit@debbugs.gnu.org; Thu, 23 Aug 2018 17:21:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fsx27-0007B5-7B for submit@debbugs.gnu.org; Thu, 23 Aug 2018 17:20:59 -0400 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,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:38477) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fsx26-0007AW-PY for submit@debbugs.gnu.org; Thu, 23 Aug 2018 17:20:46 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42079) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fsx1z-0004xl-4Y for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2018 17:20:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fswol-0001ca-Jh for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2018 17:07:04 -0400 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]:45089) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fswok-0001az-Vw for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2018 17:06:59 -0400 Received: by mail-lj1-x22c.google.com with SMTP id u83-v6so5220883lje.12 for ; Thu, 23 Aug 2018 14:06:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=EI8aRUT/0M4naMQLfvLYzXDzRf917a6Yw5IJlCTeQzw=; b=I/VUJdiv7N8nHzlBlXFIkNm0Fn5RfcnEg4kB7a9/TrgB2qsN7HQbFW0xddDN9ka0t+ /ngmfI7I2rn19OOqurzvKbVbZYWpPq/9KZ2iuutESCQ8LAcTZzEzgRu3+q1VWO1a94Wd Ucz7fkzO8tyduJeygZdANU8YjhJRh2N2Om9ZPZos1SAzYbCMsXLoCmp8tPNGqlWxk3jc cKjyM7S/2UPSqcE+2YYAYYKuEtEgO4jvfgyymEHp4j7mD/K5TXHZ0Ss1oHMM7HCgcgSk gcxtYnS6Q9eXKDbIYXIb5/sTUgXxTh4tqlwWZGrP/N3c2iVI6ttS6FN/9Ul7SK9pPZNE uJPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=EI8aRUT/0M4naMQLfvLYzXDzRf917a6Yw5IJlCTeQzw=; b=nci5roadt1Me3PfykUutIrIRXTX9v/Mx4yaSUxizTSQnUaceIITBSYjkybLfSWO3k6 kHGtqFz46E16fEEsBlsBvx7QIQYPh7mMJ0ieos/TxHBcYdccjaHZ9epC3SyjwoAu8ngx qEqjjhDcD6CEfyvII+8x3QctWQImkS6WkKLR+6SWNxpcWHAOVjcZ50znBWlmDAU4ax6b ua1zsf2Xjehyoat5IHXnS79+YMERSlnebMQySjNoSpls4Zrjp3TKBcRmt3KH1uH6SXaO ZzxexV9c0XnDvW/Q11FAHKGOyfBX2BBmDcgGw/iNuLMedDsmFw5b3Uad+jCWOGPdiLl2 3XiQ== X-Gm-Message-State: AOUpUlE3hYKORzVZIhpUgoIK6ZgD5JGL0TTIMmDPgLX/48z3dHPu7Fz2 IXb2SfkT1rBG+m2vYdM65wpglTrm3N3FEa2qjAp3qizajSY= X-Google-Smtp-Source: AA+uWPzLfq+fbrayPZxFWlw2S7e754wbUpxIoEW9nX8HJy19p7UukwhOXM+MBvDw4RRJWQfMBxq3NevTv0YPEnhQcFw= X-Received: by 2002:a2e:4619:: with SMTP id t25-v6mr43097890lja.96.1535058416525; Thu, 23 Aug 2018 14:06:56 -0700 (PDT) MIME-Version: 1.0 From: Naheel Azawy Date: Fri, 24 Aug 2018 00:06:19 +0300 Message-ID: Content-Type: multipart/alternative; boundary="000000000000a066d9057420a374" 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.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Mailman-Approved-At: Thu, 23 Aug 2018 17:30:45 -0400 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: -5.0 (-----) --000000000000a066d9057420a374 Content-Type: text/plain; charset="UTF-8" The problem occurs in the terminal mode with Arabic characters. Emacs handles the bidirectional text correctly in terms of direction but it doesn't reshape the characters depending on its location. More details can be seen with screenshots on my question in Emacs stack exchange: https://emacs.stackexchange.com/questions/44144/arabic-in-terminal-mode I have also written a little minor mode as workaround to this problem: https://github.com/Naheel-Azawy/emacs-arabic-reshaper but an actual solution is expected to only render the characters while they're displayed in the screen and not reshape the entire file as I'm doing with my minor mode. Thanks, Naheel In GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.22.30) of 2018-06-26 built on buildhw-10.phx2.fedoraproject.org Windowing system distributor 'Fedora Project', version 11.0.11906000 System Description: Fedora release 28 (Twenty Eight) Recent messages: Wrote /home/naheel/Documents/orgmode/TODO-2018-summer.org When done with a buffer, type C-x # [4 times] previous-line: Beginning of buffer [4 times] Auto-saving...done previous-line: Beginning of buffer [2 times] Auto-saving...done previous-line: Beginning of buffer [6 times] Saving file /home/naheel/Documents/orgmode/TODO-major.org... Wrote /home/naheel/Documents/orgmode/TODO-major.org (No changes need to be saved) Configured using: 'configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with- png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no --with-xwidgets --with-modules build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' LDFLAGS=-Wl,-z,relro PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES THREADS XWIDGETS LCMS2 Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: org-bullets-mode: t yas-global-mode: t yas-minor-mode: t diff-auto-refine-mode: t helm-descbinds-mode: t helm-mode: t helm-flx-mode: t global-vi-tilde-fringe-mode: t vi-tilde-fringe-mode: t projectile-mode: t recentf-mode: t global-auto-complete-mode: t xclip-mode: t hl-todo-mode: t winum-mode: t winner-mode: t volatile-highlights-mode: t spaceline-info-mode: t spaceline-helm-mode: t save-place-mode: t savehist-mode: t popwin-mode: t persp-mode: t Info-breadcrumbs-in-mode-line-mode: t flx-ido-mode: t eyebrowse-mode: t global-evil-surround-mode: t evil-surround-mode: t global-evil-search-highlight-persist: t evil-search-highlight-persist: t show-smartparens-global-mode: t show-smartparens-mode: t evil-escape-mode: t global-anzu-mode: t anzu-mode: t eval-sexp-fu-flash-mode: t clean-aindent-mode: t holy-mode: t which-key-mode: t override-global-mode: t global-undo-tree-mode: t undo-tree-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t spacemacs-leader-override-mode: t global-spacemacs-leader-override-mode: t global-hl-line-mode: t xterm-mouse-mode: t global-auto-revert-mode: t ido-vertical-mode: t global-page-break-lines-mode: t page-break-lines-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /usr/share/emacs/site-lisp/site-start.d/maxima-modes hides /usr/share/emacs/site-lisp/maxima/site_start.d/maxima-modes /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-habit hides /usr/share/emacs/26.1/lisp/org/org-habit /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-shen hides /usr/share/emacs/26.1/lisp/org/ob-shen /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-latex hides /usr/share/emacs/26.1/lisp/org/ob-latex /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-stan hides /usr/share/emacs/26.1/lisp/org/ob-stan /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sed hides /usr/share/emacs/26.1/lisp/org/ob-sed /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lua hides /usr/share/emacs/26.1/lisp/org/ob-lua /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-element hides /usr/share/emacs/26.1/lisp/org/org-element /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-screen hides /usr/share/emacs/26.1/lisp/org/ob-screen /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-datetree hides /usr/share/emacs/26.1/lisp/org/org-datetree /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-list hides /usr/share/emacs/26.1/lisp/org/org-list /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-coq hides /usr/share/emacs/26.1/lisp/org/ob-coq /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-tangle hides /usr/share/emacs/26.1/lisp/org/ob-tangle /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-crypt hides /usr/share/emacs/26.1/lisp/org/org-crypt /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-org hides /usr/share/emacs/26.1/lisp/org/ob-org /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-maxima hides /usr/share/emacs/26.1/lisp/org/ob-maxima /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-java hides /usr/share/emacs/26.1/lisp/org/ob-java /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-w3m hides /usr/share/emacs/26.1/lisp/org/org-w3m /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-calc hides /usr/share/emacs/26.1/lisp/org/ob-calc /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-css hides /usr/share/emacs/26.1/lisp/org/ob-css /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-archive hides /usr/share/emacs/26.1/lisp/org/org-archive /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-info hides /usr/share/emacs/26.1/lisp/org/org-info /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-python hides /usr/share/emacs/26.1/lisp/org/ob-python /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-awk hides /usr/share/emacs/26.1/lisp/org/ob-awk /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-docview hides /usr/share/emacs/26.1/lisp/org/org-docview /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-clock hides /usr/share/emacs/26.1/lisp/org/org-clock /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-agenda hides /usr/share/emacs/26.1/lisp/org/org-agenda /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-macs hides /usr/share/emacs/26.1/lisp/org/org-macs /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-table hides /usr/share/emacs/26.1/lisp/org/ob-table /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-man hides /usr/share/emacs/26.1/lisp/org/ox-man /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ocaml hides /usr/share/emacs/26.1/lisp/org/ob-ocaml /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-emacs-lisp hides /usr/share/emacs/26.1/lisp/org/ob-emacs-lisp /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-plantuml hides /usr/share/emacs/26.1/lisp/org/ob-plantuml /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-asymptote hides /usr/share/emacs/26.1/lisp/org/ob-asymptote /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-publish hides /usr/share/emacs/26.1/lisp/org/ox-publish /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob hides /usr/share/emacs/26.1/lisp/org/ob /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-compat hides /usr/share/emacs/26.1/lisp/org/org-compat /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lilypond hides /usr/share/emacs/26.1/lisp/org/ob-lilypond /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org hides /usr/share/emacs/26.1/lisp/org/org /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-picolisp hides /usr/share/emacs/26.1/lisp/org/ob-picolisp /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lob hides /usr/share/emacs/26.1/lisp/org/ob-lob /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-md hides /usr/share/emacs/26.1/lisp/org/ox-md /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-texinfo hides /usr/share/emacs/26.1/lisp/org/ox-texinfo /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-core hides /usr/share/emacs/26.1/lisp/org/ob-core /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ref hides /usr/share/emacs/26.1/lisp/org/ob-ref /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ebnf hides /usr/share/emacs/26.1/lisp/org/ob-ebnf /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-js hides /usr/share/emacs/26.1/lisp/org/ob-js /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-ascii hides /usr/share/emacs/26.1/lisp/org/ox-ascii /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-fortran hides /usr/share/emacs/26.1/lisp/org/ob-fortran /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-perl hides /usr/share/emacs/26.1/lisp/org/ob-perl /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-dot hides /usr/share/emacs/26.1/lisp/org/ob-dot /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-table hides /usr/share/emacs/26.1/lisp/org/org-table /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-abc hides /usr/share/emacs/26.1/lisp/org/ob-abc /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-shell hides /usr/share/emacs/26.1/lisp/org/ob-shell /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-eww hides /usr/share/emacs/26.1/lisp/org/org-eww /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-lint hides /usr/share/emacs/26.1/lisp/org/org-lint /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-plot hides /usr/share/emacs/26.1/lisp/org/org-plot /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-gnus hides /usr/share/emacs/26.1/lisp/org/org-gnus /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-faces hides /usr/share/emacs/26.1/lisp/org/org-faces /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-bbdb hides /usr/share/emacs/26.1/lisp/org/org-bbdb /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-R hides /usr/share/emacs/26.1/lisp/org/ob-R /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-icalendar hides /usr/share/emacs/26.1/lisp/org/ox-icalendar /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-inlinetask hides /usr/share/emacs/26.1/lisp/org/org-inlinetask /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-io hides /usr/share/emacs/26.1/lisp/org/ob-io /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox hides /usr/share/emacs/26.1/lisp/org/ox /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ruby hides /usr/share/emacs/26.1/lisp/org/ob-ruby /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-mobile hides /usr/share/emacs/26.1/lisp/org/org-mobile /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-install hides /usr/share/emacs/26.1/lisp/org/org-install /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-exp hides /usr/share/emacs/26.1/lisp/org/ob-exp /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-irc hides /usr/share/emacs/26.1/lisp/org/org-irc /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-eval hides /usr/share/emacs/26.1/lisp/org/ob-eval /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-scheme hides /usr/share/emacs/26.1/lisp/org/ob-scheme /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-latex hides /usr/share/emacs/26.1/lisp/org/ox-latex /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-hledger hides /usr/share/emacs/26.1/lisp/org/ob-hledger /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ditaa hides /usr/share/emacs/26.1/lisp/org/ob-ditaa /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-C hides /usr/share/emacs/26.1/lisp/org/ob-C /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-entities hides /usr/share/emacs/26.1/lisp/org/org-entities /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-eshell hides /usr/share/emacs/26.1/lisp/org/org-eshell /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-bibtex hides /usr/share/emacs/26.1/lisp/org/org-bibtex /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-attach hides /usr/share/emacs/26.1/lisp/org/org-attach /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-J hides /usr/share/emacs/26.1/lisp/org/ob-J /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sql hides /usr/share/emacs/26.1/lisp/org/ob-sql /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-groovy hides /usr/share/emacs/26.1/lisp/org/ob-groovy /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-vala hides /usr/share/emacs/26.1/lisp/org/ob-vala /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-id hides /usr/share/emacs/26.1/lisp/org/org-id /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-version hides /usr/share/emacs/26.1/lisp/org/org-version /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-rmail hides /usr/share/emacs/26.1/lisp/org/org-rmail /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-pcomplete hides /usr/share/emacs/26.1/lisp/org/org-pcomplete /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-colview hides /usr/share/emacs/26.1/lisp/org/org-colview /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-clojure hides /usr/share/emacs/26.1/lisp/org/ob-clojure /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sqlite hides /usr/share/emacs/26.1/lisp/org/ob-sqlite /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-gnuplot hides /usr/share/emacs/26.1/lisp/org/ob-gnuplot /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-mhe hides /usr/share/emacs/26.1/lisp/org/org-mhe /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-src hides /usr/share/emacs/26.1/lisp/org/org-src /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-haskell hides /usr/share/emacs/26.1/lisp/org/ob-haskell /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-makefile hides /usr/share/emacs/26.1/lisp/org/ob-makefile /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-beamer hides /usr/share/emacs/26.1/lisp/org/ox-beamer /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-timer hides /usr/share/emacs/26.1/lisp/org/org-timer /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-comint hides /usr/share/emacs/26.1/lisp/org/ob-comint /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-duration hides /usr/share/emacs/26.1/lisp/org/org-duration /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-processing hides /usr/share/emacs/26.1/lisp/org/ob-processing /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-odt hides /usr/share/emacs/26.1/lisp/org/ox-odt /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-feed hides /usr/share/emacs/26.1/lisp/org/org-feed /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-loaddefs hides /usr/share/emacs/26.1/lisp/org/org-loaddefs /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-footnote hides /usr/share/emacs/26.1/lisp/org/org-footnote /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-indent hides /usr/share/emacs/26.1/lisp/org/org-indent /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-ctags hides /usr/share/emacs/26.1/lisp/org/org-ctags /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-html hides /usr/share/emacs/26.1/lisp/org/ox-html /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-octave hides /usr/share/emacs/26.1/lisp/org/ob-octave /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-capture hides /usr/share/emacs/26.1/lisp/org/org-capture /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ledger hides /usr/share/emacs/26.1/lisp/org/ob-ledger /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-keys hides /usr/share/emacs/26.1/lisp/org/ob-keys /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-protocol hides /usr/share/emacs/26.1/lisp/org/org-protocol /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-org hides /usr/share/emacs/26.1/lisp/org/ox-org /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sass hides /usr/share/emacs/26.1/lisp/org/ob-sass /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-forth hides /usr/share/emacs/26.1/lisp/org/ob-forth /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-matlab hides /usr/share/emacs/26.1/lisp/org/ob-matlab /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lisp hides /usr/share/emacs/26.1/lisp/org/ob-lisp /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-macro hides /usr/share/emacs/26.1/lisp/org/org-macro /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-mouse hides /usr/share/emacs/26.1/lisp/org/org-mouse /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-mscgen hides /usr/share/emacs/26.1/lisp/org/ob-mscgen Features: (shadow sort mail-extr emacsbug sendmail sparql-mode drupal-mode drupal/emacs-drush drupal/flycheck drupal/phpcs drupal/ispell drupal/etags drupal/eldoc sql view php-mode php-project mode-local speedbar sb-image ezimage dframe add-log cc-langs json-mode json-reformat json-snatcher smartparens-javascript js smartparens-html sgml-mode dom imenu sh-script smie executable org-eldoc org-bullets toc-org org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message rfc822 mml mml- sec epa epg mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus- util rmail rmail-loaddefs org-docview doc-view jka-compr dired dired- loaddefs org-bibtex bibtex org-bbdb org-w3m mail-utils network-stream starttls url-cache url-http tls gnutls url-gw nsm rmc puny url-auth anaconda- mode url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap pythonic evil-matchit evil-matchit-sdk hi-lock smartparens-python python tramp-sh auto-compile packed elisp-slime-nav vala-snippets yasnippet elec-pair misearch multi- isearch macrostep-c cmacexp macrostep auto-complete-c-headers tramp tramp- compat tramp-loaddefs trampver ucs-normalize parse-time goto-addr bug- reference auto-highlight-symbol highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters helm-command helm-elisp helm-eval edebug helm-info vc-git diff-mode open-junk-file term/xterm xterm pp helm-descbinds helm-mode helm-files helm-buffers helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types helm-flx helm helm-source helm-multi-match helm-lib async vi-tilde-fringe diminish projectile grep ibuf-ext ibuffer ibuffer-loaddefs recentf tree-widget ox-reveal ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox htmlize ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs smartparens-org org- element avl-tree generator org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors mc-edit-lines multiple-cursors-core flycheck find-func flymake-proc flymake compile auto-complete-config auto-complete popup xclip hl-todo server ws-butler winum winner etags xref project volatile-highlights spaceline-config spaceline-segments spaceline powerline powerline-separators color powerline-themes smartparens-config smartparens-text saveplace savehist popwin persp-mode linum info+ image-mode go-rename flx-ido flx eyebrowse format-spec evil-unimpaired f s evil-surround evil-search-highlight-persist evil-numbers evil-lisp-state smartparens dash evil-indent-plus evil-exchange evil-escape evil-args evil-anzu anzu eval-sexp-fu highlight noutline outline drupal/pcomplete rx clean-aindent-mode adaptive-wrap hybrid- mode exec-path-from-shell evil-evilified-state time-date which-key use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core hydra lv cus-edit cus-start cus-load evil evil-integration undo-tree diff evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex shell pcomplete comint ansi-color evil-macros evil-repeat evil-states evil-core evil-common windmove thingatpt rect evil-digraphs evil-vars ring info bind-map quelpa help-fns radix-tree package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr json map lisp-mnt hl-line xt-mouse autorevert filenotify cl-extra disp-table wid-edit spacemacs-dark-theme spacemacs-common finder-inf core-configuration-layer eieio-compat ht cl help-mode warnings package epg-config url-handlers url-parse auth-source cl-seq password-cache url-vars eieio eieio-core eieio-loaddefs ido-vertical-mode ido seq byte-opt bytecomp byte-compile cconv core-spacemacs core-use-package- ext core-transient-state core-micro-state core-toggle core-keybindings core-fonts-support core-spacemacs-buffer core-funcs core-themes-support core-display-init core-jump core-auto-completion core-release- management core-dotspacemacs core-command-line pcase core-debug edmacro kmacro derived advice profiler easymenu page-break-lines easy-mmode subr-x clang-format cl-macs gv xml cl-loaddefs cl-lib mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print- readable backquote dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting xwidget-internal move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 1001845 884166) (symbols 48 72147 14) (miscs 40 1551 5209) (strings 32 224843 89466) (string-bytes 1 7600056) (vectors 16 133549) (vector-slots 8 2944967 187560) (floats 8 810 9223) (intervals 56 3566 1991) (buffers 992 55)) --000000000000a066d9057420a374 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

The problem occurs in the terminal mod= e with Arabic characters. Emacs
handles the bidirectional text co= rrectly in terms of direction but it
doesn't reshape the char= acters depending on its location. More details
can be seen with s= creenshots on my question in Emacs stack exchange:
https= ://emacs.stackexchange.com/questions/44144/arabic-in-terminal-mode
I have also written a little minor mode as workaround to this problem= :
but = an actual solution is expected to only render the characters while
they're displayed in the screen and not reshape the entire file as I&= #39;m
doing with my minor mode.

Thanks,<= /div>
Naheel


In GNU Emacs 26.1 = (build 1, x86_64-redhat-linux-gnu, GTK+ Version
3.22.30)
=C2=A0of 2018-06-26 built on buildhw-10.phx2.fedoraproject.org
Windowing system d= istributor 'Fedora Project', version 11.0.11906000
System= Description: Fedora release 28 (Twe= nty Eight)

Recent messages:
Wrote /home/= naheel/Documents/orgmode/TODO-2018-summer.org
When done with a bu= ffer, type C-x # [4 times]
previous-line: Beginning of buffer [4 = times]
Auto-saving...done
previous-line: Beginning of b= uffer [2 times]
Auto-saving...done
previous-line: Begin= ning of buffer [6 times]
Saving file /home/naheel/Documents/orgmo= de/TODO-major.org...
Wrote /home/naheel/Documents/orgmode/TODO-ma= jor.org
(No changes need to be saved)

Co= nfigured using:
=C2=A0'configure --build=3Dx86_64-redhat-linu= x-gnu
=C2=A0--host=3Dx86_64-redhat-linux-gnu --program-prefix=3D<= /div>
=C2=A0--disable-dependency-tracking --prefix=3D/usr --exec-prefix= =3D/usr
=C2=A0--bindir=3D/usr/bin --sbindir=3D/usr/sbin --sysconf= dir=3D/etc
=C2=A0--datadir=3D/usr/share --includedir=3D/usr/inclu= de --libdir=3D/usr/lib64
=C2=A0--libexecdir=3D/usr/libexec --loca= lstatedir=3D/var
=C2=A0--sharedstatedir=3D/var/lib --mandir=3D/us= r/share/man
=C2=A0--infodir=3D/usr/share/info --with-dbus --with-= gif --with-jpeg --with-
png
=C2=A0--with-rsvg --with-ti= ff --with-xft --with-xpm --with-x-toolkit=3Dgtk3
=C2=A0--with-gpm= =3Dno --with-xwidgets --with-modules
=C2=A0build_alias=3Dx86_64-r= edhat-linux-gnu host_alias=3Dx86_64-redhat-linux-gnu
=C2=A0'C= FLAGS=3D-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=3Dformat-security
=
=C2=A0-Wp,-D_FORTIFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions=
=C2=A0-fstack-protector-strong -grecord-gcc-switches
= =C2=A0-specs=3D/usr/lib/rpm/redhat/redhat-hardened-cc1
=C2=A0-spe= cs=3D/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=3Dgeneric
=C2=A0-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectio= n'
=C2=A0LDFLAGS=3D-Wl,-z,relro
=C2=A0PKG_CONFIG_PA= TH=3D:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SO= UND DBUS GSETTINGS NOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE = M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES THR= EADS XWIDGETS LCMS2

Important settings:
= =C2=A0 value of $LANG: en_US.UTF-8
=C2=A0 value of $XMODIFIERS: @= im=3Dibus
=C2=A0 locale-coding-system: utf-8-unix

<= /div>
Major mode: Org

Minor modes in effect:
=C2=A0 org-bullets-mode: t
=C2=A0 yas-global-mode: t
=C2=A0 yas-minor-mode: t
=C2=A0 diff-auto-refine-mode: t
=C2=A0 helm-descbinds-mode: t
=C2=A0 helm-mode: t
<= div>=C2=A0 helm-flx-mode: t
=C2=A0 global-vi-tilde-fringe-mode: t=
=C2=A0 vi-tilde-fringe-mode: t
=C2=A0 projectile-mode:= t
=C2=A0 recentf-mode: t
=C2=A0 global-auto-complete-m= ode: t
=C2=A0 xclip-mode: t
=C2=A0 hl-todo-mode: t
=C2=A0 winum-mode: t
=C2=A0 winner-mode: t
=C2=A0= volatile-highlights-mode: t
=C2=A0 spaceline-info-mode: t
<= div>=C2=A0 spaceline-helm-mode: t
=C2=A0 save-place-mode: t
=
=C2=A0 savehist-mode: t
=C2=A0 popwin-mode: t
=C2= =A0 persp-mode: t
=C2=A0 Info-breadcrumbs-in-mode-line-mode: t
=C2=A0 flx-ido-mode: t
=C2=A0 eyebrowse-mode: t
=C2=A0 global-evil-surround-mode: t
=C2=A0 evil-surround-mode: t=
=C2=A0 global-evil-search-highlight-persist: t
=C2=A0 = evil-search-highlight-persist: t
=C2=A0 show-smartparens-global-m= ode: t
=C2=A0 show-smartparens-mode: t
=C2=A0 evil-esca= pe-mode: t
=C2=A0 global-anzu-mode: t
=C2=A0 anzu-mode:= t
=C2=A0 eval-sexp-fu-flash-mode: t
=C2=A0 clean-ainde= nt-mode: t
=C2=A0 holy-mode: t
=C2=A0 which-key-mode: t=
=C2=A0 override-global-mode: t
=C2=A0 global-undo-tree= -mode: t
=C2=A0 undo-tree-mode: t
=C2=A0 shell-dirtrack= -mode: t
=C2=A0 evil-mode: t
=C2=A0 evil-local-mode: t<= /div>
=C2=A0 spacemacs-leader-override-mode: t
=C2=A0 global-= spacemacs-leader-override-mode: t
=C2=A0 global-hl-line-mode: t
=C2=A0 xterm-mouse-mode: t
=C2=A0 global-auto-revert-mod= e: t
=C2=A0 ido-vertical-mode: t
=C2=A0 global-page-bre= ak-lines-mode: t
=C2=A0 page-break-lines-mode: t
=C2=A0= global-eldoc-mode: t
=C2=A0 eldoc-mode: t
=C2=A0 elect= ric-indent-mode: t
=C2=A0 mouse-wheel-mode: t
=C2=A0 fi= le-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<= /div>
=C2=A0 column-number-mode: t
=C2=A0 line-number-mode: t=
=C2=A0 transient-mark-mode: t

Load-path= shadows:
/usr/share/emacs/site-lisp/site-start.d/maxima-modes hi= des
/usr/share/emacs/site-lisp/maxima/site_start.d/maxima-modes
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-habit hid= es
/usr/share/emacs/26.1/lisp/org/org-habit
/home/nahee= l/.emacs.d/elpa/org-plus-contrib-20180806/ob-shen hides
/usr/shar= e/emacs/26.1/lisp/org/ob-shen
/home/naheel/.emacs.d/elpa/org-plus= -contrib-20180806/ob-latex hides
/usr/share/emacs/26.1/lisp/org/o= b-latex
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-s= tan hides
/usr/share/emacs/26.1/lisp/org/ob-stan
/home/= naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sed hides
/usr/= share/emacs/26.1/lisp/org/ob-sed
/home/naheel/.emacs.d/elpa/org-p= lus-contrib-20180806/ob-lua hides
/usr/share/emacs/26.1/lisp/org/= ob-lua
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-e= lement hides
/usr/share/emacs/26.1/lisp/org/org-element
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-screen hides
=
/usr/share/emacs/26.1/lisp/org/ob-screen
/home/naheel/.emacs= .d/elpa/org-plus-contrib-20180806/org-datetree hides
/usr/share/e= macs/26.1/lisp/org/org-datetree
/home/naheel/.emacs.d/elpa/org-pl= us-contrib-20180806/org-list hides
/usr/share/emacs/26.1/lisp/org= /org-list
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob= -coq hides
/usr/share/emacs/26.1/lisp/org/ob-coq
/home/= naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-tangle hides
/u= sr/share/emacs/26.1/lisp/org/ob-tangle
/home/naheel/.emacs.d/elpa= /org-plus-contrib-20180806/org-crypt hides
/usr/share/emacs/26.1/= lisp/org/org-crypt
/home/naheel/.emacs.d/elpa/org-plus-contrib-20= 180806/ob-org hides
/usr/share/emacs/26.1/lisp/org/ob-org
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-maxima hides
/usr/share/emacs/26.1/lisp/org/ob-maxima
/home/naheel/.ema= cs.d/elpa/org-plus-contrib-20180806/ob-java hides
/usr/share/emac= s/26.1/lisp/org/ob-java
/home/naheel/.emacs.d/elpa/org-plus-contr= ib-20180806/org-w3m hides
/usr/share/emacs/26.1/lisp/org/org-w3m<= /div>
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-calc hide= s
/usr/share/emacs/26.1/lisp/org/ob-calc
/home/naheel/.= emacs.d/elpa/org-plus-contrib-20180806/ob-css hides
/usr/share/em= acs/26.1/lisp/org/ob-css
/home/naheel/.emacs.d/elpa/org-plus-cont= rib-20180806/org-archive hides
/usr/share/emacs/26.1/lisp/org/org= -archive
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org= -info hides
/usr/share/emacs/26.1/lisp/org/org-info
/ho= me/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-python hides
/usr/share/emacs/26.1/lisp/org/ob-python
/home/naheel/.emacs.d/e= lpa/org-plus-contrib-20180806/ob-awk hides
/usr/share/emacs/26.1/= lisp/org/ob-awk
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180= 806/org-docview hides
/usr/share/emacs/26.1/lisp/org/org-docview<= /div>
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-clock hi= des
/usr/share/emacs/26.1/lisp/org/org-clock
/home/nahe= el/.emacs.d/elpa/org-plus-contrib-20180806/org-agenda hides
/usr/= share/emacs/26.1/lisp/org/org-agenda
/home/naheel/.emacs.d/elpa/o= rg-plus-contrib-20180806/org-macs hides
/usr/share/emacs/26.1/lis= p/org/org-macs
/home/naheel/.emacs.d/elpa/org-plus-contrib-201808= 06/ob-table hides
/usr/share/emacs/26.1/lisp/org/ob-table
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-man hides
<= div>/usr/share/emacs/26.1/lisp/org/ox-man
/home/naheel/.emacs.d/e= lpa/org-plus-contrib-20180806/ob-ocaml hides
/usr/share/emacs/26.= 1/lisp/org/ob-ocaml
/home/naheel/.emacs.d/elpa/org-plus-contrib-2= 0180806/ob-emacs-lisp
hides /usr/share/emacs/26.1/lisp/org/ob-ema= cs-lisp
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-p= lantuml hides
/usr/share/emacs/26.1/lisp/org/ob-plantuml
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-asymptote hides
/usr/share/emacs/26.1/lisp/org/ob-asymptote
/home/naheel= /.emacs.d/elpa/org-plus-contrib-20180806/ox-publish hides
/usr/sh= are/emacs/26.1/lisp/org/ox-publish
/home/naheel/.emacs.d/elpa/org= -plus-contrib-20180806/ob hides
/usr/share/emacs/26.1/lisp/org/ob=
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-compat = hides
/usr/share/emacs/26.1/lisp/org/org-compat
/home/n= aheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lilypond hides
/= usr/share/emacs/26.1/lisp/org/ob-lilypond
/home/naheel/.emacs.d/e= lpa/org-plus-contrib-20180806/org hides
/usr/share/emacs/26.1/lis= p/org/org
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob= -picolisp hides
/usr/share/emacs/26.1/lisp/org/ob-picolisp
<= div>/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lob hides
=
/usr/share/emacs/26.1/lisp/org/ob-lob
/home/naheel/.emacs.d/= elpa/org-plus-contrib-20180806/ox-md hides
/usr/share/emacs/26.1/= lisp/org/ox-md
/home/naheel/.emacs.d/elpa/org-plus-contrib-201808= 06/ox-texinfo hides
/usr/share/emacs/26.1/lisp/org/ox-texinfo
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-core hides
/usr/share/emacs/26.1/lisp/org/ob-core
/home/naheel/.ema= cs.d/elpa/org-plus-contrib-20180806/ob-ref hides
/usr/share/emacs= /26.1/lisp/org/ob-ref
/home/naheel/.emacs.d/elpa/org-plus-contrib= -20180806/ob-ebnf hides
/usr/share/emacs/26.1/lisp/org/ob-ebnf
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-js hides
/usr/share/emacs/26.1/lisp/org/ob-js
/home/naheel/.emacs.= d/elpa/org-plus-contrib-20180806/ox-ascii hides
/usr/share/emacs/= 26.1/lisp/org/ox-ascii
/home/naheel/.emacs.d/elpa/org-plus-contri= b-20180806/ob-fortran hides
/usr/share/emacs/26.1/lisp/org/ob-for= tran
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-perl= hides
/usr/share/emacs/26.1/lisp/org/ob-perl
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/ob-dot hides
/usr/sha= re/emacs/26.1/lisp/org/ob-dot
/home/naheel/.emacs.d/elpa/org-plus= -contrib-20180806/org-table hides
/usr/share/emacs/26.1/lisp/org/= org-table
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob= -abc hides
/usr/share/emacs/26.1/lisp/org/ob-abc
/home/= naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-shell hides
/us= r/share/emacs/26.1/lisp/org/ob-shell
/home/naheel/.emacs.d/elpa/o= rg-plus-contrib-20180806/org-eww hides
/usr/share/emacs/26.1/lisp= /org/org-eww
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806= /org-lint hides
/usr/share/emacs/26.1/lisp/org/org-lint
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-plot hides
<= div>/usr/share/emacs/26.1/lisp/org/org-plot
/home/naheel/.emacs.d= /elpa/org-plus-contrib-20180806/org-gnus hides
/usr/share/emacs/2= 6.1/lisp/org/org-gnus
/home/naheel/.emacs.d/elpa/org-plus-contrib= -20180806/org-faces hides
/usr/share/emacs/26.1/lisp/org/org-face= s
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-bbdb h= ides
/usr/share/emacs/26.1/lisp/org/org-bbdb
/home/nahe= el/.emacs.d/elpa/org-plus-contrib-20180806/ob-R hides
/usr/share/= emacs/26.1/lisp/org/ob-R
/home/naheel/.emacs.d/elpa/org-plus-cont= rib-20180806/ox-icalendar hides
/usr/share/emacs/26.1/lisp/org/ox= -icalendar
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/o= rg-inlinetask
hides /usr/share/emacs/26.1/lisp/org/org-inlinetask=
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-io hides=
/usr/share/emacs/26.1/lisp/org/ob-io
/home/naheel/.ema= cs.d/elpa/org-plus-contrib-20180806/ox hides
/usr/share/emacs/26.= 1/lisp/org/ox
/home/naheel/.emacs.d/elpa/org-plus-contrib-2018080= 6/ob-ruby hides
/usr/share/emacs/26.1/lisp/org/ob-ruby
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-mobile hides
=
/usr/share/emacs/26.1/lisp/org/org-mobile
/home/naheel/.emac= s.d/elpa/org-plus-contrib-20180806/org-install hides
/usr/share/e= macs/26.1/lisp/org/org-install
/home/naheel/.emacs.d/elpa/org-plu= s-contrib-20180806/ob-exp hides
/usr/share/emacs/26.1/lisp/org/ob= -exp
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-irc= hides
/usr/share/emacs/26.1/lisp/org/org-irc
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/ob-eval hides
/usr/sh= are/emacs/26.1/lisp/org/ob-eval
/home/naheel/.emacs.d/elpa/org-pl= us-contrib-20180806/ob-scheme hides
/usr/share/emacs/26.1/lisp/or= g/ob-scheme
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/= ox-latex hides
/usr/share/emacs/26.1/lisp/org/ox-latex
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-hledger hides
=
/usr/share/emacs/26.1/lisp/org/ob-hledger
/home/naheel/.emac= s.d/elpa/org-plus-contrib-20180806/ob-ditaa hides
/usr/share/emac= s/26.1/lisp/org/ob-ditaa
/home/naheel/.emacs.d/elpa/org-plus-cont= rib-20180806/ob-C hides
/usr/share/emacs/26.1/lisp/org/ob-C
=
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-entities hide= s
/usr/share/emacs/26.1/lisp/org/org-entities
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/org-eshell hides
/usr= /share/emacs/26.1/lisp/org/org-eshell
/home/naheel/.emacs.d/elpa/= org-plus-contrib-20180806/org-bibtex hides
/usr/share/emacs/26.1/= lisp/org/org-bibtex
/home/naheel/.emacs.d/elpa/org-plus-contrib-2= 0180806/org-attach hides
/usr/share/emacs/26.1/lisp/org/org-attac= h
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-J hides=
/usr/share/emacs/26.1/lisp/org/ob-J
/home/naheel/.emac= s.d/elpa/org-plus-contrib-20180806/ob-sql hides
/usr/share/emacs/= 26.1/lisp/org/ob-sql
/home/naheel/.emacs.d/elpa/org-plus-contrib-= 20180806/ob-groovy hides
/usr/share/emacs/26.1/lisp/org/ob-groovy=
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-vala hid= es
/usr/share/emacs/26.1/lisp/org/ob-vala
/home/naheel/= .emacs.d/elpa/org-plus-contrib-20180806/org-id hides
/usr/share/e= macs/26.1/lisp/org/org-id
/home/naheel/.emacs.d/elpa/org-plus-con= trib-20180806/org-version hides
/usr/share/emacs/26.1/lisp/org/or= g-version
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/or= g-rmail hides
/usr/share/emacs/26.1/lisp/org/org-rmail
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-pcomplete
hides /usr/share/emacs/26.1/lisp/org/org-pcomplete
/home/naheel= /.emacs.d/elpa/org-plus-contrib-20180806/org-colview hides
/usr/s= hare/emacs/26.1/lisp/org/org-colview
/home/naheel/.emacs.d/elpa/o= rg-plus-contrib-20180806/ob-clojure hides
/usr/share/emacs/26.1/l= isp/org/ob-clojure
/home/naheel/.emacs.d/elpa/org-plus-contrib-20= 180806/ob-sqlite hides
/usr/share/emacs/26.1/lisp/org/ob-sqlite
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-gnuplot hi= des
/usr/share/emacs/26.1/lisp/org/ob-gnuplot
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/org-mhe hides
/usr/sh= are/emacs/26.1/lisp/org/org-mhe
/home/naheel/.emacs.d/elpa/org-pl= us-contrib-20180806/org-src hides
/usr/share/emacs/26.1/lisp/org/= org-src
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-h= askell hides
/usr/share/emacs/26.1/lisp/org/ob-haskell
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-makefile hides
/usr/share/emacs/26.1/lisp/org/ob-makefile
/home/naheel/.em= acs.d/elpa/org-plus-contrib-20180806/ox-beamer hides
/usr/share/e= macs/26.1/lisp/org/ox-beamer
/home/naheel/.emacs.d/elpa/org-plus-= contrib-20180806/org-timer hides
/usr/share/emacs/26.1/lisp/org/o= rg-timer
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-= comint hides
/usr/share/emacs/26.1/lisp/org/ob-comint
/= home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-duration hides
/usr/share/emacs/26.1/lisp/org/org-duration
/home/naheel/.e= macs.d/elpa/org-plus-contrib-20180806/ob-processing
hides /usr/sh= are/emacs/26.1/lisp/org/ob-processing
/home/naheel/.emacs.d/elpa/= org-plus-contrib-20180806/ox-odt hides
/usr/share/emacs/26.1/lisp= /org/ox-odt
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/= org-feed hides
/usr/share/emacs/26.1/lisp/org/org-feed
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-loaddefs hides
/usr/share/emacs/26.1/lisp/org/org-loaddefs
/home/naheel/.= emacs.d/elpa/org-plus-contrib-20180806/org-footnote hides
/usr/sh= are/emacs/26.1/lisp/org/org-footnote
/home/naheel/.emacs.d/elpa/o= rg-plus-contrib-20180806/org-indent hides
/usr/share/emacs/26.1/l= isp/org/org-indent
/home/naheel/.emacs.d/elpa/org-plus-contrib-20= 180806/org-ctags hides
/usr/share/emacs/26.1/lisp/org/org-ctags
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-html hides=
/usr/share/emacs/26.1/lisp/org/ox-html
/home/naheel/.e= macs.d/elpa/org-plus-contrib-20180806/ob-octave hides
/usr/share/= emacs/26.1/lisp/org/ob-octave
/home/naheel/.emacs.d/elpa/org-plus= -contrib-20180806/org-capture hides
/usr/share/emacs/26.1/lisp/or= g/org-capture
/home/naheel/.emacs.d/elpa/org-plus-contrib-2018080= 6/ob-ledger hides
/usr/share/emacs/26.1/lisp/org/ob-ledger
<= div>/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-keys hides
/usr/share/emacs/26.1/lisp/org/ob-keys
/home/naheel/.emacs.= d/elpa/org-plus-contrib-20180806/org-protocol hides
/usr/share/em= acs/26.1/lisp/org/org-protocol
/home/naheel/.emacs.d/elpa/org-plu= s-contrib-20180806/ox-org hides
/usr/share/emacs/26.1/lisp/org/ox= -org
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sass= hides
/usr/share/emacs/26.1/lisp/org/ob-sass
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/ob-forth hides
/usr/s= hare/emacs/26.1/lisp/org/ob-forth
/home/naheel/.emacs.d/elpa/org-= plus-contrib-20180806/ob-matlab hides
/usr/share/emacs/26.1/lisp/= org/ob-matlab
/home/naheel/.emacs.d/elpa/org-plus-contrib-2018080= 6/ob-lisp hides
/usr/share/emacs/26.1/lisp/org/ob-lisp
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-macro hides
<= div>/usr/share/emacs/26.1/lisp/org/org-macro
/home/naheel/.emacs.= d/elpa/org-plus-contrib-20180806/org-mouse hides
/usr/share/emacs= /26.1/lisp/org/org-mouse
/home/naheel/.emacs.d/elpa/org-plus-cont= rib-20180806/ob-mscgen hides
/usr/share/emacs/26.1/lisp/org/ob-ms= cgen

Features:
(shadow sort mail-extr em= acsbug sendmail sparql-mode drupal-mode
drupal/emacs-drush drupal= /flycheck drupal/phpcs drupal/ispell
drupal/etags drupal/eldoc sq= l view php-mode php-project mode-local
speedbar sb-image ezimage = dframe add-log cc-langs json-mode
json-reformat json-snatcher sma= rtparens-javascript js smartparens-html
sgml-mode dom imenu sh-sc= ript smie executable org-eldoc org-bullets
toc-org org-rmail org-= mhe org-irc org-info org-gnus nnir gnus-sum
gnus-group gnus-undo = gnus-start gnus-cloud nnimap nnmail mail-source
utf7 netrc nnoo g= nus-spec gnus-int gnus-range message rfc822 mml mml-
sec
epa epg mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-
util
rmail rmail-loaddefs org-docview doc-view jka-compr di= red dired-
loaddefs
org-bibtex bibtex org-bbdb org-w3m = mail-utils network-stream starttls
url-cache url-http tls gnutls = url-gw nsm rmc puny url-auth anaconda-
mode
url url-pro= xy url-privacy url-expand url-methods url-history url-cookie
url-= domsuf url-util mailcap pythonic evil-matchit evil-matchit-sdk
hi= -lock smartparens-python python tramp-sh auto-compile packed
elis= p-slime-nav vala-snippets yasnippet elec-pair misearch multi-
ise= arch
macrostep-c cmacexp macrostep auto-complete-c-headers tramp = tramp-
compat
tramp-loaddefs trampver ucs-normalize par= se-time goto-addr bug-
reference
auto-highlight-symbol = highlight-numbers parent-mode
highlight-parentheses hideshow rain= bow-delimiters helm-command
helm-elisp helm-eval edebug helm-info= vc-git diff-mode open-junk-file
term/xterm xterm pp helm-descbin= ds helm-mode helm-files helm-buffers
helm-tags helm-locate helm-g= rep helm-regexp helm-utils helm-help
helm-types helm-flx helm hel= m-source helm-multi-match helm-lib async
vi-tilde-fringe diminish= projectile grep ibuf-ext ibuffer
ibuffer-loaddefs recentf tree-w= idget ox-reveal ox-odt rng-loc rng-uri
rng-parse rng-match rng-dt= rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util = ox-latex ox-icalendar ox-html table ox-ascii
ox-publish ox htmliz= e ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-al= ign cc-engine cc-vars cc-defs smartparens-org org-
element
<= div>avl-tree generator org org-macro org-footnote org-pcomplete org-list
org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-s= rc
ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eva= l
org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs=
multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operat= ions
rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cu= rsors
mc-edit-lines multiple-cursors-core flycheck find-func flym= ake-proc
flymake compile auto-complete-config auto-complete popup= xclip hl-todo
server ws-butler winum winner etags xref project v= olatile-highlights
spaceline-config spaceline-segments spaceline = powerline
powerline-separators color powerline-themes smartparens= -config
smartparens-text saveplace savehist popwin persp-mode lin= um info+
image-mode go-rename flx-ido flx eyebrowse format-spec e= vil-unimpaired
f
s evil-surround evil-search-highlight-= persist evil-numbers
evil-lisp-state smartparens dash evil-indent= -plus evil-exchange
evil-escape evil-args evil-anzu anzu eval-sex= p-fu highlight noutline
outline drupal/pcomplete rx clean-aindent= -mode adaptive-wrap hybrid-
mode
exec-path-from-shell e= vil-evilified-state time-date which-key
use-package use-package-e= nsure use-package-delight use-package-diminish
use-package-bind-k= ey bind-key use-package-core hydra lv cus-edit
cus-start cus-load= evil evil-integration undo-tree diff evil-maps
evil-commands rev= eal flyspell ispell evil-jumps evil-command-window
evil-types evi= l-search evil-ex shell pcomplete comint ansi-color
evil-macros ev= il-repeat evil-states evil-core evil-common windmove
thingatpt re= ct evil-digraphs evil-vars ring info bind-map quelpa
help-fns rad= ix-tree package-build mm-decode mm-bodies mm-encode
mail-parse rf= c2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr json
map lisp= -mnt hl-line xt-mouse autorevert filenotify cl-extra disp-table
w= id-edit spacemacs-dark-theme spacemacs-common finder-inf
core-con= figuration-layer eieio-compat ht cl help-mode warnings package
ep= g-config url-handlers url-parse auth-source cl-seq password-cache
url-vars eieio eieio-core eieio-loaddefs ido-vertical-mode ido seq
byte-opt bytecomp byte-compile cconv core-spacemacs core-use-package-
ext
core-transient-state core-micro-state core-toggle cor= e-keybindings
core-fonts-support core-spacemacs-buffer core-funcs= core-themes-support
core-display-init core-jump core-auto-comple= tion core-release-
management
core-dotspacemacs core-co= mmand-line pcase core-debug edmacro kmacro
derived advice profile= r easymenu page-break-lines easy-mmode subr-x
clang-format cl-mac= s gv xml cl-loaddefs cl-lib mule-util tooltip eldoc
electric uniq= uify ediff-hook vc-hooks lisp-float-type mwheel term/x-win
x-win = term/common-win x-dnd tool-bar dnd fontset image regexp-opt
fring= e
tabulated-list replace newcomment text-mode elisp-mode lisp-mod= e
prog-mode register page menu-bar rfn-eshadow isearch timer sele= ct
scroll-bar mouse jit-lock font-lock syntax facemenu font-core<= /div>
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-la= ng
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms = cp51932
hebrew greek romanian slovak czech european ethiopic indi= an cyrillic
chinese composite charscript charprop case-table epa-= hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-prelo= aded nadvice loaddefs
button faces cus-face macroexp files text-p= roperties overlay sha1 md5
base64 format env code-pages mule cust= om widget hashtable-print-
readable
backquote dbusbind = inotify lcms2 dynamic-setting system-font-setting
font-render-set= ting xwidget-internal move-toolbar gtk x-toolkit x
multi-tty make= -network-process emacs)

Memory information:
<= div>((conses 16 1001845 884166)
=C2=A0(symbols 48 72147 14)
=
=C2=A0(miscs 40 1551 5209)
=C2=A0(strings 32 224843 89466)
=C2=A0(string-bytes 1 7600056)
=C2=A0(vectors 16 133549)=
=C2=A0(vector-slots 8 2944967 187560)
=C2=A0(floats 8 = 810 9223)
=C2=A0(intervals 56 3566 1991)
=C2=A0(buffers= 992 55))
--000000000000a066d9057420a374-- From unknown Sun Jun 22 07:52:15 2025 X-Loop: help-debbugs@gnu.org Subject: bug#32516: 26.1; Reshape Arabic Characters in the Terminal Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Aug 2018 06:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32516 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Naheel Azawy Cc: 32516@debbugs.gnu.org Received: via spool by 32516-submit@debbugs.gnu.org id=B32516.153509216023288 (code B ref 32516); Fri, 24 Aug 2018 06:30:02 +0000 Received: (at 32516) by debbugs.gnu.org; 24 Aug 2018 06:29:20 +0000 Received: from localhost ([127.0.0.1]:59288 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ft5ay-00063Y-ED for submit@debbugs.gnu.org; Fri, 24 Aug 2018 02:29:20 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ft5aw-00063L-L0 for 32516@debbugs.gnu.org; Fri, 24 Aug 2018 02:29:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ft5an-000231-7e for 32516@debbugs.gnu.org; Fri, 24 Aug 2018 02:29:12 -0400 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 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:52889) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ft5aj-0001zN-PU; Fri, 24 Aug 2018 02:29:07 -0400 Received: from [176.228.60.248] (port=3361 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ft5aj-0006iZ-4h; Fri, 24 Aug 2018 02:29:05 -0400 Date: Fri, 24 Aug 2018 09:28:51 +0300 Message-Id: <83o9ds9t24.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Naheel Azawy on Fri, 24 Aug 2018 00:06:19 +0300) References: 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-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: -6.0 (------) > From: Naheel Azawy > Date: Fri, 24 Aug 2018 00:06:19 +0300 > > The problem occurs in the terminal mode with Arabic characters. Emacs > handles the bidirectional text correctly in terms of direction but it > doesn't reshape the characters depending on its location. More details > can be seen with screenshots on my question in Emacs stack exchange: > https://emacs.stackexchange.com/questions/44144/arabic-in-terminal-mode > I have also written a little minor mode as workaround to this problem: > https://github.com/Naheel-Azawy/emacs-arabic-reshaper > but an actual solution is expected to only render the characters while > they're displayed in the screen and not reshape the entire file as I'm > doing with my minor mode. Does it help to turn off auto-composition-mode? If that doesn't help, then I'm afraid you will have to look for a terminal emulator that supports character composition and Arabic shaping, but can let you turn off its bidi reordering. (PuTTY can do that, but it's for logging from Windows into Unix systems, so AFAIK will not run natively on Posix hosts.) You see, Emacs supports Arabic shaping by using a shaping engine (a.k.a. "font backend") that works with OTF/TTF fonts, which know what glyphs are needed to represent a correctly-shaped Arabic letter or ligature composed from certain codepoints. But this only works on GUI frames, because on text-mode frames, Emacs just writes the codes of the characters to the terminal driver, it cannot specify font glyphs to display those characters. As you have discovered, disabling bidi-display-reordering is not the solution, because there's much more to bidi editing support in Emacs than just reordering characters for display. That is why we need bidi-aware display engine in Emacs in the first place, and cannot rely on external solutions like what exists in Pango etc., or in terminal emulators, for that matter. If BiCon can let you disable its reordering, and still perform shaping, then that's your solution. If it doesn't, then maybe asking its developers to provide such a feature, or coding it yourself, is the way forward for you and other Arabic-speaking users of text-mode frames in Emacs. Bottom line: this isn't a bug in Emacs, this is how the code was designed and supposed to work on TTY frames. Of course, if someone knows a way to communicate character shaping to a terminal driver, we could think of implementing that in Emacs. But does such a protocol exist? Thanks. From unknown Sun Jun 22 07:52:15 2025 X-Loop: help-debbugs@gnu.org Subject: bug#32516: 26.1; Reshape Arabic Characters in the Terminal Resent-From: Naheel Azawy Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Aug 2018 22:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32516 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: eliz@gnu.org Cc: 32516@debbugs.gnu.org Received: via spool by 32516-submit@debbugs.gnu.org id=B32516.153514956722408 (code B ref 32516); Fri, 24 Aug 2018 22:27:02 +0000 Received: (at 32516) by debbugs.gnu.org; 24 Aug 2018 22:26:07 +0000 Received: from localhost ([127.0.0.1]:60058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftKWt-0005pL-2n for submit@debbugs.gnu.org; Fri, 24 Aug 2018 18:26:07 -0400 Received: from mail-lf1-f50.google.com ([209.85.167.50]:41848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftKWr-0005op-C7 for 32516@debbugs.gnu.org; Fri, 24 Aug 2018 18:26:05 -0400 Received: by mail-lf1-f50.google.com with SMTP id l26-v6so7784931lfc.8 for <32516@debbugs.gnu.org>; Fri, 24 Aug 2018 15:26:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VC2BwsWEePSdf7qibEmnSkSUeNP3ZC7J7s0DlS1UV9o=; b=NXEyRRmQ6Dhml2EEwtJlrvi76rkT5evfUKY9CD50gk1TNNIdjXF/UHsrCgUWm30twS t0tPn9DVnk69g7iPwmPl9G+CceMHT5fwVb7ym1Bb0VpElP+i+Hw3HPaum80KSNiQe4p0 Zibq9s1eOO2BZnh4GE6WIipNvU9dRifz11qyrF30HsAUh08a+Nk94a9WEDSmgwA2wcCc mdLejNSYAoHl4iXA+LlJEtlk6u3XgirmsqNnzo3vhp19QggQidnoFZWmq2syMKflWmJn so6TCUw1tVNSBuGc8cCKqDeIdxdFMrp0fdi3YiM04DBrsuod0PcUDlQDTpG4Z7fkEXyc QWJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VC2BwsWEePSdf7qibEmnSkSUeNP3ZC7J7s0DlS1UV9o=; b=bAV5ByKAjB5tH68kZqr5dPSxfHTSFdqelqNWBvODj/sP22fUOxuAjl1bs394pwDl9v X9GDOZ5qWDU8A56o/KjQKKgKq3o2Ydauh3hcEsW9WiJzu0LWXEw2lUWEfebiEnevy+x6 bx2OGmfRIHpYPsNs57n4FwLjKmyy8l8KGbpgYcDeAipKoa6MDT6Zov/CjygkvCaGmzAh IlPNabh6koahb2gsHarH7h3+dfxGGz8WfXfKiQFLroRgSU9OVOxLZVginkuHsxvq0C/G 0bF9akV7op2TVJD6/qDRbjQp3BeUqRm4+tXNRQ0S7rg+ptTDngp2Yu6yj4z3CuTiFnr3 T+fg== X-Gm-Message-State: APzg51AHJQRHFkbnfnWy9r3RDC9Q2On7ZNV+ZWYAhxx87A8cD9uRKT9x PfoAV5Mt5xqDnw2IHkmgvR8ToF2Tk6CXLb1/5m8= X-Google-Smtp-Source: ANB0VdbpK8H2lDs9j3mKqRr4lgIsAZAi6tNkm0A3R2JLP8I/iSO3wL1Th9oCZbENB2pHJpDFMzYYNbhL6EktyDN80r4= X-Received: by 2002:a19:f83:: with SMTP id 3-v6mr2417438lfp.131.1535149559066; Fri, 24 Aug 2018 15:25:59 -0700 (PDT) MIME-Version: 1.0 References: <83o9ds9t24.fsf@gnu.org> In-Reply-To: <83o9ds9t24.fsf@gnu.org> From: Naheel Azawy Date: Sat, 25 Aug 2018 01:25:22 +0300 Message-ID: Content-Type: multipart/alternative; boundary="00000000000025326a057435dc15" X-Spam-Score: 0.0 (/) 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: -1.0 (-) --00000000000025326a057435dc15 Content-Type: text/plain; charset="UTF-8" Thanks for you quick reply! Nope, auto-composition-mode didn't help. But https://github.com/behdad/bicon/pull/20 did! Now `bicon.bin --reshape-only emacsclient -nw $@` is pretty ok. It still has some issues but that should be fixed in bicon. Thanks, On Fri, Aug 24, 2018 at 9:29 AM Eli Zaretskii wrote: > > From: Naheel Azawy > > Date: Fri, 24 Aug 2018 00:06:19 +0300 > > > > The problem occurs in the terminal mode with Arabic characters. Emacs > > handles the bidirectional text correctly in terms of direction but it > > doesn't reshape the characters depending on its location. More details > > can be seen with screenshots on my question in Emacs stack exchange: > > https://emacs.stackexchange.com/questions/44144/arabic-in-terminal-mode > > I have also written a little minor mode as workaround to this problem: > > https://github.com/Naheel-Azawy/emacs-arabic-reshaper > > but an actual solution is expected to only render the characters while > > they're displayed in the screen and not reshape the entire file as I'm > > doing with my minor mode. > > Does it help to turn off auto-composition-mode? > > If that doesn't help, then I'm afraid you will have to look for a > terminal emulator that supports character composition and Arabic > shaping, but can let you turn off its bidi reordering. (PuTTY can do > that, but it's for logging from Windows into Unix systems, so AFAIK > will not run natively on Posix hosts.) > > You see, Emacs supports Arabic shaping by using a shaping engine > (a.k.a. "font backend") that works with OTF/TTF fonts, which know what > glyphs are needed to represent a correctly-shaped Arabic letter or > ligature composed from certain codepoints. But this only works on GUI > frames, because on text-mode frames, Emacs just writes the codes of > the characters to the terminal driver, it cannot specify font glyphs > to display those characters. > > As you have discovered, disabling bidi-display-reordering is not the > solution, because there's much more to bidi editing support in Emacs > than just reordering characters for display. That is why we need > bidi-aware display engine in Emacs in the first place, and cannot rely > on external solutions like what exists in Pango etc., or in terminal > emulators, for that matter. > > If BiCon can let you disable its reordering, and still perform > shaping, then that's your solution. If it doesn't, then maybe asking > its developers to provide such a feature, or coding it yourself, is > the way forward for you and other Arabic-speaking users of text-mode > frames in Emacs. > > Bottom line: this isn't a bug in Emacs, this is how the code was > designed and supposed to work on TTY frames. > > Of course, if someone knows a way to communicate character shaping to > a terminal driver, we could think of implementing that in Emacs. But > does such a protocol exist? > > Thanks. > --00000000000025326a057435dc15 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for you quick rep= ly!
Nope, auto-composition-mode didn't help.
Now `bicon.bin --reshape-only emacsclient = -nw $@` is pretty ok.
It still has some issues but that should be= fixed in bicon.

Thanks,

On Fri, Aug 24, 2018 at 9= :29 AM Eli Zaretskii <eliz@gnu.org&g= t; wrote:
> From: Naheel Azawy &= lt;naheelazawy@g= mail.com>
> Date: Fri, 24 Aug 2018 00:06:19 +0300
>
> The problem occurs in the terminal mode with Arabic characters. Emacs<= br> > handles the bidirectional text correctly in terms of direction but it<= br> > doesn't reshape the characters depending on its location. More det= ails
> can be seen with screenshots on my question in Emacs stack exchange: > https://emacs.stackexcha= nge.com/questions/44144/arabic-in-terminal-mode
> I have also written a little minor mode as workaround to this problem:=
> https://github.com/Naheel-Azawy/emacs-ara= bic-reshaper
> but an actual solution is expected to only render the characters while=
> they're displayed in the screen and not reshape the entire file as= I'm
> doing with my minor mode.

Does it help to turn off auto-composition-mode?

If that doesn't help, then I'm afraid you will have to look for a terminal emulator that supports character composition and Arabic
shaping, but can let you turn off its bidi reordering.=C2=A0 (PuTTY can do<= br> that, but it's for logging from Windows into Unix systems, so AFAIK
will not run natively on Posix hosts.)

You see, Emacs supports Arabic shaping by using a shaping engine
(a.k.a. "font backend") that works with OTF/TTF fonts, which know= what
glyphs are needed to represent a correctly-shaped Arabic letter or
ligature composed from certain codepoints.=C2=A0 But this only works on GUI=
frames, because on text-mode frames, Emacs just writes the codes of
the characters to the terminal driver, it cannot specify font glyphs
to display those characters.

As you have discovered, disabling bidi-display-reordering is not the
solution, because there's much more to bidi editing support in Emacs than just reordering characters for display.=C2=A0 That is why we need
bidi-aware display engine in Emacs in the first place, and cannot rely
on external solutions like what exists in Pango etc., or in terminal
emulators, for that matter.

If BiCon can let you disable its reordering, and still perform
shaping, then that's your solution.=C2=A0 If it doesn't, then maybe= asking
its developers to provide such a feature, or coding it yourself, is
the way forward for you and other Arabic-speaking users of text-mode
frames in Emacs.

Bottom line: this isn't a bug in Emacs, this is how the code was
designed and supposed to work on TTY frames.

Of course, if someone knows a way to communicate character shaping to
a terminal driver, we could think of implementing that in Emacs.=C2=A0 But<= br> does such a protocol exist?

Thanks.
--00000000000025326a057435dc15-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 25 03:04:17 2018 Received: (at control) by debbugs.gnu.org; 25 Aug 2018 07:04:17 +0000 Received: from localhost ([127.0.0.1]:60183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftScK-0005T9-RU for submit@debbugs.gnu.org; Sat, 25 Aug 2018 03:04:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:52626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftScH-0005Su-8L for control@debbugs.gnu.org; Sat, 25 Aug 2018 03:04:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ftSc8-0007A9-0P for control@debbugs.gnu.org; Sat, 25 Aug 2018 03:04:07 -0400 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 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41070) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ftSc7-00079I-RP; Sat, 25 Aug 2018 03:04:03 -0400 Received: from [176.228.60.248] (port=1161 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ftSc7-0001XQ-8j; Sat, 25 Aug 2018 03:04:03 -0400 Date: Sat, 25 Aug 2018 10:03:52 +0300 Message-Id: <83bm9r7wrr.fsf@gnu.org> From: Eli Zaretskii To: Naheel Azawy In-reply-to: (message from Naheel Azawy on Sat, 25 Aug 2018 01:25:22 +0300) Subject: Re: bug#32516: 26.1; Reshape Arabic Characters in the Terminal References: <83o9ds9t24.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: control Cc: 32516-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: -6.0 (------) tags 32516 notabug thanks > From: Naheel Azawy > Date: Sat, 25 Aug 2018 01:25:22 +0300 > Cc: 32516@debbugs.gnu.org > > Nope, auto-composition-mode didn't help. > But https://github.com/behdad/bicon/pull/20 did! Yes, this is exactly what I was talking about. > Now `bicon.bin --reshape-only emacsclient -nw $@` is pretty ok. > It still has some issues but that should be fixed in bicon. Thanks, I'm therefore closing this bug. From unknown Sun Jun 22 07:52:15 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Naheel Azawy Subject: bug#32516: closed (Re: bug#32516: 26.1; Reshape Arabic Characters in the Terminal) Message-ID: References: <83bm9r7wrr.fsf@gnu.org> X-Gnu-PR-Message: they-closed 32516 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: notabug Reply-To: 32516@debbugs.gnu.org Date: Sat, 25 Aug 2018 07:05:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1535180703-21121-1" This is a multi-part message in MIME format... ------------=_1535180703-21121-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #32516: 26.1; Reshape Arabic Characters in the Terminal which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 32516@debbugs.gnu.org. --=20 32516: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D32516 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1535180703-21121-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 32516-done) by debbugs.gnu.org; 25 Aug 2018 07:04:28 +0000 Received: from localhost ([127.0.0.1]:60186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftScV-0005Te-5A for submit@debbugs.gnu.org; Sat, 25 Aug 2018 03:04:28 -0400 Received: from eggs.gnu.org ([208.118.235.92]:52656) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftScS-0005TL-BY for 32516-done@debbugs.gnu.org; Sat, 25 Aug 2018 03:04:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ftScJ-0007WE-As for 32516-done@debbugs.gnu.org; Sat, 25 Aug 2018 03:04:19 -0400 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 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41070) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ftSc7-00079I-RP; Sat, 25 Aug 2018 03:04:03 -0400 Received: from [176.228.60.248] (port=1161 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ftSc7-0001XQ-8j; Sat, 25 Aug 2018 03:04:03 -0400 Date: Sat, 25 Aug 2018 10:03:52 +0300 Message-Id: <83bm9r7wrr.fsf@gnu.org> From: Eli Zaretskii To: Naheel Azawy In-reply-to: (message from Naheel Azawy on Sat, 25 Aug 2018 01:25:22 +0300) Subject: Re: bug#32516: 26.1; Reshape Arabic Characters in the Terminal References: <83o9ds9t24.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: 32516-done Cc: 32516-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: -6.0 (------) tags 32516 notabug thanks > From: Naheel Azawy > Date: Sat, 25 Aug 2018 01:25:22 +0300 > Cc: 32516@debbugs.gnu.org > > Nope, auto-composition-mode didn't help. > But https://github.com/behdad/bicon/pull/20 did! Yes, this is exactly what I was talking about. > Now `bicon.bin --reshape-only emacsclient -nw $@` is pretty ok. > It still has some issues but that should be fixed in bicon. Thanks, I'm therefore closing this bug. ------------=_1535180703-21121-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 23 Aug 2018 21:30:48 +0000 Received: from localhost ([127.0.0.1]:59162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fsxBm-0007ur-Bt for submit@debbugs.gnu.org; Thu, 23 Aug 2018 17:30:48 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50263) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fsx2P-0007du-TB for submit@debbugs.gnu.org; Thu, 23 Aug 2018 17:21:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fsx27-0007B5-7B for submit@debbugs.gnu.org; Thu, 23 Aug 2018 17:20:59 -0400 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,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:38477) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fsx26-0007AW-PY for submit@debbugs.gnu.org; Thu, 23 Aug 2018 17:20:46 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42079) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fsx1z-0004xl-4Y for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2018 17:20:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fswol-0001ca-Jh for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2018 17:07:04 -0400 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]:45089) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fswok-0001az-Vw for bug-gnu-emacs@gnu.org; Thu, 23 Aug 2018 17:06:59 -0400 Received: by mail-lj1-x22c.google.com with SMTP id u83-v6so5220883lje.12 for ; Thu, 23 Aug 2018 14:06:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=EI8aRUT/0M4naMQLfvLYzXDzRf917a6Yw5IJlCTeQzw=; b=I/VUJdiv7N8nHzlBlXFIkNm0Fn5RfcnEg4kB7a9/TrgB2qsN7HQbFW0xddDN9ka0t+ /ngmfI7I2rn19OOqurzvKbVbZYWpPq/9KZ2iuutESCQ8LAcTZzEzgRu3+q1VWO1a94Wd Ucz7fkzO8tyduJeygZdANU8YjhJRh2N2Om9ZPZos1SAzYbCMsXLoCmp8tPNGqlWxk3jc cKjyM7S/2UPSqcE+2YYAYYKuEtEgO4jvfgyymEHp4j7mD/K5TXHZ0Ss1oHMM7HCgcgSk gcxtYnS6Q9eXKDbIYXIb5/sTUgXxTh4tqlwWZGrP/N3c2iVI6ttS6FN/9Ul7SK9pPZNE uJPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=EI8aRUT/0M4naMQLfvLYzXDzRf917a6Yw5IJlCTeQzw=; b=nci5roadt1Me3PfykUutIrIRXTX9v/Mx4yaSUxizTSQnUaceIITBSYjkybLfSWO3k6 kHGtqFz46E16fEEsBlsBvx7QIQYPh7mMJ0ieos/TxHBcYdccjaHZ9epC3SyjwoAu8ngx qEqjjhDcD6CEfyvII+8x3QctWQImkS6WkKLR+6SWNxpcWHAOVjcZ50znBWlmDAU4ax6b ua1zsf2Xjehyoat5IHXnS79+YMERSlnebMQySjNoSpls4Zrjp3TKBcRmt3KH1uH6SXaO ZzxexV9c0XnDvW/Q11FAHKGOyfBX2BBmDcgGw/iNuLMedDsmFw5b3Uad+jCWOGPdiLl2 3XiQ== X-Gm-Message-State: AOUpUlE3hYKORzVZIhpUgoIK6ZgD5JGL0TTIMmDPgLX/48z3dHPu7Fz2 IXb2SfkT1rBG+m2vYdM65wpglTrm3N3FEa2qjAp3qizajSY= X-Google-Smtp-Source: AA+uWPzLfq+fbrayPZxFWlw2S7e754wbUpxIoEW9nX8HJy19p7UukwhOXM+MBvDw4RRJWQfMBxq3NevTv0YPEnhQcFw= X-Received: by 2002:a2e:4619:: with SMTP id t25-v6mr43097890lja.96.1535058416525; Thu, 23 Aug 2018 14:06:56 -0700 (PDT) MIME-Version: 1.0 From: Naheel Azawy Date: Fri, 24 Aug 2018 00:06:19 +0300 Message-ID: Subject: 26.1; Reshape Arabic Characters in the Terminal To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="000000000000a066d9057420a374" 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.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 23 Aug 2018 17:30:45 -0400 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: -5.0 (-----) --000000000000a066d9057420a374 Content-Type: text/plain; charset="UTF-8" The problem occurs in the terminal mode with Arabic characters. Emacs handles the bidirectional text correctly in terms of direction but it doesn't reshape the characters depending on its location. More details can be seen with screenshots on my question in Emacs stack exchange: https://emacs.stackexchange.com/questions/44144/arabic-in-terminal-mode I have also written a little minor mode as workaround to this problem: https://github.com/Naheel-Azawy/emacs-arabic-reshaper but an actual solution is expected to only render the characters while they're displayed in the screen and not reshape the entire file as I'm doing with my minor mode. Thanks, Naheel In GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.22.30) of 2018-06-26 built on buildhw-10.phx2.fedoraproject.org Windowing system distributor 'Fedora Project', version 11.0.11906000 System Description: Fedora release 28 (Twenty Eight) Recent messages: Wrote /home/naheel/Documents/orgmode/TODO-2018-summer.org When done with a buffer, type C-x # [4 times] previous-line: Beginning of buffer [4 times] Auto-saving...done previous-line: Beginning of buffer [2 times] Auto-saving...done previous-line: Beginning of buffer [6 times] Saving file /home/naheel/Documents/orgmode/TODO-major.org... Wrote /home/naheel/Documents/orgmode/TODO-major.org (No changes need to be saved) Configured using: 'configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with- png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no --with-xwidgets --with-modules build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' LDFLAGS=-Wl,-z,relro PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES THREADS XWIDGETS LCMS2 Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: org-bullets-mode: t yas-global-mode: t yas-minor-mode: t diff-auto-refine-mode: t helm-descbinds-mode: t helm-mode: t helm-flx-mode: t global-vi-tilde-fringe-mode: t vi-tilde-fringe-mode: t projectile-mode: t recentf-mode: t global-auto-complete-mode: t xclip-mode: t hl-todo-mode: t winum-mode: t winner-mode: t volatile-highlights-mode: t spaceline-info-mode: t spaceline-helm-mode: t save-place-mode: t savehist-mode: t popwin-mode: t persp-mode: t Info-breadcrumbs-in-mode-line-mode: t flx-ido-mode: t eyebrowse-mode: t global-evil-surround-mode: t evil-surround-mode: t global-evil-search-highlight-persist: t evil-search-highlight-persist: t show-smartparens-global-mode: t show-smartparens-mode: t evil-escape-mode: t global-anzu-mode: t anzu-mode: t eval-sexp-fu-flash-mode: t clean-aindent-mode: t holy-mode: t which-key-mode: t override-global-mode: t global-undo-tree-mode: t undo-tree-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t spacemacs-leader-override-mode: t global-spacemacs-leader-override-mode: t global-hl-line-mode: t xterm-mouse-mode: t global-auto-revert-mode: t ido-vertical-mode: t global-page-break-lines-mode: t page-break-lines-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /usr/share/emacs/site-lisp/site-start.d/maxima-modes hides /usr/share/emacs/site-lisp/maxima/site_start.d/maxima-modes /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-habit hides /usr/share/emacs/26.1/lisp/org/org-habit /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-shen hides /usr/share/emacs/26.1/lisp/org/ob-shen /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-latex hides /usr/share/emacs/26.1/lisp/org/ob-latex /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-stan hides /usr/share/emacs/26.1/lisp/org/ob-stan /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sed hides /usr/share/emacs/26.1/lisp/org/ob-sed /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lua hides /usr/share/emacs/26.1/lisp/org/ob-lua /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-element hides /usr/share/emacs/26.1/lisp/org/org-element /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-screen hides /usr/share/emacs/26.1/lisp/org/ob-screen /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-datetree hides /usr/share/emacs/26.1/lisp/org/org-datetree /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-list hides /usr/share/emacs/26.1/lisp/org/org-list /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-coq hides /usr/share/emacs/26.1/lisp/org/ob-coq /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-tangle hides /usr/share/emacs/26.1/lisp/org/ob-tangle /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-crypt hides /usr/share/emacs/26.1/lisp/org/org-crypt /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-org hides /usr/share/emacs/26.1/lisp/org/ob-org /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-maxima hides /usr/share/emacs/26.1/lisp/org/ob-maxima /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-java hides /usr/share/emacs/26.1/lisp/org/ob-java /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-w3m hides /usr/share/emacs/26.1/lisp/org/org-w3m /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-calc hides /usr/share/emacs/26.1/lisp/org/ob-calc /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-css hides /usr/share/emacs/26.1/lisp/org/ob-css /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-archive hides /usr/share/emacs/26.1/lisp/org/org-archive /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-info hides /usr/share/emacs/26.1/lisp/org/org-info /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-python hides /usr/share/emacs/26.1/lisp/org/ob-python /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-awk hides /usr/share/emacs/26.1/lisp/org/ob-awk /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-docview hides /usr/share/emacs/26.1/lisp/org/org-docview /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-clock hides /usr/share/emacs/26.1/lisp/org/org-clock /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-agenda hides /usr/share/emacs/26.1/lisp/org/org-agenda /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-macs hides /usr/share/emacs/26.1/lisp/org/org-macs /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-table hides /usr/share/emacs/26.1/lisp/org/ob-table /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-man hides /usr/share/emacs/26.1/lisp/org/ox-man /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ocaml hides /usr/share/emacs/26.1/lisp/org/ob-ocaml /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-emacs-lisp hides /usr/share/emacs/26.1/lisp/org/ob-emacs-lisp /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-plantuml hides /usr/share/emacs/26.1/lisp/org/ob-plantuml /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-asymptote hides /usr/share/emacs/26.1/lisp/org/ob-asymptote /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-publish hides /usr/share/emacs/26.1/lisp/org/ox-publish /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob hides /usr/share/emacs/26.1/lisp/org/ob /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-compat hides /usr/share/emacs/26.1/lisp/org/org-compat /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lilypond hides /usr/share/emacs/26.1/lisp/org/ob-lilypond /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org hides /usr/share/emacs/26.1/lisp/org/org /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-picolisp hides /usr/share/emacs/26.1/lisp/org/ob-picolisp /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lob hides /usr/share/emacs/26.1/lisp/org/ob-lob /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-md hides /usr/share/emacs/26.1/lisp/org/ox-md /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-texinfo hides /usr/share/emacs/26.1/lisp/org/ox-texinfo /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-core hides /usr/share/emacs/26.1/lisp/org/ob-core /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ref hides /usr/share/emacs/26.1/lisp/org/ob-ref /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ebnf hides /usr/share/emacs/26.1/lisp/org/ob-ebnf /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-js hides /usr/share/emacs/26.1/lisp/org/ob-js /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-ascii hides /usr/share/emacs/26.1/lisp/org/ox-ascii /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-fortran hides /usr/share/emacs/26.1/lisp/org/ob-fortran /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-perl hides /usr/share/emacs/26.1/lisp/org/ob-perl /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-dot hides /usr/share/emacs/26.1/lisp/org/ob-dot /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-table hides /usr/share/emacs/26.1/lisp/org/org-table /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-abc hides /usr/share/emacs/26.1/lisp/org/ob-abc /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-shell hides /usr/share/emacs/26.1/lisp/org/ob-shell /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-eww hides /usr/share/emacs/26.1/lisp/org/org-eww /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-lint hides /usr/share/emacs/26.1/lisp/org/org-lint /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-plot hides /usr/share/emacs/26.1/lisp/org/org-plot /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-gnus hides /usr/share/emacs/26.1/lisp/org/org-gnus /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-faces hides /usr/share/emacs/26.1/lisp/org/org-faces /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-bbdb hides /usr/share/emacs/26.1/lisp/org/org-bbdb /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-R hides /usr/share/emacs/26.1/lisp/org/ob-R /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-icalendar hides /usr/share/emacs/26.1/lisp/org/ox-icalendar /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-inlinetask hides /usr/share/emacs/26.1/lisp/org/org-inlinetask /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-io hides /usr/share/emacs/26.1/lisp/org/ob-io /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox hides /usr/share/emacs/26.1/lisp/org/ox /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ruby hides /usr/share/emacs/26.1/lisp/org/ob-ruby /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-mobile hides /usr/share/emacs/26.1/lisp/org/org-mobile /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-install hides /usr/share/emacs/26.1/lisp/org/org-install /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-exp hides /usr/share/emacs/26.1/lisp/org/ob-exp /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-irc hides /usr/share/emacs/26.1/lisp/org/org-irc /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-eval hides /usr/share/emacs/26.1/lisp/org/ob-eval /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-scheme hides /usr/share/emacs/26.1/lisp/org/ob-scheme /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-latex hides /usr/share/emacs/26.1/lisp/org/ox-latex /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-hledger hides /usr/share/emacs/26.1/lisp/org/ob-hledger /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ditaa hides /usr/share/emacs/26.1/lisp/org/ob-ditaa /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-C hides /usr/share/emacs/26.1/lisp/org/ob-C /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-entities hides /usr/share/emacs/26.1/lisp/org/org-entities /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-eshell hides /usr/share/emacs/26.1/lisp/org/org-eshell /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-bibtex hides /usr/share/emacs/26.1/lisp/org/org-bibtex /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-attach hides /usr/share/emacs/26.1/lisp/org/org-attach /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-J hides /usr/share/emacs/26.1/lisp/org/ob-J /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sql hides /usr/share/emacs/26.1/lisp/org/ob-sql /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-groovy hides /usr/share/emacs/26.1/lisp/org/ob-groovy /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-vala hides /usr/share/emacs/26.1/lisp/org/ob-vala /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-id hides /usr/share/emacs/26.1/lisp/org/org-id /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-version hides /usr/share/emacs/26.1/lisp/org/org-version /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-rmail hides /usr/share/emacs/26.1/lisp/org/org-rmail /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-pcomplete hides /usr/share/emacs/26.1/lisp/org/org-pcomplete /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-colview hides /usr/share/emacs/26.1/lisp/org/org-colview /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-clojure hides /usr/share/emacs/26.1/lisp/org/ob-clojure /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sqlite hides /usr/share/emacs/26.1/lisp/org/ob-sqlite /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-gnuplot hides /usr/share/emacs/26.1/lisp/org/ob-gnuplot /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-mhe hides /usr/share/emacs/26.1/lisp/org/org-mhe /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-src hides /usr/share/emacs/26.1/lisp/org/org-src /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-haskell hides /usr/share/emacs/26.1/lisp/org/ob-haskell /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-makefile hides /usr/share/emacs/26.1/lisp/org/ob-makefile /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-beamer hides /usr/share/emacs/26.1/lisp/org/ox-beamer /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-timer hides /usr/share/emacs/26.1/lisp/org/org-timer /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-comint hides /usr/share/emacs/26.1/lisp/org/ob-comint /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-duration hides /usr/share/emacs/26.1/lisp/org/org-duration /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-processing hides /usr/share/emacs/26.1/lisp/org/ob-processing /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-odt hides /usr/share/emacs/26.1/lisp/org/ox-odt /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-feed hides /usr/share/emacs/26.1/lisp/org/org-feed /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-loaddefs hides /usr/share/emacs/26.1/lisp/org/org-loaddefs /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-footnote hides /usr/share/emacs/26.1/lisp/org/org-footnote /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-indent hides /usr/share/emacs/26.1/lisp/org/org-indent /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-ctags hides /usr/share/emacs/26.1/lisp/org/org-ctags /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-html hides /usr/share/emacs/26.1/lisp/org/ox-html /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-octave hides /usr/share/emacs/26.1/lisp/org/ob-octave /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-capture hides /usr/share/emacs/26.1/lisp/org/org-capture /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-ledger hides /usr/share/emacs/26.1/lisp/org/ob-ledger /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-keys hides /usr/share/emacs/26.1/lisp/org/ob-keys /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-protocol hides /usr/share/emacs/26.1/lisp/org/org-protocol /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-org hides /usr/share/emacs/26.1/lisp/org/ox-org /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sass hides /usr/share/emacs/26.1/lisp/org/ob-sass /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-forth hides /usr/share/emacs/26.1/lisp/org/ob-forth /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-matlab hides /usr/share/emacs/26.1/lisp/org/ob-matlab /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lisp hides /usr/share/emacs/26.1/lisp/org/ob-lisp /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-macro hides /usr/share/emacs/26.1/lisp/org/org-macro /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-mouse hides /usr/share/emacs/26.1/lisp/org/org-mouse /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-mscgen hides /usr/share/emacs/26.1/lisp/org/ob-mscgen Features: (shadow sort mail-extr emacsbug sendmail sparql-mode drupal-mode drupal/emacs-drush drupal/flycheck drupal/phpcs drupal/ispell drupal/etags drupal/eldoc sql view php-mode php-project mode-local speedbar sb-image ezimage dframe add-log cc-langs json-mode json-reformat json-snatcher smartparens-javascript js smartparens-html sgml-mode dom imenu sh-script smie executable org-eldoc org-bullets toc-org org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message rfc822 mml mml- sec epa epg mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus- util rmail rmail-loaddefs org-docview doc-view jka-compr dired dired- loaddefs org-bibtex bibtex org-bbdb org-w3m mail-utils network-stream starttls url-cache url-http tls gnutls url-gw nsm rmc puny url-auth anaconda- mode url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap pythonic evil-matchit evil-matchit-sdk hi-lock smartparens-python python tramp-sh auto-compile packed elisp-slime-nav vala-snippets yasnippet elec-pair misearch multi- isearch macrostep-c cmacexp macrostep auto-complete-c-headers tramp tramp- compat tramp-loaddefs trampver ucs-normalize parse-time goto-addr bug- reference auto-highlight-symbol highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters helm-command helm-elisp helm-eval edebug helm-info vc-git diff-mode open-junk-file term/xterm xterm pp helm-descbinds helm-mode helm-files helm-buffers helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types helm-flx helm helm-source helm-multi-match helm-lib async vi-tilde-fringe diminish projectile grep ibuf-ext ibuffer ibuffer-loaddefs recentf tree-widget ox-reveal ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox htmlize ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs smartparens-org org- element avl-tree generator org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors mc-edit-lines multiple-cursors-core flycheck find-func flymake-proc flymake compile auto-complete-config auto-complete popup xclip hl-todo server ws-butler winum winner etags xref project volatile-highlights spaceline-config spaceline-segments spaceline powerline powerline-separators color powerline-themes smartparens-config smartparens-text saveplace savehist popwin persp-mode linum info+ image-mode go-rename flx-ido flx eyebrowse format-spec evil-unimpaired f s evil-surround evil-search-highlight-persist evil-numbers evil-lisp-state smartparens dash evil-indent-plus evil-exchange evil-escape evil-args evil-anzu anzu eval-sexp-fu highlight noutline outline drupal/pcomplete rx clean-aindent-mode adaptive-wrap hybrid- mode exec-path-from-shell evil-evilified-state time-date which-key use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core hydra lv cus-edit cus-start cus-load evil evil-integration undo-tree diff evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex shell pcomplete comint ansi-color evil-macros evil-repeat evil-states evil-core evil-common windmove thingatpt rect evil-digraphs evil-vars ring info bind-map quelpa help-fns radix-tree package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr json map lisp-mnt hl-line xt-mouse autorevert filenotify cl-extra disp-table wid-edit spacemacs-dark-theme spacemacs-common finder-inf core-configuration-layer eieio-compat ht cl help-mode warnings package epg-config url-handlers url-parse auth-source cl-seq password-cache url-vars eieio eieio-core eieio-loaddefs ido-vertical-mode ido seq byte-opt bytecomp byte-compile cconv core-spacemacs core-use-package- ext core-transient-state core-micro-state core-toggle core-keybindings core-fonts-support core-spacemacs-buffer core-funcs core-themes-support core-display-init core-jump core-auto-completion core-release- management core-dotspacemacs core-command-line pcase core-debug edmacro kmacro derived advice profiler easymenu page-break-lines easy-mmode subr-x clang-format cl-macs gv xml cl-loaddefs cl-lib mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print- readable backquote dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting xwidget-internal move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 1001845 884166) (symbols 48 72147 14) (miscs 40 1551 5209) (strings 32 224843 89466) (string-bytes 1 7600056) (vectors 16 133549) (vector-slots 8 2944967 187560) (floats 8 810 9223) (intervals 56 3566 1991) (buffers 992 55)) --000000000000a066d9057420a374 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

The problem occurs in the terminal mod= e with Arabic characters. Emacs
handles the bidirectional text co= rrectly in terms of direction but it
doesn't reshape the char= acters depending on its location. More details
can be seen with s= creenshots on my question in Emacs stack exchange:
https= ://emacs.stackexchange.com/questions/44144/arabic-in-terminal-mode
I have also written a little minor mode as workaround to this problem= :
but = an actual solution is expected to only render the characters while
they're displayed in the screen and not reshape the entire file as I&= #39;m
doing with my minor mode.

Thanks,<= /div>
Naheel


In GNU Emacs 26.1 = (build 1, x86_64-redhat-linux-gnu, GTK+ Version
3.22.30)
=C2=A0of 2018-06-26 built on buildhw-10.phx2.fedoraproject.org
Windowing system d= istributor 'Fedora Project', version 11.0.11906000
System= Description: Fedora release 28 (Twe= nty Eight)

Recent messages:
Wrote /home/= naheel/Documents/orgmode/TODO-2018-summer.org
When done with a bu= ffer, type C-x # [4 times]
previous-line: Beginning of buffer [4 = times]
Auto-saving...done
previous-line: Beginning of b= uffer [2 times]
Auto-saving...done
previous-line: Begin= ning of buffer [6 times]
Saving file /home/naheel/Documents/orgmo= de/TODO-major.org...
Wrote /home/naheel/Documents/orgmode/TODO-ma= jor.org
(No changes need to be saved)

Co= nfigured using:
=C2=A0'configure --build=3Dx86_64-redhat-linu= x-gnu
=C2=A0--host=3Dx86_64-redhat-linux-gnu --program-prefix=3D<= /div>
=C2=A0--disable-dependency-tracking --prefix=3D/usr --exec-prefix= =3D/usr
=C2=A0--bindir=3D/usr/bin --sbindir=3D/usr/sbin --sysconf= dir=3D/etc
=C2=A0--datadir=3D/usr/share --includedir=3D/usr/inclu= de --libdir=3D/usr/lib64
=C2=A0--libexecdir=3D/usr/libexec --loca= lstatedir=3D/var
=C2=A0--sharedstatedir=3D/var/lib --mandir=3D/us= r/share/man
=C2=A0--infodir=3D/usr/share/info --with-dbus --with-= gif --with-jpeg --with-
png
=C2=A0--with-rsvg --with-ti= ff --with-xft --with-xpm --with-x-toolkit=3Dgtk3
=C2=A0--with-gpm= =3Dno --with-xwidgets --with-modules
=C2=A0build_alias=3Dx86_64-r= edhat-linux-gnu host_alias=3Dx86_64-redhat-linux-gnu
=C2=A0'C= FLAGS=3D-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=3Dformat-security
=
=C2=A0-Wp,-D_FORTIFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions=
=C2=A0-fstack-protector-strong -grecord-gcc-switches
= =C2=A0-specs=3D/usr/lib/rpm/redhat/redhat-hardened-cc1
=C2=A0-spe= cs=3D/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=3Dgeneric
=C2=A0-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectio= n'
=C2=A0LDFLAGS=3D-Wl,-z,relro
=C2=A0PKG_CONFIG_PA= TH=3D:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SO= UND DBUS GSETTINGS NOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE = M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES THR= EADS XWIDGETS LCMS2

Important settings:
= =C2=A0 value of $LANG: en_US.UTF-8
=C2=A0 value of $XMODIFIERS: @= im=3Dibus
=C2=A0 locale-coding-system: utf-8-unix

<= /div>
Major mode: Org

Minor modes in effect:
=C2=A0 org-bullets-mode: t
=C2=A0 yas-global-mode: t
=C2=A0 yas-minor-mode: t
=C2=A0 diff-auto-refine-mode: t
=C2=A0 helm-descbinds-mode: t
=C2=A0 helm-mode: t
<= div>=C2=A0 helm-flx-mode: t
=C2=A0 global-vi-tilde-fringe-mode: t=
=C2=A0 vi-tilde-fringe-mode: t
=C2=A0 projectile-mode:= t
=C2=A0 recentf-mode: t
=C2=A0 global-auto-complete-m= ode: t
=C2=A0 xclip-mode: t
=C2=A0 hl-todo-mode: t
=C2=A0 winum-mode: t
=C2=A0 winner-mode: t
=C2=A0= volatile-highlights-mode: t
=C2=A0 spaceline-info-mode: t
<= div>=C2=A0 spaceline-helm-mode: t
=C2=A0 save-place-mode: t
=
=C2=A0 savehist-mode: t
=C2=A0 popwin-mode: t
=C2= =A0 persp-mode: t
=C2=A0 Info-breadcrumbs-in-mode-line-mode: t
=C2=A0 flx-ido-mode: t
=C2=A0 eyebrowse-mode: t
=C2=A0 global-evil-surround-mode: t
=C2=A0 evil-surround-mode: t=
=C2=A0 global-evil-search-highlight-persist: t
=C2=A0 = evil-search-highlight-persist: t
=C2=A0 show-smartparens-global-m= ode: t
=C2=A0 show-smartparens-mode: t
=C2=A0 evil-esca= pe-mode: t
=C2=A0 global-anzu-mode: t
=C2=A0 anzu-mode:= t
=C2=A0 eval-sexp-fu-flash-mode: t
=C2=A0 clean-ainde= nt-mode: t
=C2=A0 holy-mode: t
=C2=A0 which-key-mode: t=
=C2=A0 override-global-mode: t
=C2=A0 global-undo-tree= -mode: t
=C2=A0 undo-tree-mode: t
=C2=A0 shell-dirtrack= -mode: t
=C2=A0 evil-mode: t
=C2=A0 evil-local-mode: t<= /div>
=C2=A0 spacemacs-leader-override-mode: t
=C2=A0 global-= spacemacs-leader-override-mode: t
=C2=A0 global-hl-line-mode: t
=C2=A0 xterm-mouse-mode: t
=C2=A0 global-auto-revert-mod= e: t
=C2=A0 ido-vertical-mode: t
=C2=A0 global-page-bre= ak-lines-mode: t
=C2=A0 page-break-lines-mode: t
=C2=A0= global-eldoc-mode: t
=C2=A0 eldoc-mode: t
=C2=A0 elect= ric-indent-mode: t
=C2=A0 mouse-wheel-mode: t
=C2=A0 fi= le-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<= /div>
=C2=A0 column-number-mode: t
=C2=A0 line-number-mode: t=
=C2=A0 transient-mark-mode: t

Load-path= shadows:
/usr/share/emacs/site-lisp/site-start.d/maxima-modes hi= des
/usr/share/emacs/site-lisp/maxima/site_start.d/maxima-modes
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-habit hid= es
/usr/share/emacs/26.1/lisp/org/org-habit
/home/nahee= l/.emacs.d/elpa/org-plus-contrib-20180806/ob-shen hides
/usr/shar= e/emacs/26.1/lisp/org/ob-shen
/home/naheel/.emacs.d/elpa/org-plus= -contrib-20180806/ob-latex hides
/usr/share/emacs/26.1/lisp/org/o= b-latex
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-s= tan hides
/usr/share/emacs/26.1/lisp/org/ob-stan
/home/= naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sed hides
/usr/= share/emacs/26.1/lisp/org/ob-sed
/home/naheel/.emacs.d/elpa/org-p= lus-contrib-20180806/ob-lua hides
/usr/share/emacs/26.1/lisp/org/= ob-lua
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-e= lement hides
/usr/share/emacs/26.1/lisp/org/org-element
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-screen hides
=
/usr/share/emacs/26.1/lisp/org/ob-screen
/home/naheel/.emacs= .d/elpa/org-plus-contrib-20180806/org-datetree hides
/usr/share/e= macs/26.1/lisp/org/org-datetree
/home/naheel/.emacs.d/elpa/org-pl= us-contrib-20180806/org-list hides
/usr/share/emacs/26.1/lisp/org= /org-list
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob= -coq hides
/usr/share/emacs/26.1/lisp/org/ob-coq
/home/= naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-tangle hides
/u= sr/share/emacs/26.1/lisp/org/ob-tangle
/home/naheel/.emacs.d/elpa= /org-plus-contrib-20180806/org-crypt hides
/usr/share/emacs/26.1/= lisp/org/org-crypt
/home/naheel/.emacs.d/elpa/org-plus-contrib-20= 180806/ob-org hides
/usr/share/emacs/26.1/lisp/org/ob-org
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-maxima hides
/usr/share/emacs/26.1/lisp/org/ob-maxima
/home/naheel/.ema= cs.d/elpa/org-plus-contrib-20180806/ob-java hides
/usr/share/emac= s/26.1/lisp/org/ob-java
/home/naheel/.emacs.d/elpa/org-plus-contr= ib-20180806/org-w3m hides
/usr/share/emacs/26.1/lisp/org/org-w3m<= /div>
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-calc hide= s
/usr/share/emacs/26.1/lisp/org/ob-calc
/home/naheel/.= emacs.d/elpa/org-plus-contrib-20180806/ob-css hides
/usr/share/em= acs/26.1/lisp/org/ob-css
/home/naheel/.emacs.d/elpa/org-plus-cont= rib-20180806/org-archive hides
/usr/share/emacs/26.1/lisp/org/org= -archive
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org= -info hides
/usr/share/emacs/26.1/lisp/org/org-info
/ho= me/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-python hides
/usr/share/emacs/26.1/lisp/org/ob-python
/home/naheel/.emacs.d/e= lpa/org-plus-contrib-20180806/ob-awk hides
/usr/share/emacs/26.1/= lisp/org/ob-awk
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180= 806/org-docview hides
/usr/share/emacs/26.1/lisp/org/org-docview<= /div>
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-clock hi= des
/usr/share/emacs/26.1/lisp/org/org-clock
/home/nahe= el/.emacs.d/elpa/org-plus-contrib-20180806/org-agenda hides
/usr/= share/emacs/26.1/lisp/org/org-agenda
/home/naheel/.emacs.d/elpa/o= rg-plus-contrib-20180806/org-macs hides
/usr/share/emacs/26.1/lis= p/org/org-macs
/home/naheel/.emacs.d/elpa/org-plus-contrib-201808= 06/ob-table hides
/usr/share/emacs/26.1/lisp/org/ob-table
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-man hides
<= div>/usr/share/emacs/26.1/lisp/org/ox-man
/home/naheel/.emacs.d/e= lpa/org-plus-contrib-20180806/ob-ocaml hides
/usr/share/emacs/26.= 1/lisp/org/ob-ocaml
/home/naheel/.emacs.d/elpa/org-plus-contrib-2= 0180806/ob-emacs-lisp
hides /usr/share/emacs/26.1/lisp/org/ob-ema= cs-lisp
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-p= lantuml hides
/usr/share/emacs/26.1/lisp/org/ob-plantuml
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-asymptote hides
/usr/share/emacs/26.1/lisp/org/ob-asymptote
/home/naheel= /.emacs.d/elpa/org-plus-contrib-20180806/ox-publish hides
/usr/sh= are/emacs/26.1/lisp/org/ox-publish
/home/naheel/.emacs.d/elpa/org= -plus-contrib-20180806/ob hides
/usr/share/emacs/26.1/lisp/org/ob=
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-compat = hides
/usr/share/emacs/26.1/lisp/org/org-compat
/home/n= aheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lilypond hides
/= usr/share/emacs/26.1/lisp/org/ob-lilypond
/home/naheel/.emacs.d/e= lpa/org-plus-contrib-20180806/org hides
/usr/share/emacs/26.1/lis= p/org/org
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob= -picolisp hides
/usr/share/emacs/26.1/lisp/org/ob-picolisp
<= div>/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-lob hides
=
/usr/share/emacs/26.1/lisp/org/ob-lob
/home/naheel/.emacs.d/= elpa/org-plus-contrib-20180806/ox-md hides
/usr/share/emacs/26.1/= lisp/org/ox-md
/home/naheel/.emacs.d/elpa/org-plus-contrib-201808= 06/ox-texinfo hides
/usr/share/emacs/26.1/lisp/org/ox-texinfo
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-core hides
/usr/share/emacs/26.1/lisp/org/ob-core
/home/naheel/.ema= cs.d/elpa/org-plus-contrib-20180806/ob-ref hides
/usr/share/emacs= /26.1/lisp/org/ob-ref
/home/naheel/.emacs.d/elpa/org-plus-contrib= -20180806/ob-ebnf hides
/usr/share/emacs/26.1/lisp/org/ob-ebnf
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-js hides
/usr/share/emacs/26.1/lisp/org/ob-js
/home/naheel/.emacs.= d/elpa/org-plus-contrib-20180806/ox-ascii hides
/usr/share/emacs/= 26.1/lisp/org/ox-ascii
/home/naheel/.emacs.d/elpa/org-plus-contri= b-20180806/ob-fortran hides
/usr/share/emacs/26.1/lisp/org/ob-for= tran
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-perl= hides
/usr/share/emacs/26.1/lisp/org/ob-perl
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/ob-dot hides
/usr/sha= re/emacs/26.1/lisp/org/ob-dot
/home/naheel/.emacs.d/elpa/org-plus= -contrib-20180806/org-table hides
/usr/share/emacs/26.1/lisp/org/= org-table
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob= -abc hides
/usr/share/emacs/26.1/lisp/org/ob-abc
/home/= naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-shell hides
/us= r/share/emacs/26.1/lisp/org/ob-shell
/home/naheel/.emacs.d/elpa/o= rg-plus-contrib-20180806/org-eww hides
/usr/share/emacs/26.1/lisp= /org/org-eww
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806= /org-lint hides
/usr/share/emacs/26.1/lisp/org/org-lint
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-plot hides
<= div>/usr/share/emacs/26.1/lisp/org/org-plot
/home/naheel/.emacs.d= /elpa/org-plus-contrib-20180806/org-gnus hides
/usr/share/emacs/2= 6.1/lisp/org/org-gnus
/home/naheel/.emacs.d/elpa/org-plus-contrib= -20180806/org-faces hides
/usr/share/emacs/26.1/lisp/org/org-face= s
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-bbdb h= ides
/usr/share/emacs/26.1/lisp/org/org-bbdb
/home/nahe= el/.emacs.d/elpa/org-plus-contrib-20180806/ob-R hides
/usr/share/= emacs/26.1/lisp/org/ob-R
/home/naheel/.emacs.d/elpa/org-plus-cont= rib-20180806/ox-icalendar hides
/usr/share/emacs/26.1/lisp/org/ox= -icalendar
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/o= rg-inlinetask
hides /usr/share/emacs/26.1/lisp/org/org-inlinetask=
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-io hides=
/usr/share/emacs/26.1/lisp/org/ob-io
/home/naheel/.ema= cs.d/elpa/org-plus-contrib-20180806/ox hides
/usr/share/emacs/26.= 1/lisp/org/ox
/home/naheel/.emacs.d/elpa/org-plus-contrib-2018080= 6/ob-ruby hides
/usr/share/emacs/26.1/lisp/org/ob-ruby
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-mobile hides
=
/usr/share/emacs/26.1/lisp/org/org-mobile
/home/naheel/.emac= s.d/elpa/org-plus-contrib-20180806/org-install hides
/usr/share/e= macs/26.1/lisp/org/org-install
/home/naheel/.emacs.d/elpa/org-plu= s-contrib-20180806/ob-exp hides
/usr/share/emacs/26.1/lisp/org/ob= -exp
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-irc= hides
/usr/share/emacs/26.1/lisp/org/org-irc
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/ob-eval hides
/usr/sh= are/emacs/26.1/lisp/org/ob-eval
/home/naheel/.emacs.d/elpa/org-pl= us-contrib-20180806/ob-scheme hides
/usr/share/emacs/26.1/lisp/or= g/ob-scheme
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/= ox-latex hides
/usr/share/emacs/26.1/lisp/org/ox-latex
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-hledger hides
=
/usr/share/emacs/26.1/lisp/org/ob-hledger
/home/naheel/.emac= s.d/elpa/org-plus-contrib-20180806/ob-ditaa hides
/usr/share/emac= s/26.1/lisp/org/ob-ditaa
/home/naheel/.emacs.d/elpa/org-plus-cont= rib-20180806/ob-C hides
/usr/share/emacs/26.1/lisp/org/ob-C
=
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-entities hide= s
/usr/share/emacs/26.1/lisp/org/org-entities
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/org-eshell hides
/usr= /share/emacs/26.1/lisp/org/org-eshell
/home/naheel/.emacs.d/elpa/= org-plus-contrib-20180806/org-bibtex hides
/usr/share/emacs/26.1/= lisp/org/org-bibtex
/home/naheel/.emacs.d/elpa/org-plus-contrib-2= 0180806/org-attach hides
/usr/share/emacs/26.1/lisp/org/org-attac= h
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-J hides=
/usr/share/emacs/26.1/lisp/org/ob-J
/home/naheel/.emac= s.d/elpa/org-plus-contrib-20180806/ob-sql hides
/usr/share/emacs/= 26.1/lisp/org/ob-sql
/home/naheel/.emacs.d/elpa/org-plus-contrib-= 20180806/ob-groovy hides
/usr/share/emacs/26.1/lisp/org/ob-groovy=
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-vala hid= es
/usr/share/emacs/26.1/lisp/org/ob-vala
/home/naheel/= .emacs.d/elpa/org-plus-contrib-20180806/org-id hides
/usr/share/e= macs/26.1/lisp/org/org-id
/home/naheel/.emacs.d/elpa/org-plus-con= trib-20180806/org-version hides
/usr/share/emacs/26.1/lisp/org/or= g-version
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/or= g-rmail hides
/usr/share/emacs/26.1/lisp/org/org-rmail
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-pcomplete
hides /usr/share/emacs/26.1/lisp/org/org-pcomplete
/home/naheel= /.emacs.d/elpa/org-plus-contrib-20180806/org-colview hides
/usr/s= hare/emacs/26.1/lisp/org/org-colview
/home/naheel/.emacs.d/elpa/o= rg-plus-contrib-20180806/ob-clojure hides
/usr/share/emacs/26.1/l= isp/org/ob-clojure
/home/naheel/.emacs.d/elpa/org-plus-contrib-20= 180806/ob-sqlite hides
/usr/share/emacs/26.1/lisp/org/ob-sqlite
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-gnuplot hi= des
/usr/share/emacs/26.1/lisp/org/ob-gnuplot
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/org-mhe hides
/usr/sh= are/emacs/26.1/lisp/org/org-mhe
/home/naheel/.emacs.d/elpa/org-pl= us-contrib-20180806/org-src hides
/usr/share/emacs/26.1/lisp/org/= org-src
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-h= askell hides
/usr/share/emacs/26.1/lisp/org/ob-haskell
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-makefile hides
/usr/share/emacs/26.1/lisp/org/ob-makefile
/home/naheel/.em= acs.d/elpa/org-plus-contrib-20180806/ox-beamer hides
/usr/share/e= macs/26.1/lisp/org/ox-beamer
/home/naheel/.emacs.d/elpa/org-plus-= contrib-20180806/org-timer hides
/usr/share/emacs/26.1/lisp/org/o= rg-timer
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-= comint hides
/usr/share/emacs/26.1/lisp/org/ob-comint
/= home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-duration hides
/usr/share/emacs/26.1/lisp/org/org-duration
/home/naheel/.e= macs.d/elpa/org-plus-contrib-20180806/ob-processing
hides /usr/sh= are/emacs/26.1/lisp/org/ob-processing
/home/naheel/.emacs.d/elpa/= org-plus-contrib-20180806/ox-odt hides
/usr/share/emacs/26.1/lisp= /org/ox-odt
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/= org-feed hides
/usr/share/emacs/26.1/lisp/org/org-feed
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-loaddefs hides
/usr/share/emacs/26.1/lisp/org/org-loaddefs
/home/naheel/.= emacs.d/elpa/org-plus-contrib-20180806/org-footnote hides
/usr/sh= are/emacs/26.1/lisp/org/org-footnote
/home/naheel/.emacs.d/elpa/o= rg-plus-contrib-20180806/org-indent hides
/usr/share/emacs/26.1/l= isp/org/org-indent
/home/naheel/.emacs.d/elpa/org-plus-contrib-20= 180806/org-ctags hides
/usr/share/emacs/26.1/lisp/org/org-ctags
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ox-html hides=
/usr/share/emacs/26.1/lisp/org/ox-html
/home/naheel/.e= macs.d/elpa/org-plus-contrib-20180806/ob-octave hides
/usr/share/= emacs/26.1/lisp/org/ob-octave
/home/naheel/.emacs.d/elpa/org-plus= -contrib-20180806/org-capture hides
/usr/share/emacs/26.1/lisp/or= g/org-capture
/home/naheel/.emacs.d/elpa/org-plus-contrib-2018080= 6/ob-ledger hides
/usr/share/emacs/26.1/lisp/org/ob-ledger
<= div>/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-keys hides
/usr/share/emacs/26.1/lisp/org/ob-keys
/home/naheel/.emacs.= d/elpa/org-plus-contrib-20180806/org-protocol hides
/usr/share/em= acs/26.1/lisp/org/org-protocol
/home/naheel/.emacs.d/elpa/org-plu= s-contrib-20180806/ox-org hides
/usr/share/emacs/26.1/lisp/org/ox= -org
/home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/ob-sass= hides
/usr/share/emacs/26.1/lisp/org/ob-sass
/home/nah= eel/.emacs.d/elpa/org-plus-contrib-20180806/ob-forth hides
/usr/s= hare/emacs/26.1/lisp/org/ob-forth
/home/naheel/.emacs.d/elpa/org-= plus-contrib-20180806/ob-matlab hides
/usr/share/emacs/26.1/lisp/= org/ob-matlab
/home/naheel/.emacs.d/elpa/org-plus-contrib-2018080= 6/ob-lisp hides
/usr/share/emacs/26.1/lisp/org/ob-lisp
= /home/naheel/.emacs.d/elpa/org-plus-contrib-20180806/org-macro hides
<= div>/usr/share/emacs/26.1/lisp/org/org-macro
/home/naheel/.emacs.= d/elpa/org-plus-contrib-20180806/org-mouse hides
/usr/share/emacs= /26.1/lisp/org/org-mouse
/home/naheel/.emacs.d/elpa/org-plus-cont= rib-20180806/ob-mscgen hides
/usr/share/emacs/26.1/lisp/org/ob-ms= cgen

Features:
(shadow sort mail-extr em= acsbug sendmail sparql-mode drupal-mode
drupal/emacs-drush drupal= /flycheck drupal/phpcs drupal/ispell
drupal/etags drupal/eldoc sq= l view php-mode php-project mode-local
speedbar sb-image ezimage = dframe add-log cc-langs json-mode
json-reformat json-snatcher sma= rtparens-javascript js smartparens-html
sgml-mode dom imenu sh-sc= ript smie executable org-eldoc org-bullets
toc-org org-rmail org-= mhe org-irc org-info org-gnus nnir gnus-sum
gnus-group gnus-undo = gnus-start gnus-cloud nnimap nnmail mail-source
utf7 netrc nnoo g= nus-spec gnus-int gnus-range message rfc822 mml mml-
sec
epa epg mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-
util
rmail rmail-loaddefs org-docview doc-view jka-compr di= red dired-
loaddefs
org-bibtex bibtex org-bbdb org-w3m = mail-utils network-stream starttls
url-cache url-http tls gnutls = url-gw nsm rmc puny url-auth anaconda-
mode
url url-pro= xy url-privacy url-expand url-methods url-history url-cookie
url-= domsuf url-util mailcap pythonic evil-matchit evil-matchit-sdk
hi= -lock smartparens-python python tramp-sh auto-compile packed
elis= p-slime-nav vala-snippets yasnippet elec-pair misearch multi-
ise= arch
macrostep-c cmacexp macrostep auto-complete-c-headers tramp = tramp-
compat
tramp-loaddefs trampver ucs-normalize par= se-time goto-addr bug-
reference
auto-highlight-symbol = highlight-numbers parent-mode
highlight-parentheses hideshow rain= bow-delimiters helm-command
helm-elisp helm-eval edebug helm-info= vc-git diff-mode open-junk-file
term/xterm xterm pp helm-descbin= ds helm-mode helm-files helm-buffers
helm-tags helm-locate helm-g= rep helm-regexp helm-utils helm-help
helm-types helm-flx helm hel= m-source helm-multi-match helm-lib async
vi-tilde-fringe diminish= projectile grep ibuf-ext ibuffer
ibuffer-loaddefs recentf tree-w= idget ox-reveal ox-odt rng-loc rng-uri
rng-parse rng-match rng-dt= rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util = ox-latex ox-icalendar ox-html table ox-ascii
ox-publish ox htmliz= e ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-al= ign cc-engine cc-vars cc-defs smartparens-org org-
element
<= div>avl-tree generator org org-macro org-footnote org-pcomplete org-list
org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-s= rc
ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eva= l
org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs=
multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operat= ions
rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cu= rsors
mc-edit-lines multiple-cursors-core flycheck find-func flym= ake-proc
flymake compile auto-complete-config auto-complete popup= xclip hl-todo
server ws-butler winum winner etags xref project v= olatile-highlights
spaceline-config spaceline-segments spaceline = powerline
powerline-separators color powerline-themes smartparens= -config
smartparens-text saveplace savehist popwin persp-mode lin= um info+
image-mode go-rename flx-ido flx eyebrowse format-spec e= vil-unimpaired
f
s evil-surround evil-search-highlight-= persist evil-numbers
evil-lisp-state smartparens dash evil-indent= -plus evil-exchange
evil-escape evil-args evil-anzu anzu eval-sex= p-fu highlight noutline
outline drupal/pcomplete rx clean-aindent= -mode adaptive-wrap hybrid-
mode
exec-path-from-shell e= vil-evilified-state time-date which-key
use-package use-package-e= nsure use-package-delight use-package-diminish
use-package-bind-k= ey bind-key use-package-core hydra lv cus-edit
cus-start cus-load= evil evil-integration undo-tree diff evil-maps
evil-commands rev= eal flyspell ispell evil-jumps evil-command-window
evil-types evi= l-search evil-ex shell pcomplete comint ansi-color
evil-macros ev= il-repeat evil-states evil-core evil-common windmove
thingatpt re= ct evil-digraphs evil-vars ring info bind-map quelpa
help-fns rad= ix-tree package-build mm-decode mm-bodies mm-encode
mail-parse rf= c2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr json
map lisp= -mnt hl-line xt-mouse autorevert filenotify cl-extra disp-table
w= id-edit spacemacs-dark-theme spacemacs-common finder-inf
core-con= figuration-layer eieio-compat ht cl help-mode warnings package
ep= g-config url-handlers url-parse auth-source cl-seq password-cache
url-vars eieio eieio-core eieio-loaddefs ido-vertical-mode ido seq
byte-opt bytecomp byte-compile cconv core-spacemacs core-use-package-
ext
core-transient-state core-micro-state core-toggle cor= e-keybindings
core-fonts-support core-spacemacs-buffer core-funcs= core-themes-support
core-display-init core-jump core-auto-comple= tion core-release-
management
core-dotspacemacs core-co= mmand-line pcase core-debug edmacro kmacro
derived advice profile= r easymenu page-break-lines easy-mmode subr-x
clang-format cl-mac= s gv xml cl-loaddefs cl-lib mule-util tooltip eldoc
electric uniq= uify ediff-hook vc-hooks lisp-float-type mwheel term/x-win
x-win = term/common-win x-dnd tool-bar dnd fontset image regexp-opt
fring= e
tabulated-list replace newcomment text-mode elisp-mode lisp-mod= e
prog-mode register page menu-bar rfn-eshadow isearch timer sele= ct
scroll-bar mouse jit-lock font-lock syntax facemenu font-core<= /div>
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-la= ng
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms = cp51932
hebrew greek romanian slovak czech european ethiopic indi= an cyrillic
chinese composite charscript charprop case-table epa-= hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-prelo= aded nadvice loaddefs
button faces cus-face macroexp files text-p= roperties overlay sha1 md5
base64 format env code-pages mule cust= om widget hashtable-print-
readable
backquote dbusbind = inotify lcms2 dynamic-setting system-font-setting
font-render-set= ting xwidget-internal move-toolbar gtk x-toolkit x
multi-tty make= -network-process emacs)

Memory information:
<= div>((conses 16 1001845 884166)
=C2=A0(symbols 48 72147 14)
=
=C2=A0(miscs 40 1551 5209)
=C2=A0(strings 32 224843 89466)
=C2=A0(string-bytes 1 7600056)
=C2=A0(vectors 16 133549)=
=C2=A0(vector-slots 8 2944967 187560)
=C2=A0(floats 8 = 810 9223)
=C2=A0(intervals 56 3566 1991)
=C2=A0(buffers= 992 55))
--000000000000a066d9057420a374-- ------------=_1535180703-21121-1--