unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Alan Mackenzie <acm@muc.de>
Cc: rms@gnu.org, gregory@heytings.org, emacs-devel@gnu.org
Subject: Re: Display of undisplayable characters: \U01F3A8 instead of diamond
Date: Sun, 04 Sep 2022 16:01:53 +0300	[thread overview]
Message-ID: <83o7vvl2da.fsf@gnu.org> (raw)
In-Reply-To: <YxSKv9ydq27QtJSE@ACM> (message from Alan Mackenzie on Sun, 4 Sep 2022 11:23:43 +0000)

> Date: Sun, 4 Sep 2022 11:23:43 +0000
> Cc: rms@gnu.org, gregory@heytings.org, emacs-devel@gnu.org
> From: Alan Mackenzie <acm@muc.de>
> 
> > > A few days ago you said it could use char-displayable-p
> > > to determine this.  If that works, it solves the problem of finding out
> > > which characters to display as diamond.
> 
> > It works, but looping over all the Unicode characters is very slow, so
> > doing that at each startup would be unacceptable.  If someone needs, I
> > can show a simple code to be run by the user, once, on the Linux
> > console, that would allow then to determine the codepoint ranges for
> > which the U+FFFD (or any other) replacements are needed, so that users
> > could run that code, and then put such customizations in their init
> > files.  We could even have a special command to do that, if people
> > think it's important and helpful.
> 
> > But all I hear till now is flat rejection of that solution, which is a
> > very weak incentive (to say the least) to work on such a command.
> 
> I will start working on this soon (if nobody else does in the meantime).

No need, it's already done.  See the new command
standard-display-by-replacement-char.

> I envisage having a minor mode specific to the Linux console, which when
> enabled for the first time will do the loop over all Unicode characters
> testing them for glyps, and create the display table.

This loop takes a long time (25 sec in my unoptimized build, likely 5
sec in optimized ones), and needs to be run only once on a given
terminal.  So instead the command I added produces a buffer with Lisp
code that you could eval and also add to your init file, to be run
every startup.

> This can then be
> stored in .emacs in the customisation section.  When the mode is
> enabled, this display table will be used to output the \ufffd's.  When
> disabled, the glyphless characters will get printed as hex strings, as
> currently.  Possibly this will involve having two display tables which
> will get swapped when the mode is en/disabled.  Or something like that.

I don't really see a reason to reset the display table to its default
state, especially since it isn't clear what is that default.  E.g.,
the startup code could add a few entries in the display-table (to show
the Help buffers), as does info.el.  You don't want to lose those
setting, and there's no easy way of discerning them from the ones
produced by the command we are discussing.



  reply	other threads:[~2022-09-04 13:01 UTC|newest]

Thread overview: 264+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-26  3:33 Display of undisplayable characters: \U01F3A8 instead of diamond Richard Stallman
2022-08-26  5:21 ` Emanuel Berg
2022-08-26  6:45 ` Eli Zaretskii
2022-08-26  8:23   ` Emanuel Berg
2022-08-26  8:45     ` Emanuel Berg
2022-08-26  9:05     ` Yuri Khan
2022-08-26  9:11       ` Emanuel Berg
2022-08-26  9:28         ` Yuri Khan
2022-08-26  9:40           ` Emanuel Berg
2022-08-26  9:47             ` Emanuel Berg
2022-08-26  9:50               ` Yuri Khan
2022-08-26  9:54                 ` Emanuel Berg
2022-08-26  9:50             ` Emanuel Berg
2022-08-28  4:04   ` Richard Stallman
2022-08-28  6:10     ` Eli Zaretskii
2022-08-28  6:51       ` Emanuel Berg
2022-08-28  7:04         ` Emanuel Berg
2022-08-28  7:09           ` Emanuel Berg
2022-08-28  7:10           ` Eli Zaretskii
2022-08-28  7:21             ` Emanuel Berg
2022-08-26  6:52 ` Kévin Le Gouguec
2022-08-26  7:15   ` Eli Zaretskii
2022-08-26  8:37     ` Emanuel Berg
2022-08-26  8:52       ` Emanuel Berg
2022-08-26  9:24         ` Emanuel Berg
2022-08-26  9:25         ` Andreas Schwab
2022-08-26  9:32           ` Emanuel Berg
2022-08-26 17:41     ` Kévin Le Gouguec
2022-08-26 19:34       ` Emanuel Berg
2022-08-28  4:04     ` Richard Stallman
2022-08-28  5:32       ` Emanuel Berg
2022-08-26  9:58 ` Gregory Heytings
2022-08-26 10:11   ` Emanuel Berg
2022-08-26 10:59     ` Gregory Heytings
2022-08-26 11:31       ` Emanuel Berg
2022-08-26 12:15         ` Gregory Heytings
2022-08-26 12:56   ` Alan Mackenzie
2022-08-26 13:29     ` Gregory Heytings
2022-08-28 10:35       ` Alan Mackenzie
2022-08-28 10:41         ` Eli Zaretskii
2022-08-28 13:00           ` Gregory Heytings
2022-08-28 14:18             ` Eli Zaretskii
2022-08-28 14:44               ` Gregory Heytings
2022-08-28 15:05                 ` Eli Zaretskii
2022-08-28 15:18                   ` Gregory Heytings
2022-08-28 15:34                     ` Eli Zaretskii
2022-08-28 15:53                       ` Gregory Heytings
2022-08-28 16:00                         ` Eli Zaretskii
2022-08-28 16:07                           ` Gregory Heytings
2022-08-28 16:09                             ` Eli Zaretskii
2022-08-28 20:07                 ` Gregory Heytings
2022-08-29 11:03                   ` Eli Zaretskii
2022-08-29 18:48                     ` Gregory Heytings
2022-08-28 15:39               ` Alan Mackenzie
2022-08-28 15:43                 ` Eli Zaretskii
2022-08-28 15:35             ` Alan Mackenzie
2022-08-28 15:37               ` Eli Zaretskii
2022-08-28 15:46               ` Gregory Heytings
2022-08-28 16:14                 ` Alan Mackenzie
2022-08-28 16:53                   ` Gregory Heytings
2022-08-28 18:27                 ` Stefan Monnier
2022-08-28 18:44                   ` Stefan Monnier
2022-08-28 18:45                   ` Alan Mackenzie
2022-08-28 20:09                     ` Gregory Heytings
2022-08-28 20:37                       ` Alan Mackenzie
2022-08-28 20:09             ` Emanuel Berg
2022-08-28 14:25           ` Alan Mackenzie
2022-08-28 14:59             ` Gregory Heytings
2022-08-28 20:05           ` Emanuel Berg
2022-08-29 10:58             ` Eli Zaretskii
2022-08-29 11:26               ` Yuri Khan
2022-08-29 11:37                 ` Eli Zaretskii
2022-08-29 12:21                   ` Alan Mackenzie
2022-08-28 12:40         ` Gregory Heytings
2022-08-26 21:45 ` Alan Mackenzie
2022-08-26 22:56   ` Emanuel Berg
2022-08-27  7:12     ` Eli Zaretskii
2022-08-27  7:22       ` Visuwesh
2022-08-27  9:11         ` Eli Zaretskii
2022-08-27 10:43           ` Visuwesh
2022-08-28  4:04   ` Richard Stallman
2022-08-28  5:22     ` Eli Zaretskii
2022-08-28 10:07       ` Alan Mackenzie
2022-08-28 10:29         ` Eli Zaretskii
2022-08-28 11:07           ` Alan Mackenzie
2022-08-28 11:44             ` Eli Zaretskii
2022-08-28 13:56               ` Alan Mackenzie
2022-08-27  5:44 ` Akib Azmain Turja
2022-08-27  7:29   ` Andreas Schwab
2022-08-27  9:13     ` Eli Zaretskii
2022-08-27 17:24       ` Emanuel Berg
2022-08-27 17:41         ` Eli Zaretskii
2022-08-27 21:50           ` Emanuel Berg
2022-08-28  2:15             ` Emanuel Berg
2022-08-28  5:45             ` Eli Zaretskii
2022-08-28  6:02               ` Emanuel Berg
2022-08-27 17:22   ` Emanuel Berg
2022-08-29  3:36   ` Richard Stallman
2022-08-29 13:00     ` Eli Zaretskii
2022-08-30  4:12       ` Richard Stallman
2022-08-30 11:41         ` Eli Zaretskii
2022-08-30 12:15           ` Eli Zaretskii
2022-08-30 15:44         ` Gregory Heytings
2022-08-31  0:34           ` Emanuel Berg
2022-08-31  2:35             ` Eli Zaretskii
2022-08-31  3:00               ` Emanuel Berg
2022-08-31 11:00                 ` Eli Zaretskii
2022-09-01 23:32           ` Richard Stallman
2022-09-01 23:39             ` Emanuel Berg
2022-09-01 23:49               ` Emanuel Berg
2022-09-02  6:37             ` Eli Zaretskii
2022-09-02 12:21               ` Akib Azmain Turja
2022-09-02 12:36                 ` Eli Zaretskii
2022-09-02 12:39                 ` Gregory Heytings
2022-09-03  2:51                 ` Richard Stallman
2022-09-03  3:04                   ` Emanuel Berg
2022-09-03  6:35                   ` Akib Azmain Turja
2022-09-03  6:54                   ` Gregory Heytings
2022-09-03  8:13                     ` Emanuel Berg
2022-09-03  8:55                       ` Gregory Heytings
2022-09-03  9:04                         ` Emanuel Berg
2022-09-03  9:34                           ` Eli Zaretskii
2022-09-03  9:42                             ` Emanuel Berg
2022-09-03  9:55                               ` Eli Zaretskii
2022-09-03 12:48                                 ` Akib Azmain Turja
2022-09-08  2:56                             ` Richard Stallman
2022-09-08  7:16                               ` Eli Zaretskii
2022-09-08  9:14                               ` Gregory Heytings
2022-09-09  3:03                                 ` Richard Stallman
2022-09-09  7:30                                   ` Gregory Heytings
2022-09-09  8:10                                     ` Po Lu
2022-09-09 10:08                                       ` Emanuel Berg
2022-09-09 10:13                                         ` Gregory Heytings
2022-09-09 10:25                                           ` Emanuel Berg
2022-09-09 11:11                                             ` Eli Zaretskii
2022-09-09 11:04                                         ` Eli Zaretskii
2022-09-09 10:13                                       ` Emanuel Berg
2022-09-09 11:10                                         ` Eli Zaretskii
2022-09-09 10:52                                       ` Eli Zaretskii
2022-09-10  1:42                                         ` Emanuel Berg
2022-09-09 11:18                                       ` Gregory Heytings
2022-09-09 13:47                                         ` Po Lu
2022-09-09 14:08                                           ` Gregory Heytings
2022-09-10 15:09                                             ` Emanuel Berg
2022-09-09 14:15                                           ` Eli Zaretskii
2022-09-10 15:01                                           ` Emanuel Berg
2022-09-10 14:56                                         ` Emanuel Berg
2022-09-09 10:09                                     ` Emanuel Berg
2022-09-03  9:17                     ` Yuri Khan
2022-09-03  9:28                       ` Gregory Heytings
2022-09-03  9:36                         ` Emanuel Berg
2022-09-03  9:31                       ` Emanuel Berg
2022-09-03  9:40                         ` Yuri Khan
2022-09-03  9:47                           ` Emanuel Berg
2022-09-03 10:00                             ` Emanuel Berg
2022-09-03 12:47                               ` Akib Azmain Turja
2022-09-05  2:47                                 ` Emanuel Berg
2022-09-05  6:08                                   ` enum (was: Re: Display of undisplayable characters: \U01F3A8 instead of diamond) Emanuel Berg
2022-09-08  4:50                                     ` enum Emanuel Berg
2022-09-05  4:05                     ` Display of undisplayable characters: \U01F3A8 instead of diamond Richard Stallman
2022-09-05  4:51                       ` Emanuel Berg
2022-09-03  2:51               ` Richard Stallman
2022-09-02  7:28             ` Gregory Heytings
2022-09-02 11:12               ` Alan Mackenzie
2022-09-02 11:29                 ` Eli Zaretskii
2022-09-02 13:39                   ` Alan Mackenzie
2022-09-02 13:44                     ` Gregory Heytings
2022-09-02 13:59                     ` Eli Zaretskii
2022-09-02 16:12                       ` Alan Mackenzie
2022-09-02 16:26                         ` Eli Zaretskii
2022-09-03  5:27                           ` Tomas Hlavaty
2022-09-03  8:15                             ` Emanuel Berg
2022-09-03  8:29                               ` Emanuel Berg
2022-09-05  4:05                                 ` Richard Stallman
2022-09-04 13:23                           ` Andreas Schwab
2022-09-02 19:19                         ` Gregory Heytings
2022-09-03  2:51                       ` Richard Stallman
2022-09-03  6:44                         ` Eli Zaretskii
2022-09-04 11:23                           ` Alan Mackenzie
2022-09-04 13:01                             ` Eli Zaretskii [this message]
2022-09-05 18:59                               ` Alan Mackenzie
2022-09-06  4:15                                 ` Richard Stallman
2022-09-05  4:01                             ` Richard Stallman
2022-09-05  4:05                           ` Richard Stallman
2022-09-05  4:55                             ` Emanuel Berg
2022-09-05 11:33                             ` Eli Zaretskii
2022-09-06  4:20                               ` Emanuel Berg
2022-09-06 10:01                                 ` Eli Zaretskii
2022-09-06 10:38                                   ` Emanuel Berg
2022-09-06 13:03                                     ` Eli Zaretskii
2022-09-07  1:03                                       ` Emanuel Berg
2022-09-07  2:37                                         ` Eli Zaretskii
2022-09-07  3:21                                           ` Emanuel Berg
2022-09-07 11:02                                             ` Eli Zaretskii
2022-09-07 13:12                                               ` Yuri Khan
2022-09-07 13:34                                                 ` Eli Zaretskii
2022-09-07 13:58                                                   ` Yuri Khan
2022-09-07 14:20                                                     ` Eli Zaretskii
2022-09-07 15:48                                                       ` Tomas Hlavaty
2022-09-07 16:48                                                         ` Stefan Monnier
2022-09-07 17:02                                                           ` Tomas Hlavaty
2022-09-08 12:26                                                           ` Emanuel Berg
2022-09-07 18:03                                                         ` Eli Zaretskii
2022-09-08 12:28                                                           ` Emanuel Berg
2022-09-08 12:24                                                         ` Emanuel Berg
2022-09-07 17:29                                                       ` Yuri Khan
2022-09-07 18:32                                                         ` Eli Zaretskii
2022-09-09  9:56                                                           ` Emanuel Berg
2022-09-09 11:01                                                             ` Eli Zaretskii
2022-09-10  4:41                                                               ` Emanuel Berg
2022-09-10  6:33                                                                 ` Eli Zaretskii
2022-09-10 15:19                                                                   ` Emanuel Berg
2022-09-10 15:40                                                                     ` Eli Zaretskii
2022-09-10 15:55                                                                       ` Emanuel Berg
2022-09-10 17:18                                                                         ` Emanuel Berg
2022-09-20  1:09                                                                           ` Emanuel Berg
2022-09-08 12:29                                                         ` Emanuel Berg
2022-09-08 12:14                                                       ` Emanuel Berg
2022-09-08  2:12                                                     ` Emanuel Berg
2022-09-08  1:32                                                 ` Emanuel Berg
2022-09-08  6:17                                                   ` Eli Zaretskii
2022-09-09  9:59                                                     ` Emanuel Berg
2022-09-09 11:02                                                       ` Eli Zaretskii
2022-09-10  6:49                                                       ` Richard Stallman
2022-09-07  2:19                               ` Richard Stallman
2022-09-07 13:21                                 ` Eli Zaretskii
2022-09-03  2:51                     ` Richard Stallman
2022-09-03  3:09                       ` Emanuel Berg
2022-09-03  6:36                       ` Eli Zaretskii
2022-09-06  4:13                         ` Richard Stallman
2022-09-06  4:18                           ` Emanuel Berg
2022-09-08  2:56                             ` Richard Stallman
2022-09-02 11:39                 ` Gregory Heytings
2022-09-02 12:30                   ` Eli Zaretskii
2022-09-02 12:44                     ` Gregory Heytings
2022-09-02 13:14                       ` Eli Zaretskii
2022-09-02 14:15                         ` Gregory Heytings
2022-09-02 15:20                           ` Eli Zaretskii
2022-09-02 15:27                             ` Gregory Heytings
2022-09-02 15:34                               ` Gregory Heytings
2022-09-02 15:45                                 ` Gregory Heytings
2022-09-02 16:06                                   ` Eli Zaretskii
2022-09-02 16:30                                     ` Eli Zaretskii
2022-09-02 16:37                                     ` Gregory Heytings
2022-09-02 16:55                                       ` Andreas Schwab
2022-09-02 16:56                                         ` Gregory Heytings
2022-09-02 18:19                                           ` Eli Zaretskii
2022-09-02 18:24                                             ` Eli Zaretskii
2022-09-02 19:13                                               ` Gregory Heytings
2022-09-02 16:03                                 ` Eli Zaretskii
2022-09-02 16:02                               ` Eli Zaretskii
2022-09-02 13:13                   ` Alan Mackenzie
2022-09-02 13:41                     ` Gregory Heytings
2022-09-02 15:38                       ` Alan Mackenzie
2022-09-02 16:00                         ` Gregory Heytings
2022-09-02 16:32                           ` Stefan Monnier
2022-09-02 16:55                         ` Yuri Khan
2022-09-03  5:35                         ` Tomas Hlavaty
2022-09-03  5:49                           ` Jean Louis
2022-09-03  9:16                             ` Emanuel Berg
2022-09-03  6:46                           ` Gregory Heytings
2022-09-02 11:47     ` Akib Azmain Turja
2022-09-02 12:07       ` Gregory Heytings
2022-09-02 12:45       ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83o7vvl2da.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    --cc=gregory@heytings.org \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).