*** pub/sgnus/lisp/gnus.el Fri May 24 23:47:36 1996 --- sgnus/lisp/gnus.el Sun May 26 02:36:03 1996 *************** *** 32,37 **** --- 32,38 ---- (require 'timezone) (require 'nnheader) (require 'message) + (require 'nnmail) (eval-when-compile (require 'cl)) *************** *** 1722,1728 **** "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "September Gnus v0.94" "Version number for this version of Gnus.") (defvar gnus-info-nodes --- 1723,1729 ---- "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "September Gnus v0.95" "Version number for this version of Gnus.") (defvar gnus-info-nodes *************** *** 4264,4270 **** (buffer-disable-undo (current-buffer)) (setq truncate-lines t) (setq buffer-read-only t) ! (make-local-hook 'post-command-hook) (add-hook 'post-command-hook 'gnus-clear-inboxes-moved) (run-hooks 'gnus-group-mode-hook)) --- 4265,4271 ---- (buffer-disable-undo (current-buffer)) (setq truncate-lines t) (setq buffer-read-only t) ! (gnus-make-local-hook 'post-command-hook) (add-hook 'post-command-hook 'gnus-clear-inboxes-moved) (run-hooks 'gnus-group-mode-hook)) *************** *** 7407,7412 **** --- 7408,7414 ---- (put 'gnus-save-hidden-threads 'lisp-indent-function 0) (put 'gnus-save-hidden-threads 'lisp-indent-hook 0) + (put 'gnus-save-hidden-threads 'edebug-form-spec '(body)) (defmacro gnus-save-hidden-threads (&rest forms) "Save hidden threads, eval FORMS, and restore the hidden threads." *************** *** 9414,9420 **** (defun gnus-summary-insert-subject (id &optional old-header) "Find article ID and insert the summary line for that article." ! (let ((header (gnus-read-header id)) (number (and (numberp id) id)) pos) (when header --- 9416,9422 ---- (defun gnus-summary-insert-subject (id &optional old-header) "Find article ID and insert the summary line for that article." ! (let ((header (or old-header (gnus-read-header id))) (number (and (numberp id) id)) pos) (when header *************** *** 9430,9439 **** (when old-header (mail-header-set-number header (mail-header-number old-header))) (setq gnus-newsgroup-sparse ! (delq (mail-header-number header) gnus-newsgroup-sparse)) (gnus-rebuild-thread (mail-header-id header)) ! (gnus-summary-goto-subject (setq number (mail-header-number header)) ! nil t)) (when (and (numberp number) (> number 0)) ;; We have to update the boundaries even if we can't fetch the --- 9432,9442 ---- (when old-header (mail-header-set-number header (mail-header-number old-header))) (setq gnus-newsgroup-sparse ! (delq (setq number (mail-header-number header)) ! gnus-newsgroup-sparse)) ! (setq gnus-newsgroup-ancient (delq number gnus-newsgroup-ancient)) (gnus-rebuild-thread (mail-header-id header)) ! (gnus-summary-goto-subject number nil t)) (when (and (numberp number) (> number 0)) ;; We have to update the boundaries even if we can't fetch the *************** *** 9532,9543 **** (gnus-data-number result))))) (defun gnus-summary-find-prev (&optional unread article) ! (let* ((article (or article (gnus-summary-article-number))) (arts (gnus-data-find-list article (gnus-data-list 'rev))) result) ! (when (or (not gnus-summary-check-current) ! (not unread) ! (not (gnus-data-unread-p (car arts)))) (setq arts (cdr arts))) (if (setq result (if unread --- 9535,9548 ---- (gnus-data-number result))))) (defun gnus-summary-find-prev (&optional unread article) ! (let* ((eobp (eobp)) ! (article (or article (gnus-summary-article-number))) (arts (gnus-data-find-list article (gnus-data-list 'rev))) result) ! (when (and (not eobp) ! (or (not gnus-summary-check-current) ! (not unread) ! (not (gnus-data-unread-p (car arts))))) (setq arts (cdr arts))) (if (setq result (if unread *************** *** 10192,10198 **** ;; We read in the article if we have to. (and (not data) force ! (gnus-summary-insert-subject article) (setq data (gnus-data-find article))) (goto-char b) (if (not data) --- 10197,10203 ---- ;; We read in the article if we have to. (and (not data) force ! (gnus-summary-insert-subject article (and (vectorp force) force)) (setq data (gnus-data-find article))) (goto-char b) (if (not data) *************** *** 10797,10817 **** ;; buffer as a result of the new limit. (- total (length gnus-newsgroup-data)))) (defsubst gnus-cut-thread (thread) "Go forwards in the thread until we find an article that we want to display." ! (when (eq gnus-fetch-old-headers 'some) ! ;; Deal with old-fetched headers. ! (while (and thread ! (memq (mail-header-number (car thread)) ! gnus-newsgroup-ancient) ! (<= (length (cdr thread)) 1)) ! (setq thread (cadr thread)))) ! ;; Deal with sparse threads. ! (when (or (eq gnus-build-sparse-threads 'some) (eq gnus-build-sparse-threads 'more)) ! (while (and thread ! (memq (mail-header-number (car thread)) gnus-newsgroup-sparse) ! (= (length (cdr thread)) 1)) (setq thread (cadr thread)))) thread) --- 10802,10828 ---- ;; buffer as a result of the new limit. (- total (length gnus-newsgroup-data)))) + (defsubst gnus-invisible-cut-children (threads) + (let ((num 0)) + (while threads + (when (memq (mail-header-number (caar threads)) gnus-newsgroup-limit) + (incf num)) + (pop threads)) + (< num 2))) + (defsubst gnus-cut-thread (thread) "Go forwards in the thread until we find an article that we want to display." ! (when (or (eq gnus-fetch-old-headers 'some) ! (eq gnus-build-sparse-threads 'some) (eq gnus-build-sparse-threads 'more)) ! ;; Deal with old-fetched headers and sparse threads. ! (while (and ! thread ! (or ! (memq (mail-header-number (car thread)) gnus-newsgroup-sparse) ! (memq (mail-header-number (car thread)) gnus-newsgroup-ancient)) ! (or (<= (length (cdr thread)) 1) ! (gnus-invisible-cut-children (cdr thread)))) (setq thread (cadr thread)))) thread) *************** *** 10883,10889 **** ;; children, then this article isn't visible. (and (memq number gnus-newsgroup-dormant) (= children 0)) ! ;; If this is a "fetch-old-headered" and there is only one ;; visible child (or less), then we don't want this article. (and (eq gnus-fetch-old-headers 'some) (memq number gnus-newsgroup-ancient) --- 10894,10900 ---- ;; children, then this article isn't visible. (and (memq number gnus-newsgroup-dormant) (= children 0)) ! ;; If this is "fetch-old-headered" and there is only one ;; visible child (or less), then we don't want this article. (and (eq gnus-fetch-old-headers 'some) (memq number gnus-newsgroup-ancient) *************** *** 11006,11016 **** (setq message-id (concat "<" message-id))) (unless (string-match ">$" message-id) (setq message-id (concat message-id ">"))) ! (let ((header (car (gnus-gethash message-id ! gnus-newsgroup-dependencies)))) (if header ;; The article is present in the buffer, to we just go to it. ! (gnus-summary-goto-article (mail-header-number header) nil t) ;; We fetch the article (let ((gnus-override-method (and (gnus-news-group-p gnus-newsgroup-name) --- 11017,11026 ---- (setq message-id (concat "<" message-id))) (unless (string-match ">$" message-id) (setq message-id (concat message-id ">"))) ! (let ((header (gnus-id-to-header message-id))) (if header ;; The article is present in the buffer, to we just go to it. ! (gnus-summary-goto-article (mail-header-number header) nil header) ;; We fetch the article (let ((gnus-override-method (and (gnus-news-group-p gnus-newsgroup-name) *************** *** 11089,11097 **** (if (string-equal regexp "") (setq regexp (or gnus-last-search-regexp "")) (setq gnus-last-search-regexp regexp)) ! (if (gnus-summary-search-article regexp backward) ! (gnus-article-set-window-start ! (cdr (assq (gnus-summary-article-number) gnus-newsgroup-bookmarks))) (error "Search failed: \"%s\"" regexp))) (defun gnus-summary-search-article-backward (regexp) --- 11099,11105 ---- (if (string-equal regexp "") (setq regexp (or gnus-last-search-regexp "")) (setq gnus-last-search-regexp regexp)) ! (unless (gnus-summary-search-article regexp backward) (error "Search failed: \"%s\"" regexp))) (defun gnus-summary-search-article-backward (regexp) *************** *** 11130,11136 **** (beginning-of-line) (set-window-start (get-buffer-window (current-buffer)) ! (point))) ;; We didn't find it, so we go to the next article. (set-buffer sum) (if (not (if backward (gnus-summary-find-prev) --- 11138,11146 ---- (beginning-of-line) (set-window-start (get-buffer-window (current-buffer)) ! (point)) ! (forward-line 1) ! (set-buffer sum)) ;; We didn't find it, so we go to the next article. (set-buffer sum) (if (not (if backward (gnus-summary-find-prev) *************** *** 11142,11148 **** (set-buffer gnus-article-buffer) (widen) (goto-char (if backward (point-max) (point-min)))))) - (set-buffer sum) (gnus-message 7 "")) ;; Return whether we found the regexp. (when (eq found 'found) --- 11152,11157 ---- *************** *** 12830,12836 **** Timezone package is used." (setq date (timezone-fix-time date nil nil)) (timezone-make-sortable-date ! (aref date 0) (aref date 2) (aref date 2) (timezone-make-time-string (aref date 3) (aref date 4) (aref date 5)))) --- 12839,12845 ---- Timezone package is used." (setq date (timezone-fix-time date nil nil)) (timezone-make-sortable-date ! (aref date 0) (aref date 1) (aref date 2) (timezone-make-time-string (aref date 3) (aref date 4) (aref date 5)))) *************** *** 16659,16664 **** --- 16668,16674 ---- (setq version-control 'never) (setq buffer-file-name (concat gnus-current-startup-file ".eld")) + (setq default-directory (file-name-directory buffer-file-name)) (gnus-add-current-to-buffer-list) (buffer-disable-undo (current-buffer)) (erase-buffer) *************** *** 16703,16708 **** --- 16713,16719 ---- (standard-output (current-buffer)) info ranges range method) (setq buffer-file-name gnus-current-startup-file) + (setq default-directory (file-name-directory buffer-file-name)) (buffer-disable-undo (current-buffer)) (erase-buffer) ;; Write options. *** pub/sgnus/lisp/nnheader-ems.el Fri May 24 23:47:38 1996 --- sgnus/lisp/nnheader-ems.el Sun May 26 02:35:59 1996 *************** *** 128,134 **** (erase-buffer) (if rawfile (condition-case () ! (insert-file-contents-literally filename t) (file-error ;; Unconditionally set error (setq error t))) --- 128,134 ---- (erase-buffer) (if rawfile (condition-case () ! (nnheader-insert-file-contents-literally filename t) (file-error ;; Unconditionally set error (setq error t))) *************** *** 175,181 **** (fset 'nnheader-run-at-time 'nnheader-xmas-run-at-time) (fset 'nnheader-cancel-timer 'nnheader-xmas-cancel-timer) (fset 'nnheader-find-file-noselect 'nnheader-xmas-find-file-noselect) ! (fset 'nnheader-insert-raw-file-contents 'nnheader-xmas-insert-file-contents-literally)) ;; Do Emacs function bindings. (t --- 175,181 ---- (fset 'nnheader-run-at-time 'nnheader-xmas-run-at-time) (fset 'nnheader-cancel-timer 'nnheader-xmas-cancel-timer) (fset 'nnheader-find-file-noselect 'nnheader-xmas-find-file-noselect) ! (fset 'nnheader-insert-file-contents-literally 'nnheader-xmas-insert-file-contents-literally)) ;; Do Emacs function bindings. (t *** pub/sgnus/lisp/ChangeLog Fri May 24 23:47:47 1996 --- sgnus/lisp/ChangeLog Sun May 26 02:35:59 1996 *************** *** 1,5 **** --- 1,31 ---- + Sun May 26 02:35:48 1996 Lars Magne Ingebrigtsen + + * nnheader-ems.el: Bind nnheader-insert-raw-file-contents. + + Sun May 26 02:34:01 1996 Bart Robinson + + * gnus.el (gnus-save-newsrc-file): Make the backups go to the + right directory. + + Sun May 26 00:04:38 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-cut-thread): Wouldn't cut properly with + old-fetched and dormant articles. + + Sat May 25 22:49:51 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-summary-search-article): Continue from where we + were. + (gnus-summary-insert-subject): Wouldn't insert when old-fetched + articles. + (gnus-cut-threads): Would display too many threads when both + sparse & ancient articles were present. + (gnus-invisible-cut-children): New function. + Fri May 24 21:27:49 1996 Lars Magne Ingebrigtsen + * gnus.el: 0.94 is released. + * nnvirtual.el (nnvirtual-request-group): Don't include itself in its component groups. *************** *** 21,26 **** --- 47,73 ---- not included. Thu May 23 23:32:43 1996 Lars Magne Ingebrigtsen + + Fri May 24 17:56:19 1996 Andy Norman + + * nnheader-ems.el (nnheader-xmas-find-file-noselect): Use + `nnheader-insert-file-contents-literally'. + + Fri May 24 17:51:46 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-summary-find-prev): With point at eob, would + select the next-to-last article. + + Fri May 24 17:25:48 1996 Magnus Hammerin + + * gnus.el (gnus-group-mode): Use `gnus-make-local-hook'. + (gnus-sortable-date): Typo. + + Fri May 24 17:24:15 1996 ISO-2022-JP + + * gnus.el (gnus-narrow-to-signature): Didn't work. + + * gnus.el: September Gnus v0.93 is released. * gnus.el: September Gnus v0.93 is released. *** pub/sgnus/texi/gnus.texi Fri May 24 23:47:49 1996 --- sgnus/texi/gnus.texi Sat May 25 23:15:55 1996 *************** *** 2519,2525 **** @code{gnus-extract-address-components}, which is the default, quite fast, and too simplistic solution; and @code{mail-extract-address-components}, which works very nicely, but is ! slower. @vindex gnus-summary-same-subject @code{gnus-summary-same-subject} is a string indicating that the current --- 2519,2526 ---- @code{gnus-extract-address-components}, which is the default, quite fast, and too simplistic solution; and @code{mail-extract-address-components}, which works very nicely, but is ! slower. The default function will return the wrong answer in 5% of the ! cases. If this is unacceptable to you, use the other function instead. @vindex gnus-summary-same-subject @code{gnus-summary-same-subject} is a string indicating that the current *** pub/sgnus/texi/ChangeLog Fri May 24 23:47:47 1996 --- sgnus/texi/ChangeLog Sat May 25 23:15:49 1996 *************** *** 1,3 **** --- 1,7 ---- + Fri May 24 17:19:58 1996 Lars Magne Ingebrigtsen + + * gnus.texi (Summary Buffer Format): Addition. + Wed May 22 23:41:28 1996 Lars Magne Ingebrigtsen * gnus.texi (Troubleshooting): Addition.