From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#12086: 24.1; character groups and `glyphless-char-display-control' Date: Mon, 30 Jul 2012 21:08:29 +0300 Message-ID: <83ehntf7fm.fsf@gnu.org> References: <668B252039BF4F4C94CA192B9D2D68DE@us.oracle.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: dough.gmane.org 1343671742 11254 80.91.229.3 (30 Jul 2012 18:09:02 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 30 Jul 2012 18:09:02 +0000 (UTC) Cc: 12086@debbugs.gnu.org To: Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jul 30 20:08:55 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SvuOk-0000b5-Fu for geb-bug-gnu-emacs@m.gmane.org; Mon, 30 Jul 2012 20:08:54 +0200 Original-Received: from localhost ([::1]:33684 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SvuOj-000230-Ok for geb-bug-gnu-emacs@m.gmane.org; Mon, 30 Jul 2012 14:08:53 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:60530) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SvuOh-00022s-DU for bug-gnu-emacs@gnu.org; Mon, 30 Jul 2012 14:08:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SvuOf-0000xq-H3 for bug-gnu-emacs@gnu.org; Mon, 30 Jul 2012 14:08:51 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:41865) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SvuOf-0000xj-Df for bug-gnu-emacs@gnu.org; Mon, 30 Jul 2012 14:08:49 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SvuVe-0008Aq-P8 for bug-gnu-emacs@gnu.org; Mon, 30 Jul 2012 14:16:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 30 Jul 2012 18:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12086 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 12086-submit@debbugs.gnu.org id=B12086.134367213731388 (code B ref 12086); Mon, 30 Jul 2012 18:16:02 +0000 Original-Received: (at 12086) by debbugs.gnu.org; 30 Jul 2012 18:15:37 +0000 Original-Received: from localhost ([127.0.0.1]:51411 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SvuVD-0008AB-Va for submit@debbugs.gnu.org; Mon, 30 Jul 2012 14:15:37 -0400 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:38372) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SvuVA-0008A1-2i for 12086@debbugs.gnu.org; Mon, 30 Jul 2012 14:15:33 -0400 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0M7Z00F00JOH4V00@a-mtaout21.012.net.il> for 12086@debbugs.gnu.org; Mon, 30 Jul 2012 21:08:15 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M7Z00FWPJPR0D50@a-mtaout21.012.net.il>; Mon, 30 Jul 2012 21:08:15 +0300 (IDT) In-reply-to: <668B252039BF4F4C94CA192B9D2D68DE@us.oracle.com> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:62651 Archived-At: > From: "Drew Adams" > Date: Sun, 29 Jul 2012 15:28:47 -0700 > > How is someone to know how a character group is displayed that is not > listed in `glyphless-char-display-control'? This is covered in the "Usual Display" node of the ELisp manual, which is earlier in the same chapter. Assuming that enough references to that node are added to "Glyphless Chars", so that it's clear what happens with the other characters, what else is missing? > 2. I also wonder about the critter called a character "group", which is > apparently new with Emacs 24. Where is the notion of character group > defined? It's not really a notion, it comes from the '(GROUP . METHOD)' form of glyphless-char-display-control. There's nothing else to it. > And how does this critter relate, for instance, to a character set > (charset)? For example, `c1-control' is a character group and > `control-1' is a charset. But these seem to include the same set of > characters: > > `describe-character-set control-1' says that it is the 8-bit control > codes (0x80..0x9F). The doc for `glyphless-char-display-control' says > that group `c1-control' is the non-ASCII, non-printing characters > `U+0080' to `U+009F'. > > Is that a coincidence or a deliberate correspondence? Any rational > relation between char groups and charsets should be documented. The > relation between char group `c1-control' and charset `control-1' seems > to be one such presumably rational relation. It's a convenience device, nothing more. The groups were chosen to allow convenient reference to groups of characters that have similar properties, as far as display is concerned. c0-control and c1-control are the names of these groups in old standards, see http://en.wikipedia.org/wiki/C0_and_C1_control_codes, for example. I see no particular reason to delve into that in the manual; people who know what these are will "Aha!" when they read; for others there's an explicit definition of these groups in the manual. > 3. How, if it is even possible, can a programmer turn off the effect of > the glyphless display, which uses face `glyphless-char'? As with every char-table: put nil in the character cell of the character for which you want to disable this display. If you want to display it entirely, make the entire char-table full of nil. > 4. If I do (insert-char #x80 4), I see four \200 chars in what appears to be > face `escape-glyph', and NOT in face `glyphless-char'. Doesn't the doc say that > `glyphless-char' is used? See "Usual Display" (although the face is not mentioned there). > And `C-u C-x =' does not say anything about either of those faces. Because it doesn't know about them. These faces are produced by the display engine directly, as part of rendering the non-printable characters, not via text properties. So "C-u C-=", which looks for text properties and overlays, doesn't see them.