[mew-dist 27902] Re: GMail の IMAP

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2007年 11月 27日 (火) 16:38:15 JST


From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 27895] Re: GMail の IMAP
Message-ID: <20071122.110804.28698199.kazu at example.com>
Date: Thu, 22 Nov 2007 11:08:04 +0900 (JST)

> コミットしました。

えっと、mew-complete-insert-folder-function() はもうちょっと高機
能(*1)にした方が良いと思われるのでやってみました。ほとんど Emacs
標準の choose-completion-string() と同じ動きになっているかなぁ?

(*1) たとえば、途中まで TAB で保管しておいて、あとはマウス、とか
     が出来ないとか、folder1,folder2 の folder2 でマウス使うと全
     部消えちゃうとか。


(defun mew-complete-insert-folder-function (choice buffer mini-p base-size)
  (let ((start (mew-minibuf-point-min))
	(proto (aref choice 0))
	(pos (point))
	fld)
    (while (not (or (= start (point))
		    (not (char-before))
		    (char-equal (char-before) ?,)))
      (forward-char -1))
    (setq fld (mew-buffer-substring (point) pos))
    (delete-region (point) pos)
    (insert (with-temp-buffer
	      (insert fld)
	      (goto-char (point-min))
	      (if (and (memq proto '(?+ ?$ ?% ?* ?-))
		       (looking-at (concat "^\\("
					   (regexp-opt mew-config-cases t)
					   ":\\)"
					   (regexp-quote (char-to-string proto)))))
		  (delete-region (match-end 1) (point-max))
		(delete-region (point-min) (point-max)))
	      (goto-char (point-max))
	      (insert choice)
	      (mew-buffer-substring (point-min) (point-max))))
    (mew-complete-window-delete 'force)
    t))

# proto を全部並べた変数 '(?+ ?$ ?% ?* ?-) って無いよね?

-- 
白井秀行 (mailto:shirai at example.com)



Mew-dist メーリングリストの案内