Subject: bug#44604: 27.1; gpg error when language environment is set to Turkish

From: Eli Zaretskii <[email-masked]>
Date: Sat, 14 Nov 2020 19:51:22 +0200

> From: Fatih Aydin <[email-masked]>
> Date: Sat, 14 Nov 2020 17:09:54 +0000
> Cc: Eli Zaretskii <[email-masked]>, [email-masked]
> 
> Step 1: Run 'emacs -Q'
> Step 2: M-x and type 'set-language-environment'. Write the value 'Turkish'.
> Step 3: M-x and 'eww'. Try to visit 'google.com' or any website you want.
> 
> That's all, you'll get a couple of 'Emergency (url): Unknown proxy directive: DIRECT'

The problem is in url-proxy.el: url-default-find-proxy-for-url returns
"DIRECT", but url-find-proxy-for-url tests for "^direct":

    (cond
     ((string-match "^direct" proxy) nil)

url-find-proxy-for-url binds case-fold-search to t, believing that
this would take care of the case difference, but that is false for
Turkish, because under the Turkish language-environment, we get:

  (downcase ?I) => ?ı

IOW, 'I' downcases into the dotless i.

Does anyone understand why url-proxy insists on using the likes of
"^direct" instead of "^DIRECT", i.e. why it doesn't match the case as
well?