移动文件后修改relative symlink

Emacs 里面移动文件如果是 relative symlink,移动后会造成连接失效,我用git-annex感觉很不方便,目前这样解决。本人菜鸟,各位大师帮忙检查一下:

(defun my-rename-file (file newname &optional ok-if-already-exists)
"fix path for relative symlink"
(let* ((file_name (file-name-nondirectory file))
       (new_dir_name (file-name-directory newname))
       (new_file_path (expand-file-name file_name new_dir_name))
       (relative_symlink (file-symlink-p new_file_path)))
  (if (and relative_symlink (string-equal system-type "gnu/linux"))
      (dired-make-relative-symlink
       (expand-file-name relative_symlink (file-name-directory file)) new_file_path t))))
(advice-add #'rename-file :after #'my-rename-file)

编程风格不太好

风格要怎么弄才好呢

sneak_case改lisp-case.

没有else的if用when代替

哦 我怕和别人重名了,谢谢!

elisp里避免重名一般是用前缀,自己配置里的函数变量就用配置的名字做前缀。比如我的都是moon-xxx。局域变量(你的那几个)就随便了,不会污染环境