Subject: bug#37820: 25.2; xref using etags incorrect case fold during completion

From: Radey Shouman <[email-masked]>
Date: Sat, 19 Oct 2019 13:34:10 -0400

Eli Zaretskii writes:
 > > Date: Fri, 18 Oct 2019 20:13:31 -0400
 > > From: Radey Shouman <[email-masked]>
 > > Cc: [email-masked]
 > > 
 > > In order to reproduce the bug, set tags-case-fold-search to t,
 > > completion-ignore-case to nil
 > 
 > Isn't that a contradiction of sorts?  How can we know which of these
 > two should have precedence?

I would expect that you would follow the precedent of find-tag, which
uses tags-case-fold-search and case-fold-search to determine whether
a tags search is case-sensitive or not.

Whether case should be folded during completion seems dependent on the
application; I have never been tempted to change the default value of
completion-ignore-case -- the note on that variable was included because
setting it to non-nil would prevent observing the bug.  From a quick look
at the lisp directory completion-ignore-case is typically used by binding
it during a completion.

The info file says:

     You can control the case-sensitivity of tags search commands by
     customizing the value of the variable ‘tags-case-fold-search’.  The
     default is to use the same setting as the value of ‘case-fold-search’
     (*note Search Case::).

I found it surprising that completion would not follow the tags search
itself in folding case, as I have become used to this useful behavior
over many years of using find-tag.