[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)