Looking into grub-core/normal/menu.c and grub-core/commands/menuentry.c I could think the only difference between menuentry and submenu is the latter executes its body in a new context. So these two pieces are literally the same:
menuentry 'some title' {
configfile some.cfg
}
submenu 'some title' {
source some.cfg
}
Is it so indeed?
