twittering-mode.el patch
Twittering mode는 emacs을 위한 twitter client이다. git에 올라와 있는 0.8 버젼을 사용하고 있는데, 두가지 불편한 점이 있어서 patch했다. 최신 trunk에 반영되었다.
문제점
- 140글자를 넘어가는 경우 posting이 안 된다. 다른 client 처럼 몇 자가 넘었는지 표시를 해 줬으면 한다.
- bit.ly, tiny.url 처럼 URL 단축화 기능을 지원했으면 한다.
해결
-
twittering-update-status-from-minibuffer 함수에서 posting 하기전에 string 길이가 140보다 크면 다시 입력을 받게 했다.
-
minibuffer keymap에 Key를 추가하여
를 누르면 URL을 줄여서 치환하게 했다. 웹을 검색해 보니 URL 축약 기능을 하는 smallurl.el 파일이 공개되어 있어서 그 곳에 있는 함수를 이용했다.
(defun twittering-update-status-from-minibuffer (&optional init-str
reply-to-id)
(if (null init-str) (setq init-str ""))
(let ((status init-str) (not-posted-p t) (map minibuffer-local-map))
(while not-posted-p
(define-key map (kbd "<f4>") 'smallurl-replace-at-point)
(setq status (read-from-minibuffer "status: " status map nil nil nil t))
(while (< 141 (length status))
(setq status (read-from-minibuffer (format "(%d): "
(- 140 (length status)))
status map nil nil nil t)))
(setq not-posted-p
(not (twittering-update-status-if-not-blank status reply-to-id)))
)
))
Written on November 13, 2009