Mercurial > emacs
comparison lisp/gnus/gnus-sum.el @ 90043:e24e2e78deda
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-69
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-643
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-649
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-650
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-651
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-655
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-656
Update from CVS: lisp/man.el (Man-xref-normal-file): Fix help-echo.
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-657
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-658
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-659
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-660
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-661
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-667
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-668
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-61
- miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-68
Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Thu, 04 Nov 2004 08:55:40 +0000 |
parents | f3ec05478165 df80d19d7a2e |
children | f2ebccfa87d4 |
comparison
equal
deleted
inserted
replaced
90042:003d95404d71 | 90043:e24e2e78deda |
---|---|
467 :group 'gnus-summary-marks | 467 :group 'gnus-summary-marks |
468 :type 'character) | 468 :type 'character) |
469 | 469 |
470 (defcustom gnus-spam-mark ?$ | 470 (defcustom gnus-spam-mark ?$ |
471 "*Mark used for spam articles." | 471 "*Mark used for spam articles." |
472 :version "21.4" | |
472 :group 'gnus-summary-marks | 473 :group 'gnus-summary-marks |
473 :type 'character) | 474 :type 'character) |
474 | 475 |
475 (defcustom gnus-souped-mark ?F | 476 (defcustom gnus-souped-mark ?F |
476 "*Mark used for souped articles." | 477 "*Mark used for souped articles." |
503 :group 'gnus-summary-marks | 504 :group 'gnus-summary-marks |
504 :type 'character) | 505 :type 'character) |
505 | 506 |
506 (defcustom gnus-recent-mark ?N | 507 (defcustom gnus-recent-mark ?N |
507 "*Mark used for articles that are recent." | 508 "*Mark used for articles that are recent." |
509 :version "21.4" | |
508 :group 'gnus-summary-marks | 510 :group 'gnus-summary-marks |
509 :type 'character) | 511 :type 'character) |
510 | 512 |
511 (defcustom gnus-cached-mark ?* | 513 (defcustom gnus-cached-mark ?* |
512 "*Mark used for articles that are in the cache." | 514 "*Mark used for articles that are in the cache." |
550 :group 'gnus-summary-marks | 552 :group 'gnus-summary-marks |
551 :type 'character) | 553 :type 'character) |
552 | 554 |
553 (defcustom gnus-undownloaded-mark ?- | 555 (defcustom gnus-undownloaded-mark ?- |
554 "*Mark used for articles that weren't downloaded." | 556 "*Mark used for articles that weren't downloaded." |
557 :version "21.4" | |
555 :group 'gnus-summary-marks | 558 :group 'gnus-summary-marks |
556 :type 'character) | 559 :type 'character) |
557 | 560 |
558 (defcustom gnus-downloaded-mark ?+ | 561 (defcustom gnus-downloaded-mark ?+ |
559 "*Mark used for articles that were downloaded." | 562 "*Mark used for articles that were downloaded." |
888 :group 'gnus-summary | 891 :group 'gnus-summary |
889 :type 'hook) | 892 :type 'hook) |
890 | 893 |
891 (defcustom gnus-summary-article-move-hook nil | 894 (defcustom gnus-summary-article-move-hook nil |
892 "*A hook called after an article is moved, copied, respooled, or crossposted." | 895 "*A hook called after an article is moved, copied, respooled, or crossposted." |
896 :version "21.4" | |
893 :group 'gnus-summary | 897 :group 'gnus-summary |
894 :type 'hook) | 898 :type 'hook) |
895 | 899 |
896 (defcustom gnus-summary-article-delete-hook nil | 900 (defcustom gnus-summary-article-delete-hook nil |
897 "*A hook called after an article is deleted." | 901 "*A hook called after an article is deleted." |
902 :version "21.4" | |
898 :group 'gnus-summary | 903 :group 'gnus-summary |
899 :type 'hook) | 904 :type 'hook) |
900 | 905 |
901 (defcustom gnus-summary-article-expire-hook nil | 906 (defcustom gnus-summary-article-expire-hook nil |
902 "*A hook called after an article is expired." | 907 "*A hook called after an article is expired." |
908 :version "21.4" | |
903 :group 'gnus-summary | 909 :group 'gnus-summary |
904 :type 'hook) | 910 :type 'hook) |
905 | 911 |
906 (defcustom gnus-summary-display-arrow | 912 (defcustom gnus-summary-display-arrow |
907 (and (fboundp 'display-graphic-p) | 913 (and (fboundp 'display-graphic-p) |
3223 (defun gnus-update-summary-mark-positions () | 3229 (defun gnus-update-summary-mark-positions () |
3224 "Compute where the summary marks are to go." | 3230 "Compute where the summary marks are to go." |
3225 (save-excursion | 3231 (save-excursion |
3226 (when (gnus-buffer-exists-p gnus-summary-buffer) | 3232 (when (gnus-buffer-exists-p gnus-summary-buffer) |
3227 (set-buffer gnus-summary-buffer)) | 3233 (set-buffer gnus-summary-buffer)) |
3228 (let ((gnus-replied-mark 129) | 3234 (let ((spec gnus-summary-line-format-spec) |
3229 (gnus-score-below-mark 130) | 3235 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 | 3236 (save-excursion |
3235 (gnus-set-work-buffer) | 3237 (gnus-set-work-buffer) |
3236 (let ((gnus-summary-line-format-spec spec) | 3238 (let ((gnus-tmp-unread ?Z) |
3239 (gnus-replied-mark ?Z) | |
3240 (gnus-score-below-mark ?Z) | |
3241 (gnus-score-over-mark ?Z) | |
3242 (gnus-undownloaded-mark ?Z) | |
3243 (gnus-summary-line-format-spec spec) | |
3237 (gnus-newsgroup-downloadable '(0)) | 3244 (gnus-newsgroup-downloadable '(0)) |
3238 marks) | 3245 (header [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil]) |
3239 (insert ?\200 "\200" ?\201 "\201" ?\202 "\202" ?\203 "\203") | 3246 case-fold-search ignores) |
3240 (while (not (bobp)) | 3247 ;; Here, all marks are bound to Z. |
3241 (push (buffer-substring (1- (point)) (point)) marks) | 3248 (gnus-summary-insert-line header |
3242 (backward-char)) | 3249 0 nil t gnus-tmp-unread t nil "" nil 1) |
3250 (goto-char (point-min)) | |
3251 ;; Memorize the positions of the same characters as dummy marks. | |
3252 (while (re-search-forward "[A-D]" nil t) | |
3253 (push (point) ignores)) | |
3243 (erase-buffer) | 3254 (erase-buffer) |
3244 (gnus-summary-insert-line | 3255 ;; 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] | 3256 ;; where marks should be inserted. |
3246 0 nil t 128 t nil "" nil 1) | 3257 (setq gnus-tmp-unread ?A |
3258 gnus-replied-mark ?B | |
3259 gnus-score-below-mark ?C | |
3260 gnus-score-over-mark ?C | |
3261 gnus-undownloaded-mark ?D) | |
3262 (gnus-summary-insert-line header | |
3263 0 nil t gnus-tmp-unread t nil "" nil 1) | |
3264 ;; Ignore characters which aren't dummy marks. | |
3265 (dolist (p ignores) | |
3266 (delete-region (goto-char (1- p)) p) | |
3267 (insert ?Z)) | |
3247 (goto-char (point-min)) | 3268 (goto-char (point-min)) |
3248 (setq pos (list (cons 'unread | 3269 (setq pos (list (cons 'unread |
3249 (and (or (search-forward (nth 0 marks) nil t) | 3270 (and (search-forward "A" nil t) |
3250 (search-forward (nth 1 marks) nil t)) | |
3251 (- (point) (point-min) 1))))) | 3271 (- (point) (point-min) 1))))) |
3252 (goto-char (point-min)) | 3272 (goto-char (point-min)) |
3253 (push (cons 'replied (and (or (search-forward (nth 2 marks) nil t) | 3273 (push (cons 'replied (and (search-forward "B" nil t) |
3254 (search-forward (nth 3 marks) nil t)) | |
3255 (- (point) (point-min) 1))) | 3274 (- (point) (point-min) 1))) |
3256 pos) | 3275 pos) |
3257 (goto-char (point-min)) | 3276 (goto-char (point-min)) |
3258 (push (cons 'score (and (or (search-forward (nth 4 marks) nil t) | 3277 (push (cons 'score (and (search-forward "C" nil t) |
3259 (search-forward (nth 5 marks) nil t)) | |
3260 (- (point) (point-min) 1))) | 3278 (- (point) (point-min) 1))) |
3261 pos) | 3279 pos) |
3262 (goto-char (point-min)) | 3280 (goto-char (point-min)) |
3263 (push (cons 'download (and (or (search-forward (nth 6 marks) nil t) | 3281 (push (cons 'download (and (search-forward "D" nil t) |
3264 (search-forward (nth 7 marks) nil t)) | |
3265 (- (point) (point-min) 1))) | 3282 (- (point) (point-min) 1))) |
3266 pos))) | 3283 pos))) |
3267 (setq gnus-summary-mark-positions pos)))) | 3284 (setq gnus-summary-mark-positions pos)))) |
3268 | 3285 |
3269 (defun gnus-summary-insert-dummy-line (gnus-tmp-subject gnus-tmp-number) | 3286 (defun gnus-summary-insert-dummy-line (gnus-tmp-subject gnus-tmp-number) |
3557 (setq gnus-newsgroup-active | 3574 (setq gnus-newsgroup-active |
3558 (gnus-copy-sequence | 3575 (gnus-copy-sequence |
3559 (gnus-active gnus-newsgroup-name))) | 3576 (gnus-active gnus-newsgroup-name))) |
3560 ;; You can change the summary buffer in some way with this hook. | 3577 ;; You can change the summary buffer in some way with this hook. |
3561 (gnus-run-hooks 'gnus-select-group-hook) | 3578 (gnus-run-hooks 'gnus-select-group-hook) |
3562 (gnus-update-format-specifications | 3579 (when (memq 'summary (gnus-update-format-specifications |
3563 nil 'summary 'summary-mode 'summary-dummy) | 3580 nil 'summary 'summary-mode 'summary-dummy)) |
3564 (gnus-update-summary-mark-positions) | 3581 ;; The format specification for the summary line was updated, |
3582 ;; so we need to update the mark positions as well. | |
3583 (gnus-update-summary-mark-positions)) | |
3565 ;; Do score processing. | 3584 ;; Do score processing. |
3566 (when gnus-use-scoring | 3585 (when gnus-use-scoring |
3567 (gnus-possibly-score-headers)) | 3586 (gnus-possibly-score-headers)) |
3568 ;; Check whether to fill in the gaps in the threads. | 3587 ;; Check whether to fill in the gaps in the threads. |
3569 (when gnus-build-sparse-threads | 3588 (when gnus-build-sparse-threads |
9163 | 9182 |
9164 (defcustom gnus-summary-display-while-building nil | 9183 (defcustom gnus-summary-display-while-building nil |
9165 "If non-nil, show and update the summary buffer as it's being built. | 9184 "If non-nil, show and update the summary buffer as it's being built. |
9166 If the value is t, update the buffer after every line is inserted. If | 9185 If the value is t, update the buffer after every line is inserted. If |
9167 the value is an integer (N), update the display every N lines." | 9186 the value is an integer (N), update the display every N lines." |
9187 :version "21.4" | |
9168 :group 'gnus-thread | 9188 :group 'gnus-thread |
9169 :type '(choice (const :tag "off" nil) | 9189 :type '(choice (const :tag "off" nil) |
9170 number | 9190 number |
9171 (const :tag "frequently" t))) | 9191 (const :tag "frequently" t))) |
9172 | 9192 |