The problem is specific (as it could be tested) to non-English Alphabet. At least Persian. I've tested the 'glyphless-char-display-control' and I can confirm that as It seems, it's working on English input as expected. For example choosing to set `Hex box` cause ZWNJ be replaced as hex box. Other options (including defaults) seems to works as expected. But the same option (on the same session) does not work as expected for Persian (and possibly other similar) alphabets. Actually with exactly same option using Persian characters a clear normal space is shown instead of Hex box (completely different behavior). No matter what the option for non-English alphabet is, the ZWNJ is shown as a normal space character. Using Persian, ZWNJ really matters. For example while `A+ZWNJ+B` should be displayed as `AB` it's shown as `A B` in Persian but `AB` in English. ZWNJ might not have any application in English but it's vital for some other languages. It's a kind of an end-immediate-start in continuous scripts. In Latin alphabet it might have some uses in German language (fl). However it very important for Persian, Hebrew,, Arabic, Urdu, Hindi and some other alphabets. Thanks p.s. Just as a hypothesis, BiDi most interfere here as well and causes such behavior. On Sun, Sep 3, 2017 at 9:42 PM Eli Zaretskii wrote: > > Date: Sun, 03 Sep 2017 20:06:33 +0300 > > From: Eli Zaretskii > > Cc: 28339@debbugs.gnu.org > > > > Emacs traditionally tries not to hide characters from the user. > > Maybe there's a misunderstanding on my part: are you saying that you > do NOT see ZWNJ on display? In that case, it could be because the > character is by default displayed as a very thin (1-pixel) space. > When you move the cursor across it, you should see a very thin bar > instead of the normal cursor. > > In any case, the variable I mentioned lets you change how this > character is displayed. >