~ubuntu-branches/ubuntu/karmic/mew-beta/karmic

« back to all changes in this revision

Viewing changes to mew-complete.el

  • Committer: Bazaar Package Importer
  • Author(s): Tatsuya Kinoshita
  • Date: 2007-11-29 22:05:35 UTC
  • mfrom: (1.1.10 upstream)
  • Revision ID: james.westby@ubuntu.com-20071129220535-g1s8e3pe8vloobhu
Tags: 5.2.51+0.20071129-1
New upstream release. (CVS trunk on 2007-11-29)

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
 
42
42
(defvar mew-complete-candidates nil)
43
43
 
44
 
(defun mew-complete-window-delete ()
 
44
(defun mew-complete-window-delete (&optional force)
45
45
  (when (mew-ainfo-get-win-cfg)
46
46
    ;; (mew-ainfo-get-win-cfg) remains when the last completion  
47
47
    ;; finished with multiple candidates.
52
52
    ;; (mew-ainfo-get-win-cfg), the cursor jumps to mini buffer.
53
53
    ;; This was a stupid bug of Mew. So, let's see if the complete
54
54
    ;; buffer is displayed or not.
55
 
    (if (get-buffer-window mew-buffer-completions)
 
55
    (if (or force (get-buffer-window mew-buffer-completions))
56
56
        (set-window-configuration (mew-ainfo-get-win-cfg)))
57
57
    (mew-ainfo-set-win-cfg nil))
58
58
  (mew-remove-buffer mew-buffer-completions)
59
59
  (setq mew-complete-candidates nil))
60
60
 
 
61
(defun mew-complete-insert-folder-function (choice buffer mini-p base-size)
 
62
  (let ((start (mew-minibuf-point-min)))
 
63
    (if (and (/= start (point))
 
64
             (char-equal (char-before) (aref choice 0)))
 
65
        (progn
 
66
          (forward-char -1)
 
67
          (delete-char 1))
 
68
      (delete-region start (point-max)))
 
69
    (insert choice)
 
70
    (remove-text-properties start (point-max) '(mouse-face nil))
 
71
    (mew-complete-window-delete 'force)
 
72
    t))
 
73
 
61
74
(defun mew-complete-window-show (all)
62
75
  (unless (mew-ainfo-get-win-cfg)
63
76
    (mew-ainfo-set-win-cfg (current-window-configuration)))
70
83
              (set-window-start win 1)
71
84
            (scroll-other-window))))
72
85
    (setq mew-complete-candidates all)
73
 
    (with-output-to-temp-buffer
74
 
        mew-buffer-completions
 
86
    (with-output-to-temp-buffer mew-buffer-completions
 
87
      (when mew-inherit-complete-folder
 
88
        (make-local-variable 'choose-completion-string-functions)
 
89
        (add-hook 'choose-completion-string-functions
 
90
                  'mew-complete-insert-folder-function))
75
91
      (display-completion-list all))))
76
92
 
77
93
(defun mew-complete-backscroll ()
179
195
      (mew-input-folder-search-complete)
180
196
    (mew-draft-set-completion-ignore-case mew-complete-folder-ignore-case)
181
197
    (let ((word (mew-delete-backward-char))
182
 
          (completion-ignore-case mew-complete-folder-ignore-case))
 
198
          (completion-ignore-case mew-complete-folder-ignore-case)
 
199
          (mew-inherit-complete-folder t))
183
200
      (if (null word)
184
201
          (mew-complete-window-show (list "+"))
185
202
        (if (and (mew-folder-absolutep word)
200
217
    (mew-complete-folder2)))
201
218
 
202
219
(defun mew-input-folder-search-complete ()
203
 
  (let (keys)
 
220
  (let ((mew-inherit-complete-folder t)
 
221
        keys)
204
222
    (save-excursion
205
223
      (set-buffer mew-input-folder-search-buf)
206
224
      (save-excursion
216
234
(defun mew-complete-folder2 ()
217
235
  (let ((word (mew-delete-backward-char nil ", \t\n"))
218
236
        (completion-ignore-case mew-complete-folder-ignore-case)
 
237
        (mew-inherit-complete-folder t)
219
238
        case folder)
220
239
    (cond
221
240
     ((null word)
273
292
  (if mew-input-folder-search-direction
274
293
      (mew-input-folder-search-complete)
275
294
    (let ((word (mew-delete-backward-char))
276
 
          (completion-ignore-case mew-complete-folder-ignore-case))
 
295
          (completion-ignore-case mew-complete-folder-ignore-case)
 
296
          (mew-inherit-complete-folder t))
277
297
      (if (null word)
278
298
          (mew-complete-window-show (list "%"))
279
299
        (mew-complete