白井です。やっと、いじれました。 From: TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx> さん曰く Subject: [mhc:00534] Re: mhc-cvs.el Message-ID: <200004241453.XAA27481@xxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 24 Apr 2000 23:53:39 +0900 土> で、cvs add および cvs remove は、完全なオフライン環境でも、いつでも実 土> 行可能なはずだと考えていたのですが、これが間違いなのでしょうか? 白井> こちらの問題です。環境は昨日も書きましたけど、Win95 + NotePC + 白井> cvs-1.10.5 です。 offline 状態で (server を隠すこともないけど) 土> この問題に関して、とりあえずオフライン状態時には cvs add / remove を行 土> わず、オンライン状態になった後で cvs add / remove を行うように変更して 土> みました。 \(^^)/ 土> ## [mhc:00529] のパッチを適用した後にあてるようになっています。 というわけで、[mhc:00529] + [mhc:00534] でいろいろやってみました。 1. mhc-cvs/update() は default-directory が "~/Mail/schedule" で 作業する様に変わっているので、その対応。 2. mhc-cvs/delay-add-and-remove() で再帰的に directory を下りて いくため、時間がかかるのでいやだなぁ。 3. dolist のためだけに cl を require するのがいや。 (もしかすると、いつも load しているかもしれないのだけど。。。 ごめんなさい) 4. Windows には symbolic-link という高級なものは無いので、 (write-region "xxx" ...) としようと思ったけど、気を取り直して copy-file() した。 5. file アクセスのガードを強固にした。 (もともと、error になったらどうしようもないけど) ここで、2. に関しては、 "~/Mail/schedule/2000/05/123" => "~/Mail/schedule/.mhc-cvs-(added|removed)-2000_05_123" "~/Mail/schedule/intersect/56 => "~/Mail/schedule/.mhc-cvs-(added|removed)-intersect_56" という file を schedule 直下に作る様にしました。remove のときは rename-file() でも大丈夫だと思うのですが、copy-file() + delete-file() にしてしまいました。 # とりあえず、filename 変換の path の区切りは "/" 固定。^^;;; -- 白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx) ## しかし、最近の土屋さんってば、mhc-cvs といい、gnus-namazu と ## いい爆発していますね。:-)
Attachment:
mhc-cvs.el.diff.bz2
Description: Binary data
P.S. From: TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx> さん曰く Subject: [mhc:00533] Re: T-gnus support Message-ID: <mpa4s8sqoql.fsf_-_@xxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 24 Apr 2000 10:20:23 +0900 土> それから、Gnus 使いの人はとりあえず以下のコードを入れておくと、ちょっ 土> と幸せになれるかも知れません。 これって、Mew だとこういうことかしら? (add-hook 'mhc-mode-hook '(lambda () (define-key mhc-mode-map "N" 'mhc-mew-summary-display-next-misc) (define-key mhc-mode-map "P" 'mhc-mew-summary-display-prev-misc))) (defun mhc-mew-summary-display-next-misc () (interactive) (if (string-match (concat "^" mhc-base-folder) (buffer-name)) (mhc-summary-display-next-schedule) (mew-summary-display-review-down))) (defun mhc-mew-summary-display-prev-misc () (interactive) (if (string-match (concat "^" mhc-base-folder "/") (buffer-name)) (mhc-summary-display-next-schedule 'prev) (mew-summary-display-review-up))) (defun mhc-summary-display-next-schedule (&optional prev) (let ((regex (concat "\r +" (regexp-quote mhc-base-folder) "/\\([12][0-9][0-9][0-9]/[01][0-9]\\|intersect\\) +" "[1-9][0-9]*$" )) (pos (point))) (cond ((and (not prev) (forward-line 1) (re-search-forward regex nil t)) (beginning-of-line) (and mew-summary-buffer-disp-msg (mew-summary-display nil))) ((and prev (forward-line 0) (re-search-backward regex nil t)) (beginning-of-line) (and mew-summary-buffer-disp-msg (mew-summary-display nil))) (t (goto-char pos) (message "no schedule exist."))))) ;; なんか判定が汚い。