From: Luc Teirlinck <teirllm@dms.auburn.edu>
Cc: emacs-devel@gnu.org, handa@m17n.org
Subject: Re: char-table-range
Date: Fri, 20 Feb 2004 18:03:11 -0600 (CST) [thread overview]
Message-ID: <200402210003.i1L03Bo05498@raven.dms.auburn.edu> (raw)
In-Reply-To: <E1AuAv7-0001r9-Nv@fencepost.gnu.org> (message from Richard Stallman on Fri, 20 Feb 2004 08:42:21 -0500)
Richard Stallman wrote:
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?
It seems to be used (?) in exactly one place in the Emacs source code
(if I did not overlook anything): china-util.el
There we find the function `expand-euc-big5-alist' which is defined
inside an eval-when-compile and it is normally not defined at runtime.
It contains the line:
(let ((chartable (make-char-table 'translation-table #xFF))
`chartable' is used in the return value. This sets all values,
including extra slots to #xFF = 255. `expand-euc-big5-alist' is used
to put a translation-table property on the symbol `big5-to-cns' (whose
actual value as a variable is another translation table). The value
of that translation-table property has its two extra slots set to 255.
Ielm run illustrating the above:
===File ~/china-util-ielm===================================
*** Welcome to IELM *** Type (describe-mode) for help.
ELISP> (load "china-util")
t
ELISP> (setq tt (get 'big5-to-cns 'translation-table))
;; Long ouput omitted
ELISP> (char-table-extra-slot tt 0)
255
ELISP> (char-table-extra-slot tt 1)
255
ELISP> (expand-euc-big5-alist nil)
*** Eval error *** Symbol's function definition is void: expand-euc-big5-alist
ELISP> (load "china-util.el")
t
ELISP> (expand-euc-big5-alist nil)
#^[t 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 !
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 nil translation-table 255 255]
ELISP>
============================================================
next prev parent reply other threads:[~2004-02-21 0:03 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-16 0:43 char-table-range Kenichi Handa
2004-02-16 1:30 ` char-table-range Luc Teirlinck
2004-02-18 23:38 ` char-table-range Richard Stallman
2004-02-19 1:28 ` char-table-range Luc Teirlinck
2004-02-19 15:40 ` char-table-range Luc Teirlinck
2004-02-20 13:42 ` char-table-range Richard Stallman
2004-02-21 0:03 ` Luc Teirlinck [this message]
[not found] ` <200403020247.LAA16492@etlken.m17n.org>
2004-03-03 3:39 ` char-table-range Luc Teirlinck
2004-03-03 4:50 ` char-table-range Kenichi Handa
2004-03-04 16:41 ` char-table-range Richard Stallman
2004-03-03 4:51 ` char-table-range Kenichi Handa
2004-02-19 1:52 ` char-table-range Luc Teirlinck
2004-02-20 13:42 ` char-table-range Richard Stallman
2004-02-16 2:12 ` char-table-range Luc Teirlinck
2004-02-16 4:08 ` char-table-range Kenichi Handa
2004-02-18 17:55 ` char-table-range Richard Stallman
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=200402210003.i1L03Bo05498@raven.dms.auburn.edu \
--to=teirllm@dms.auburn.edu \
--cc=emacs-devel@gnu.org \
--cc=handa@m17n.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).