[Top][All Lists]

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

Re: address@hidden: Locale Dependent Downcasing in smtpmail]

From: Kenichi Handa
Subject: Re: address@hidden: Locale Dependent Downcasing in smtpmail]
Date: Tue, 03 Apr 2007 10:24:31 +0900
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/22.0.95 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI)

In article <address@hidden>, Chong Yidong <address@hidden> writes:

> Kenichi Handa <address@hidden> writes:
>>> smtpmail tries to downcase the strings using DOWNCASE function
>>> during the SMTP communication.  In Turkish, downcased I is a
>>> dotless i.  Therefore, while it tries to downcase some AUTH
>>> mechanisms (in smtpmail-via-smtp function), PLAIN and LOGIN turns
>>> into pla?n and log?n.
> >
> > Does the attached change fix the problem?
> >
> > !           (let ((name (mapcar (lambda (s)
> > !                                 (setq s (downcase s))
> > !                                 ;; If `I' is downcased to dotless-i,
> > !                                 ;; convert it to `i'.
> > !                                 (if (/= (downcase ?I) ?i)
> > !                                     (subst-char-in-string
> > !                                      (downcase ?I) ?i s t))
> > !                                 (intern s))

> I wonder if there's a better way to do this.  Maybe we can define an
> ascii case table that doesn't get overwritten by the locale; then code
> like the above can bind to this case table temporarily (or we can
> define a downcase-ascii function that does such a thing).

> But maybe, for Emacs 22, the above hack is all we need.  Is it true
> that in practice, all we have to worry about is "i"?

In practice I think only dotless-i is the problematic
character.  But, I don't know what is the right thing for
the code around there for non-ascii characters.  For
instance, dotted-I (U+0130) is downcased to `i'.  Is it ok?

Kenichi Handa

reply via email to

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