Mercurial > hg > xemacs-beta
comparison lisp/gnus/gnus-sum.el @ 112:48d667d6f17f r20-1b8
Import from CVS: tag r20-1b8
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:20:48 +0200 |
parents | fe104dbd9147 |
children | 8619ce7e4c50 |
comparison
equal
deleted
inserted
replaced
111:164ab62060bf | 112:48d667d6f17f |
---|---|
124 :type '(choice (const :tag "off" nil) | 124 :type '(choice (const :tag "off" nil) |
125 (const some) | 125 (const some) |
126 (const more) | 126 (const more) |
127 (sexp :menu-tag "all" t))) | 127 (sexp :menu-tag "all" t))) |
128 | 128 |
129 (defcustom gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject | 129 (defcustom gnus-summary-thread-gathering-function |
130 'gnus-gather-threads-by-subject | |
130 "Function used for gathering loose threads. | 131 "Function used for gathering loose threads. |
131 There are two pre-defined functions: `gnus-gather-threads-by-subject', | 132 There are two pre-defined functions: `gnus-gather-threads-by-subject', |
132 which only takes Subjects into consideration; and | 133 which only takes Subjects into consideration; and |
133 `gnus-gather-threads-by-references', which compared the References | 134 `gnus-gather-threads-by-references', which compared the References |
134 headers of the articles to find matches." | 135 headers of the articles to find matches." |
3817 (info (gnus-get-info gnus-newsgroup-name)) | 3818 (info (gnus-get-info gnus-newsgroup-name)) |
3818 (uncompressed '(score bookmark killed)) | 3819 (uncompressed '(score bookmark killed)) |
3819 type list newmarked symbol) | 3820 type list newmarked symbol) |
3820 (when info | 3821 (when info |
3821 ;; Add all marks lists that are non-nil to the list of marks lists. | 3822 ;; Add all marks lists that are non-nil to the list of marks lists. |
3822 (while types | 3823 (while (setq type (pop types)) |
3823 (setq type (pop types)) | |
3824 (when (setq list (symbol-value | 3824 (when (setq list (symbol-value |
3825 (setq symbol | 3825 (setq symbol |
3826 (intern (format "gnus-newsgroup-%s" | 3826 (intern (format "gnus-newsgroup-%s" |
3827 (car type)))))) | 3827 (car type)))))) |
3828 | |
3829 ;; Get rid of the entries of the articles that have the | |
3830 ;; default score. | |
3831 (when (and (eq (cdr type) 'score) | |
3832 gnus-save-score | |
3833 list) | |
3834 (let* ((arts list) | |
3835 (prev (cons nil articles)) | |
3836 (all prev)) | |
3837 (while arts | |
3838 (if (or (not (consp (car arts))) | |
3839 (= (cdar arts) gnus-summary-default-score)) | |
3840 (setcdr prev (cdr arts)) | |
3841 (setq prev arts)) | |
3842 (setq arts (cdr arts))) | |
3843 (setq list (cdr all)))) | |
3844 | |
3828 (push (cons (cdr type) | 3845 (push (cons (cdr type) |
3829 (if (memq (cdr type) uncompressed) list | 3846 (if (memq (cdr type) uncompressed) list |
3830 (gnus-compress-sequence | 3847 (gnus-compress-sequence |
3831 (set symbol (sort list '<)) t))) | 3848 (set symbol (sort list '<)) t))) |
3832 newmarked))) | 3849 newmarked))) |
3970 (<= (gnus-info-level info) gnus-level-subscribed)) | 3987 (<= (gnus-info-level info) gnus-level-subscribed)) |
3971 (gnus-group-make-articles-read name idlist)))) | 3988 (gnus-group-make-articles-read name idlist)))) |
3972 xref-hashtb))))) | 3989 xref-hashtb))))) |
3973 | 3990 |
3974 (defun gnus-group-make-articles-read (group articles) | 3991 (defun gnus-group-make-articles-read (group articles) |
3975 "Update the info of GROUP to say that only ARTICLES are unread." | 3992 "Update the info of GROUP to say that ARTICLES are read." |
3976 (let* ((num 0) | 3993 (let* ((num 0) |
3977 (entry (gnus-gethash group gnus-newsrc-hashtb)) | 3994 (entry (gnus-gethash group gnus-newsrc-hashtb)) |
3978 (info (nth 2 entry)) | 3995 (info (nth 2 entry)) |
3979 (active (gnus-active group)) | 3996 (active (gnus-active group)) |
3980 range) | 3997 range) |
4102 (if (search-forward "\ndate: " nil t) | 4119 (if (search-forward "\ndate: " nil t) |
4103 (nnheader-header-value) "")) | 4120 (nnheader-header-value) "")) |
4104 ;; Message-ID. | 4121 ;; Message-ID. |
4105 (progn | 4122 (progn |
4106 (goto-char p) | 4123 (goto-char p) |
4107 (setq id (if (search-forward "\nmessage-id: " nil t) | 4124 (setq id (if (search-forward "\nmessage-id:" nil t) |
4108 (nnheader-header-value) | 4125 (buffer-substring |
4126 (1- (or (search-forward "<" nil t) (point))) | |
4127 (or (search-forward ">" nil t) (point))) | |
4109 ;; If there was no message-id, we just fake one | 4128 ;; If there was no message-id, we just fake one |
4110 ;; to make subsequent routines simpler. | 4129 ;; to make subsequent routines simpler. |
4111 (nnheader-generate-fake-message-id)))) | 4130 (nnheader-generate-fake-message-id)))) |
4112 ;; References. | 4131 ;; References. |
4113 (progn | 4132 (progn |
8342 (defun gnus-execute-command (command &optional automatic) | 8361 (defun gnus-execute-command (command &optional automatic) |
8343 (save-excursion | 8362 (save-excursion |
8344 (gnus-article-setup-buffer) | 8363 (gnus-article-setup-buffer) |
8345 (set-buffer gnus-article-buffer) | 8364 (set-buffer gnus-article-buffer) |
8346 (setq buffer-read-only nil) | 8365 (setq buffer-read-only nil) |
8347 (let ((command (if automatic command (read-string "Command: " command))) | 8366 (let ((command (if automatic command (read-string "Command: " command)))) |
8348 ;; Just binding this here doesn't help, because there might | |
8349 ;; be output from the process after exiting the scope of | |
8350 ;; this `let'. | |
8351 ;; (buffer-read-only nil) | |
8352 ) | |
8353 (erase-buffer) | 8367 (erase-buffer) |
8354 (insert "$ " command "\n\n") | 8368 (insert "$ " command "\n\n") |
8355 (if gnus-view-pseudo-asynchronously | 8369 (if gnus-view-pseudo-asynchronously |
8356 (start-process "gnus-execute" nil shell-file-name | 8370 (start-process "gnus-execute" (current-buffer) shell-file-name |
8357 shell-command-switch command) | 8371 shell-command-switch command) |
8358 (call-process shell-file-name nil t nil | 8372 (call-process shell-file-name nil t nil |
8359 shell-command-switch command))))) | 8373 shell-command-switch command))))) |
8360 | 8374 |
8361 ;; Summary kill commands. | 8375 ;; Summary kill commands. |