From: Luc Teirlinck <teirllm@dms.auburn.edu>
Subject: set-char-table-range with charset arguments
Date: Wed, 10 Dec 2003 20:13:54 -0600 (CST) [thread overview]
Message-ID: <200312110213.hBB2DsO28953@raven.dms.auburn.edu> (raw)
There are several mistakes and omissions in `(elisp)Char-Tables',
which I am trying to correct. However, there are things I quite
simply do not understand and which do not seem to be documented
anywhere. For instance, in the ielm run below, ascii seems to get
treated as completely _synonymous_ with 128. Setting the entire ascii
range seems to affect 128 and no other character. Similar things
happen with eight-bit-graphic (synonymous with 256) and
eight-bit-control.
The ielm run below first shows the expected behavior for the character
set ipa to show the contrast with the strange behavior for ascii.
Is that behavior a bug or does it serve some purpose? If the latter,
where is that purpose documented? (What is the value stored in 128
used for and where is it explained what it is used for?) Maybe
set-char-table-range was never designed to work with the three
character sets without generic characters, but in that case, should it
not throw an error instead of doing cryptic stuff?
===File ~/ascii-ielm========================================
*** Welcome to IELM *** Type (describe-mode) for help.
ELISP> (put 'five-slots 'char-table-extra-slots 5)
5
ELISP> (setq cc (make-char-table 'five-slots))
;; Long output omitted.
ELISP> (make-char 'ipa)
6272
ELISP> (set-char-table-range cc 'ipa "ipa")
"ipa"
ELISP> (aref cc 6272)
"ipa"
ELISP> (aref cc 6300)
"ipa"
ELISP> (aset cc 6272 1001)
1001
ELISP> (aref cc 6300)
1001
ELISP> (set-char-table-range cc 'ascii 1)
1
ELISP> (make-char 'ascii)
0
ELISP> (aref cc 0)
nil
ELISP> (aref cc 32)
nil
ELISP> (aref cc 128)
1
ELISP> (aref cc 129)
nil
ELISP> (char-table-range cc 'ascii)
1
ELISP> (aset cc 128 10)
10
ELISP> (char-table-range cc 'ascii)
10
ELISP> (char-valid-p 128)
t
ELISP> (char-valid-p 6272)
nil
ELISP>
============================================================
next reply other threads:[~2003-12-11 2:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-11 2:13 Luc Teirlinck [this message]
2003-12-11 2:52 ` set-char-table-range with charset arguments Kenichi Handa
2003-12-11 3:17 ` Luc Teirlinck
2003-12-11 4:17 ` Kenichi Handa
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=200312110213.hBB2DsO28953@raven.dms.auburn.edu \
--to=teirllm@dms.auburn.edu \
/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).