*** pub/dgnus/lisp/gnus-score.el Sun Aug 13 15:21:15 1995 --- dgnus/lisp/gnus-score.el Sun Aug 13 17:56:51 1995 *************** *** 33,49 **** (defvar gnus-orphan-score nil "*All orphans get this score added. Set in the score file.") ! (defvar gnus-default-adaptive-score-alist ! '((gnus-unread-mark) ! (gnus-ticked-mark) ! (gnus-dormant-mark (from 5)) ! (gnus-del-mark (from -4) (subject -1)) ! (gnus-read-mark (from 4) (subject 2)) ! (gnus-expirable-mark (from -1) (subject -1)) ! (gnus-killed-mark (from -1) (subject -3)) ! (gnus-kill-file-mark) ! (gnus-catchup-mark (from -1) (subject -1))) ! "*Alist of marks and scores.") (defvar gnus-score-mimic-keymap nil "*Have the score entry functions pretend that they are a keymap.") --- 33,46 ---- (defvar gnus-orphan-score nil "*All orphans get this score added. Set in the score file.") ! (defvar gnus-default-adaptive-score-alist ! '((gnus-kill-file-mark) ! (gnus-unread-mark) ! (gnus-read-mark (from 3) (subject 30)) ! (gnus-catchup-mark (subject -10)) ! (gnus-killed-mark (from -1) (subject -20)) ! (gnus-del-mark (from -2) (subject -15))) ! "*Alist of marks and scores.") (defvar gnus-score-mimic-keymap nil "*Have the score entry functions pretend that they are a keymap.") *************** *** 97,103 **** (defvar gnus-summary-score-map nil) (define-prefix-command 'gnus-summary-score-map) ! (define-key gnus-summary-various-map "S" 'gnus-summary-score-map) (define-key gnus-summary-score-map "s" 'gnus-summary-set-score) (define-key gnus-summary-score-map "a" 'gnus-summary-score-entry) (define-key gnus-summary-score-map "S" 'gnus-summary-current-score) --- 94,100 ---- (defvar gnus-summary-score-map nil) (define-prefix-command 'gnus-summary-score-map) ! (define-key gnus-summary-mode-map "V" 'gnus-summary-score-map) (define-key gnus-summary-score-map "s" 'gnus-summary-set-score) (define-key gnus-summary-score-map "a" 'gnus-summary-score-entry) (define-key gnus-summary-score-map "S" 'gnus-summary-current-score) *** pub/dgnus/lisp/gnus-vis.el Sun Aug 13 15:21:15 1995 --- dgnus/lisp/gnus-vis.el Mon Aug 14 00:05:34 1995 *************** *** 34,39 **** --- 34,63 ---- (defvar gnus-summary-selected-face 'underline "*Face used for highlighting the current article in the summary buffer.") + + (defvar gnus-summary-highlight-properties + '((unread "ForestGreen" "green") + (ticked "Firebrick" "pink") + (read "black" "white") + (low italic italic) + (high bold bold) + (canceled "yellow/black" "black/yellow"))) + + (defvar gnus-summary-highlight-translation + '(((unread (= mark gnus-unread-mark)) + (ticked (or (= mark gnus-ticked-mark) (= mark gnus-dormant-mark))) + (read (not (or (= mark gnus-unread-mark) (= mark gnus-dormant-mark) + (= mark gnus-ticked-mark) (= mark gnus-canceled-mark)))) + (canceled (= mark gnus-canceled-mark))) + ((low (< score gnus-summary-default-score)) + (high (> score gnus-summary-default-score))))) + + (defun gnus-visual-map-face-translation () + (let ((props gnus-summary-highlight-properties) + (trans gnus-summary-highlight-translation) + map) + (while props))) + (defvar gnus-summary-highlight (cond ((not (eq gnus-display-type 'color)) *************** *** 62,72 **** (custom-face-lookup "SkyBlue" nil nil nil nil nil)) (cons '(and (> score default) (= mark gnus-unread-mark)) ! (custom-face-lookup "green" nil nil t nil nil)) (cons '(and (< score default) (= mark gnus-unread-mark)) ! (custom-face-lookup "green" nil nil nil t nil)) (cons '(= mark gnus-unread-mark) ! (custom-face-lookup "green" nil nil nil nil nil)) (cons '(> score default) 'bold) (cons '(< score default) 'italic))) --- 86,96 ---- (custom-face-lookup "SkyBlue" nil nil nil nil nil)) (cons '(and (> score default) (= mark gnus-unread-mark)) ! (custom-face-lookup "white" nil nil t nil nil)) (cons '(and (< score default) (= mark gnus-unread-mark)) ! (custom-face-lookup "white" nil nil nil t nil)) (cons '(= mark gnus-unread-mark) ! (custom-face-lookup "white" nil nil nil nil nil)) (cons '(> score default) 'bold) (cons '(< score default) 'italic))) *************** *** 92,102 **** (cons '(= mark gnus-ancient-mark) (custom-face-lookup "RoyalBlue" nil nil nil nil nil)) ! (cons '(and (> score default) (= mark gnus-unread-mark)) (custom-face-lookup "DarkGreen" nil nil t nil nil)) ! (cons '(and (< score default) (= mark gnus-unread-mark)) (custom-face-lookup "DarkGreen" nil nil nil t nil)) ! (cons '(= mark gnus-unread-mark) (custom-face-lookup "DarkGreen" nil nil nil nil nil)) (cons '(> score default) 'bold) --- 116,126 ---- (cons '(= mark gnus-ancient-mark) (custom-face-lookup "RoyalBlue" nil nil nil nil nil)) ! (cons '(and (> score default) (/= mark gnus-unread-mark)) (custom-face-lookup "DarkGreen" nil nil t nil nil)) ! (cons '(and (< score default) (/= mark gnus-unread-mark)) (custom-face-lookup "DarkGreen" nil nil nil t nil)) ! (cons '(/= mark gnus-unread-mark) (custom-face-lookup "DarkGreen" nil nil nil nil nil)) (cons '(> score default) 'bold) *************** *** 137,145 **** (list "Subject" nil (custom-face-lookup "firebrick" nil nil t t nil)) (list "Newsgroups:.*," nil ! (custom-face-lookup "dark orange" nil nil t t nil)) (list "" ! (custom-face-lookup "purple" nil nil t nil nil) (custom-face-lookup "DarkGreen" nil nil nil t nil))))) "Alist of headers and faces used for highlighting them. The entries in the list has the form `(REGEXP NAME CONTENT)', where --- 161,169 ---- (list "Subject" nil (custom-face-lookup "firebrick" nil nil t t nil)) (list "Newsgroups:.*," nil ! (custom-face-lookup "red" nil nil t t nil)) (list "" ! (custom-face-lookup "DarkGreen" nil nil t nil nil) (custom-face-lookup "DarkGreen" nil nil nil t nil))))) "Alist of headers and faces used for highlighting them. The entries in the list has the form `(REGEXP NAME CONTENT)', where *************** *** 174,180 **** ("]*\\)>" 0 t gnus-button-url 1) ;; Next regexp stolen from highlight-headers.el. ;; Modified by Vladimir Alexiev. ! ("\\b\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\):\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?[-a-zA-Z0-9_=?#$@~`%&*+|\\/.,]*[-a-zA-Z0-9_=#$@~`%&*+|\\/]" 0 t gnus-button-url 0)) "Alist of regexps matching buttons in an article. Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where --- 198,204 ---- ("]*\\)>" 0 t gnus-button-url 1) ;; Next regexp stolen from highlight-headers.el. ;; Modified by Vladimir Alexiev. ! ("\\b\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?[-a-zA-Z0-9_=?#$@~`%&*+|\\/.,]*[-a-zA-Z0-9_=#$@~`%&*+|\\/]" 0 t gnus-button-url 0)) "Alist of regexps matching buttons in an article. Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where *************** *** 188,197 **** CALLBACK can also be a variable, in that case the value of that variable it the real callback function.") ! (defvar gnus-button-url ! (if window-system 'gnus-netscape-open-url ! (and (fboundp 'w3-fetch) 'w3-fetch)) ! "Function to fetch URL. The function will be called with one argument, the URL to fetch. Useful values of this function are: --- 212,225 ---- CALLBACK can also be a variable, in that case the value of that variable it the real callback function.") ! (eval-when-compile ! (defvar browse-url-browser-function)) ! ! (defvar gnus-button-url ! (cond ((boundp 'browse-url-browser-function) browse-url-browser-function) ! ((eq window-system 'x) 'gnus-netscape-open-url) ! ((fboundp 'w3-fetch) 'w3-fetch)) ! "*Function to fetch URL. The function will be called with one argument, the URL to fetch. Useful values of this function are: *************** *** 230,235 **** --- 258,264 ---- '("Group" ["Read" gnus-group-read-group t] ["Select" gnus-group-select-group t] + ["See old articles" gnus-group-select-group-all t] ["Catch up" gnus-group-catchup-current t] ["Catch up all articles" gnus-group-catchup-current-all t] ["Check for new articles" gnus-group-get-new-news-this-group t] *************** *** 717,723 **** (let ((face (and list (cdr (car list))))) (or (eobp) (eq face (get-text-property beg 'face)) ! (put-text-property beg end 'face face))) (goto-char p))) ;;; --- 746,753 ---- (let ((face (and list (cdr (car list))))) (or (eobp) (eq face (get-text-property beg 'face)) ! (put-text-property beg end 'face ! (if (boundp face) (symbol-value face) face)))) (goto-char p))) ;;; *************** *** 954,959 **** --- 984,999 ---- (gnus-article-highlight-signature) (gnus-article-add-buttons)) + (defun gnus-article-highlight-some () + "Highlight current article. + This function calls `gnus-article-highlight-headers', + `gnus-article-highlight-signature', and `gnus-article-add-buttons' to + do the highlighting. See the documentation for those functions." + (interactive) + (gnus-article-highlight-headers) + (gnus-article-highlight-signature) + (gnus-article-add-buttons)) + (defun gnus-article-hide () "Hide current article. This function calls `gnus-article-hide-headers', *************** *** 1086,1092 **** (defun gnus-netscape-start-url (url) "Start netscape with URL." ! (shell-command (concat "netscape " url "&"))) ;;; External functions: --- 1126,1132 ---- (defun gnus-netscape-start-url (url) "Start netscape with URL." ! (start-process (concat "netscape" url) nil "netscape" url)) ;;; External functions: *** pub/dgnus/lisp/gnus.el Sun Aug 13 15:21:15 1995 --- dgnus/lisp/gnus.el Sun Aug 13 21:43:43 1995 *************** *** 1092,1097 **** --- 1092,1098 ---- `gnus-article-treat-overstrike' (turn \"^H_\" into bold characters).") (add-hook 'gnus-article-display-hook 'gnus-article-hide-headers-if-wanted) (add-hook 'gnus-article-display-hook 'gnus-article-treat-overstrike) + (add-hook 'gnus-article-display-hook 'gnus-article-maybe-highlight) (defvar gnus-article-x-face-command "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | xv -quit -" *************** *** 1305,1314 **** (defvar gnus-have-read-active-file nil) ! (defconst gnus-maintainer "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "(ding) Gnus v0.99.10" "Version number for this version of Gnus.") (defvar gnus-info-nodes --- 1306,1316 ---- (defvar gnus-have-read-active-file nil) ! (defconst gnus-maintainer ! "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "(ding) Gnus v0.99.11" "Version number for this version of Gnus.") (defvar gnus-info-nodes *************** *** 1591,1596 **** --- 1593,1599 ---- (autoload 'gnus-article-push-button "gnus-vis" nil t) (autoload 'gnus-article-press-button "gnus-vis" nil t) (autoload 'gnus-article-highlight "gnus-vis" nil t) + (autoload 'gnus-article-highlight-some "gnus-vis" nil t) (autoload 'gnus-article-hide "gnus-vis" nil t) (autoload 'gnus-article-hide-signature "gnus-vis" nil t) (autoload 'gnus-article-highlight-headers "gnus-vis" nil t) *************** *** 3815,3820 **** --- 3818,3828 ---- (interactive "P") (gnus-group-read-group all t)) + (defun gnus-group-select-group-all () + "Select the current group and display all articles in it." + (interactive) + (gnus-group-select-group 'all)) + ;; Enter a group that is not in the group buffer. Non-nil is returned ;; if selection was successful. (defun gnus-group-read-ephemeral-group *************** *** 5123,5134 **** (defvar gnus-summary-thread-map nil) (defvar gnus-summary-goto-map nil) (defvar gnus-summary-exit-map nil) - (defvar gnus-summary-various-map nil) (defvar gnus-summary-interest-map nil) (defvar gnus-summary-sort-map nil) (defvar gnus-summary-backend-map nil) (defvar gnus-summary-save-map nil) (defvar gnus-summary-wash-map nil) (defvar gnus-summary-help-map nil) (put 'gnus-summary-mode 'mode-class 'special) --- 5131,5144 ---- (defvar gnus-summary-thread-map nil) (defvar gnus-summary-goto-map nil) (defvar gnus-summary-exit-map nil) (defvar gnus-summary-interest-map nil) (defvar gnus-summary-sort-map nil) (defvar gnus-summary-backend-map nil) (defvar gnus-summary-save-map nil) (defvar gnus-summary-wash-map nil) + (defvar gnus-summary-wash-hide-map nil) + (defvar gnus-summary-wash-highlight-map nil) + (defvar gnus-summary-wash-time-map nil) (defvar gnus-summary-help-map nil) (put 'gnus-summary-mode 'mode-class 'special) *************** *** 5337,5367 **** (define-prefix-command 'gnus-summary-wash-map) (define-key gnus-summary-mode-map "W" 'gnus-summary-wash-map) ! (define-key gnus-summary-wash-map "h" 'gnus-article-hide-headers) ! (define-key gnus-summary-wash-map "s" 'gnus-article-hide-signature) ! (define-key gnus-summary-wash-map "c" 'gnus-article-hide-citation) ! (define-key gnus-summary-wash-map "\C-c" 'gnus-article-hide-citation-maybe) (define-key gnus-summary-wash-map "o" 'gnus-article-treat-overstrike) (define-key gnus-summary-wash-map "w" 'gnus-article-word-wrap) ! (define-key gnus-summary-wash-map "M" 'gnus-article-remove-cr) (define-key gnus-summary-wash-map "q" 'gnus-article-de-quoted-unreadable) (define-key gnus-summary-wash-map "f" 'gnus-article-display-x-face) ! (define-key gnus-summary-wash-map "t" 'gnus-article-date-ut) ! (define-key gnus-summary-wash-map "\C-t" 'gnus-article-date-local) ! (define-key gnus-summary-wash-map "T" 'gnus-article-date-lapsed) ! ! (define-key gnus-summary-wash-map "L" 'gnus-summary-stop-page-breaking) (define-key gnus-summary-wash-map "r" 'gnus-summary-caesar-message) ! (define-key gnus-summary-wash-map "G" 'gnus-summary-toggle-header) (define-key gnus-summary-wash-map "m" 'gnus-summary-toggle-mime) - (define-key gnus-summary-wash-map "A" 'gnus-article-highlight) - (define-key gnus-summary-wash-map "a" 'gnus-article-hide) - (define-key gnus-summary-wash-map "H" 'gnus-article-highlight-headers) - (define-key gnus-summary-wash-map "C" 'gnus-article-highlight-citation) - (define-key gnus-summary-wash-map "S" 'gnus-article-highlight-signature) - (define-key gnus-summary-wash-map "b" 'gnus-article-add-buttons) - (define-prefix-command 'gnus-summary-help-map) (define-key gnus-summary-mode-map "H" 'gnus-summary-help-map) --- 5347,5385 ---- (define-prefix-command 'gnus-summary-wash-map) (define-key gnus-summary-mode-map "W" 'gnus-summary-wash-map) ! ! (define-prefix-command 'gnus-summary-wash-hide-map) ! (define-key gnus-summary-wash-map "W" 'gnus-summary-wash-hide-map) ! (define-key gnus-summary-wash-hide-map "a" 'gnus-article-hide) ! (define-key gnus-summary-wash-hide-map "h" 'gnus-article-hide-headers) ! (define-key gnus-summary-wash-hide-map "s" 'gnus-article-hide-signature) ! (define-key gnus-summary-wash-hide-map "c" 'gnus-article-hide-citation) ! (define-key gnus-summary-wash-hide-map "\C-c" 'gnus-article-hide-citation-maybe) ! ! (define-prefix-command 'gnus-summary-wash-highlight-map) ! (define-key gnus-summary-wash-map "H" 'gnus-summary-wash-highlight-map) ! (define-key gnus-summary-wash-highlight-map "a" 'gnus-article-highlight) ! (define-key gnus-summary-wash-highlight-map "h" 'gnus-article-highlight-headers) ! (define-key gnus-summary-wash-highlight-map "c" 'gnus-article-highlight-citation) ! (define-key gnus-summary-wash-highlight-map "s" 'gnus-article-highlight-signature) ! ! (define-prefix-command 'gnus-summary-wash-time-map) ! (define-key gnus-summary-wash-map "T" 'gnus-summary-wash-time-map) ! (define-key gnus-summary-wash-map "u" 'gnus-article-date-ut) ! (define-key gnus-summary-wash-map "l" 'gnus-article-date-local) ! (define-key gnus-summary-wash-map "e" 'gnus-article-date-lapsed) ! ! (define-key gnus-summary-wash-map "b" 'gnus-article-add-buttons) (define-key gnus-summary-wash-map "o" 'gnus-article-treat-overstrike) (define-key gnus-summary-wash-map "w" 'gnus-article-word-wrap) ! (define-key gnus-summary-wash-map "c" 'gnus-article-remove-cr) (define-key gnus-summary-wash-map "q" 'gnus-article-de-quoted-unreadable) (define-key gnus-summary-wash-map "f" 'gnus-article-display-x-face) ! (define-key gnus-summary-wash-map "l" 'gnus-summary-stop-page-breaking) (define-key gnus-summary-wash-map "r" 'gnus-summary-caesar-message) ! (define-key gnus-summary-wash-map "t" 'gnus-summary-toggle-header) (define-key gnus-summary-wash-map "m" 'gnus-summary-toggle-mime) (define-prefix-command 'gnus-summary-help-map) (define-key gnus-summary-mode-map "H" 'gnus-summary-help-map) *************** *** 5399,5407 **** (define-key gnus-summary-mode-map "X" 'gnus-uu-extract-map) ! (define-prefix-command 'gnus-summary-various-map) ! (define-key gnus-summary-mode-map "V" 'gnus-summary-various-map) ! (define-key gnus-summary-mode-map "\M-&" 'gnus-summary-universal-argument) ; (define-key gnus-summary-various-map "\C-s" 'gnus-summary-search-article-forward) ; (define-key gnus-summary-various-map "\C-r" 'gnus-summary-search-article-backward) ; (define-key gnus-summary-various-map "r" 'gnus-summary-refer-article) --- 5417,5423 ---- (define-key gnus-summary-mode-map "X" 'gnus-uu-extract-map) ! (define-key gnus-summary-mode-map "\M-&" 'gnus-summary-universal-argument) ; (define-key gnus-summary-various-map "\C-s" 'gnus-summary-search-article-forward) ; (define-key gnus-summary-various-map "\C-r" 'gnus-summary-search-article-backward) ; (define-key gnus-summary-various-map "r" 'gnus-summary-refer-article) *************** *** 5412,5418 **** ; (define-key gnus-summary-various-map "k" 'gnus-summary-edit-local-kill) ; (define-key gnus-summary-various-map "K" 'gnus-summary-edit-global-kill) ! (define-key gnus-summary-various-map "S" 'gnus-summary-score-map) ; (define-prefix-command 'gnus-summary-sort-map) ; (define-key gnus-summary-various-map "s" 'gnus-summary-sort-map) --- 5428,5434 ---- ; (define-key gnus-summary-various-map "k" 'gnus-summary-edit-local-kill) ; (define-key gnus-summary-various-map "K" 'gnus-summary-edit-global-kill) ! (define-key gnus-summary-mode-map "V" 'gnus-summary-score-map) ; (define-prefix-command 'gnus-summary-sort-map) ; (define-key gnus-summary-various-map "s" 'gnus-summary-sort-map) *************** *** 5881,5887 **** ;; Generate the summary buffer. (let ((buffer-read-only nil)) (erase-buffer) - (gnus-message 5 "Threading...") (gnus-summary-prepare-threads (if gnus-show-threads (gnus-gather-threads --- 5897,5902 ---- *************** *** 5892,5898 **** (gnus-make-threads)))) gnus-newsgroup-headers) 'cull) - (gnus-message 5 "Threading...done") (gnus-summary-update-lines) ;; Remove the final newline. ;;(goto-char (point-max)) --- 5907,5912 ---- *************** *** 5941,5946 **** --- 5955,5961 ---- ;; `gnus-get-newsgroup-headers' and builds the trees. First we go ;; through the dependecies in the hash table and finds all the ;; roots. Roots do not refer back to any valid articles. + (gnus-message 6 "Threading...") (let (roots new-roots) (and gnus-fetch-old-headers (eq gnus-headers-retrieved-by 'nov) *************** *** 5980,5996 **** (setq r (cdr r)))) (setq roots (nconc new-roots roots)) ! ! (mapcar 'gnus-trim-thread ! (apply 'append ! (mapcar 'gnus-cut-thread ! (mapcar 'gnus-make-sub-thread roots)))))) (defun gnus-make-threads-and-expunge () ;; This function takes the dependencies already made by ;; `gnus-get-newsgroup-headers' and builds the trees. First we go ;; through the dependecies in the hash table and finds all the ;; roots. Roots do not refer back to any valid articles. (let ((default (or gnus-summary-default-score 0)) (below gnus-summary-expunge-below) roots article new-roots) --- 5995,6015 ---- (setq r (cdr r)))) (setq roots (nconc new-roots roots)) ! ! (prog1 ! (mapcar 'gnus-trim-thread ! (apply 'append ! (mapcar 'gnus-cut-thread ! (mapcar 'gnus-make-sub-thread roots)))) ! (gnus-message 6 "Threading...done")))) ! (defun gnus-make-threads-and-expunge () ;; This function takes the dependencies already made by ;; `gnus-get-newsgroup-headers' and builds the trees. First we go ;; through the dependecies in the hash table and finds all the ;; roots. Roots do not refer back to any valid articles. + (gnus-message 6 "Threading...") (let ((default (or gnus-summary-default-score 0)) (below gnus-summary-expunge-below) roots article new-roots) *************** *** 6096,6106 **** (setq r (cdr r)))) (setq roots (nconc new-roots roots)) ! ! (mapcar 'gnus-trim-thread ! (apply 'append ! (mapcar 'gnus-cut-thread ! (mapcar 'gnus-make-sub-thread roots)))))) (defun gnus-cut-thread (thread) ;; Remove leaf dormant or ancient articles from THREAD. --- 6115,6128 ---- (setq r (cdr r)))) (setq roots (nconc new-roots roots)) ! ! (prog1 ! (mapcar 'gnus-trim-thread ! (apply 'append ! (mapcar 'gnus-cut-thread ! (mapcar 'gnus-make-sub-thread roots)))) ! (gnus-message 6 "Threading...done")))) ! (defun gnus-cut-thread (thread) ;; Remove leaf dormant or ancient articles from THREAD. *************** *** 6306,6311 **** --- 6328,6334 ---- "Prepare summary buffer from THREADS and indentation LEVEL. THREADS is either a list of `(PARENT [(CHILD1 [(GRANDCHILD ...]...) ...])' or a straight list of headers." + (message "Generating summary...") (let ((level 0) thread header number subject stack state gnus-tmp-gathered) (if (vectorp (car threads)) *************** *** 6428,6434 **** (if (nth 1 thread) (setq stack (cons (cons (max 0 level) (nthcdr 1 thread)) stack))) (setq level (1+ level)) ! (setq threads (cdr (car thread))))))) (defun gnus-summary-prepare-unthreaded (headers &optional cull) --- 6451,6459 ---- (if (nth 1 thread) (setq stack (cons (cons (max 0 level) (nthcdr 1 thread)) stack))) (setq level (1+ level)) ! (setq threads (cdr (car thread)))))) ! (message "Generating summary...done")) ! (defun gnus-summary-prepare-unthreaded (headers &optional cull) *************** *** 8578,8587 **** gnus-article-buffer (save-restriction (widen) ! (let ((last (point))) (news-caesar-buffer-body arg) ! (goto-char last) ! (recenter 0)))))) (defun gnus-summary-stop-page-breaking () "Stop page breaking in the current article." --- 8603,8611 ---- gnus-article-buffer (save-restriction (widen) ! (let ((start (window-start))) (news-caesar-buffer-body arg) ! (set-window-start (get-buffer-window (current-buffer)) start)))))) (defun gnus-summary-stop-page-breaking () "Stop page breaking in the current article." *************** *** 11085,11091 **** (gnus-article-date-ut 'lapsed)) (defun gnus-article-maybe-highlight () ! (if gnus-visual (gnus-article-highlight))) ;; Article savers. --- 11109,11115 ---- (gnus-article-date-ut 'lapsed)) (defun gnus-article-maybe-highlight () ! (if gnus-visual (gnus-article-highlight-some))) ;; Article savers. *************** *** 12638,12645 **** (gnus-check-news-server method) (cond ((and (eq gnus-read-active-file 'some) ! (gnus-check-backend-function ! 'retrieve-groups (car method))) (let ((newsrc (cdr gnus-newsrc-alist)) (gmethod (gnus-server-get-method nil method)) groups) --- 12662,12668 ---- (gnus-check-news-server method) (cond ((and (eq gnus-read-active-file 'some) ! (gnus-check-backend-function 'retrieve-groups (car method))) (let ((newsrc (cdr gnus-newsrc-alist)) (gmethod (gnus-server-get-method nil method)) groups) *************** *** 12789,12822 **** (gnus-group-prefixed-name "" method)))) (goto-char (point-min)) ! (condition-case () ! ;; We split this into to separate loops, one with the prefix ! ;; and one without to speed the reading up somewhat. ! (if prefix ! (let (min max opoint) ! (while (not (eobp)) ! (read cur) (read cur) ! (setq min (read cur) ! max (read cur) ! opoint (point)) ! (skip-chars-forward " \t") ! (insert prefix) ! (goto-char opoint) ! (set (let ((obarray hashtb)) (read cur)) ! (cons min max)) ! (forward-line 1))) ! (let (min max) ! (while (not (eobp)) (if (= (following-char) ?2) (progn (read cur) (read cur) (setq min (read cur) max (read cur)) ! (set (let ((obarray hashtb)) (read cur)) (cons min max)))) ! (forward-line 1)))) ! (error ! (progn (ding) (gnus-message 3 "Possible error in active file.")))))) (defun gnus-read-newsrc-file (&optional force) "Read startup file. --- 12812,12847 ---- (gnus-group-prefixed-name "" method)))) (goto-char (point-min)) ! ;; We split this into to separate loops, one with the prefix ! ;; and one without to speed the reading up somewhat. ! (if prefix ! (let (min max opoint group) ! (while (not (eobp)) ! (condition-case () ! (progn ! (read cur) (read cur) ! (setq min (read cur) ! max (read cur) ! opoint (point)) ! (skip-chars-forward " \t") ! (insert prefix) ! (goto-char opoint) ! (set (let ((obarray hashtb)) (read cur)) ! (cons min max))) ! (error (if group (set group nil)))) ! (forward-line 1))) ! (let (min max group) ! (while (not (eobp)) ! (condition-case () (if (= (following-char) ?2) (progn (read cur) (read cur) (setq min (read cur) max (read cur)) ! (set (setq group (let ((obarray hashtb)) (read cur))) (cons min max)))) ! (error (if group (set group nil)))) ! (forward-line 1)))))) (defun gnus-read-newsrc-file (&optional force) "Read startup file. *** pub/dgnus/lisp/nntp.el Sun Aug 13 15:21:16 1995 --- dgnus/lisp/nntp.el Sun Aug 13 21:43:45 1995 *************** *** 316,329 **** ;; Now all replies are received. We remove CRs. (goto-char (point-min)) (while (search-forward "\r" nil t) ! (replace-match "")) (if nntp-server-list-active-group (progn ;; We have read active entries, so we just delete the ;; superfluos gunk. (goto-char (point-min)) ! (while (re-search-forward "^[\\.234]" nil t) (delete-region (match-beginning 0) (progn (forward-line 1) (point)))) 'active) --- 316,329 ---- ;; Now all replies are received. We remove CRs. (goto-char (point-min)) (while (search-forward "\r" nil t) ! (replace-match "" t t)) (if nntp-server-list-active-group (progn ;; We have read active entries, so we just delete the ;; superfluos gunk. (goto-char (point-min)) ! (while (re-search-forward "^[.2-5]" nil t) (delete-region (match-beginning 0) (progn (forward-line 1) (point)))) 'active) *** pub/dgnus/lisp/ChangeLog Sun Aug 13 15:21:19 1995 --- dgnus/lisp/ChangeLog Sun Aug 13 21:43:44 1995 *************** *** 1,4 **** ! Sat Aug 12 15:09:20 1995 Lars Magne Ingebrigtsen * nnml.el (nnml-request-create-group): Would create new groups with 0 0 instead of 1 0. --- 1,32 ---- ! Sun Aug 13 17:15:22 1995 Lars Magne Ingebrigtsen ! ! * gnus.el (gnus-groups-to-gnus-format): Don't skip everything if a ! simple error occurs; just ignore the buggy line. ! ! * gnus-vis.el (gnus-netscape-start-url): Don't use shell-command. ! (gnus-button-alist): Didn't match mailto urls. ! ! * gnus.el (gnus-group-select-group-all): New command and menu-bar ! entry. ! ('gnus-article-display-hook): Do some article highlighting by ! default. ! ! * gnus-score.el (gnus-default-adaptive-score-alist): Changed to ! Jason's defaults. ! ! * gnus.el (gnus-summary-mode-map): Completele redesign of article ! wash map. ! (gnus-summary-caesar-message): Don't use recenter. ! ! Sat Aug 12 23:23:45 1995 Lars Magne Ingebrigtsen ! ! * gnus-vis.el (gnus-button-url): Changed default slightly. ! ! * gnus.el: Removed gnus-soup.el and nnsoup.el from distribution. ! ! Sat Aug 12 15:09:20 1995 Lars Magne Ingebrigtsen ! ! * gnus.el: 0.99.10 is released. * nnml.el (nnml-request-create-group): Would create new groups with 0 0 instead of 1 0. *** pub/dgnus/texi/gnus.texi Sun Aug 13 15:21:19 1995 --- dgnus/texi/gnus.texi Sun Aug 13 17:27:31 1995 *************** *** 4870,4877 **** @section Various Article Stuff @table @kbd ! @item W L ! @kindex W L (Summary) @findex gnus-summary-stop-page-breaking Remove page breaks from the current article (@code{gnus-summary-stop-page-breaking}). --- 4870,4877 ---- @section Various Article Stuff @table @kbd ! @item W l ! @kindex W l (Summary) @findex gnus-summary-stop-page-breaking Remove page breaks from the current article (@code{gnus-summary-stop-page-breaking}). *************** *** 4892,4899 **** given a prefix, don't actually refetch any articles, just jump to the current article and configure the windows to display the current article. ! @item W G ! @kindex W G (Summary) @findex gnus-summary-toggle-header Toggle whether to display all headers in the article buffer (@code{gnus-summary-toggle-header}). --- 4892,4899 ---- given a prefix, don't actually refetch any articles, just jump to the current article and configure the windows to display the current article. ! @item W t ! @kindex W t (Summary) @findex gnus-summary-toggle-header Toggle whether to display all headers in the article buffer (@code{gnus-summary-toggle-header}). *************** *** 4907,4922 **** There's a battery of commands for washing the article buffer: @table @kbd ! @item W h ! @kindex W h (Summary) @findex gnus-article-hide-headers Hide headers (@code{gnus-article-hide-headers}). ! @item W s ! @kindex W s (Summary) @findex gnus-article-hide-signature Hide signature (@code{gnus-article-hide-signature}). ! @item W c ! @kindex W c (Summary) @findex gnus-article-hide-citation Hide citation (@code{gnus-article-hide-citation}). @item W o --- 4907,4922 ---- There's a battery of commands for washing the article buffer: @table @kbd ! @item W W h ! @kindex W W h (Summary) @findex gnus-article-hide-headers Hide headers (@code{gnus-article-hide-headers}). ! @item W W s ! @kindex W W s (Summary) @findex gnus-article-hide-signature Hide signature (@code{gnus-article-hide-signature}). ! @item W W c ! @kindex W W c (Summary) @findex gnus-article-hide-citation Hide citation (@code{gnus-article-hide-citation}). @item W o *************** *** 4927,4934 **** @kindex W w (Summary) @findex gnus-article-word-wrap Do word wrap (@code{gnus-article-word-wrap}). ! @item W M ! @kindex W M (Summary) @findex gnus-article-remove-cr Remove CR (@code{gnus-article-remove-cr}). @item W q --- 4927,4934 ---- @kindex W w (Summary) @findex gnus-article-word-wrap Do word wrap (@code{gnus-article-word-wrap}). ! @item W c ! @kindex W c (Summary) @findex gnus-article-remove-cr Remove CR (@code{gnus-article-remove-cr}). @item W q *************** *** 4949,4954 **** --- 4949,4993 ---- If it is a function, this function will be called with the face as the argument. If the @code{gnus-article-x-face-too-ugly} (which is a regexp) matches the @code{From} header, the face will not be shown. + + @item W H a + @kindex W H a + @findex gnus-article-highlight + Highlight the current article (@code{gnus-article-highlight}). + + @item W H h + @kindex W H h + @findex gnus-article-highlight-headers + Highlight the headers (@code{gnus-article-highlight-headers}). + + @item W H c + @kindex W H c + @findex gnus-article-highlight-citation + Highlight cited text (@code{gnus-article-highlight-citation}). + + @item W H s + @kindex W H s + @findex gnus-article-highlight-signature + Highlight the signature (@code{gnus-article-highlight-signature}). + + @item W T u + @kindex W T u + @findex gnus-article-date-ut + Display the date in UT (aka. GMT, aka ZULU) + (@code{gnus-article-date-ut}). + + @item W T l + @kindex W T l + @findex gnus-article-date-local + Display the date in the local timezone (@code{gnus-article-date-local}). + + @item W T e + @kindex W T e + @findex gnus-article-date-lapsed + Say how much time has (e)lapsed between the article was posted and now + (@code{gnus-article-date-lapsed}). + + @end table @node Summary Sorting *************** *** 5078,5115 **** General score commands that don't actually change the score file: @table @kbd ! @item V S s ! @kindex V S s (Summary) @findex gnus-summary-set-score Set the score of the current article (@code{gnus-summary-set-score}). ! @item V S S ! @kindex V S S (Summary) @findex gnus-summary-current-score Display the score of the current article (@code{gnus-summary-current-score}). ! @item V S t ! @kindex V S t (Summary) @findex gnus-score-find-trace Display all score rules that have been used on the current article (@code{gnus-score-find-trace}). ! @item V S a ! @kindex V S a (Summary) @findex gnus-summary-score-entry Add a new score entry, and allow specifying all elements (@code{gnus-summary-score-entry}). ! @item V S c ! @kindex V S c (Summary) @findex gnus-score-change-score-file Make a different score file the current (@code{gnus-score-change-score-file}). ! @item V S e ! @kindex V S e (Summary) @findex gnus-score-edit-alist Edit the current score file (@code{gnus-score-edit-alist}). You will be popped into a @code{gnus-score-mode} buffer (@pxref{Score File Editing}). ! @item V S f ! @kindex V S f (Summary) @findex gnus-score-edit-file Edit a score file and make this score file the current one (@code{gnus-score-edit-file}). --- 5117,5154 ---- General score commands that don't actually change the score file: @table @kbd ! @item V s ! @kindex V s (Summary) @findex gnus-summary-set-score Set the score of the current article (@code{gnus-summary-set-score}). ! @item V S ! @kindex V S (Summary) @findex gnus-summary-current-score Display the score of the current article (@code{gnus-summary-current-score}). ! @item V t ! @kindex V t (Summary) @findex gnus-score-find-trace Display all score rules that have been used on the current article (@code{gnus-score-find-trace}). ! @item V a ! @kindex V a (Summary) @findex gnus-summary-score-entry Add a new score entry, and allow specifying all elements (@code{gnus-summary-score-entry}). ! @item V c ! @kindex V c (Summary) @findex gnus-score-change-score-file Make a different score file the current (@code{gnus-score-change-score-file}). ! @item V e ! @kindex V e (Summary) @findex gnus-score-edit-alist Edit the current score file (@code{gnus-score-edit-alist}). You will be popped into a @code{gnus-score-mode} buffer (@pxref{Score File Editing}). ! @item V f ! @kindex V f (Summary) @findex gnus-score-edit-file Edit a score file and make this score file the current one (@code{gnus-score-edit-file}). *************** *** 5128,5140 **** The rest of these commands modify the local score file. @table @kbd ! @item V S m ! @kindex V S m (Summary) @findex gnus-score-set-mark-below Prompt for a score, and mark all articles with a score below this as read (@code{gnus-score-set-mark-below}). ! @item V S E ! @kindex V S E (Summary) @findex gnus-score-set-expunge-below Expunge all articles with a score below the default score (or the numeric prefix) (@code{gnus-score-set-expunge-below}). --- 5167,5179 ---- The rest of these commands modify the local score file. @table @kbd ! @item V m ! @kindex V m (Summary) @findex gnus-score-set-mark-below Prompt for a score, and mark all articles with a score below this as read (@code{gnus-score-set-mark-below}). ! @item V E ! @kindex V E (Summary) @findex gnus-score-set-expunge-below Expunge all articles with a score below the default score (or the numeric prefix) (@code{gnus-score-set-expunge-below}).