comparison lisp/gnus/gnus-sum.el @ 57784:55829134ac17

Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-650 Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-61 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-63 Update from CVS 2004-10-29 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/mm-util.el (mm-coding-system-priorities): Prefer iso-8859-1 than iso-2022-jp even in the Japanese language environment. Suggested by Jason Rumney <jasonr@gnu.org>. 2004-10-28 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/gnus-sum.el (gnus-update-summary-mark-positions): Allow users to use the same characters as the dummy marks; make it free from getting affected by the language environment. (gnus-summary-read-group-1): Update mark positions only when the format spec is updated. * lisp/gnus/gnus-spec.el (gnus-update-format-specifications): Return a list of updated types. 2004-10-26 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/nnspool.el (nnspool-spool-directory): Use news-path if the news-directory variable is not bound. * lisp/gnus/gnus-group.el (gnus-group-line-format-alist): Convert the value of gnus-tmp-news-method into string if it may be passed to gnus-correct-length which takes only a string argument.
author Miles Bader <miles@gnu.org>
date Fri, 29 Oct 2004 02:23:24 +0000
parents 7fdc1df35f39
children df80d19d7a2e
comparison
equal deleted inserted replaced
57783:4cb8cebc3255 57784:55829134ac17
3223 (defun gnus-update-summary-mark-positions () 3223 (defun gnus-update-summary-mark-positions ()
3224 "Compute where the summary marks are to go." 3224 "Compute where the summary marks are to go."
3225 (save-excursion 3225 (save-excursion
3226 (when (gnus-buffer-exists-p gnus-summary-buffer) 3226 (when (gnus-buffer-exists-p gnus-summary-buffer)
3227 (set-buffer gnus-summary-buffer)) 3227 (set-buffer gnus-summary-buffer))
3228 (let ((gnus-replied-mark 129) 3228 (let ((spec gnus-summary-line-format-spec)
3229 (gnus-score-below-mark 130) 3229 pos)
3230 (gnus-score-over-mark 130)
3231 (gnus-undownloaded-mark 131)
3232 (spec gnus-summary-line-format-spec)
3233 gnus-visual pos)
3234 (save-excursion 3230 (save-excursion
3235 (gnus-set-work-buffer) 3231 (gnus-set-work-buffer)
3236 (let ((gnus-summary-line-format-spec spec) 3232 (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)
3237 (gnus-newsgroup-downloadable '(0)) 3238 (gnus-newsgroup-downloadable '(0))
3238 marks) 3239 (header [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil])
3239 (insert ?\200 "\200" ?\201 "\201" ?\202 "\202" ?\203 "\203") 3240 case-fold-search ignores)
3240 (while (not (bobp)) 3241 ;; Here, all marks are bound to Z.
3241 (push (buffer-substring (1- (point)) (point)) marks) 3242 (gnus-summary-insert-line header
3242 (backward-char)) 3243 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))
3243 (erase-buffer) 3248 (erase-buffer)
3244 (gnus-summary-insert-line 3249 ;; We use A-D as dummy marks in order to know column positions
3245 [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil] 3250 ;; where marks should be inserted.
3246 0 nil t 128 t nil "" nil 1) 3251 (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))
3247 (goto-char (point-min)) 3262 (goto-char (point-min))
3248 (setq pos (list (cons 'unread 3263 (setq pos (list (cons 'unread
3249 (and (or (search-forward (nth 0 marks) nil t) 3264 (and (search-forward "A" nil t)
3250 (search-forward (nth 1 marks) nil t))
3251 (- (point) (point-min) 1))))) 3265 (- (point) (point-min) 1)))))
3252 (goto-char (point-min)) 3266 (goto-char (point-min))
3253 (push (cons 'replied (and (or (search-forward (nth 2 marks) nil t) 3267 (push (cons 'replied (and (search-forward "B" nil t)
3254 (search-forward (nth 3 marks) nil t))
3255 (- (point) (point-min) 1))) 3268 (- (point) (point-min) 1)))
3256 pos) 3269 pos)
3257 (goto-char (point-min)) 3270 (goto-char (point-min))
3258 (push (cons 'score (and (or (search-forward (nth 4 marks) nil t) 3271 (push (cons 'score (and (search-forward "C" nil t)
3259 (search-forward (nth 5 marks) nil t))
3260 (- (point) (point-min) 1))) 3272 (- (point) (point-min) 1)))
3261 pos) 3273 pos)
3262 (goto-char (point-min)) 3274 (goto-char (point-min))
3263 (push (cons 'download (and (or (search-forward (nth 6 marks) nil t) 3275 (push (cons 'download (and (search-forward "D" nil t)
3264 (search-forward (nth 7 marks) nil t))
3265 (- (point) (point-min) 1))) 3276 (- (point) (point-min) 1)))
3266 pos))) 3277 pos)))
3267 (setq gnus-summary-mark-positions pos)))) 3278 (setq gnus-summary-mark-positions pos))))
3268 3279
3269 (defun gnus-summary-insert-dummy-line (gnus-tmp-subject gnus-tmp-number) 3280 (defun gnus-summary-insert-dummy-line (gnus-tmp-subject gnus-tmp-number)
3557 (setq gnus-newsgroup-active 3568 (setq gnus-newsgroup-active
3558 (gnus-copy-sequence 3569 (gnus-copy-sequence
3559 (gnus-active gnus-newsgroup-name))) 3570 (gnus-active gnus-newsgroup-name)))
3560 ;; You can change the summary buffer in some way with this hook. 3571 ;; You can change the summary buffer in some way with this hook.
3561 (gnus-run-hooks 'gnus-select-group-hook) 3572 (gnus-run-hooks 'gnus-select-group-hook)
3562 (gnus-update-format-specifications 3573 (when (memq 'summary (gnus-update-format-specifications
3563 nil 'summary 'summary-mode 'summary-dummy) 3574 nil 'summary 'summary-mode 'summary-dummy))
3564 (gnus-update-summary-mark-positions) 3575 ;; 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))
3565 ;; Do score processing. 3578 ;; Do score processing.
3566 (when gnus-use-scoring 3579 (when gnus-use-scoring
3567 (gnus-possibly-score-headers)) 3580 (gnus-possibly-score-headers))
3568 ;; Check whether to fill in the gaps in the threads. 3581 ;; Check whether to fill in the gaps in the threads.
3569 (when gnus-build-sparse-threads 3582 (when gnus-build-sparse-threads