3225 |
(save-excursion |
(save-excursion |
3226 |
(when (gnus-buffer-exists-p gnus-summary-buffer) |
(when (gnus-buffer-exists-p gnus-summary-buffer) |
3227 |
(set-buffer gnus-summary-buffer)) |
(set-buffer gnus-summary-buffer)) |
3228 |
(let ((gnus-replied-mark 129) |
(let ((spec gnus-summary-line-format-spec) |
3229 |
(gnus-score-below-mark 130) |
pos) |
|
(gnus-score-over-mark 130) |
|
|
(gnus-undownloaded-mark 131) |
|
|
(spec gnus-summary-line-format-spec) |
|
|
gnus-visual pos) |
|
3230 |
(save-excursion |
(save-excursion |
3231 |
(gnus-set-work-buffer) |
(gnus-set-work-buffer) |
3232 |
(let ((gnus-summary-line-format-spec spec) |
(let ((gnus-tmp-unread ?Z) |
3233 |
|
(gnus-replied-mark ?Z) |
3234 |
|
(gnus-score-below-mark ?Z) |
3235 |
|
(gnus-score-over-mark ?Z) |
3236 |
|
(gnus-undownloaded-mark ?Z) |
3237 |
|
(gnus-summary-line-format-spec spec) |
3238 |
(gnus-newsgroup-downloadable '(0)) |
(gnus-newsgroup-downloadable '(0)) |
3239 |
marks) |
(header [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil]) |
3240 |
(insert ?\200 "\200" ?\201 "\201" ?\202 "\202" ?\203 "\203") |
case-fold-search ignores) |
3241 |
(while (not (bobp)) |
;; Here, all marks are bound to Z. |
3242 |
(push (buffer-substring (1- (point)) (point)) marks) |
(gnus-summary-insert-line header |
3243 |
(backward-char)) |
0 nil t gnus-tmp-unread t nil "" nil 1) |
3244 |
|
(goto-char (point-min)) |
3245 |
|
;; Memorize the positions of the same characters as dummy marks. |
3246 |
|
(while (re-search-forward "[A-D]" nil t) |
3247 |
|
(push (point) ignores)) |
3248 |
(erase-buffer) |
(erase-buffer) |
3249 |
(gnus-summary-insert-line |
;; We use A-D as dummy marks in order to know column positions |
3250 |
[0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil] |
;; where marks should be inserted. |
3251 |
0 nil t 128 t nil "" nil 1) |
(setq gnus-tmp-unread ?A |
3252 |
|
gnus-replied-mark ?B |
3253 |
|
gnus-score-below-mark ?C |
3254 |
|
gnus-score-over-mark ?C |
3255 |
|
gnus-undownloaded-mark ?D) |
3256 |
|
(gnus-summary-insert-line header |
3257 |
|
0 nil t gnus-tmp-unread t nil "" nil 1) |
3258 |
|
;; Ignore characters which aren't dummy marks. |
3259 |
|
(dolist (p ignores) |
3260 |
|
(delete-region (goto-char (1- p)) p) |
3261 |
|
(insert ?Z)) |
3262 |
(goto-char (point-min)) |
(goto-char (point-min)) |
3263 |
(setq pos (list (cons 'unread |
(setq pos (list (cons 'unread |
3264 |
(and (or (search-forward (nth 0 marks) nil t) |
(and (search-forward "A" nil t) |
|
(search-forward (nth 1 marks) nil t)) |
|
3265 |
(- (point) (point-min) 1))))) |
(- (point) (point-min) 1))))) |
3266 |
(goto-char (point-min)) |
(goto-char (point-min)) |
3267 |
(push (cons 'replied (and (or (search-forward (nth 2 marks) nil t) |
(push (cons 'replied (and (search-forward "B" nil t) |
|
(search-forward (nth 3 marks) nil t)) |
|
3268 |
(- (point) (point-min) 1))) |
(- (point) (point-min) 1))) |
3269 |
pos) |
pos) |
3270 |
(goto-char (point-min)) |
(goto-char (point-min)) |
3271 |
(push (cons 'score (and (or (search-forward (nth 4 marks) nil t) |
(push (cons 'score (and (search-forward "C" nil t) |
|
(search-forward (nth 5 marks) nil t)) |
|
3272 |
(- (point) (point-min) 1))) |
(- (point) (point-min) 1))) |
3273 |
pos) |
pos) |
3274 |
(goto-char (point-min)) |
(goto-char (point-min)) |
3275 |
(push (cons 'download (and (or (search-forward (nth 6 marks) nil t) |
(push (cons 'download (and (search-forward "D" nil t) |
|
(search-forward (nth 7 marks) nil t)) |
|
3276 |
(- (point) (point-min) 1))) |
(- (point) (point-min) 1))) |
3277 |
pos))) |
pos))) |
3278 |
(setq gnus-summary-mark-positions pos)))) |
(setq gnus-summary-mark-positions pos)))) |
3570 |
(gnus-active gnus-newsgroup-name))) |
(gnus-active gnus-newsgroup-name))) |
3571 |
;; You can change the summary buffer in some way with this hook. |
;; You can change the summary buffer in some way with this hook. |
3572 |
(gnus-run-hooks 'gnus-select-group-hook) |
(gnus-run-hooks 'gnus-select-group-hook) |
3573 |
(gnus-update-format-specifications |
(when (memq 'summary (gnus-update-format-specifications |
3574 |
nil 'summary 'summary-mode 'summary-dummy) |
nil 'summary 'summary-mode 'summary-dummy)) |
3575 |
(gnus-update-summary-mark-positions) |
;; The format specification for the summary line was updated, |
3576 |
|
;; so we need to update the mark positions as well. |
3577 |
|
(gnus-update-summary-mark-positions)) |
3578 |
;; Do score processing. |
;; Do score processing. |
3579 |
(when gnus-use-scoring |
(when gnus-use-scoring |
3580 |
(gnus-possibly-score-headers)) |
(gnus-possibly-score-headers)) |