ChangeLog メモの chalow への変換とアップロードは、毎日 0:00 から
3 時間毎に行うように、自宅 PC の cron に登録しています。

登録しているのは mkchalow という自作のシェルスクリプトです。
手動でアップしたい時は、このコマンドをコマンドラインから実行します。

手動での実行が面倒になってきたので、mkchalow を実行する elisp の関
数を作りました。非同期で実行されるので、実行中も他の作業が出来ます。

(defun mkchalow (force)
  (interactive "P")
  (let (pro
        (pnm "mkchalow")
        (buf " *mkchalow*")
        (cnm "mkchalow")
        (opts (if force '("-f"))))
    (message (format "%sBuilding chalow for masutaka.net..."
                     (if force "Force " "")))
    (setq pro (apply 'start-process pnm buf cnm opts))
    (set-process-sentinel
     pro
     `(lambda (process string)
        (message ,(format "%sBuilding chalow for masutaka.net...done"
                          (if force "Force " "")))
        (kill-buffer ,buf)))))

(eval-after-load "clmemo"
  ;; C-c C-c で mkchalow
  '(define-key clmemo-mode-map (kbd "C-c C-c") 'mkchalow))

clmemo.el を使っていない方は、(eval-after-load “clmemo” 以降を
下記に置き換えて下さい。

(eval-after-load "add-log"
  ;; C-c C-c で mkchalow
  '(define-key change-log-mode-map (kbd "C-c C-c") 'mkchalow))

追記(2009-06-14):
Emacs 起動時にエラーになるので、訂正しました。シクシク…。

追記(2010-05-03):
mkchalow() を修正しました。C-u を付けるとメッセージが少し変わります。