emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: case-table functions clobbering extra slots


From: Dave Love
Subject: Re: case-table functions clobbering extra slots
Date: Fri, 28 Jan 2005 23:05:15 +0000
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3 (gnu/linux)

Richard Stallman <address@hidden> writes:

> Of course, to really solve these problems, after the release, we need
> a more thorough change.  I think Greek uses two forms of lower-case
> sigma, one at the end of the word, one elsewhere.

Yes.

> To downcase correctly requires determining where the sigma is.

Yes, but I'm not sure it's really worth it.  Greek experts should
probably comment.

> Then there's the problem of ß in German, which I believe should
> upcase to SS.  And SS in some (but not all?)  cases should downcase
> into ß in German.

I'm not sure the latter is actually done.

> I think the mechanism of case tables is thus inadequate.  The question
> is whether to replace it or extend it.

I thought I said something about this before, but maybe I decided not
to confuse the issue.  I think you have more important things to deal
with.

I think you could make an extra extra slot for the table to specify
special cases by arbitrary (pairs of?) functions.  Emacs 22 allows
caseification to change byte length in a buffer, but I don't know
whether it could deal with changing character length of what the
situation is for strings.

> Do you have a complete list of problem cases for case conversion in
> Emacs?  Would you like to start designing a full solution?

The relevant Unicode tables are
http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt and
http://www.unicode.org/Public/UNIDATA/CaseFolding.txt; I think they
reference the Unicode standard and associated technical reports.  I
assume the data are programmed into libc locale functions.

I did Turkish `i's for Emacs 22.  As far as I remember, there's a
similar issue for some other language(s) for which you don't currently
have an environment.  You can't do it in 21 because of the restriction
to the same byte length.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]