According to the Online Etymology dictionary (as cited in this question How was the letter -u- written in Old English?):
The substitution of Middle English -o- for Old English -u- before -m-, -n-, or -r- was a scribal habit before minims to avoid misreading the letters in the old style handwriting, which jammed letters. The practice similarly transformed some, monk, tongue, worm. Modern past tense form came is Middle English, probably from Old Norse kvam, replacing Old English cuom.
I've read this idea in many other places; that "o" was a purely graphical variation of "u" in these words that did not relate to any change in pronunciation.
The OED references this idea in its entry for ton, saying:
The later Middle English spelling tonne was perhaps after French, but probably largely due to the scribal fashion of writing o for u, in contiguity to m, n, v, etc., as in son, tongue, honey, come, some, above, love etc.
At first glance, this seems plausible. The strongest evidence seems to be these 7 words listed by the OED: they are currently spelled with “o” even though they are pronounced with /ʌ/ and descend from Old English words with short /u/ (above < OE abufan, love < OE lufu, son < OE sunu, come < OE cuman, honey < OE hunig, tongue < OE tunge, some < OE sum. Since both the modern and Old English pronunciations of these words use the vowel quality of "short u," it seems simplest to assume that these words were pronounced with "short u" in Middle English as well.
However, there are also words that have "o" = /ʌ/ with no adjacent minims, such as dozen and colo(u)r, that seem to simply be modeled after French spelling (from what I can tell, French in this period often had variance between o, ou, and u in all contexts, not just adjacent to letters with minims). There also seem to be a lot of complicated sound changes in this area. As a result, I've come to doubt the importance of "minims" in affecting English spelling. Is the minims explanation generally endorsed by modern paleographers?
Here are some of the reasons I am skeptical.
(In notes about the historical development of sounds, I'm using the following shorthand: "<" means "comes from," ">" means "developed into," "OE" means "Old English," "ME" means "Middle English, "ModE" means "Modern English.")
Evidence for long vowels in some of these words in some dialects of ME
The answers to this question (Rhyme in Elizabethan sonnets) describe how pairs like love and prove and come and loom could rhyme in Shakespeare. So it seems that love and come, despite coming from Old English words with short vowels, did indeed develop variants with long vowels in Shakespeare's English. The cited source Early Modern English, by Charles Laurence Barber, attributes this to a sound change that occurred in some Middle English dialects whereby Old English short /u/ developed to Middle English /oː/; Wikipedia also mentions this. On the other hand, I have had trouble finding words in modern English that show this sound change. (The Wikipedia article lists wood < OE wudu as an example, presumably because of the spelling with oo, but I'm not sure if that word actually ever had a lengthened vowel—the spelling with "oo" seems like it may just be due to avoidance of "u" after "w." The OED says door may be from Old English duru, but the modern pronunciation with /ɔː(r)/, never /ʊə(r)/, poses a bit of a problem in that case, and the modern word may also be descended in part from Old English dor "gate.")
In addition, I've just glanced through the Ormulum, a middle English work that is supposed to have highly phonemic spelling according to Wikipedia where short vowels are marked by doubling the following consonant. The word come is generally written as cumenn rather than cummenn. (However, the spelling of this word seems to be somewhat inconsistent, so I'm not sure if this might be an exception to the general phonetic regularity of Orm's spelling.)
Modern English /ʌ/ is not always from Old or Middle English short /u/
Masha Bell's blog Improving English spelling gives a list of words spelled with "o" but pronounced with /ʌ/, which I've supplemented and separated according to various criteria. Among them, there are:
6 with no adjacent minim letters:
colour, dozen < French o, ou, u
does, thorough < OE with complicated vowel development
brother, other < OE /oː/ (> ME /oː/ > ModE /uː/ > /ʊ/ > /ʌ/ according to Wikipedia article on foot-strut split; compare blood, flood)
3 after n/m:
mother < OE /oː/, like brother, other. Same development; the m seems to be irrelevant.
nothing, smother. Both have complicated etymologies, but neither is from OE short u.
Aside from the etymology not supporting "o" = Middle English /u/ in the above three words, there are many more words in modern English that are spelled with “u” after m or n, such as mud, must, mutter, muffle or nut, numb, knuckle. While the OED lists older spelling variants with “o” for many of these words, there are also older spelling variants with “o” for other words with no adjacent minim letters such as suck (< OE súcan; OED lists "ME suke, ME sæc, soc, ME sec, sok, sek(e, ME soke, ME secke, sak, souk(e, sowk(e, swoke, ME sook"), bud (uncertain origin; OED lists "ME bodde, ME–16 budde, (15 bood, botthe), 16 budd, 15– bud"), and dust (< OE dúst; OED lists ME spellings dust, dusst, doust(e), dost, duste).
So I think there’s a pretty strong case that the 10 words above are written with “o” for reasons other than avoiding minim confusion.
10 after w (I'm also including "or" for /ɜr/ here):
won, wonder < OE short u
4 worry, worm, worse, wort < OE y
word < OE o, eo
work < OE eo, e, y
worth, worship < OE eo, o, u
There are also similar examples for words pronounced with /wʊ/, such as wolf, wood, wool, woman. Using "wo" as a substitute for "wu" seems to actually be a real spelling pattern (although there are some exceptions in modern English spelling such as swum, swung). This means that the following "n" in won and wonder is unnecessary for explaining the use of "o."
13 before v:
2 shovel, oven < OE short /o/; how did modern pron. evolve?
1 glove < OE /oː/ (> ME /oː/ > ModE /uː/ > /ʊ/ > /ʌ/, like blood?)
2 dove, shove < OE /uː/ (>ME /uː/ > ModE /uː/ > /ʊ/ > /ʌ/, like blood?)
4 cover, covet, covey, govern < French o, ou, u
2 slovenly, covenant < complicated origins
2 above, love < OE short /u/ in an open syllable
As I mentioned above, it seems OE /u/ in an open syllable was sometimes lengthened to ME /oː/ in some dialects. It is also known that ME /oː/ developed to ModE /uː/, which before /v/ was sometimes shortened early on becoming /ʊ/ > /ʌ/ (examples: glove, dove, shove) although not always (counterexamples: prove, move, behoove).Because of this, I was wondering if the spellings of above and love with “o” might have originally represented ME /oː/ or early ModE /uː/ rather than short /u/.
24 before n/m:
3 one, once, none < OE /ɑː/. Irregular development. The OED entry for none says:
“The usual modern English pronunciation apparently arises from shortening of the reflex of Middle English close ō, itself resulting from raising of Middle English open ō; compare English regional (midlands) pronunciation with /ɒ/ , developed more directly from Middle English open ō (see E. J. Dobson Eng. Pronunc. 1500–1700 (ed. 2, 1968) II. §§36–37).”
1 done < OE /oː/, OED says ME /oː/ (> ModE /uː/ > /ʊ/ > /ʌ/, like blood?)
2 Monday, month < OE /oː/, but I don't know when and how it was shortened
1 among < OE short /ɑ, o/; how did modern pron. evolve?
7 comfort, company, compass, front, money, onion, stomach < French o, ou, u
2 sponge, monk < OE short /o, u/; "o" in Latin etymon may have influenced spelling?
1 ton < Germanic short /u/ originally, but with possible French influence on spelling, per the OED entry cited up top.
2 mongrel, monkey < uncertain/complicated origins
3 son, come, honey < OE short /u/ in an open syllable; was it ever lengthened?
1 tongue < OE short /u/ before a homorganic voiced cluster; was it ever lengthened?
1 some < OE short /u/ in closed word-final syllable
As I mentioned above, it seems OE /u/ in an open syllable was sometimes lengthened to ME /oː/ in some dialects. It is also known that ME /oː/ developed to ModE /uː/, which before /m/ was sometimes shortened early on becoming /ʊ/ > /ʌ/ (examples: thumb, plum) although not always (counterexamples: doom, loom, bloom). Because of this, I was wondering if the ME spellings with “o” for come might have originally represented ME /oː/ or early ModE /uː/ rather than short /u/.
Some Middle English spelling variants added minims
In many cases, the Middle English spellings ov, on or om coexisted with ouv, oun and oum or owv, own, owm. (Sometimes, the spelling with ou won out in Modern English, as in country and young.) These spellings seem counterproductive if the reason for not using uv, un, um was to reduce the number of adjacent minims. Therefore, I think the use of ou/ow seems to indicate either an actual sound change, or more general confusion between ou, u and o in French writing that wasn't motivated by an attempt to avoid successive letters with minims. There are also sometimes variants with oo, which doesn't add minims but which does seems to me to suggest a pronunciation with a long vowel. Examples: the OED lists Middle English spelling variants for some such as soumme, soume, soom. For tongue, there are tounge, twng, toong. For ton, there is toun, toon.
Obviously opinions may differ, but to me these considerations make the "avoiding consecutive minims" explanation seem a little weak. I was wondering if there is more convincing evidence of this being an influence on English spelling. I guess the strongest possible evidence would be if we had any texts from this period that explicitly described "best scribal practices" and mentioned writing "o" for "u" in these positions! Other good evidence would be some kind of study of Middle English texts written in Gothic script styles that found evidence that the ratio of "o" to "u" was higher in son, tongue, honey, come, some, above, love than in words without following minims such as dust, bud, suck, lust, southern, buck.