In a recent post, I parenthetically asked "How and why did 'Moslem' change to 'Muslim'? One of our readers offered the explanation (I paraphrase) "Well, 'Muslim' is closer in sound to the original Arabic word than is 'Moslem.'"
I have no doubt s/he is correct about his linguistic facts. Nevertheless, the explanation can be immediately dismissed, without any need for empirical investigation. Why? It attempts to explain a change in one circumstance by citing another condition that did not change. The problem with our reader's explanation is that, true though his point about pronunciation may be, it was just as true during all those years that English speakers said "Moslem." Since it was constant during the duration of each of the conditions, the transformation of the first of which into the second we seek to explain, it cannot possibly be the reason for the change!
The underlying principle, which I would regard as almost to obvious to bother stating, if I did not see it being violated so often, could be stated: Only a change in one condition, and never its constancy, can explain a change in another condition.
To give another example of an explanation ignoring this truth, the likes of which I have heard several times: Real estate prices in, say, New York City shoot upward. A wag is asked why, and he answers, "Well, NYC is the business capital of the world." We can dismiss his explanation without further ado, because NYC was also the business capital of the world before the real estate boom. Some factor must have changed to produce the change in prices.
In the case of the shift from 'Moslem' to Muslim,' I suspect that there was some agitation on the part of some faction to show sensitivity to or appreciation for Arabic culture. Note that there are many, many other instances in which English speakers call some group or nation by a name far more different than 'Moslem' is from 'Muslim,' without any apparent movement to 'correct' the situation -- we might as well call the nation that its residents call 'Deutschland' by the name 'GeneCallahanLand' as 'Germany.'