This is what I do to trigger the "control-M doesn't engrave" problem:
* Install Frescobaldi 3.1.2.
* Create a document in Frescobaldi like the following:
\version "2.20.0"
\relative c' {
c4 d4 e4 f4 g4 a4 b4 c4 d4
}
(I've tried with 2.18.2, the installed default, as well, changing the above \version)
* Type control-M. Nothing happens.
* Type shift-control-M. THe dialog comes up to choose custom engrave options.
* Click on "Run Lilypond". Now Lilypond runs, I see progress in the log pane that pops up under the log pane. The results show up in the viewer.
When typing control-M. I never see activity in a log pane. The log pane never pops up at all until I do a shift-control-M and select "Run Lilypond". After the log pane is visible after doing this, it doesn't show activity when I afterwards type control-M.
Selecting "Engrave (preview)" from the Lilypond menu with the mouse behaves the same as typing control-M.
It's not too bad to have an extra keystroke to engrave with the custom engrave popup (control-shift-M then enter) but the auto-engraver is attached to whatever happens when you type control-M, so that doesn't work for me. I like using the auto-engraver ("Automatic Engrave" checked on the LilyPond menu).
I've done some 25-30 intermediate complexity scores with different versions of Lilypond and different versions of Frescobaldi, so I'm reasonably familiar with Frescobaldi, and I think I'm right to expect that control-M engrave the current, saved Lilypond document, that compiles without errors when I do "Engrave (custom)" with shift-control-M.