comparison lisp/vm/vm-mark.el @ 20:859a2309aef8 r19-15b93

Import from CVS: tag r19-15b93
author cvs
date Mon, 13 Aug 2007 08:50:05 +0200
parents 376386a54a3c
children 441bb1e64a06
comparison
equal deleted inserted replaced
19:ac1f612d5250 20:859a2309aef8
96 (setq mlist (cdr mlist)))) 96 (setq mlist (cdr mlist))))
97 (vm-display nil nil '(vm-unmark-message) 97 (vm-display nil nil '(vm-unmark-message)
98 '(vm-unmark-message marking-message)) 98 '(vm-unmark-message marking-message))
99 (vm-update-summary-and-mode-line)) 99 (vm-update-summary-and-mode-line))
100 100
101 (defun vm-mark-summary-region ()
102 "Mark all messages with summary lines contained in the region."
103 (interactive)
104 (vm-select-folder-buffer)
105 (vm-check-for-killed-summary)
106 (vm-error-if-folder-empty)
107 (if (null vm-summary-buffer)
108 (error "No summary."))
109 (set-buffer vm-summary-buffer)
110 (if (not (mark))
111 (error "The region is not active now"))
112 (vm-mark-or-unmark-summary-region t)
113 (vm-display nil nil '(vm-mark-summary-region)
114 '(vm-mark-summary-region marking-message))
115 (vm-update-summary-and-mode-line))
116
117 (defun vm-unmark-summary-region ()
118 "Remove marks from messages with summary lines contained in the region."
119 (interactive)
120 (vm-select-folder-buffer)
121 (vm-check-for-killed-summary)
122 (vm-error-if-folder-empty)
123 (if (null vm-summary-buffer)
124 (error "No summary."))
125 (set-buffer vm-summary-buffer)
126 (if (not (mark))
127 (error "The region is not active now"))
128 (vm-mark-or-unmark-summary-region nil)
129 (vm-display nil nil '(vm-unmark-summary-region)
130 '(vm-unmark-summary-region marking-message))
131 (vm-update-summary-and-mode-line))
132
133 (defun vm-mark-or-unmark-summary-region (markit)
134 ;; The folder buffers copy of vm-message-list has already been
135 ;; propagated to the summary buffer.
136 (let ((mp vm-message-list)
137 (beg (point))
138 (end (mark))
139 tmp m)
140 (if (> beg end)
141 (setq tmp beg beg end end tmp))
142 (while mp
143 (setq m (car mp))
144 (if (not (eq (not markit) (not (vm-mark-of m))))
145 (if (or (and (> (vm-su-end-of m) beg)
146 (< (vm-su-end-of m) end))
147 (and (>= (vm-su-start-of m) beg)
148 (< (vm-su-start-of m) end))
149 (and (>= beg (vm-su-start-of m))
150 (< beg (vm-su-end-of m))))
151 (progn
152 (vm-set-mark-of m markit)
153 (vm-mark-for-summary-update m t))))
154 (setq mp (cdr mp)))))
155
101 (defun vm-mark-or-unmark-messages-with-selector (val selector arg) 156 (defun vm-mark-or-unmark-messages-with-selector (val selector arg)
102 (let ((mlist vm-message-list) 157 (let ((mlist vm-message-list)
103 (virtual (eq major-mode 'vm-virtual-mode)) 158 (virtual (eq major-mode 'vm-virtual-mode))
104 (arglist (if arg (list arg) nil)) 159 (arglist (if arg (list arg) nil))
105 (count 0)) 160 (count 0))