Should a non-changing save really update the "modified" time?
Sim, porque quando um aplicativo grava um arquivo, o sistema operacional grava esses dados no disco. Pode ser exatamente o mesmo que os dados já no arquivo, mas o sistema operacional não vai verificar ou se isso é verdade. É claro que os editores de texto não são tão ingênuos em escrever um arquivo inteiro para cada salvamento, porque eu salvo com muita frequência e preferiria não usar um disco sem sentido (talvez o cache de arquivos e a sincronização pelo SO amenizem isso, então o aplicativo não tem que se preocupar).
Muitos aplicativos (incluindo o vim) irão notar se um arquivo que eles carregaram for alterado externamente e notificarão o usuário. Eu teria presumido que eles fazem isso com base no mtime, mas uma verificação rápida com touch
demonstra que pelo menos no caso do vim, não é tão simples (implorando a questão de como o vim sabe que uma mudança foi feita - talvez se o mtime mudou um hash das duas versões é comparado?). Meu ponto com isso é que, se o aplicativo estiver monitorando um arquivo para alterações externas, ele poderá salvar as alterações com segurança sem reescrever o arquivo inteiro (novamente: esperançosamente). Nesse caso, você pensaria que salvar um arquivo inalterado poderia significar não fazer nada. No entanto, como o usuário solicitou um salvamento (mesmo que o usuário saiba, ou possa saber, se é necessário), o aplicativo deve, pelo menos, tocar no arquivo para refletir isso. Pode ser de valor, se, por exemplo. você está contando com o registro de data e hora para refletir a última atualização, mesmo que essa atualização não seja nada.
Afinal, se você não quiser que o registro de data e hora seja alterado, não será necessário salvar documentos inalterados.