Digamos que eu tenho dois arquivos file1
e 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 file1
no 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 vim
ou 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 ~/.emacs
arquivo init. Se eu editar file1
usando 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 file1
e file2
ser o mesmo arquivo, e para incluir o conteúdo do arquivo atualizado ..
(setq backup-by-copying t)
ao meu~/.emacs
arquivo init, ele funcionará como desejado .. #