[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: case-table functions clobbering extra slots
From: |
Kenichi Handa |
Subject: |
Re: case-table functions clobbering extra slots |
Date: |
Wed, 2 Feb 2005 11:57:51 +0900 (JST) |
User-agent: |
SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.3.50 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI) |
In article <address@hidden>, Richard Stallman <address@hidden> writes:
> Downcase of dotted-I is dotted-i (`i'), but, in
> lang. env. other than Turkish, upcase of dotted-i must be
> dotless-I (`I'). So we need
> (set-downcase-syntax dotted-I dotted-i table)
> Ok, if we need them both, please add both.
I've just installed these changes:
o lisp/case-table.el
Add set-upcase-syntax and set-downcase-syntax, modify
th other function to maintain upcase table.
o lisp/international/characters.el, lisp/international/latin-5.el:
Setup cases of GREEK-FINAL-SIGMA, Y-WITH-DIAERESIS,
I-WITH-DOT-ABOVE, DOTLESS-i.
o src/casefiddle.c:
Enable casify_object to change characters of different
byte size. Fix casify_region to work on such a case
correctly.
o src/insdel.c
Fix bugs of replace_range_2.
Now, upcase/downcase commands on the above characters seems
to work correctly.
But, I found case-fold searching and regexp matching doesn't
work as expected. For instance, searching for DOTLESS-i
ignores `i' and `I' but find I-WITH-DOT-ABOVE. On the other
hand, all of the following returns nil:
(staring-match "DOTLESS-i" "i")
(staring-match "DOTLESS-i" "I")
(staring-match "DOTLESS-i" "I-WITH-DOT-ABOVE")
It seems that this behaviour is because compile-pattern is
given a downcase table and search_buffer is given a canon
table and an equiv table, but I still don't understand
the underlying logic of this difference.
---
Ken'ichi HANDA
address@hidden