id:IMAKADO さんにバッファ作らずに使わずに正規表現マッチする方法教えてもらったのでちょっと短くできた。

(setq erc-prompt (lambda ()
                   (let* ((buffer (buffer-name))
                          (channel (when (string-match "\\(#[^@]+\\)" buffer)
                                       (match-string 1 buffer))))
                     (if channel
                         (erc-propertize (concat channel ">") 'read-only t 'rear-nonsticky t 'front-nonsticky t)
                       (if (and (boundp 'erc-default-recipients) (erc-default-target))
                           (erc-propertize (concat (erc-default-target) ">") 'read-only t 'rear-nonsticky t 'front-nonsticky t)
                         (erc-propertize (concat "ERC>") 'read-only t 'rear-nonsticky t 'front-nonsticky t))))))
by typester / at 2009-01-26T14:41:00 / emacs / Comments(0)