*** pub/rgnus/lisp/gnus-group.el Tue Jan 28 22:14:00 1997 --- rgnus/lisp/gnus-group.el Thu Jan 30 04:29:15 1997 *************** *** 879,887 **** (setq newsrc (cdr newsrc))) (unless newsrc (goto-char (point-max)) ! (forward-line -1)))))) ! ;; Adjust cursor point. ! (gnus-group-position-point)))) (defun gnus-group-list-level (level &optional all) "List groups on LEVEL. --- 879,887 ---- (setq newsrc (cdr newsrc))) (unless newsrc (goto-char (point-max)) ! (forward-line -1))))))) ! ;; Adjust cursor point. ! (gnus-group-position-point))) (defun gnus-group-list-level (level &optional all) "List groups on LEVEL. *** pub/rgnus/lisp/gnus-score.el Mon Jan 27 17:53:34 1997 --- rgnus/lisp/gnus-score.el Thu Jan 30 04:29:16 1997 *************** *** 2500,2521 **** (defun gnus-score-file-rank (file) "Return a number that says how specific score FILE is. Destroys the current buffer." ! (when (string-match ! (concat "^" (regexp-quote ! (expand-file-name ! (file-name-as-directory gnus-kill-files-directory)))) ! file) ! (setq file (substring file (match-end 0)))) ! (insert file) ! (goto-char (point-min)) ! (let ((beg (point)) ! elems) ! (while (re-search-forward "[./]" nil t) ! (push (buffer-substring beg (1- (point))) ! elems)) ! (erase-buffer) ! (setq elems (delete "all" elems)) ! (length elems))) (defun gnus-sort-score-files (files) "Sort FILES so that the most general files come first." --- 2500,2523 ---- (defun gnus-score-file-rank (file) "Return a number that says how specific score FILE is. Destroys the current buffer." ! (if (member file gnus-internal-global-score-files) ! 0 ! (when (string-match ! (concat "^" (regexp-quote ! (expand-file-name ! (file-name-as-directory gnus-kill-files-directory)))) ! file) ! (setq file (substring file (match-end 0)))) ! (insert file) ! (goto-char (point-min)) ! (let ((beg (point)) ! elems) ! (while (re-search-forward "[./]" nil t) ! (push (buffer-substring beg (1- (point))) ! elems)) ! (erase-buffer) ! (setq elems (delete "all" elems)) ! (length elems)))) (defun gnus-sort-score-files (files) "Sort FILES so that the most general files come first." *************** *** 2600,2607 **** (let ((files score-files)) (while files (when (stringp (car files)) ! (setcar files (expand-file-name (car files) ! gnus-kill-files-directory))) (pop files))) (setq score-files (nreverse score-files)) ;; Remove any duplicate score files. --- 2602,2609 ---- (let ((files score-files)) (while files (when (stringp (car files)) ! (setcar files (expand-file-name ! (car files) gnus-kill-files-directory))) (pop files))) (setq score-files (nreverse score-files)) ;; Remove any duplicate score files. *** pub/rgnus/lisp/gnus-sum.el Tue Jan 28 18:16:58 1997 --- rgnus/lisp/gnus-sum.el Thu Jan 30 04:29:18 1997 *************** *** 1527,1533 **** ["Original" gnus-article-date-original t] ["Lapsed" gnus-article-date-lapsed t] ["User-defined" gnus-article-date-user t]) ! ("Filter" ("Remove Blanks" ["Leading" gnus-article-strip-leading-blank-lines t] ["Multiple" gnus-article-strip-multiple-blank-lines t] --- 1527,1533 ---- ["Original" gnus-article-date-original t] ["Lapsed" gnus-article-date-lapsed t] ["User-defined" gnus-article-date-user t]) ! ("Washing" ("Remove Blanks" ["Leading" gnus-article-strip-leading-blank-lines t] ["Multiple" gnus-article-strip-multiple-blank-lines t] *** pub/rgnus/lisp/gnus.el Tue Jan 28 22:14:01 1997 --- rgnus/lisp/gnus.el Thu Jan 30 04:29:18 1997 *************** *** 154,160 **** :link '(custom-manual "(gnus)Various Various") :group 'gnus) ! (defconst gnus-version-number "5.4.7" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) --- 154,160 ---- :link '(custom-manual "(gnus)Various Various") :group 'gnus) ! (defconst gnus-version-number "5.4.8" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) *** pub/rgnus/lisp/message.el Mon Jan 27 17:53:32 1997 --- rgnus/lisp/message.el Thu Jan 30 04:29:19 1997 *************** *** 1394,1401 **** (goto-char start) (while (< (point) (mark t)) (insert message-yank-prefix) ! (forward-line 1))) ! (goto-char start)))) (defun message-yank-original (&optional arg) "Insert the message being replied to, if any. --- 1394,1401 ---- (goto-char start) (while (< (point) (mark t)) (insert message-yank-prefix) ! (forward-line 1)))) ! (goto-char start))) (defun message-yank-original (&optional arg) "Insert the message being replied to, if any. *** pub/rgnus/lisp/nnml.el Tue Jan 28 18:17:00 1997 --- rgnus/lisp/nnml.el Thu Jan 30 04:29:19 1997 *************** *** 710,716 **** (file-directory-p dir)) (nnml-generate-nov-databases-1 dir seen)))) ;; Do this directory. ! (let ((files (nnheader-article-to-file-alist dir))) (when files (funcall nnml-generate-active-function dir) ;; Generate the nov file. --- 710,716 ---- (file-directory-p dir)) (nnml-generate-nov-databases-1 dir seen)))) ;; Do this directory. ! (let ((files (nreverse (nnheader-article-to-file-alist dir)))) (when files (funcall nnml-generate-active-function dir) ;; Generate the nov file. *************** *** 724,733 **** (setq nnml-group-alist (delq (assoc group nnml-group-alist) nnml-group-alist)) (push (list group ! (cons (car files) (let ((f files)) (while (cdr f) (setq f (cdr f))) ! (car f)))) nnml-group-alist))) (defun nnml-generate-nov-file (dir files) --- 724,733 ---- (setq nnml-group-alist (delq (assoc group nnml-group-alist) nnml-group-alist)) (push (list group ! (cons (cdaar files) (let ((f files)) (while (cdr f) (setq f (cdr f))) ! (cdaar f)))) nnml-group-alist))) (defun nnml-generate-nov-file (dir files) *** pub/rgnus/lisp/nnweb.el Tue Jan 28 22:14:02 1997 --- rgnus/lisp/nnweb.el Thu Jan 30 04:29:20 1997 *************** *** 50,73 **** (article . nnweb-dejanews-wash-article) (map . nnweb-dejanews-create-mapping) (search . nnweb-dejanews-search) ! (address . "http://xp9.dejanews.com/dnquery.xp")) (reference (article . nnweb-reference-wash-article) (map . nnweb-reference-create-mapping) (search . nnweb-reference-search) ! (address . "http://www.reference.com/cgi-bin/pn/go")) (altavista (article . nnweb-altavista-wash-article) (map . nnweb-altavista-create-mapping) (search . nnweb-altavista-search) (address . "http://www.altavista.digital.com/cgi-bin/query") ! (id . "/cgi-bin/news?id@%s"))) "Type-definition alist.") (defvoo nnweb-search nil "Search string to feed to DejaNews.") ! (defvoo nnweb-max-hits 100 "Maximum number of hits to display.") (defvoo nnweb-ephemeral-p nil --- 50,76 ---- (article . nnweb-dejanews-wash-article) (map . nnweb-dejanews-create-mapping) (search . nnweb-dejanews-search) ! (address . "http://xp9.dejanews.com/dnquery.xp") ! (identifier . nnweb-dejanews-identity)) (reference (article . nnweb-reference-wash-article) (map . nnweb-reference-create-mapping) (search . nnweb-reference-search) ! (address . "http://www.reference.com/cgi-bin/pn/go") ! (identifier . identity)) (altavista (article . nnweb-altavista-wash-article) (map . nnweb-altavista-create-mapping) (search . nnweb-altavista-search) (address . "http://www.altavista.digital.com/cgi-bin/query") ! (id . "/cgi-bin/news?id@%s") ! (identifier . identity))) "Type-definition alist.") (defvoo nnweb-search nil "Search string to feed to DejaNews.") ! (defvoo nnweb-max-hits 30 "Maximum number of hits to display.") (defvoo nnweb-ephemeral-p nil *************** *** 140,146 **** (nnweb-possibly-change-server group server) (save-excursion (set-buffer (or buffer nntp-server-buffer)) ! (let ((url (caddr (assq article nnweb-articles)))) (when (or (and url (nnweb-fetch-url url)) (and (stringp article) --- 143,150 ---- (nnweb-possibly-change-server group server) (save-excursion (set-buffer (or buffer nntp-server-buffer)) ! (let* ((header (cadr (assq article nnweb-articles))) ! (url (and header (mail-header-xref header)))) (when (or (and url (nnweb-fetch-url url)) (and (stringp article) *************** *** 226,238 **** (defun nnweb-set-hashtb (header data) (gnus-sethash (nnweb-identifier (mail-header-xref header)) ! data nnweb-hashtb)) (defun nnweb-get-hashtb (url) (gnus-gethash (nnweb-identifier url) nnweb-hashtb)) (defun nnweb-identifier (ident) ! ident) (defun nnweb-overview-file (group) "Return the name of the overview file of GROUP." --- 230,242 ---- (defun nnweb-set-hashtb (header data) (gnus-sethash (nnweb-identifier (mail-header-xref header)) ! data nnweb-hashtb)) (defun nnweb-get-hashtb (url) (gnus-gethash (nnweb-identifier url) nnweb-hashtb)) (defun nnweb-identifier (ident) ! (funcall (nnweb-definition 'identifier) ident)) (defun nnweb-overview-file (group) "Return the name of the overview file of GROUP." *************** *** 260,265 **** --- 264,271 ---- (when server (unless (nnweb-server-opened server) (nnweb-open-server server))) + (unless nnweb-group-alist + (nnweb-read-active)) (when group (when (and (not nnweb-ephemeral-p) (not (equal group nnweb-group))) *************** *** 394,411 **** (widen) (when (string-match "#[0-9]+/[0-9]+ *$" Subject) (setq Subject (substring Subject 0 (match-beginning 0)))) (unless (nnweb-get-hashtb url) - (incf i) (push (list (incf (cdr active)) (make-full-mail-header (cdr active) (concat "(" Newsgroup ") " Subject) Author Date ! (concat "<" (message-unique-id) "-" (int-to-string i) ! "@dejanews>") ! nil 0 (string-to-int Score) nil) ! url) ! map))) ;; See whether there is a "Get next 20 hits" button here. (if (or (not (re-search-forward "HREF=\"\\([^\"]+\\)\">Get next" nil t)) --- 400,416 ---- (widen) (when (string-match "#[0-9]+/[0-9]+ *$" Subject) (setq Subject (substring Subject 0 (match-beginning 0)))) + (incf i) (unless (nnweb-get-hashtb url) (push (list (incf (cdr active)) (make-full-mail-header (cdr active) (concat "(" Newsgroup ") " Subject) Author Date ! (concat "<" (nnweb-identifier url) "@dejanews>") ! nil 0 (string-to-int Score) url)) ! map) ! (nnweb-set-hashtb (cadar map) (car map)))) ;; See whether there is a "Get next 20 hits" button here. (if (or (not (re-search-forward "HREF=\"\\([^\"]+\\)\">Get next" nil t)) *************** *** 417,423 **** (url-insert-file-contents more))) ;; Return the articles in the right order. (setq nnweb-articles ! (sort map (lambda (s1 s2) (< (car s1) (car s2))))))))) (defun nnweb-dejanews-wash-article () (let ((case-fold-search t)) --- 422,429 ---- (url-insert-file-contents more))) ;; Return the articles in the right order. (setq nnweb-articles ! (sort (nconc nnweb-articles map) ! (lambda (s1 s2) (< (car s1) (car s2))))))))) (defun nnweb-dejanews-wash-article () (let ((case-fold-search t)) *************** *** 451,456 **** --- 457,468 ---- ("ageweight" . "1"))) t) + (defun nnweb-dejanews-identity (url) + "Return an unique identifier based on URL." + (if (string-match "recnum=\\([0-9]+\\)" url) + (match-string 1 url) + url)) + ;;; ;;; InReference ;;; *************** *** 493,513 **** (set (intern (match-string 1)) (match-string 2))) (widen) (search-forward "" nil t) (unless (nnweb-get-hashtb url) - (incf i) (push (list (incf (cdr active)) (make-full-mail-header (cdr active) (concat "(" Newsgroups ") " Subject) From Date Message-ID ! nil 0 (string-to-int Score) nil) ! url) ! map))) (setq more nil)) ;; Return the articles in the right order. (setq nnweb-articles ! (sort map (lambda (s1 s2) (< (car s1) (car s2))))))))) (defun nnweb-reference-wash-article () (let ((case-fold-search t)) --- 505,526 ---- (set (intern (match-string 1)) (match-string 2))) (widen) (search-forward "" nil t) + (incf i) (unless (nnweb-get-hashtb url) (push (list (incf (cdr active)) (make-full-mail-header (cdr active) (concat "(" Newsgroups ") " Subject) From Date Message-ID ! nil 0 (string-to-int Score) url)) ! map) ! (nnweb-set-hashtb (cadar map) (car map)))) (setq more nil)) ;; Return the articles in the right order. (setq nnweb-articles ! (sort (nconc nnweb-articles map) ! (lambda (s1 s2) (< (car s1) (car s2))))))))) (defun nnweb-reference-wash-article () (let ((case-fold-search t)) *************** *** 616,631 **** group (match-string 4) id (concat "<" (match-string 5) ">") from (match-string 6)) (unless (nnweb-get-hashtb url) - (incf i) (push (list (incf (cdr active)) (make-full-mail-header (cdr active) (concat "(" group ") " subject) from date ! id nil 0 0 nil) ! url) ! map))) ;; See if we want more. (when (or (not nnweb-articles) (>= i nnweb-max-hits) --- 629,644 ---- group (match-string 4) id (concat "<" (match-string 5) ">") from (match-string 6)) + (incf i) (unless (nnweb-get-hashtb url) (push (list (incf (cdr active)) (make-full-mail-header (cdr active) (concat "(" group ") " subject) from date ! id nil 0 0 url)) ! map) ! (nnweb-set-hashtb (cadar map) (car map)))) ;; See if we want more. (when (or (not nnweb-articles) (>= i nnweb-max-hits) *************** *** 634,640 **** (setq more nil))) ;; Return the articles in the right order. (setq nnweb-articles ! (sort map (lambda (s1 s2) (< (car s1) (car s2)))))))))) (defun nnweb-altavista-wash-article () (goto-char (point-min)) --- 647,654 ---- (setq more nil))) ;; Return the articles in the right order. (setq nnweb-articles ! (sort (nconc nnweb-articles map) ! (lambda (s1 s2) (< (car s1) (car s2)))))))))) (defun nnweb-altavista-wash-article () (goto-char (point-min)) *** pub/rgnus/lisp/ChangeLog Tue Jan 28 22:14:03 1997 --- rgnus/lisp/ChangeLog Thu Jan 30 04:29:20 1997 *************** *** 1,3 **** --- 1,32 ---- + Thu Jan 30 04:15:28 1997 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.4.8 is released. + + Thu Jan 30 02:07:13 1997 Lars Magne Ingebrigtsen + + * message.el (message-indent-citation): Place point the right + place when indenting. + + * nnml.el (nnml-generate-active-info): Don't enter conses into + lists. + + * gnus-score.el (gnus-score-file-rank): All global score files + have low ranks. + + * nnweb.el (nnweb-possibly-change-server): Read active file. + (nnweb-dejanews-create-mapping): Respect .overview. + (nnweb-reference-create-mapping): Ditto. + (nnweb-altavista-create-mapping): Ditto. + + Wed Jan 29 04:52:31 1997 Katsumi Yamaoka + + * nnml.el (nnml-generate-nov-databases-1): Generate NOV files in + the right order. + + Tue Jan 28 23:28:49 1997 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-group-list-groups): Position point. + Tue Jan 28 22:11:36 1997 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.4.7 is released.