From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: char-table-range Date: Fri, 20 Feb 2004 08:42:21 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <200402160043.JAA17207@etlken.m17n.org> <200402160130.i1G1UKG04241@raven.dms.auburn.edu> <200402190128.i1J1StG21175@raven.dms.auburn.edu> Reply-To: rms@gnu.org NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1077284966 6039 80.91.224.253 (20 Feb 2004 13:49:26 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 20 Feb 2004 13:49:26 +0000 (UTC) Cc: handa@m17n.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Fri Feb 20 14:49:14 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AuB1m-00007H-00 for ; Fri, 20 Feb 2004 14:49:14 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1AuB1m-0001gg-00 for ; Fri, 20 Feb 2004 14:49:14 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1AuAyH-0002wC-DP for emacs-devel@quimby.gnus.org; Fri, 20 Feb 2004 08:45:37 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1AuAvp-0002IN-Kz for emacs-devel@gnu.org; Fri, 20 Feb 2004 08:43:05 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1AuAvU-0002Bm-HO for emacs-devel@gnu.org; Fri, 20 Feb 2004 08:42:54 -0500 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1AuAvT-0002BI-QY for emacs-devel@gnu.org; Fri, 20 Feb 2004 08:42:43 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.24) id 1AuAv7-0001r9-Nv; Fri, 20 Feb 2004 08:42:21 -0500 Original-To: Luc Teirlinck In-reply-to: <200402190128.i1J1StG21175@raven.dms.auburn.edu> (message from Luc Teirlinck on Wed, 18 Feb 2004 19:28:55 -0600 (CST)) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:20081 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:20081 I did not realize that currently, for charsets different from ascii and eight-bit-{control,graphic}, char-table-range actually returns the entire range of values if the value is not uniform. That seems like a good thing for it to to. Yes, but Handa remarked that the return value is given in a form (sub-char-table) which is not supposed to be exported to Lisp. That is unfortunate. The distinction between char-tables and sub-char-tables is one that "sort of grew", and is sill being clarified. I am currently reading the Elisp chapter on sequences. In the section on chartables several things are wrongly, incompletely or ambiguously documented. I will take care of that, but I do not want to "document" bugs. Thank you. Setting the default value using `set-char-table-default' does _not_ override non-nil pre-existing values in the charset _except_ for the generic character itself. Setting the generic character itself overrides the entire charset. Is this intentional? I don't know. But it is not very clean, so it would be nice to change it, if that does not cause some other problem. Handa, do you know if anything depends on this? The second thing that looks _somewhat_ strange (but maybe it is OK) is that (make-char-table subtype init) will also set extra slots to INIT. This is somewhat unexpected because a logical default for characters would seldom seem to make sense for extra slots as well. Maybe this is intentional anyway. It looks like a misfeature to me. But before changing it, we had better see if anything depends on it. I think that means looking at all the calls to make-char-table and checking each one. Can you do that?