…de to catch errors
These newly added characters are illegal for Windows filenames (although it is possible to create files with such names on NTFS, the API to access these files will prohibit them unless you do something special). We are prohibiting these same characters on Linux because they're a bad idea to use. Upgrading a database with a name containing illegal characters will cause the new mongod to fail to start.
If mongo.exe exits on Windows while a terminal stream is in use, the internal critical section of the ostream gets destructed out from underneath it. This causes the output thread to hang waiting for a cs that will never become unlocked. Switching to printf() avoids this issue. This problem readily occurs when mongo.exe spawns other programs and pipes their output through itself to the terminal. This is a common thing to do in unit tests.
"--quotaFiles arg number of files allower per db" ... should be "allowed". Tweak order slightly.
…we use it
Add support for the Meta-< (beginning-of-history) and Meta-> (end-of-history) keystrokes. Improve the handling of unsaved input on the "current" (new) command line when beginning to move through history with ctrl-R, up-arrow, Meta-<, etc.
…s, or if another issue