Subject: 26.1; unicode combining characters displayed incorrectly in emacs-26.1
From: Mayer Goldberg <[email-masked]>
To: [email-masked]
Date: Wed, 27 Mar 2019 23:33:51 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello:

?ש = \u05e9 = "HEBREW LETTER SHIN"
?ָ = \u05b8 = "HEBREW POINT QAMATS"

i.e., "\u05e9\u05b8", should display with the qamats right under the shin,
which is the case under emacs 25 and earlier, but fails in emacs 26: The
qamats is printed below but to the side, and not right under the letter
shin. This happens regardless of the font used, and with professional
OTF fonts that are designed to handle combining characters correctly,
and which are handled correctly by emacs 25 and earlier. This problem is
not unique to Hebrew, but is true for any RTL language I've checked
inclinding Arabic and Farsi.

In GNU Emacs 26.1 (build 3, x86_64-pc-linux-gnu, GTK+ Version 2.24.32)
 of 2019-03-08 built on curry
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description:    Ubuntu 18.04.2 LTS

Recent messages:
For information about GNU Emacs and the GNU system, type <f1> C-a.
Mark set
Mark saved where search started
Saving file /home/gmayer/brain/main.brain...
Wrote /home/gmayer/brain/main.brain
Making completion list...
Quit [13 times]
Mark set [2 times]
delete-backward-char: Beginning of buffer [2 times]
You can run the command ‘unicode-info’ with M-x un-i RET

Configured using:
 'configure --with-gif=no 'LDFLAGS= -ldl -lm''

Configured features:
XPM JPEG TIFF PNG RSVG SOUND GSETTINGS NOTIFY GNUTLS LIBXML2 FREETYPE
XFT ZLIB TOOLKIT_SCROLL_BARS GTK2 X11 THREADS

Important settings:
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  global-pretty-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-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
  blink-cursor-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:
~/emacs/emacs-fsharp-mode-master/fsharp-mode-completion hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/fsharp-mode-completion
~/emacs/emacs-fsharp-mode-master/fsharp-mode-indent-smie hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/fsharp-mode-indent-smie
~/emacs/emacs-fsharp-mode-master/fsharp-doc hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/fsharp-doc
~/emacs/emacs-fsharp-mode-master/fsharp-mode hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/fsharp-mode
~/emacs/emacs-fsharp-mode-master/fsharp-mode-indent hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/fsharp-mode-indent
~/emacs/emacs-fsharp-mode-master/fsharp-mode-font hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/fsharp-mode-font
~/emacs/emacs-fsharp-mode-master/fsharp-mode-util hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/fsharp-mode-util
~/emacs/emacs-fsharp-mode-master/flycheck-fsharp hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/flycheck-fsharp
~/emacs/emacs-fsharp-mode-master/fsharp-mode-pkg hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/fsharp-mode-pkg
~/emacs/emacs-fsharp-mode-master/inf-fsharp-mode hides
/home/gmayer/.emacs.d/elpa/fsharp-mode-20190304.1317/inf-fsharp-mode
~/emacs/markdown-mode hides
/home/gmayer/.emacs.d/elpa/markdown-mode-20190305.319/markdown-mode
~/emacs/sqlite hides /home/gmayer/.emacs.d/elpa/sqlite-20180708.1711/sqlite
~/emacs/prolog hides /usr/local/share/emacs/26.1/lisp/progmodes/prolog
~/emacs/my-input-methods/greek hides
/usr/local/share/emacs/26.1/lisp/language/greek
~/emacs/my-input-methods/hebrew hides
/usr/local/share/emacs/26.1/lisp/language/hebrew
~/emacs/my-input-methods/tibetan hides
/usr/local/share/emacs/26.1/lisp/language/tibetan

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa epg gnus-util rmail rmail-loaddefs mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
misearch multi-isearch elec-pair vc-git diff-mode brain
brain-basic-lisp-functions proof-site proof-autoloads pg-vars prolog
align info htmlize fsharp-mode fsharp-mode-indent-smie smie compile
inf-fsharp-mode fsharp-doc flycheck-fsharp flycheck cl-extra
fsharp-mode-completion fsharp-mode-util etags xref project company pcase
dash subr-x s tramp tramp-compat tramp-loaddefs trampver ucs-normalize
shell parse-time ox-beamer 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 org-element
avl-tree generator org advice org-macro org-footnote org-pcomplete
pcomplete org-list org-faces org-entities noutline outline org-version
ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys
ob-comint comint ansi-color ring org-loaddefs format-spec find-func
cal-menu calendar cal-loaddefs ob-exp ob-core org-compat ob-eval
org-macs org-install cobol-mode skeleton pretty-mode easy-mmode cl aes
time-stamp quail help-mode 2048-game nasm-mode derived imenu edmacro
kmacro rust-mode rx json map finder-inf package easymenu epg-config
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib time-date 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 inotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 404821 20970)
 (symbols 48 47007 5)
 (miscs 40 101 241)
 (strings 32 103962 4290)
 (string-bytes 1 2912090)
 (vectors 16 65717)
 (vector-slots 8 1794428 206870)
 (floats 8 142 155)
 (intervals 56 485 0)
 (buffers 992 15))