A resposta é que depende de todos os tipos de fatores.
Primeiro, observe que "renomear o arquivo antigo e gravar o novo arquivo no local" não é atômico.
O Emacs pode economizar de várias maneiras:
- renomeia o arquivo antigo + escreve no lugar (não atômico, quebra os links).
- não renomeie, escreva sobre o arquivo existente (não atômico, não quebra links).
- grave em um novo arquivo e renomeie-o (atômico, quebra links).
Note que "quebrar links" também implica que o novo arquivo pode ter diferentes permissões / owner /...
Na maioria dos casos, o Emacs usará a segunda abordagem (para preservar links e permissões). Mas, se precisar fazer um backup do arquivo (de acordo com make-backup-files
), ele geralmente usará a primeira abordagem (onde a renomeação é usada para criar o backup), embora isso dependa de backup-by-copying
(assim como outras variáveis com nomes que começam com backup-by-copying-when-
), bem como file-precious-flag
e break-hardlink-on-save
.