Subject: bug#13041: 24.2; diacritic-fold-search

From: Eli Zaretskii <[email-masked]>
Date: Wed, 05 Dec 2012 23:19:35 +0200

> From: "Drew Adams" <[email-masked]>
> Cc: <[email-masked]>, <[email-masked]>, <[email-masked]>
> Date: Wed, 5 Dec 2012 11:17:04 -0800
> 
> > > I'm surprised to see case mappings hard-coded in
> > > lisp/international/characters.el instead of using the properties
> > > `uppercase' and `lowercase' during creation of case tables.
> > 
> > My guess is that this is because the code in characters.el was written
> > long before we had access to Unicode character properties in Emacs,
> > and in fact before Emacs was switched to character representation
> > based on Unicode codepoints.  And no one bothered to rewrite that code
> > since then; volunteers are welcome.
> 
> Doesn't file CaseFolding.txt contain all the info needed?

You don't need CaseFolding.txt, because UnicodeData.txt includes the
same information, and uni-lowercase.el, uni-uppercase.el, and
uni-titlecase.el already read that information into char-tables.

> If so, what about populating the case tables from the latest CaseFolding.txt
> file at Emacs build time?  Or if no Internet access during build, populate from
> a copy of the file to be distributed with Emacs.
> 
> And provide the same population code as a Lisp function, in case someone wants
> to refresh an old Emacs release to use a more recent CaseFolding.txt file.
> 
> Would this make any sense?

It would make sense to load case tables from uni-*.el at Emacs build
time.  Volunteers are welcome.