This provides 'save before run' feature for the edited file if the context string contains %f, %d etc. placeholders.
Thats sensible for %f, the command likely wants to access it, but it need a confirmatory dialog, not to be forced, some users don't want to accidentally write over their files and not all commands will read the file just because it gets the name. Thats why builds only save the current file and even thats got an option to disable it. Not so sure its at all sensible for %d or any other substitutions, they are probably not accessing the file.