自動的にタイムスタンプを挿入する

なるほど、その手があったか。

(defun simple-hatena-electric-asterisk (arg)
  "Insert an asterisk.

If current point is positioned at beginning of line,
timestamp is also inserted.
"
  (interactive "*p")
  (if (zerop (current-column))
      (simple-hatena-timestamp)
    (self-insert-command arg)))

(define-key simple-hatena-mode-map "*"
  'simple-hatena-electric-asterisk)

いま適当に作ったけど割りとよさげ。

追記

よく考えたら自分でラベルを入力するひともいるんだから、適当にカスタマイズできたほうがいいな。

(defcustom simple-hatena-auto-insert-timestamp-flag nil
  "行頭で * が入力されたときに自動でタイムスタンプを挿入する"
  :type 'boolean
  :group 'simple-hatena)

(defun simple-hatena-electric-asterisk (arg)
  "Insert an asterisk.

If current point is positioned at beginning of line,
timestamp is also inserted.
"
  (interactive "*p")
  (if (and simple-hatena-auto-insert-timestamp-flag 
           (zerop (current-column)))
      (simple-hatena-timestamp)
    (self-insert-command arg)))

(define-key simple-hatena-mode-map "*"
  'simple-hatena-electric-asterisk)

ところで、simple-hatena-mode は defvar じゃなく、defcustom を使っているけど、type や group を設定しないとあまり意味がない気がする。