EmacsWiki のコードが冗長なので短くしてみた。
(setq erc-prompt (lambda ()
(let* ((buffer (buffer-name))
(channel (when (string-match "\\(#[^@]+\\)" buffer)
(match-string 1 buffer))))
(erc-propertize
(concat
(or channel
(if (and (boundp 'erc-default-recipients) (erc-default-target))
(erc-default-target)
"ERC"))
">")
'read-only t 'rear-nonsticky t 'front-nonsticky t))))
elisp的にはこういうのどうかくのが良いのかわからんけどとりあえず短くはなった。