1
環境:Ubuntu Lucid上的GNU Emacs版本23.2.1。emacs在保存時用普通文件替換遠程(gvfs/sftp)符號鏈接
我有一個使用Gnome的gvfs/sftp協議本地安裝的遠程文件系統。在通過其符號鏈接(也是遠程)編輯遠程文件並保存後,emacs用編輯後的目標文件副本替換遠程符號鏈接。目標文件未觸及。
local:~/remote/prakash/tmp> ln -sv ../.bashrc
./.bashrc' -> `../.bashrc'
local:~/remote/prakash/tmp> ls -l ./.bashrc ../.bashrc
lrwxrwxrwx 1 prakash prakash 9 2011-06-13 16:29 .bashrc -> ../.bashrc
-rwx------ 1 prakash prakash 10269 2011-06-13 16:29 ../.bashrc
# ... Editing and saving ~/prakash/tmp/.bashrc in emacs ...
local:~/remote/prakash/tmp> ls -l ./.bashrc ../.bashrc
-rwxrwxrwx 1 prakash prakash 10270 2011-06-13 16:30 .bashrc
-rwx------ 1 prakash prakash 10269 2011-06-13 16:29 ../.bashrc
以上可以看出,連結../.bashrc
被編輯過的文件的副本替換和目標文件是未修飾的。
搜索symbolic-link
和symlink
通過apropos
沒有發現任何有用的東西。
如何防止這種情況發生?
如果您使用其他方式編輯文件,或者只使用Emacs,會發生這種情況嗎? – jeremiahd 2011-06-13 22:49:00
如果您使用TRAMP,您是否可以再現此行爲?我無法在Debian測試/ unstable中使用Emacs 23.3.1進行重現。 – vpit3833 2011-06-14 01:19:00
@jeremiahd:你說得對。這似乎是文件如何通過gnome-vfs呈現給本地系統的人爲因素。當我在vim中編輯和保存符號鏈接文件時,發生了同樣的情況。 – 2011-06-14 15:11:54