Digamos que eu tenho dois arquivos file1e file2:
$ echo aaa >file1
$ ln file1 file2
Então eu verifico se os inodes são os mesmos:
$ ls -i
18749779 file1 18749779 file2
o que mostra que os dois arquivos são realmente iguais. Agora edito file1no Emacs e adiciono uma linha com, por exemplo, o texto bbb, salve-o e saia do Emacs.
Agora eu recebo:
$ ls -i
18749781 file1 18749779 file2
$ cat file1
aaa
bbb
$ cat file2
aaa
Portanto, o link rígido está quebrado. Observe que isso não acontece quando edito o arquivo vimou simplesmente o faço echo bbb >>file1.
Como posso impedir que o Emacs quebre links físicos?
Atualizar:
Note que eu tenho
(require 'backup-dir)
(setq bkup-backup-directory-info
'((t "~/.emacs-backups/" ok-create full-path )))
no meu ~/.emacsarquivo init. Se eu editar file1usando emacs -Q file1, em vez disso, recebo um arquivo chamado file1~no diretório atual vinculado a file2(tem o mesmo inode), mas o file1~não foi modificado (portanto, é idêntico ao antigo file1) .. Não é isso que desejo. Eu gostaria tanto file1e file2ser o mesmo arquivo, e para incluir o conteúdo do arquivo atualizado ..
(setq backup-by-copying t)ao meu~/.emacsarquivo init, ele funcionará como desejado .. #