* bug#44076: 27.1.50; Weird display effect with RTL text in lists
@ 2020-10-19 7:39 Joost Kremers
2020-10-19 7:57 ` Andreas Schwab
2020-10-19 8:00 ` Eli Zaretskii
0 siblings, 2 replies; 4+ messages in thread
From: Joost Kremers @ 2020-10-19 7:39 UTC (permalink / raw)
To: 44076
In an IELM buffer:
```
*** Welcome to IELM *** Type (describe-mode) for help.
ELISP> (setq mylist nil)
nil
ELISP> (push "2nd-place clitics" mylist)
("2nd-place clitics")
ELISP> (push "صباح الخير" mylist)
("صباح الخير" "2nd-place clitics")
ELISP> (cl-first mylist)
"صباح الخير"
ELISP> (cl-second mylist)
"2nd-place clitics"
```
The contents of the list is correct, but it is displayed incorrectly, as shown.
This is not dependent on IELM, it also happens in the `*scratch*` buffer or in
the echo area when evaluating `mylist`. The problem does not occur if the second
element in the list does not start with a number.
I used Arabic in the example, but Hebrew shows the same problem. The font is
also not the issue: the above interaction is from `emacs -Q`, which uses a
different font for Arabic (and Hebrew) on my system than when I use my full
config. The problem occurs in either case.
In GNU Emacs 27.1.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.10)
of 2020-08-26 built on Swift
Repository revision: 9b403d624ee6e608d1ff3d577e358b6befe743e1
Repository branch: emacs-27
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: elementary OS 5.1.7 Hera
Recent messages:
[mu4e] Contacts updated: 2146; total 2146
[mu4e] Retrieving mail...done
[mu4e] Indexing... processed 4, updated 4
[mu4e] Indexing completed; processed 4, updated 4, cleaned-up 0
[mu4e] Contacts updated: 1; total 2147
Mark set
Saved text from "In an IELM buffer:
```
*** Welcome to I"
Configured using:
'configure --with-imagemagick --with-cairo'
Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND DBUS GSETTINGS GLIB NOTIFY
INOTIFY GNUTLS LIBXML2 FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE
XIM MODULES THREADS JSON PDUMPER LCMS2 GMP
Important settings:
value of $LC_MONETARY: en_IE.UTF-8
value of $LC_NUMERIC: en_IE.UTF-8
value of $LC_TIME: en_IE.UTF-8
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: IELM
Minor modes in effect:
flycheck-indicator-mode: t
org-roam-mode: t
company-box-mode: t
minions-mode: t
doom-modeline-mode: t
which-key-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
global-atomic-chrome-edit-mode: t
ivy-mode: t
pyvenv-tracking-mode: t
projectile-mode: t
global-diff-hl-mode: t
async-bytecomp-package-mode: t
electric-pair-mode: t
shell-dirtrack-mode: t
volatile-highlights-mode: t
company-quickhelp-mode: t
company-quickhelp-local-mode: t
global-company-mode: t
company-mode: t
recentf-mode: t
delete-selection-mode: t
show-paren-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-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
auto-save-visited-mode: t
Load-path shadows:
~/src/ledger-mode/ledger-reconcile hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-reconcile
~/src/ledger-mode/ledger-test hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-test
~/src/ledger-mode/ledger-navigate hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-navigate
~/src/ledger-mode/ledger-report hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-report
~/src/ledger-mode/ledger-check hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-check
~/src/ledger-mode/ledger-post hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-post
~/src/ledger-mode/ledger-mode hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-mode
~/src/ledger-mode/ledger-xact hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-xact
~/src/ledger-mode/ledger-complete hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-complete
~/src/ledger-mode/ledger-occur hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-occur
~/src/ledger-mode/ledger-schedule hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-schedule
~/src/ledger-mode/ledger-sort hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-sort
~/src/ledger-mode/ledger-regex hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-regex
~/src/ledger-mode/ledger-commodities hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-commodities
~/src/ledger-mode/ledger-fontify hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-fontify
~/src/ledger-mode/ledger-fonts hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-fonts
~/src/ledger-mode/ledger-init hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-init
~/src/ledger-mode/ledger-state hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-state
~/src/ledger-mode/ledger-exec hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-exec
~/src/ledger-mode/ledger-context hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-context
~/src/ledger-mode/ledger-flymake hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-flymake
~/src/ledger-mode/ledger-texi hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-texi
/home/joost/.emacs.d/elpa/auth-source-pass-20201012.1918/auth-source-pass hides /usr/local/share/emacs/27.1.50/lisp/auth-source-pass
~/.emacs.d/lisp/custom hides /usr/local/share/emacs/27.1.50/lisp/custom
/home/joost/.emacs.d/elpa/org-20201012/ob-clojure hides /usr/local/share/emacs/27.1.50/lisp/org/ob-clojure
/home/joost/.emacs.d/elpa/org-20201012/org-tempo hides /usr/local/share/emacs/27.1.50/lisp/org/org-tempo
/home/joost/.emacs.d/elpa/org-20201012/ol-docview hides /usr/local/share/emacs/27.1.50/lisp/org/ol-docview
/home/joost/.emacs.d/elpa/org-20201012/ob-css hides /usr/local/share/emacs/27.1.50/lisp/org/ob-css
/home/joost/.emacs.d/elpa/org-20201012/ob-vala hides /usr/local/share/emacs/27.1.50/lisp/org/ob-vala
/home/joost/.emacs.d/elpa/org-20201012/ob-table hides /usr/local/share/emacs/27.1.50/lisp/org/ob-table
/home/joost/.emacs.d/elpa/org-20201012/ob-R hides /usr/local/share/emacs/27.1.50/lisp/org/ob-R
/home/joost/.emacs.d/elpa/org-20201012/ob-exp hides /usr/local/share/emacs/27.1.50/lisp/org/ob-exp
/home/joost/.emacs.d/elpa/org-20201012/ob-io hides /usr/local/share/emacs/27.1.50/lisp/org/ob-io
/home/joost/.emacs.d/elpa/org-20201012/ob-picolisp hides /usr/local/share/emacs/27.1.50/lisp/org/ob-picolisp
/home/joost/.emacs.d/elpa/org-20201012/ob-scheme hides /usr/local/share/emacs/27.1.50/lisp/org/ob-scheme
/home/joost/.emacs.d/elpa/org-20201012/org-archive hides /usr/local/share/emacs/27.1.50/lisp/org/org-archive
/home/joost/.emacs.d/elpa/org-20201012/org-plot hides /usr/local/share/emacs/27.1.50/lisp/org/org-plot
/home/joost/.emacs.d/elpa/org-20201012/org-element hides /usr/local/share/emacs/27.1.50/lisp/org/org-element
/home/joost/.emacs.d/elpa/org-20201012/ob-tangle hides /usr/local/share/emacs/27.1.50/lisp/org/ob-tangle
/home/joost/.emacs.d/elpa/org-20201012/ob-groovy hides /usr/local/share/emacs/27.1.50/lisp/org/ob-groovy
/home/joost/.emacs.d/elpa/org-20201012/ob-latex hides /usr/local/share/emacs/27.1.50/lisp/org/ob-latex
/home/joost/.emacs.d/elpa/org-20201012/ob-maxima hides /usr/local/share/emacs/27.1.50/lisp/org/ob-maxima
/home/joost/.emacs.d/elpa/org-20201012/org-duration hides /usr/local/share/emacs/27.1.50/lisp/org/org-duration
/home/joost/.emacs.d/elpa/org-20201012/ob-matlab hides /usr/local/share/emacs/27.1.50/lisp/org/ob-matlab
/home/joost/.emacs.d/elpa/org-20201012/ob-screen hides /usr/local/share/emacs/27.1.50/lisp/org/ob-screen
/home/joost/.emacs.d/elpa/org-20201012/ob-lilypond hides /usr/local/share/emacs/27.1.50/lisp/org/ob-lilypond
/home/joost/.emacs.d/elpa/org-20201012/ob-processing hides /usr/local/share/emacs/27.1.50/lisp/org/ob-processing
/home/joost/.emacs.d/elpa/org-20201012/org-habit hides /usr/local/share/emacs/27.1.50/lisp/org/org-habit
/home/joost/.emacs.d/elpa/org-20201012/ol-mhe hides /usr/local/share/emacs/27.1.50/lisp/org/ol-mhe
/home/joost/.emacs.d/elpa/org-20201012/ob hides /usr/local/share/emacs/27.1.50/lisp/org/ob
/home/joost/.emacs.d/elpa/org-20201012/org-colview hides /usr/local/share/emacs/27.1.50/lisp/org/org-colview
/home/joost/.emacs.d/elpa/org-20201012/org-protocol hides /usr/local/share/emacs/27.1.50/lisp/org/org-protocol
/home/joost/.emacs.d/elpa/org-20201012/org-compat hides /usr/local/share/emacs/27.1.50/lisp/org/org-compat
/home/joost/.emacs.d/elpa/org-20201012/ob-ditaa hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ditaa
/home/joost/.emacs.d/elpa/org-20201012/ob-forth hides /usr/local/share/emacs/27.1.50/lisp/org/ob-forth
/home/joost/.emacs.d/elpa/org-20201012/org-indent hides /usr/local/share/emacs/27.1.50/lisp/org/org-indent
/home/joost/.emacs.d/elpa/org-20201012/ox-texinfo hides /usr/local/share/emacs/27.1.50/lisp/org/ox-texinfo
/home/joost/.emacs.d/elpa/org-20201012/ob-ocaml hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ocaml
/home/joost/.emacs.d/elpa/org-20201012/ob-lua hides /usr/local/share/emacs/27.1.50/lisp/org/ob-lua
/home/joost/.emacs.d/elpa/org-20201012/ol hides /usr/local/share/emacs/27.1.50/lisp/org/ol
/home/joost/.emacs.d/elpa/org-20201012/org-macro hides /usr/local/share/emacs/27.1.50/lisp/org/org-macro
/home/joost/.emacs.d/elpa/org-20201012/ob-eshell hides /usr/local/share/emacs/27.1.50/lisp/org/ob-eshell
/home/joost/.emacs.d/elpa/org-20201012/ob-lob hides /usr/local/share/emacs/27.1.50/lisp/org/ob-lob
/home/joost/.emacs.d/elpa/org-20201012/ox-org hides /usr/local/share/emacs/27.1.50/lisp/org/ox-org
/home/joost/.emacs.d/elpa/org-20201012/ob-awk hides /usr/local/share/emacs/27.1.50/lisp/org/ob-awk
/home/joost/.emacs.d/elpa/org-20201012/org-table hides /usr/local/share/emacs/27.1.50/lisp/org/org-table
/home/joost/.emacs.d/elpa/org-20201012/org-clock hides /usr/local/share/emacs/27.1.50/lisp/org/org-clock
/home/joost/.emacs.d/elpa/org-20201012/org-keys hides /usr/local/share/emacs/27.1.50/lisp/org/org-keys
/home/joost/.emacs.d/elpa/org-20201012/ob-mscgen hides /usr/local/share/emacs/27.1.50/lisp/org/ob-mscgen
/home/joost/.emacs.d/elpa/org-20201012/ox-md hides /usr/local/share/emacs/27.1.50/lisp/org/ox-md
/home/joost/.emacs.d/elpa/org-20201012/ob-lisp hides /usr/local/share/emacs/27.1.50/lisp/org/ob-lisp
/home/joost/.emacs.d/elpa/org-20201012/ob-abc hides /usr/local/share/emacs/27.1.50/lisp/org/ob-abc
/home/joost/.emacs.d/elpa/org-20201012/org-mobile hides /usr/local/share/emacs/27.1.50/lisp/org/org-mobile
/home/joost/.emacs.d/elpa/org-20201012/ob-J hides /usr/local/share/emacs/27.1.50/lisp/org/ob-J
/home/joost/.emacs.d/elpa/org-20201012/ol-eww hides /usr/local/share/emacs/27.1.50/lisp/org/ol-eww
/home/joost/.emacs.d/elpa/org-20201012/org-inlinetask hides /usr/local/share/emacs/27.1.50/lisp/org/org-inlinetask
/home/joost/.emacs.d/elpa/org-20201012/ob-js hides /usr/local/share/emacs/27.1.50/lisp/org/ob-js
/home/joost/.emacs.d/elpa/org-20201012/ob-hledger hides /usr/local/share/emacs/27.1.50/lisp/org/ob-hledger
/home/joost/.emacs.d/elpa/org-20201012/ob-octave hides /usr/local/share/emacs/27.1.50/lisp/org/ob-octave
/home/joost/.emacs.d/elpa/org-20201012/ob-haskell hides /usr/local/share/emacs/27.1.50/lisp/org/ob-haskell
/home/joost/.emacs.d/elpa/org-20201012/org hides /usr/local/share/emacs/27.1.50/lisp/org/org
/home/joost/.emacs.d/elpa/org-20201012/ob-sed hides /usr/local/share/emacs/27.1.50/lisp/org/ob-sed
/home/joost/.emacs.d/elpa/org-20201012/ob-asymptote hides /usr/local/share/emacs/27.1.50/lisp/org/ob-asymptote
/home/joost/.emacs.d/elpa/org-20201012/ob-org hides /usr/local/share/emacs/27.1.50/lisp/org/ob-org
/home/joost/.emacs.d/elpa/org-20201012/org-loaddefs hides /usr/local/share/emacs/27.1.50/lisp/org/org-loaddefs
/home/joost/.emacs.d/elpa/org-20201012/org-mouse hides /usr/local/share/emacs/27.1.50/lisp/org/org-mouse
/home/joost/.emacs.d/elpa/org-20201012/org-feed hides /usr/local/share/emacs/27.1.50/lisp/org/org-feed
/home/joost/.emacs.d/elpa/org-20201012/ox-beamer hides /usr/local/share/emacs/27.1.50/lisp/org/ox-beamer
/home/joost/.emacs.d/elpa/org-20201012/ol-bbdb hides /usr/local/share/emacs/27.1.50/lisp/org/ol-bbdb
/home/joost/.emacs.d/elpa/org-20201012/org-ctags hides /usr/local/share/emacs/27.1.50/lisp/org/org-ctags
/home/joost/.emacs.d/elpa/org-20201012/ol-eshell hides /usr/local/share/emacs/27.1.50/lisp/org/ol-eshell
/home/joost/.emacs.d/elpa/org-20201012/ol-bibtex hides /usr/local/share/emacs/27.1.50/lisp/org/ol-bibtex
/home/joost/.emacs.d/elpa/org-20201012/ob-ledger hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ledger
/home/joost/.emacs.d/elpa/org-20201012/org-install hides /usr/local/share/emacs/27.1.50/lisp/org/org-install
/home/joost/.emacs.d/elpa/org-20201012/ox-icalendar hides /usr/local/share/emacs/27.1.50/lisp/org/ox-icalendar
/home/joost/.emacs.d/elpa/org-20201012/org-datetree hides /usr/local/share/emacs/27.1.50/lisp/org/org-datetree
/home/joost/.emacs.d/elpa/org-20201012/ob-emacs-lisp hides /usr/local/share/emacs/27.1.50/lisp/org/ob-emacs-lisp
/home/joost/.emacs.d/elpa/org-20201012/ob-dot hides /usr/local/share/emacs/27.1.50/lisp/org/ob-dot
/home/joost/.emacs.d/elpa/org-20201012/ox-publish hides /usr/local/share/emacs/27.1.50/lisp/org/ox-publish
/home/joost/.emacs.d/elpa/org-20201012/ob-sass hides /usr/local/share/emacs/27.1.50/lisp/org/ob-sass
/home/joost/.emacs.d/elpa/org-20201012/ox hides /usr/local/share/emacs/27.1.50/lisp/org/ox
/home/joost/.emacs.d/elpa/org-20201012/ob-stan hides /usr/local/share/emacs/27.1.50/lisp/org/ob-stan
/home/joost/.emacs.d/elpa/org-20201012/org-attach hides /usr/local/share/emacs/27.1.50/lisp/org/org-attach
/home/joost/.emacs.d/elpa/org-20201012/ob-shen hides /usr/local/share/emacs/27.1.50/lisp/org/ob-shen
/home/joost/.emacs.d/elpa/org-20201012/ol-irc hides /usr/local/share/emacs/27.1.50/lisp/org/ol-irc
/home/joost/.emacs.d/elpa/org-20201012/ob-java hides /usr/local/share/emacs/27.1.50/lisp/org/ob-java
/home/joost/.emacs.d/elpa/org-20201012/org-crypt hides /usr/local/share/emacs/27.1.50/lisp/org/org-crypt
/home/joost/.emacs.d/elpa/org-20201012/ob-plantuml hides /usr/local/share/emacs/27.1.50/lisp/org/ob-plantuml
/home/joost/.emacs.d/elpa/org-20201012/ob-ruby hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ruby
/home/joost/.emacs.d/elpa/org-20201012/ob-ref hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ref
/home/joost/.emacs.d/elpa/org-20201012/org-attach-git hides /usr/local/share/emacs/27.1.50/lisp/org/org-attach-git
/home/joost/.emacs.d/elpa/org-20201012/ob-sqlite hides /usr/local/share/emacs/27.1.50/lisp/org/ob-sqlite
/home/joost/.emacs.d/elpa/org-20201012/ob-ebnf hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ebnf
/home/joost/.emacs.d/elpa/org-20201012/ob-calc hides /usr/local/share/emacs/27.1.50/lisp/org/ob-calc
/home/joost/.emacs.d/elpa/org-20201012/ol-info hides /usr/local/share/emacs/27.1.50/lisp/org/ol-info
/home/joost/.emacs.d/elpa/org-20201012/org-lint hides /usr/local/share/emacs/27.1.50/lisp/org/org-lint
/home/joost/.emacs.d/elpa/org-20201012/ob-shell hides /usr/local/share/emacs/27.1.50/lisp/org/ob-shell
/home/joost/.emacs.d/elpa/org-20201012/ox-odt hides /usr/local/share/emacs/27.1.50/lisp/org/ox-odt
/home/joost/.emacs.d/elpa/org-20201012/ox-ascii hides /usr/local/share/emacs/27.1.50/lisp/org/ox-ascii
/home/joost/.emacs.d/elpa/org-20201012/ox-html hides /usr/local/share/emacs/27.1.50/lisp/org/ox-html
/home/joost/.emacs.d/elpa/org-20201012/ob-sql hides /usr/local/share/emacs/27.1.50/lisp/org/ob-sql
/home/joost/.emacs.d/elpa/org-20201012/ox-man hides /usr/local/share/emacs/27.1.50/lisp/org/ox-man
/home/joost/.emacs.d/elpa/org-20201012/ob-coq hides /usr/local/share/emacs/27.1.50/lisp/org/ob-coq
/home/joost/.emacs.d/elpa/org-20201012/org-agenda hides /usr/local/share/emacs/27.1.50/lisp/org/org-agenda
/home/joost/.emacs.d/elpa/org-20201012/ob-gnuplot hides /usr/local/share/emacs/27.1.50/lisp/org/ob-gnuplot
/home/joost/.emacs.d/elpa/org-20201012/ob-core hides /usr/local/share/emacs/27.1.50/lisp/org/ob-core
/home/joost/.emacs.d/elpa/org-20201012/org-timer hides /usr/local/share/emacs/27.1.50/lisp/org/org-timer
/home/joost/.emacs.d/elpa/org-20201012/org-entities hides /usr/local/share/emacs/27.1.50/lisp/org/org-entities
/home/joost/.emacs.d/elpa/org-20201012/ol-rmail hides /usr/local/share/emacs/27.1.50/lisp/org/ol-rmail
/home/joost/.emacs.d/elpa/org-20201012/org-list hides /usr/local/share/emacs/27.1.50/lisp/org/org-list
/home/joost/.emacs.d/elpa/org-20201012/org-src hides /usr/local/share/emacs/27.1.50/lisp/org/org-src
/home/joost/.emacs.d/elpa/org-20201012/org-faces hides /usr/local/share/emacs/27.1.50/lisp/org/org-faces
/home/joost/.emacs.d/elpa/org-20201012/org-capture hides /usr/local/share/emacs/27.1.50/lisp/org/org-capture
/home/joost/.emacs.d/elpa/org-20201012/ol-gnus hides /usr/local/share/emacs/27.1.50/lisp/org/ol-gnus
/home/joost/.emacs.d/elpa/org-20201012/ol-w3m hides /usr/local/share/emacs/27.1.50/lisp/org/ol-w3m
/home/joost/.emacs.d/elpa/org-20201012/org-macs hides /usr/local/share/emacs/27.1.50/lisp/org/org-macs
/home/joost/.emacs.d/elpa/org-20201012/ob-eval hides /usr/local/share/emacs/27.1.50/lisp/org/ob-eval
/home/joost/.emacs.d/elpa/org-20201012/org-num hides /usr/local/share/emacs/27.1.50/lisp/org/org-num
/home/joost/.emacs.d/elpa/org-20201012/ob-C hides /usr/local/share/emacs/27.1.50/lisp/org/ob-C
/home/joost/.emacs.d/elpa/org-20201012/ob-perl hides /usr/local/share/emacs/27.1.50/lisp/org/ob-perl
/home/joost/.emacs.d/elpa/org-20201012/org-footnote hides /usr/local/share/emacs/27.1.50/lisp/org/org-footnote
/home/joost/.emacs.d/elpa/org-20201012/ob-comint hides /usr/local/share/emacs/27.1.50/lisp/org/ob-comint
/home/joost/.emacs.d/elpa/org-20201012/ob-python hides /usr/local/share/emacs/27.1.50/lisp/org/ob-python
/home/joost/.emacs.d/elpa/org-20201012/ox-latex hides /usr/local/share/emacs/27.1.50/lisp/org/ox-latex
/home/joost/.emacs.d/elpa/org-20201012/ob-makefile hides /usr/local/share/emacs/27.1.50/lisp/org/ob-makefile
/home/joost/.emacs.d/elpa/org-20201012/org-id hides /usr/local/share/emacs/27.1.50/lisp/org/org-id
/home/joost/.emacs.d/elpa/org-20201012/org-version hides /usr/local/share/emacs/27.1.50/lisp/org/org-version
/home/joost/.emacs.d/elpa/org-20201012/org-goto hides /usr/local/share/emacs/27.1.50/lisp/org/org-goto
/home/joost/.emacs.d/elpa/org-20201012/org-pcomplete hides /usr/local/share/emacs/27.1.50/lisp/org/org-pcomplete
/home/joost/.emacs.d/elpa/org-20201012/ob-fortran hides /usr/local/share/emacs/27.1.50/lisp/org/ob-fortran
Features:
(org-mu4e mu4e-settings gnus-dired mu4e mu4e-org mu4e-main mu4e-view
mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions ido rfc2368
smtpmail mu4e-mark mu4e-proc mu4e-utils mu4e-lists mu4e-message flow-fill
mu4e-vars mu4e-meta shadow sort mail-extr emacsbug sendmail vc-git bookmark
el-spice list-callers display-fill-column-indicator flycheck-indicator
expand-region text-mode-expansions the-org-mode-expansions
clojure-mode-expansions er-basic-expansions expand-region-core
expand-region-custom visual-fill-column org-autolist org-indent ol-eww eww
mm-url url-queue ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir gnus-sum shr svg
dom 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 derived
epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs
rfc2047 rfc2045 ietf-drums text-property-search mm-util mail-prsvr ol-docview
doc-view jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m mule-util cl-print
help-fns radix-tree ffap org-ebib ebib-settings ebib ebib-reading-list
ebib-notes ebib-filters ebib-keywords ebib-utils ebib-db parsebib hl-line crm
mixed-pitch org-roam org-roam-link org-roam-graph org-roam-doctor org-roam-db
emacsql-sqlite3 emacsql emacsql-compiler org-roam-dailies org-roam-capture
org-capture org-roam-completion org-roam-buffer org-roam-faces org-roam-macs
org-roam-compat jk-input-methods quail em-unix em-term term disp-table ehelp
em-script em-prompt em-ls em-hist em-pred em-glob em-dirs esh-var em-cmpl
em-basic em-banner em-alias esh-mode company-box company-box-doc frame-local
company-box-icons wgrep flycheck-ledger ielm pp minions doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
which-key undo-tree diff atomic-chrome websocket let-alist iimage image+
image-file swiper ivy-hydra all-the-icons-ivy ivy ivy-faces ivy-overlay colir
poetry pyvenv paredit flycheck-clj-kondo sesman clojure-mode lisp-mnt align
eldoc-box company-lsp lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr lsp-ui-imenu
lsp-ui-peek lsp-ui-sideline face-remap flycheck-posframe flycheck lsp-mode
yasnippet network-stream puny nsm rmc markdown-mode inline imenu f
dash-functional bindat lsp-protocol ht ag vc-svn find-dired s projectile grep
compile ibuf-ext ibuffer ibuffer-loaddefs thingatpt diff-hl vc-dir ewoc vc
vc-dispatcher diff-mode transient async-bytecomp async aggressive-indent
elec-pair nswbuff guess-language flyspell ispell ace-window avy dired
dired-loaddefs reftex reftex-loaddefs reftex-vars tab-jump-out org-gcal persist
org-id org-refile org-element avl-tree org-archive org-settings org-clock org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete org-list org-faces org-entities noutline outline org-version
ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs
org-loaddefs find-func cal-menu calendar cal-loaddefs request-deferred deferred
request autorevert filenotify mail-utils url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap alert log4e rx
gntp tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell
pcomplete comint ansi-color parse-time iso8601 time-date ls-lisp format-spec
bibtex adaptive-wrap volatile-highlights posframe bm company-quickhelp pos-tip
all-the-icons all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons memoize company-oddmuse
company-keywords company-etags etags fileloop generator xref project
company-gtags company-dabbrev-code company-dabbrev company-files company-capf
company-cmake company-clang company-semantic company-template company-css
company-bbdb company pcase solarized-light-theme solarized-theme solarized
solarized-faces color recentf tree-widget paradox paradox-menu
paradox-commit-list hydra ring lv cus-edit cus-start cus-load wid-edit
paradox-execute paradox-github paradox-core spinner dash cl-extra help-mode
jk-functions advice eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util notifications dbus xml edmacro kmacro server
delsel paren use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core
finder-inf tex-site realgud-recursive-autoloads info package easymenu browse-url
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib 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 tab-bar menu-bar rfn-eshadow
isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer 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 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 threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)
Memory information:
((conses 16 677611 79579)
(symbols 48 54574 12)
(strings 32 217950 19448)
(string-bytes 1 6619009)
(vectors 16 90633)
(vector-slots 8 1667582 215302)
(floats 8 1204 1060)
(intervals 56 2864 1696)
(buffers 1000 35))
--
Joost Kremers
Life has its moments
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#44076: 27.1.50; Weird display effect with RTL text in lists
2020-10-19 7:39 bug#44076: 27.1.50; Weird display effect with RTL text in lists Joost Kremers
@ 2020-10-19 7:57 ` Andreas Schwab
2020-10-19 8:16 ` Eli Zaretskii
2020-10-19 8:00 ` Eli Zaretskii
1 sibling, 1 reply; 4+ messages in thread
From: Andreas Schwab @ 2020-10-19 7:57 UTC (permalink / raw)
To: Joost Kremers; +Cc: 44076
You will get the same effect in any buffer if you set
bidi-paragraph-direction to 'left-to-right.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#44076: 27.1.50; Weird display effect with RTL text in lists
2020-10-19 7:39 bug#44076: 27.1.50; Weird display effect with RTL text in lists Joost Kremers
2020-10-19 7:57 ` Andreas Schwab
@ 2020-10-19 8:00 ` Eli Zaretskii
1 sibling, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2020-10-19 8:00 UTC (permalink / raw)
To: 44076, joostkremers
On October 19, 2020 10:39:29 AM GMT+03:00, Joost Kremers <joostkremers@fastmail.fm> wrote:
>
> In an IELM buffer:
>
> ```
> *** Welcome to IELM *** Type (describe-mode) for help.
> ELISP> (setq mylist nil)
> nil
>
> ELISP> (push "2nd-place clitics" mylist)
> ("2nd-place clitics")
>
> ELISP> (push "صباح الخير" mylist)
> ("صباح الخير" "2nd-place clitics")
>
> ELISP> (cl-first mylist)
> "صباح الخير"
>
> ELISP> (cl-second mylist)
> "2nd-place clitics"
> ```
>
> The contents of the list is correct, but it is displayed incorrectly,
> as shown.
> This is not dependent on IELM, it also happens in the `*scratch*`
> buffer or in
> the echo area when evaluating `mylist`. The problem does not occur if
> the second
> element in the list does not start with a number.
>
> I used Arabic in the example, but Hebrew shows the same problem. The
> font is
> also not the issue: the above interaction is from `emacs -Q`, which
> uses a
> different font for Arabic (and Hebrew) on my system than when I use my
> full
> config. The problem occurs in either case.
The display is correct according to the rules of the UBA, the Unicode Bidirectilnal Algorithm, which mandates how mixed RTL and LTR text should be reordered for display. As you see, the result can be confusing when structured text is rendered as if it were a single plain-text string.
Emacs has capabilities to do better, so if we are willing to invest efforts in this direction, I can suggest a couple of possible solutions, which will have to do with using Unicode control characters around rhe textual representation of Lisp data.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#44076: 27.1.50; Weird display effect with RTL text in lists
2020-10-19 7:57 ` Andreas Schwab
@ 2020-10-19 8:16 ` Eli Zaretskii
0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2020-10-19 8:16 UTC (permalink / raw)
To: 44076, schwab, joostkremers
On October 19, 2020 10:57:00 AM GMT+03:00, Andreas Schwab <schwab@linux-m68k.org> wrote:
> You will get the same effect in any buffer if you set
> bidi-paragraph-direction to 'left-to-right.
That is true, but the value nil doesn't solve the problem, and it is not reasonable, IMNSHO, to use right-to-left for IELM buffers (or any programming buffers).
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-10-19 8:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-19 7:39 bug#44076: 27.1.50; Weird display effect with RTL text in lists Joost Kremers
2020-10-19 7:57 ` Andreas Schwab
2020-10-19 8:16 ` Eli Zaretskii
2020-10-19 8:00 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.