Hi,

In various places of the BBDB source code, it uses (downcase name) like
tricks to compare the identifiers, e.g. aka names. But default downcase
function of emacs uses current LC_CTYPE that emacs session is
initialized with. As a result of this, when gnus receives messages
encoded in different locales, bbdb doesn't switch to the case conversion
table related mail locale is set to and `downcase' doesn't work as it
should. Consider below case.

- Emacs is initialized with en_US.UTF-8 locale,
- And mail is encoded in tr_TR.UTF-8 where "From:" line is "İI".

By default, (downcase name) will return "İi", which is obviously
broken. (The correct conversion should be "iı".)

I searched previous posts[1] regarding with the similar issues, which
recommends (funcall 'string-make-unibyte name) like hacks, but this
doesn't solve the problem too. (Locale is still not changed during
conversion.)

  (let ((name (string-make-unibyte "İI")))
    (list name (downcase name)))
  => ("\320I" "\320i")

I'm not very good at BBDB internals. Could somebody help me to fix the
problem?


Regards.

[1] http://www.mail-archive.com/bbdb-info%40lists.sourceforge.net/msg04647.html

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Reply via email to