read-buffer-completion-ignore-case to non-
C-h v read-buffer-completion-ignore-case tells you:
read-buffer-completion-ignore-case is a variable defined in
C source code.
Its value is
nil means completion ignores case when reading a buffer name.
You can customize this variable.
This variable was introduced, or its default value was changed, in
version 23.1 of Emacs.
Please consider filing a bug report (enhancement request), asking for the doc of
switch-to-buffer and similar commands to mention the option:
I agree that it's not obvious. I looked at the source code for that command and followed the trail backward through a few functions to finally stumble on the option. (Yes, I could have guessed there was such an option and tried
apropos to find it.)