How to disable case-sensitivity for filename auto-completion in Emacs 24 shell-mode?
On upgrading from Emacs 23 to Emacs 24, filename completion suddenly became case sensitive in shell-mode. I had customized Emacs 23 to be case insensitive in this case but I forget the exact customizations now. Going over my .emacs file, I see that read-file-name-completion-ignore-case is set to non-nil. However, that seems to have no effect in Emacs 24's shell-mode.
So it turns out that shell-mode in Emacs 24 uses pcomplete by default. pcomplete was always the default for eshell but Emacs 24 has made it so for shell too.
pcomplete-ignore-case controls case sensitivity for pcomplete. I got back case insensitivity for filename autocompletion in shell-mode in Emacs 24 by adding the following to my .emacs file.
(setq pcomplete-ignore-case t)