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

From: Eli Zaretskii <[email-masked]>
Date: Tue, 24 Nov 2020 17:20:47 +0200

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Tue, 24 Nov 2020 06:16:14 +0100
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > I thought about something rather simple: a global variable, let's name
> > it overriding-case-table, that will be heeded to by the various case
> > conversions ('downcase' etc.) in preference to any other case-table.
> > Then commands that need strict ASCII case rules could bind that
> > variable, or we could use with-case-table macro, without fear that
> > different buffers will behave in different ways.
> 
> Yeah, that sounds like a better solution.  It basically means that all
> code that does code conversion (for protocol reasons) will need to be
> wrapped with that binding, and there's a lot of it in Emacs -- I'm
> guessing there's more code that needs wrapping than needs to be
> unwrapped.
> 
> Which is a pain.  But I guess just having interactive cases of
> `downcase' and friends heed the case table, and otherwise ignore it,
> isn't really workable either?  That'd be a lot less code to fix.

I think the use cases that need to heed the buffer's case-table are
more than just interactive invocations of those commands.  But we need
to audit the uses, because if it turns out the amount of those who do
need the buffer's case-table is significantly smaller, it is they
which would need to bind something, and not vice versa.