[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00544] Re: mhc-cvs.el
白井です。
# mhc-file.el の話なのでこちらに繋げます。
乃村さんから "19.28" で動くかどうか?
という話があったので、mhc-cvs を 19.28 で動かしてみました。
mhc-file-write-buffer() の
((featurep 'mule)
(write-region (point-min) (point-max) filename
nil 'silence nil *iso-2022-jp*))
なのですが、19.28 の write-region だと
(write-region START END FILENAME &optional APPEND VISIT CODING-SYSTEM)
なので、CONFIRM 分の nil が一個多いです。あとはだいたい動いたみたいです。
元の乃村さんのコードだと
(cond
((string< "20.3" emacs-version) ;; emacs 20.3.x or higher
(let ((coding-system-for-write 'iso-2022-jp))
(write-region (point-min) (point-max) file nil
'silence nil nil)))
((string< "20" emacs-version) ;; emacs 20.x
(let ((coding-system-for-write 'iso-2022-jp))
(write-region (point-min) (point-max) file nil
'silence nil )))
((string< "19.3" emacs-version) ;; emacs 19.34
(write-region (point-min) (point-max) file nil
'silence nil *iso-2022-jp*))
(t ;; 19.28
(write-region (point-min) (point-max) file nil
'silence *iso-2022-jp*)))
となっていますね。(string< "20.3" ...) は必要無いと思います。
もう一点、
(defun mhc-cvs/remove (filename &optional offline)
"ファイルを削除する関数"
(let ((added (mhc-cvs/get-added-flag-file-name filename))
(removed (mhc-cvs/get-removed-file-name filename)))
(if offline
(if (not (file-exists-p added))
(not (rename-file filename removed t))
(delete-file added)
(not (delete-file filename)))
(if (file-exists-p added) (delete-file added))
(if (file-exists-p removed) (delete-file removed))
(if (file-exists-p filename) (delete-file filename))
(and (= 0 (mhc-cvs/backend "remove" filename))
(mhc-cvs/modify filename)))))
の方がいいと思います。その心は『offline 中に add して remove し
たら、なにもしないのと一緒』です。
# というメールを仕事の合間に息抜きで書いていたら、土屋さんのパッ
# チが出てしまった。^^;
--
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)