2011-06-13 39 views
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-linksymlink通過apropos沒有發現任何有用的東西。

如何防止這種情況發生?

+0

如果您使用其他方式編輯文件,或者只使用Emacs,會發生這種情況嗎? – jeremiahd 2011-06-13 22:49:00

+0

如果您使用TRAMP,您是否可以再現此行爲?我無法在Debian測試/ unstable中使用Emacs 23.3.1進行重現。 – vpit3833 2011-06-14 01:19:00

+0

@jeremiahd:你說得對。這似乎是文件如何通過gnome-vfs呈現給本地系統的人爲因素。當我在vim中編輯和保存符號鏈接文件時,發生了同樣的情況。 – 2011-06-14 15:11:54

回答

相關問題