annotate lisp/vm/vm-user.el @ 172:a38aed19690b

Added tag r20-3b12 for changeset 929b76928fce
author cvs
date Mon, 13 Aug 2007 09:47:55 +0200
parents ec9a17fef872
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
1 ;;; Interface functions to VM internal data
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
2 ;;; Copyright (C) 1997 Kyle E. Jones
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
3 ;;;
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
4 ;;; This program is free software; you can redistribute it and/or modify
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
5 ;;; it under the terms of the GNU General Public License as published by
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
6 ;;; the Free Software Foundation; either version 2, or (at your option)
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
7 ;;; any later version.
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
8 ;;;
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
9 ;;; This program is distributed in the hope that it will be useful,
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
10 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
11 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
12 ;;; GNU General Public License for more details.
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
13 ;;;
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
14 ;;; You should have received a copy of the GNU General Public License
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
15 ;;; along with this program; if not, write to the Free Software
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
16 ;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
17
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
18 (provide 'vm-user)
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
19
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
20 (defun vm-user-composition-folder-buffer ()
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
21 "Returns the folder buffer associated with the current buffer.
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
22 The current buffer must be a composition buffer created by VM for
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
23 a reply, resend or forward.
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
24
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
25 Nil is returned if the current buffer is not assocaited with any
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
26 VM folder.
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
27
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
28 Note that the buffer returned might be a virtual folder buffer,
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
29 which might have several underlying real folders associated with
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
30 it. To get the list of real folder buffers associated with a
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
31 composition buffer, use vm-user-composition-real-folder-buffers
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
32 instead."
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
33 (if (eq major-mode 'mail-mode)
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
34 vm-mail-buffer
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
35 nil ))
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
36
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
37 (defun vm-user-composition-real-folder-buffers ()
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
38 "Returns a list of the real folder buffers associated with the current
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
39 buffer. The current buffer must be a composition buffer created
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
40 by VM for a reply, resend or forward."
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
41 (if (eq major-mode 'mail-mode)
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
42 (let ((list nil) (newlist nil))
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
43 (cond ((eq vm-system-state 'replying)
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
44 (setq list vm-reply-list))
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
45 ((eq vm-system-state 'forwarding)
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
46 (setq list vm-forward-list))
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
47 ((eq vm-system-state 'redistributing)
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
48 (setq list vm-redistribute-list)))
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
49 (while list
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
50 (setq newlist (cons (vm-buffer-of (vm-real-message-of (car list)))
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
51 newlist)
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
52 list (cdr list)))
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
53 newlist )
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents:
diff changeset
54 nil ))