*** pub/qgnus/lisp/gnus-art.el Mon Apr 27 00:24:52 1998 --- qgnus/lisp/gnus-art.el Wed Apr 29 22:47:51 1998 *************** *** 1450,1462 **** (defun article-update-date-lapsed () "Function to be run from a timer to update the lapsed time line." ! (save-excursion ! (ignore-errors ! (when (gnus-buffer-live-p gnus-article-buffer) ! (set-buffer gnus-article-buffer) ! (goto-char (point-min)) ! (when (re-search-forward "^X-Sent:" nil t) ! (article-date-lapsed t)))))) (defun gnus-start-date-timer (&optional n) "Start a timer to update the X-Sent header in the article buffers. --- 1450,1463 ---- (defun article-update-date-lapsed () "Function to be run from a timer to update the lapsed time line." ! (let (deactivate-mark) ! (save-excursion ! (ignore-errors ! (when (gnus-buffer-live-p gnus-article-buffer) ! (set-buffer gnus-article-buffer) ! (goto-char (point-min)) ! (when (re-search-forward "^X-Sent:" nil t) ! (article-date-lapsed t))))))) (defun gnus-start-date-timer (&optional n) "Start a timer to update the X-Sent header in the article buffers. *************** *** 1914,1923 **** ["Remove carriage return" gnus-article-remove-cr t] ["Remove quoted-unreadable" gnus-article-de-quoted-unreadable t])) ! (when nil ! (when (boundp 'gnus-summary-article-menu) ! (define-key gnus-article-mode-map [menu-bar commands] ! (cons "Commands" gnus-summary-article-menu)))) (when (boundp 'gnus-summary-post-menu) (define-key gnus-article-mode-map [menu-bar post] --- 1915,1921 ---- ["Remove carriage return" gnus-article-remove-cr t] ["Remove quoted-unreadable" gnus-article-de-quoted-unreadable t])) ! ;; Note "Commands" menu is defined in gnus-sum.el for consistency (when (boundp 'gnus-summary-post-menu) (define-key gnus-article-mode-map [menu-bar post] *************** *** 1943,1949 **** (interactive) (when (gnus-visual-p 'article-menu 'menu) (gnus-article-make-menu-bar)) - (kill-all-local-variables) (gnus-simplify-mode-line) (setq mode-name "Article") (setq major-mode 'gnus-article-mode) --- 1941,1946 ---- *************** *** 2330,2396 **** "Read a summary buffer key sequence and execute it from the article buffer." (interactive "P") (let ((nosaves ! '("q" "Q" "c" "r" "R" "\C-c\C-f" "m" "a" "f" "F" ! "Zc" "ZC" "ZE" "ZQ" "ZZ" "Zn" "ZR" "ZG" "ZN" "ZP" ! "=" "^" "\M-^" "|")) ! (nosave-but-article ! '("A\r")) ! (nosave-in-article ! '("\C-d")) (up-to-top '("n" "Gn" "p" "Gp")) ! keys new-sum-point) (save-excursion (set-buffer gnus-article-current-summary) (let (gnus-pick-mode) ! (push (or key last-command-event) unread-command-events) ! (setq keys (read-key-sequence nil)))) (message "") (if (or (member keys nosaves) ! (member keys nosave-but-article) ! (member keys nosave-in-article)) ! (let (func) ! (save-window-excursion ! (pop-to-buffer gnus-article-current-summary 'norecord) ! ;; We disable the pick minor mode commands. ! (let (gnus-pick-mode) ! (setq func (lookup-key (current-local-map) keys)))) ! (if (not func) ! (ding) ! (unless (member keys nosave-in-article) ! (set-buffer gnus-article-current-summary)) ! (call-interactively func) ! (setq new-sum-point (point))) ! (when (member keys nosave-but-article) ! (pop-to-buffer gnus-article-buffer 'norecord))) ;; These commands should restore window configuration. (let ((obuf (current-buffer)) ! (owin (current-window-configuration)) ! (opoint (point)) ! (summary gnus-article-current-summary) ! func in-buffer) ! (if not-restore-window ! (pop-to-buffer summary 'norecord) ! (switch-to-buffer summary 'norecord)) ! (setq in-buffer (current-buffer)) ! ;; We disable the pick minor mode commands. ! (if (setq func (let (gnus-pick-mode) ! (lookup-key (current-local-map) keys))) ! (progn ! (call-interactively func) ! (setq new-sum-point (point))) ! (ding)) ! (when (eq in-buffer (current-buffer)) ! (set-buffer obuf) ! (unless not-restore-window ! (set-window-configuration owin)) ! (unless (member keys up-to-top) (set-window-point (get-buffer-window (current-buffer)) opoint)) ! (let ((win (get-buffer-window gnus-article-current-summary))) ! (when win ! (set-window-point win new-sum-point)))))))) (defun gnus-article-hide (&optional arg force) "Hide all the gruft in the current article. --- 2327,2394 ---- "Read a summary buffer key sequence and execute it from the article buffer." (interactive "P") (let ((nosaves ! '("q" "Q" "c" "r" "R" "\C-c\C-f" "m" "a" "f" "F" ! "Zc" "ZC" "ZE" "ZQ" "ZZ" "Zn" "ZR" "ZG" "ZN" "ZP" ! "=" "^" "\M-^" "|")) ! (nosave-but-article ! '("A\r")) ! (nosave-in-article ! '("\C-d")) (up-to-top '("n" "Gn" "p" "Gp")) ! keys new-sum-point) (save-excursion (set-buffer gnus-article-current-summary) (let (gnus-pick-mode) ! (push (or key last-command-event) unread-command-events) ! (setq keys (read-key-sequence nil)))) (message "") (if (or (member keys nosaves) ! (member keys nosave-but-article) ! (member keys nosave-in-article)) ! (let (func) ! (save-window-excursion ! (pop-to-buffer gnus-article-current-summary 'norecord) ! ;; We disable the pick minor mode commands. ! (let (gnus-pick-mode) ! (setq func (lookup-key (current-local-map) keys)))) ! (if (not func) ! (ding) ! (unless (member keys nosave-in-article) ! (set-buffer gnus-article-current-summary)) ! (call-interactively func) ! (setq new-sum-point (point))) ! (when (member keys nosave-but-article) ! (pop-to-buffer gnus-article-buffer 'norecord))) ;; These commands should restore window configuration. (let ((obuf (current-buffer)) ! (owin (current-window-configuration)) ! (opoint (point)) ! (summary gnus-article-current-summary) ! func in-buffer selected) ! (if not-restore-window ! (pop-to-buffer summary 'norecord) ! (switch-to-buffer summary 'norecord)) ! (setq in-buffer (current-buffer)) ! ;; We disable the pick minor mode commands. ! (if (setq func (let (gnus-pick-mode) ! (lookup-key (current-local-map) keys))) ! (progn ! (call-interactively func) ! (setq new-sum-point (point))) ! (ding)) ! (when (eq in-buffer (current-buffer)) ! (setq selected (gnus-summary-select-article)) ! (set-buffer obuf) ! (unless not-restore-window ! (set-window-configuration owin)) ! (unless (or (not (eq selected 'old)) (member keys up-to-top)) (set-window-point (get-buffer-window (current-buffer)) opoint)) ! (let ((win (get-buffer-window gnus-article-current-summary))) ! (when win ! (set-window-point win new-sum-point)))))))) (defun gnus-article-hide (&optional arg force) "Hide all the gruft in the current article. *************** *** 2583,2589 **** \\{gnus-article-edit-mode-map}" (interactive) - (kill-all-local-variables) (setq major-mode 'gnus-article-edit-mode) (setq mode-name "Article Edit") (use-local-map gnus-article-edit-mode-map) --- 2581,2586 ---- *************** *** 2713,2722 **** :type 'regexp) (defcustom gnus-button-alist ! `(("<\\(url: ?\\)?news:\\([^>\n\t ]*@[^>\n\t ]*\\)>" 0 t gnus-button-message-id 2) ("\\bnews:\\([^>\n\t ]*@[^>\n\t ]*\\)" 0 t gnus-button-message-id 1) ! ("\\(\\b<\\(url: ?\\)?news:\\(//\\)?\\([^>\n\t ]*\\)>\\)" 1 t gnus-button-fetch-group 4) ("\\bnews:\\(//\\)?\\([^'\">\n\t ]+\\)" 0 t gnus-button-fetch-group 2) ("\\bin\\( +article\\| +message\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2 --- 2710,2720 ---- :type 'regexp) (defcustom gnus-button-alist ! `(("<\\(url:[>\n\t ]*?\\)?news:[>\n\t ]*\\([^>\n\t ]*@[^>\n\t ]*\\)>" 0 t gnus-button-message-id 2) ("\\bnews:\\([^>\n\t ]*@[^>\n\t ]*\\)" 0 t gnus-button-message-id 1) ! ("\\(\\b<\\(url:[>\n\t ]*\\)?news:[>\n\t ]*\\(//\\)?\\([^>\n\t ]*\\)>\\)" ! 1 t gnus-button-fetch-group 4) ("\\bnews:\\(//\\)?\\([^'\">\n\t ]+\\)" 0 t gnus-button-fetch-group 2) ("\\bin\\( +article\\| +message\\)? +\\(<\\([^\n @<>]+@[^\n @<>]+\\)>\\)" 2 *** pub/qgnus/lisp/gnus-cache.el Mon Apr 27 00:24:52 1998 --- qgnus/lisp/gnus-cache.el Wed Apr 29 22:47:52 1998 *************** *** 309,314 **** --- 309,315 ---- (let ((articles (gnus-summary-work-articles n)) article out) (while (setq article (pop articles)) + (gnus-summary-remove-process-mark article) (if (natnump article) (when (gnus-cache-possibly-enter-article gnus-newsgroup-name article *************** *** 316,322 **** nil nil nil t) (push article out)) (gnus-message 2 "Can't cache article %d" article)) - (gnus-summary-remove-process-mark article) (gnus-summary-update-secondary-mark article)) (gnus-summary-next-subject 1) (gnus-summary-position-point) --- 317,322 ---- *************** *** 332,340 **** article out) (while articles (setq article (pop articles)) (when (gnus-cache-possibly-remove-article article nil nil nil t) (push article out)) - (gnus-summary-remove-process-mark article) (gnus-summary-update-secondary-mark article)) (gnus-summary-next-subject 1) (gnus-summary-position-point) --- 332,340 ---- article out) (while articles (setq article (pop articles)) + (gnus-summary-remove-process-mark article) (when (gnus-cache-possibly-remove-article article nil nil nil t) (push article out)) (gnus-summary-update-secondary-mark article)) (gnus-summary-next-subject 1) (gnus-summary-position-point) *** pub/qgnus/lisp/gnus-group.el Thu Mar 19 15:20:31 1998 --- qgnus/lisp/gnus-group.el Wed Apr 29 22:47:54 1998 *************** *** 1234,1240 **** (defun gnus-group-group-name () "Get the name of the newsgroup on the current line." (let ((group (get-text-property (gnus-point-at-bol) 'gnus-group))) ! (and group (symbol-name group)))) (defun gnus-group-group-level () "Get the level of the newsgroup on the current line." --- 1234,1241 ---- (defun gnus-group-group-name () "Get the name of the newsgroup on the current line." (let ((group (get-text-property (gnus-point-at-bol) 'gnus-group))) ! (when group ! (symbol-name group)))) (defun gnus-group-group-level () "Get the level of the newsgroup on the current line." *************** *** 3354,3360 **** (defsubst gnus-group-timestamp (group) "Return the timestamp for GROUP." ! (gnus-group-get-parameter group 'timestamp)) (defun gnus-group-timestamp-delta (group) "Return the offset in seconds from the timestamp for GROUP to the current time, as a floating point number." --- 3355,3361 ---- (defsubst gnus-group-timestamp (group) "Return the timestamp for GROUP." ! (gnus-group-get-parameter group 'timestamp t)) (defun gnus-group-timestamp-delta (group) "Return the offset in seconds from the timestamp for GROUP to the current time, as a floating point number." *** pub/qgnus/lisp/gnus-move.el Sat Feb 14 19:27:34 1998 --- qgnus/lisp/gnus-move.el Wed Apr 29 22:47:54 1998 *************** *** 130,136 **** ;; into the Gnus info format. (setq to-reads (gnus-range-add ! (gnus-compress-sequence (and to-reads (sort to-reads '<)) t) (cons 1 (1- (car to-active))))) (gnus-info-set-read info to-reads) ;; Do the marks. I'm sure y'all understand what's --- 130,139 ---- ;; into the Gnus info format. (setq to-reads (gnus-range-add ! (gnus-compress-sequence ! (and (setq to-reads (delq nil to-reads)) ! (sort to-reads '<)) ! t) (cons 1 (1- (car to-active))))) (gnus-info-set-read info to-reads) ;; Do the marks. I'm sure y'all understand what's *** pub/qgnus/lisp/gnus-msg.el Mon Apr 27 00:24:53 1998 --- qgnus/lisp/gnus-msg.el Wed Apr 29 22:47:54 1998 *************** *** 49,54 **** --- 49,55 ---- method to use when posting." :group 'gnus-group-foreign :type `(choice (const nil) + (const current) (const native) (sexp :tag "Methods" ,gnus-select-method))) *** pub/qgnus/lisp/gnus-salt.el Mon Apr 27 00:24:54 1998 --- qgnus/lisp/gnus-salt.el Wed Apr 29 22:47:55 1998 *************** *** 72,94 **** (setq gnus-pick-mode-map (make-sparse-keymap)) (gnus-define-keys gnus-pick-mode-map - "t" gnus-uu-mark-thread - "T" gnus-uu-unmark-thread " " gnus-pick-next-page "u" gnus-summary-unmark-as-processable - "U" gnus-summary-unmark-all-processable - "v" gnus-uu-mark-over - "r" gnus-uu-mark-region - "R" gnus-uu-unmark-region - "e" gnus-uu-mark-by-regexp - "E" gnus-uu-mark-by-regexp - "b" gnus-uu-mark-buffer - "B" gnus-uu-unmark-buffer "." gnus-pick-article gnus-down-mouse-2 gnus-pick-mouse-pick-region ;;gnus-mouse-2 gnus-pick-mouse-pick ! "X" gnus-pick-start-reading ! "\r" gnus-pick-start-reading)) (defun gnus-pick-make-menu-bar () (unless (boundp 'gnus-pick-menu) --- 72,95 ---- (setq gnus-pick-mode-map (make-sparse-keymap)) (gnus-define-keys gnus-pick-mode-map " " gnus-pick-next-page "u" gnus-summary-unmark-as-processable "." gnus-pick-article gnus-down-mouse-2 gnus-pick-mouse-pick-region + "\r" gnus-pick-start-reading + ;; "t" gnus-uu-mark-thread + ;; "T" gnus-uu-unmark-thread + ;; "U" gnus-summary-unmark-all-processable + ;; "v" gnus-uu-mark-over + ;; "r" gnus-uu-mark-region + ;; "R" gnus-uu-unmark-region + ;; "e" gnus-uu-mark-by-regexp + ;; "E" gnus-uu-mark-by-regexp + ;; "b" gnus-uu-mark-buffer + ;; "B" gnus-uu-unmark-buffer ;;gnus-mouse-2 gnus-pick-mouse-pick ! ;; "X" gnus-pick-start-reading ! )) (defun gnus-pick-make-menu-bar () (unless (boundp 'gnus-pick-menu) *************** *** 99,112 **** ["Article" gnus-summary-mark-as-processable t] ["Thread" gnus-uu-mark-thread t] ["Region" gnus-uu-mark-region t] ! ["Regexp" gnus-uu-mark-regexp t] ["Buffer" gnus-uu-mark-buffer t]) ("Unpick" ["Article" gnus-summary-unmark-as-processable t] ["Thread" gnus-uu-unmark-thread t] ["Region" gnus-uu-unmark-region t] ! ["Regexp" gnus-uu-unmark-regexp t] ! ["Buffer" gnus-uu-unmark-buffer t]) ["Start reading" gnus-pick-start-reading t] ["Switch pick mode off" gnus-pick-mode gnus-pick-mode])))) --- 100,113 ---- ["Article" gnus-summary-mark-as-processable t] ["Thread" gnus-uu-mark-thread t] ["Region" gnus-uu-mark-region t] ! ["Regexp" gnus-uu-mark-by-regexp t] ["Buffer" gnus-uu-mark-buffer t]) ("Unpick" ["Article" gnus-summary-unmark-as-processable t] ["Thread" gnus-uu-unmark-thread t] ["Region" gnus-uu-unmark-region t] ! ["Regexp" gnus-uu-unmark-by-regexp t] ! ["Buffer" gnus-summary-unmark-all-processable t]) ["Start reading" gnus-pick-start-reading t] ["Switch pick mode off" gnus-pick-mode gnus-pick-mode])))) *** pub/qgnus/lisp/gnus-score.el Mon Apr 27 00:24:56 1998 --- qgnus/lisp/gnus-score.el Wed Apr 29 22:47:57 1998 *************** *** 1328,1334 **** (gnus-prin1 score) ;; This is a normal score file, so we print it very ;; prettily. ! (let ((emacs-lisp-mode-syntax-table score-mode-syntax-table)) (pp score (current-buffer))))) (gnus-make-directory (file-name-directory file)) ;; If the score file is empty, we delete it. --- 1328,1334 ---- (gnus-prin1 score) ;; This is a normal score file, so we print it very ;; prettily. ! (let ((lisp-mode-syntax-table score-mode-syntax-table)) (pp score (current-buffer))))) (gnus-make-directory (file-name-directory file)) ;; If the score file is empty, we delete it. *** pub/qgnus/lisp/gnus-sum.el Mon Apr 27 00:25:03 1998 --- qgnus/lisp/gnus-sum.el Wed Apr 29 22:48:02 1998 *************** *** 1470,1681 **** ["Increase score..." gnus-summary-increase-score t] ["Lower score..." gnus-summary-lower-score t])))) ! '(("Default header" ! ["Ask" (gnus-score-set-default 'gnus-score-default-header nil) ! :style radio ! :selected (null gnus-score-default-header)] ! ["From" (gnus-score-set-default 'gnus-score-default-header 'a) ! :style radio ! :selected (eq gnus-score-default-header 'a)] ! ["Subject" (gnus-score-set-default 'gnus-score-default-header 's) ! :style radio ! :selected (eq gnus-score-default-header 's)] ! ["Article body" ! (gnus-score-set-default 'gnus-score-default-header 'b) ! :style radio ! :selected (eq gnus-score-default-header 'b )] ! ["All headers" ! (gnus-score-set-default 'gnus-score-default-header 'h) ! :style radio ! :selected (eq gnus-score-default-header 'h )] ! ["Message-ID" (gnus-score-set-default 'gnus-score-default-header 'i) ! :style radio ! :selected (eq gnus-score-default-header 'i )] ! ["Thread" (gnus-score-set-default 'gnus-score-default-header 't) ! :style radio ! :selected (eq gnus-score-default-header 't )] ! ["Crossposting" ! (gnus-score-set-default 'gnus-score-default-header 'x) ! :style radio ! :selected (eq gnus-score-default-header 'x )] ! ["Lines" (gnus-score-set-default 'gnus-score-default-header 'l) ! :style radio ! :selected (eq gnus-score-default-header 'l )] ! ["Date" (gnus-score-set-default 'gnus-score-default-header 'd) ! :style radio ! :selected (eq gnus-score-default-header 'd )] ! ["Followups to author" ! (gnus-score-set-default 'gnus-score-default-header 'f) ! :style radio ! :selected (eq gnus-score-default-header 'f )]) ! ("Default type" ! ["Ask" (gnus-score-set-default 'gnus-score-default-type nil) ! :style radio ! :selected (null gnus-score-default-type)] ! ;; The `:active' key is commented out in the following, ! ;; because the GNU Emacs hack to support radio buttons use ! ;; active to indicate which button is selected. ! ["Substring" (gnus-score-set-default 'gnus-score-default-type 's) ! :style radio ! ;; :active (not (memq gnus-score-default-header '(l d))) ! :selected (eq gnus-score-default-type 's)] ! ["Regexp" (gnus-score-set-default 'gnus-score-default-type 'r) ! :style radio ! ;; :active (not (memq gnus-score-default-header '(l d))) ! :selected (eq gnus-score-default-type 'r)] ! ["Exact" (gnus-score-set-default 'gnus-score-default-type 'e) ! :style radio ! ;; :active (not (memq gnus-score-default-header '(l d))) ! :selected (eq gnus-score-default-type 'e)] ! ["Fuzzy" (gnus-score-set-default 'gnus-score-default-type 'f) ! :style radio ! ;; :active (not (memq gnus-score-default-header '(l d))) ! :selected (eq gnus-score-default-type 'f)] ! ["Before date" (gnus-score-set-default 'gnus-score-default-type 'b) ! :style radio ! ;; :active (eq (gnus-score-default-header 'd)) ! :selected (eq gnus-score-default-type 'b)] ! ["At date" (gnus-score-set-default 'gnus-score-default-type 'n) ! :style radio ! ;; :active (eq (gnus-score-default-header 'd)) ! :selected (eq gnus-score-default-type 'n)] ! ["After date" (gnus-score-set-default 'gnus-score-default-type 'a) ! :style radio ! ;; :active (eq (gnus-score-default-header 'd)) ! :selected (eq gnus-score-default-type 'a)] ! ["Less than number" ! (gnus-score-set-default 'gnus-score-default-type '<) ! :style radio ! ;; :active (eq (gnus-score-default-header 'l)) ! :selected (eq gnus-score-default-type '<)] ! ["Equal to number" ! (gnus-score-set-default 'gnus-score-default-type '=) ! :style radio ! ;; :active (eq (gnus-score-default-header 'l)) ! :selected (eq gnus-score-default-type '=)] ! ["Greater than number" ! (gnus-score-set-default 'gnus-score-default-type '>) ! :style radio ! ;; :active (eq (gnus-score-default-header 'l)) ! :selected (eq gnus-score-default-type '>)]) ! ["Default fold" gnus-score-default-fold-toggle ! :style toggle ! :selected gnus-score-default-fold] ! ("Default duration" ! ["Ask" (gnus-score-set-default 'gnus-score-default-duration nil) ! :style radio ! :selected (null gnus-score-default-duration)] ! ["Permanent" ! (gnus-score-set-default 'gnus-score-default-duration 'p) ! :style radio ! :selected (eq gnus-score-default-duration 'p)] ! ["Temporary" ! (gnus-score-set-default 'gnus-score-default-duration 't) ! :style radio ! :selected (eq gnus-score-default-duration 't)] ! ["Immediate" ! (gnus-score-set-default 'gnus-score-default-duration 'i) ! :style radio ! :selected (eq gnus-score-default-duration 'i)])) ! ! (easy-menu-define ! gnus-summary-article-menu gnus-summary-mode-map "" ! '("Article" ! ("Hide" ! ["All" gnus-article-hide t] ! ["Headers" gnus-article-hide-headers t] ! ["Signature" gnus-article-hide-signature t] ! ["Citation" gnus-article-hide-citation t] ! ["PGP" gnus-article-hide-pgp t] ! ["Boring headers" gnus-article-hide-boring-headers t]) ! ("Highlight" ! ["All" gnus-article-highlight t] ! ["Headers" gnus-article-highlight-headers t] ! ["Signature" gnus-article-highlight-signature t] ! ["Citation" gnus-article-highlight-citation t]) ! ("Date" ! ["Local" gnus-article-date-local t] ! ["ISO8601" gnus-article-date-iso8601 t] ! ["UT" gnus-article-date-ut t] ! ["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] ! ["Trailing" gnus-article-remove-trailing-blank-lines t] ! ["All of the above" gnus-article-strip-blank-lines t] ! ["All" gnus-article-strip-all-blank-lines t] ! ["Leading space" gnus-article-strip-leading-space t]) ! ["Overstrike" gnus-article-treat-overstrike t] ! ["Dumb quotes" gnus-article-treat-dumbquotes t] ! ["Emphasis" gnus-article-emphasize t] ! ["Word wrap" gnus-article-fill-cited-article t] ! ["CR" gnus-article-remove-cr t] ! ["Show X-Face" gnus-article-display-x-face t] ! ["Quoted-Printable" gnus-article-de-quoted-unreadable t] ! ["UnHTMLize" gnus-article-treat-html t] ! ["Rot 13" gnus-summary-caesar-message t] ! ["Unix pipe" gnus-summary-pipe-message t] ! ["Add buttons" gnus-article-add-buttons t] ! ["Add buttons to head" gnus-article-add-buttons-to-head t] ! ["Stop page breaking" gnus-summary-stop-page-breaking t] ! ["Toggle MIME" gnus-summary-toggle-mime t] ! ["Verbose header" gnus-summary-verbose-headers t] ! ["Toggle header" gnus-summary-toggle-header t]) ! ("Output" ! ["Save in default format" gnus-summary-save-article t] ! ["Save in file" gnus-summary-save-article-file t] ! ["Save in Unix mail format" gnus-summary-save-article-mail t] ! ["Save in MH folder" gnus-summary-save-article-folder t] ! ["Save in VM folder" gnus-summary-save-article-vm t] ! ["Save in RMAIL mbox" gnus-summary-save-article-rmail t] ! ["Save body in file" gnus-summary-save-article-body-file t] ! ["Pipe through a filter" gnus-summary-pipe-output t] ! ["Add to SOUP packet" gnus-soup-add-article t] ! ["Print" gnus-summary-print-article t]) ! ("Backend" ! ["Respool article..." gnus-summary-respool-article t] ! ["Move article..." gnus-summary-move-article ! (gnus-check-backend-function ! 'request-move-article gnus-newsgroup-name)] ! ["Copy article..." gnus-summary-copy-article t] ! ["Crosspost article..." gnus-summary-crosspost-article ! (gnus-check-backend-function ! 'request-replace-article gnus-newsgroup-name)] ! ["Import file..." gnus-summary-import-article t] ! ["Check if posted" gnus-summary-article-posted-p t] ! ["Edit article" gnus-summary-edit-article ! (not (gnus-group-read-only-p))] ! ["Delete article" gnus-summary-delete-article ! (gnus-check-backend-function ! 'request-expire-articles gnus-newsgroup-name)] ! ["Query respool" gnus-summary-respool-query t] ! ["Delete expirable articles" gnus-summary-expire-articles-now ! (gnus-check-backend-function ! 'request-expire-articles gnus-newsgroup-name)]) ! ("Extract" ! ["Uudecode" gnus-uu-decode-uu t] ! ["Uudecode and save" gnus-uu-decode-uu-and-save t] ! ["Unshar" gnus-uu-decode-unshar t] ! ["Unshar and save" gnus-uu-decode-unshar-and-save t] ! ["Save" gnus-uu-decode-save t] ! ["Binhex" gnus-uu-decode-binhex t] ! ["Postscript" gnus-uu-decode-postscript t]) ! ("Cache" ! ["Enter article" gnus-cache-enter-article t] ! ["Remove article" gnus-cache-remove-article t]) ! ["Select article buffer" gnus-summary-select-article-buffer t] ! ["Enter digest buffer" gnus-summary-enter-digest-group t] ! ["Isearch article..." gnus-summary-isearch-article t] ! ["Beginning of the article" gnus-summary-beginning-of-article t] ! ["End of the article" gnus-summary-end-of-article t] ! ["Fetch parent of article" gnus-summary-refer-parent-article t] ! ["Fetch referenced articles" gnus-summary-refer-references t] ! ["Fetch current thread" gnus-summary-refer-thread t] ! ["Fetch article with id..." gnus-summary-refer-article t] ! ["Redisplay" gnus-summary-show-article t])) (easy-menu-define gnus-summary-thread-menu gnus-summary-mode-map "" --- 1470,1580 ---- ["Increase score..." gnus-summary-increase-score t] ["Lower score..." gnus-summary-lower-score t])))) ! ;; Define both the Article menu in the summary buffer and the equivalent ! ;; Commands menu in the article buffer here for consistency. ! (let ((innards ! '(("Hide" ! ["All" gnus-article-hide t] ! ["Headers" gnus-article-hide-headers t] ! ["Signature" gnus-article-hide-signature t] ! ["Citation" gnus-article-hide-citation t] ! ["PGP" gnus-article-hide-pgp t] ! ["Boring headers" gnus-article-hide-boring-headers t]) ! ("Highlight" ! ["All" gnus-article-highlight t] ! ["Headers" gnus-article-highlight-headers t] ! ["Signature" gnus-article-highlight-signature t] ! ["Citation" gnus-article-highlight-citation t]) ! ("Date" ! ["Local" gnus-article-date-local t] ! ["ISO8601" gnus-article-date-iso8601 t] ! ["UT" gnus-article-date-ut t] ! ["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] ! ["Trailing" gnus-article-remove-trailing-blank-lines t] ! ["All of the above" gnus-article-strip-blank-lines t] ! ["All" gnus-article-strip-all-blank-lines t] ! ["Leading space" gnus-article-strip-leading-space t]) ! ["Overstrike" gnus-article-treat-overstrike t] ! ["Dumb quotes" gnus-article-treat-dumbquotes t] ! ["Emphasis" gnus-article-emphasize t] ! ["Word wrap" gnus-article-fill-cited-article t] ! ["CR" gnus-article-remove-cr t] ! ["Show X-Face" gnus-article-display-x-face t] ! ["Quoted-Printable" gnus-article-de-quoted-unreadable t] ! ["UnHTMLize" gnus-article-treat-html t] ! ["Rot 13" gnus-summary-caesar-message t] ! ["Unix pipe" gnus-summary-pipe-message t] ! ["Add buttons" gnus-article-add-buttons t] ! ["Add buttons to head" gnus-article-add-buttons-to-head t] ! ["Stop page breaking" gnus-summary-stop-page-breaking t] ! ["Toggle MIME" gnus-summary-toggle-mime t] ! ["Verbose header" gnus-summary-verbose-headers t] ! ["Toggle header" gnus-summary-toggle-header t]) ! ("Output" ! ["Save in default format" gnus-summary-save-article t] ! ["Save in file" gnus-summary-save-article-file t] ! ["Save in Unix mail format" gnus-summary-save-article-mail t] ! ["Save in MH folder" gnus-summary-save-article-folder t] ! ["Save in VM folder" gnus-summary-save-article-vm t] ! ["Save in RMAIL mbox" gnus-summary-save-article-rmail t] ! ["Save body in file" gnus-summary-save-article-body-file t] ! ["Pipe through a filter" gnus-summary-pipe-output t] ! ["Add to SOUP packet" gnus-soup-add-article t] ! ["Print" gnus-summary-print-article t]) ! ("Backend" ! ["Respool article..." gnus-summary-respool-article t] ! ["Move article..." gnus-summary-move-article ! (gnus-check-backend-function ! 'request-move-article gnus-newsgroup-name)] ! ["Copy article..." gnus-summary-copy-article t] ! ["Crosspost article..." gnus-summary-crosspost-article ! (gnus-check-backend-function ! 'request-replace-article gnus-newsgroup-name)] ! ["Import file..." gnus-summary-import-article t] ! ["Check if posted" gnus-summary-article-posted-p t] ! ["Edit article" gnus-summary-edit-article ! (not (gnus-group-read-only-p))] ! ["Delete article" gnus-summary-delete-article ! (gnus-check-backend-function ! 'request-expire-articles gnus-newsgroup-name)] ! ["Query respool" gnus-summary-respool-query t] ! ["Delete expirable articles" gnus-summary-expire-articles-now ! (gnus-check-backend-function ! 'request-expire-articles gnus-newsgroup-name)]) ! ("Extract" ! ["Uudecode" gnus-uu-decode-uu t] ! ["Uudecode and save" gnus-uu-decode-uu-and-save t] ! ["Unshar" gnus-uu-decode-unshar t] ! ["Unshar and save" gnus-uu-decode-unshar-and-save t] ! ["Save" gnus-uu-decode-save t] ! ["Binhex" gnus-uu-decode-binhex t] ! ["Postscript" gnus-uu-decode-postscript t]) ! ("Cache" ! ["Enter article" gnus-cache-enter-article t] ! ["Remove article" gnus-cache-remove-article t]) ! ["Select article buffer" gnus-summary-select-article-buffer t] ! ["Enter digest buffer" gnus-summary-enter-digest-group t] ! ["Isearch article..." gnus-summary-isearch-article t] ! ["Beginning of the article" gnus-summary-beginning-of-article t] ! ["End of the article" gnus-summary-end-of-article t] ! ["Fetch parent of article" gnus-summary-refer-parent-article t] ! ["Fetch referenced articles" gnus-summary-refer-references t] ! ["Fetch current thread" gnus-summary-refer-thread t] ! ["Fetch article with id..." gnus-summary-refer-article t] ! ["Redisplay" gnus-summary-show-article t]))) ! (easy-menu-define ! gnus-summary-article-menu gnus-summary-mode-map "" ! (cons "Article" innards)) ! ! (easy-menu-define ! gnus-article-commands-menu gnus-article-mode-map "" ! (cons "Commands" innards))) (easy-menu-define gnus-summary-thread-menu gnus-summary-mode-map "" *************** *** 1766,1772 **** --- 1665,1673 ---- ["Mark above" gnus-uu-mark-over t] ["Mark series" gnus-uu-mark-series t] ["Mark region" gnus-uu-mark-region t] + ["Unmark region" gnus-uu-unmark-region t] ["Mark by regexp..." gnus-uu-mark-by-regexp t] + ["Unmark by regexp..." gnus-uu-unmark-by-regexp t] ["Mark all" gnus-uu-mark-all t] ["Mark buffer" gnus-uu-mark-buffer t] ["Mark sparse" gnus-uu-mark-sparse t] *************** *** 2592,2597 **** --- 2493,2499 ---- (and (consp elem) ; Has to be a cons. (consp (cdr elem)) ; The cdr has to be a list. (symbolp (car elem)) ; Has to be a symbol in there. + (not (memq (car elem) '(quit-config))) ; Ignore quit-config. (ignore-errors ; So we set it. (make-local-variable (car elem)) (set (car elem) (eval (nth 1 elem)))))))) *************** *** 3224,3242 **** (when headers (car headers)))) ! (defun gnus-parent-headers (headers &optional generation) "Return the headers of the GENERATIONeth parent of HEADERS." (unless generation (setq generation 1)) (let ((parent t) references) ! (while (and parent headers (not (zerop generation))) ! (setq references (mail-header-references headers)) (when (and references (setq parent (gnus-parent-id references)) (setq headers (car (gnus-id-to-thread parent)))) (decf generation))) ! headers)) (defun gnus-id-to-thread (id) "Return the (sub-)thread where ID appears." --- 3126,3148 ---- (when headers (car headers)))) ! (defun gnus-parent-headers (in-headers &optional generation) "Return the headers of the GENERATIONeth parent of HEADERS." (unless generation (setq generation 1)) (let ((parent t) + (headers in-headers) references) ! (while (and parent ! headers ! (not (zerop generation)) ! (setq references (mail-header-references headers))) (when (and references (setq parent (gnus-parent-id references)) (setq headers (car (gnus-id-to-thread parent)))) (decf generation))) ! (and (not (eq headers in-headers)) ! headers))) (defun gnus-id-to-thread (id) "Return the (sub-)thread where ID appears." *************** *** 3640,3646 **** (when gnus-tmp-header ;; We may have an old dummy line to output before this ;; article. ! (when gnus-tmp-dummy-line (gnus-summary-insert-dummy-line gnus-tmp-dummy-line (mail-header-number gnus-tmp-header)) (setq gnus-tmp-dummy-line nil)) --- 3546,3555 ---- (when gnus-tmp-header ;; We may have an old dummy line to output before this ;; article. ! (when (and gnus-tmp-dummy-line ! (gnus-subject-equal ! gnus-tmp-dummy-line ! (mail-header-subject gnus-tmp-header))) (gnus-summary-insert-dummy-line gnus-tmp-dummy-line (mail-header-number gnus-tmp-header)) (setq gnus-tmp-dummy-line nil)) *************** *** 3845,3855 **** articles gnus-newsgroup-name ;; We might want to fetch old headers, but ;; not if there is only 1 article. ! (and gnus-fetch-old-headers ! (or (and (not (eq gnus-fetch-old-headers 'some)) (not (numberp gnus-fetch-old-headers))) ! (> (length articles) 1)))))) (gnus-get-newsgroup-headers-xover articles nil nil gnus-newsgroup-name t) (gnus-get-newsgroup-headers))) --- 3754,3764 ---- articles gnus-newsgroup-name ;; We might want to fetch old headers, but ;; not if there is only 1 article. ! (and (or (and (not (eq gnus-fetch-old-headers 'some)) (not (numberp gnus-fetch-old-headers))) ! (> (length articles) 1)) ! gnus-fetch-old-headers)))) (gnus-get-newsgroup-headers-xover articles nil nil gnus-newsgroup-name t) (gnus-get-newsgroup-headers))) *************** *** 5058,5069 **** t))) (unless (listp (cdr gnus-newsgroup-killed)) (setq gnus-newsgroup-killed (list gnus-newsgroup-killed))) ! (let ((headers gnus-newsgroup-headers) ! (gnus-newsgroup-scored ! (if (and (not gnus-save-score) ! (not non-destructive)) ! nil ! gnus-newsgroup-scored))) ;; Set the new ranges of read articles. (save-excursion (set-buffer gnus-group-buffer) --- 4967,4973 ---- t))) (unless (listp (cdr gnus-newsgroup-killed)) (setq gnus-newsgroup-killed (list gnus-newsgroup-killed))) ! (let ((headers gnus-newsgroup-headers)) ;; Set the new ranges of read articles. (save-excursion (set-buffer gnus-group-buffer) *************** *** 5071,5077 **** (gnus-update-read-articles group (append gnus-newsgroup-unreads gnus-newsgroup-unselected)) ;; Set the current article marks. ! (gnus-update-marks) ;; Do the cross-ref thing. (when gnus-use-cross-reference (gnus-mark-xrefs-as-read group headers gnus-newsgroup-unreads)) --- 4975,4987 ---- (gnus-update-read-articles group (append gnus-newsgroup-unreads gnus-newsgroup-unselected)) ;; Set the current article marks. ! (let ((gnus-newsgroup-scored ! (if (and (not gnus-save-score) ! (not non-destructive)) ! nil ! gnus-newsgroup-scored))) ! (save-excursion ! (gnus-update-marks))) ;; Do the cross-ref thing. (when gnus-use-cross-reference (gnus-mark-xrefs-as-read group headers gnus-newsgroup-unreads)) *** pub/qgnus/lisp/gnus-util.el Mon Apr 27 00:25:04 1998 --- qgnus/lisp/gnus-util.el Wed Apr 29 22:48:02 1998 *************** *** 925,931 **** (defun gnus-alive-p () "Say whether Gnus is running or not." ! (and gnus-group-buffer (get-buffer gnus-group-buffer) (save-excursion (set-buffer gnus-group-buffer) --- 925,931 ---- (defun gnus-alive-p () "Say whether Gnus is running or not." ! (and (boundp 'gnus-group-buffer) (get-buffer gnus-group-buffer) (save-excursion (set-buffer gnus-group-buffer) *** pub/qgnus/lisp/gnus-uu.el Mon Apr 27 00:25:06 1998 --- qgnus/lisp/gnus-uu.el Wed Apr 29 22:48:04 1998 *************** *** 353,359 **** --- 353,361 ---- "v" gnus-uu-mark-over "s" gnus-uu-mark-series "r" gnus-uu-mark-region + "g" gnus-uu-unmark-region "R" gnus-uu-mark-by-regexp + "G" gnus-uu-unmark-by-regexp "t" gnus-uu-mark-thread "T" gnus-uu-unmark-thread "a" gnus-uu-mark-all *** pub/qgnus/lisp/gnus-xmas.el Thu Mar 19 15:20:36 1998 --- qgnus/lisp/gnus-xmas.el Wed Apr 29 22:48:04 1998 *************** *** 366,371 **** --- 366,375 ---- (gnus-xmas-menu-add tree gnus-tree-menu)) + (defun gnus-xmas-draft-menu-add () + (gnus-xmas-menu-add draft + gnus-draft-menu)) + (defun gnus-xmas-server-menu-add () (gnus-xmas-menu-add menu gnus-server-server-menu gnus-server-connections-menu)) *************** *** 517,523 **** (add-hook 'gnus-agent-summary-mode-hook 'gnus-xmas-agent-summary-menu-add) (add-hook 'gnus-agent-group-mode-hook 'gnus-xmas-agent-group-menu-add) (add-hook 'gnus-agent-server-mode-hook 'gnus-xmas-agent-server-menu-add) ! (add-hook 'gnus-summary-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off) (add-hook 'gnus-tree-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off)) --- 521,528 ---- (add-hook 'gnus-agent-summary-mode-hook 'gnus-xmas-agent-summary-menu-add) (add-hook 'gnus-agent-group-mode-hook 'gnus-xmas-agent-group-menu-add) (add-hook 'gnus-agent-server-mode-hook 'gnus-xmas-agent-server-menu-add) ! ! (add-hook 'gnus-draft-mode-hook 'gnus-xmas-draft-menu-add) (add-hook 'gnus-summary-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off) (add-hook 'gnus-tree-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off)) *** pub/qgnus/lisp/gnus.el Mon Apr 27 00:25:08 1998 --- qgnus/lisp/gnus.el Wed Apr 29 22:48:06 1998 *************** *** 250,256 **** :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) ! (defconst gnus-version-number "5.6.6" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) --- 250,256 ---- :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) ! (defconst gnus-version-number "5.6.7" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) *************** *** 706,712 **** (defcustom gnus-directory (or (getenv "SAVEDIR") (nnheader-concat gnus-home-directory "News/")) ! "*Directory variable from which all other Gnus file variables are derived." :group 'gnus-files :type 'directory) --- 706,717 ---- (defcustom gnus-directory (or (getenv "SAVEDIR") (nnheader-concat gnus-home-directory "News/")) ! "*Directory variable from which all other Gnus file variables are derived. ! ! Note that Gnus is mostly loaded when the `.gnus.el' file is read. ! This means that other directory variables that are initialized from ! this variable won't be set properly if you set this variable in `.gnus.el'. ! Set this variable in `.emacs' instead." :group 'gnus-files :type 'directory) *************** *** 2411,2420 **** (defun gnus-group-parameter-value (params symbol &optional allow-list) "Return the value of SYMBOL in group PARAMS." ! (or (car (memq symbol params)) ; It's either a simple symbol, ! (and (or allow-list ! (atom (cdr (assq symbol params)))) ; and it's not a local variable ! (cdr (assq symbol params))))) ; but a cons. (defun gnus-group-add-parameter (group param) "Add parameter PARAM to GROUP." --- 2416,2434 ---- (defun gnus-group-parameter-value (params symbol &optional allow-list) "Return the value of SYMBOL in group PARAMS." ! ;; We only wish to return group parameters (dotted lists) and ! ;; not local variables, which may have the same names. ! ;; But first we handle single elements... ! (or (car (memq symbol params)) ! ;; Handle alist. ! (let (elem) ! (catch 'found ! (while (setq elem (pop params)) ! (when (and (consp elem) ! (eq (car elem) symbol) ! (or allow-list ! (atom (cdr elem)))) ! (throw 'found (cdr elem)))))))) (defun gnus-group-add-parameter (group param) "Add parameter PARAM to GROUP." *** pub/qgnus/lisp/message.el Mon Apr 27 00:25:10 1998 --- qgnus/lisp/message.el Wed Apr 29 22:48:08 1998 *************** *** 397,403 **** ((boundp 'gnus-select-method) gnus-select-method) (t '(nnspool ""))) ! "*Method used to post news." :group 'message-news :group 'message-sending ;; This should be the `gnus-select-method' widget, but that might --- 397,405 ---- ((boundp 'gnus-select-method) gnus-select-method) (t '(nnspool ""))) ! "*Method used to post news. ! Note that when posting from inside Gnus, for instance, this ! variable isn't used." :group 'message-news :group 'message-sending ;; This should be the `gnus-select-method' widget, but that might *** pub/qgnus/lisp/nntp.el Mon Apr 27 00:25:12 1998 --- qgnus/lisp/nntp.el Wed Apr 29 22:48:08 1998 *************** *** 144,153 **** If the gap between two consecutive articles is bigger than this variable, split the XOVER request into two requests.") - (defvoo nntp-connection-timeout nil - "*Number of seconds to wait before an nntp connection times out. - If this variable is nil, which is the default, no timers are set.") - (defvoo nntp-prepare-server-hook nil "*Hook run before a server is opened. If can be used to set up a server remotely, for instance. Say you --- 144,149 ---- *************** *** 676,690 **** (deffoo nntp-close-server (&optional server) (nntp-possibly-change-group nil server t) ! (let (process) ! (while (setq process (car (pop nntp-connection-alist))) (when (memq (process-status process) '(open run)) (ignore-errors (nntp-send-string process "QUIT") (unless (eq nntp-open-connection-function 'nntp-open-network-stream) (sleep-for 1)))) (when (buffer-name (process-buffer process)) ! (kill-buffer (process-buffer process)))) (nnoo-close-server 'nntp))) (deffoo nntp-request-close () --- 672,687 ---- (deffoo nntp-close-server (&optional server) (nntp-possibly-change-group nil server t) ! (let ((process (nntp-find-connection nntp-server-buffer))) ! (while process (when (memq (process-status process) '(open run)) (ignore-errors (nntp-send-string process "QUIT") (unless (eq nntp-open-connection-function 'nntp-open-network-stream) (sleep-for 1)))) (when (buffer-name (process-buffer process)) ! (kill-buffer (process-buffer process))) ! (setq process (car (pop nntp-connection-alist)))) (nnoo-close-server 'nntp))) (deffoo nntp-request-close () *** pub/qgnus/lisp/score-mode.el Mon Apr 27 00:25:13 1998 --- qgnus/lisp/score-mode.el Wed Apr 29 22:48:09 1998 *************** *** 46,52 **** (define-key gnus-score-mode-map "\C-c\C-p" 'gnus-score-pretty-print)) (defvar score-mode-syntax-table ! (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table))) (modify-syntax-entry ?| "w" table) table) "Syntax table used in score-mode buffers.") --- 46,52 ---- (define-key gnus-score-mode-map "\C-c\C-p" 'gnus-score-pretty-print)) (defvar score-mode-syntax-table ! (let ((table (copy-syntax-table lisp-mode-syntax-table))) (modify-syntax-entry ?| "w" table) table) "Syntax table used in score-mode buffers.") *** pub/qgnus/lisp/ChangeLog Mon Apr 27 00:24:51 1998 --- qgnus/lisp/ChangeLog Wed Apr 29 22:47:49 1998 *************** *** 1,3 **** --- 1,71 ---- + Wed Apr 29 22:48:33 1998 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.6.7 is released. + + Wed Apr 29 20:54:35 1998 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-update-info): Bind + gnuis-newsgroup-scored later. + (gnus-summary-prepare-threads): Check some more before inserting + dummy roots. + + * gnus-cache.el (gnus-cache-enter-article): Update marks + properly. + + * gnus-xmas.el (gnus-xmas-draft-menu-add): New function. + + * nntp.el (nntp-connection-timeout): Removed. + + * gnus-move.el (gnus-move-group-to-server): Delete nils. + + * nntp.el (nntp-close-server): Close more connections. + + * gnus-art.el (gnus-button-alist): Accept white space after colons + in things. + + Wed Apr 29 20:18:45 1998 Kurt Swanson + + * gnus-art.el (article-update-date-lapsed): Bind + `deactivate-mark'. + + * gnus-salt.el (gnus-pick-mode-map): Moved keys around to avoid + shadowing. + + * gnus-art.el (gnus-article-read-summary-keys): New version. + + * gnus-sum.el (gnus-summary-make-menu-bar): New for article mode. + + * gnus-msg.el (gnus-post-method): `current' custom. + + Wed Apr 29 19:04:27 1998 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-set-local-parameters): Ignore + quit-config. + (gnus-select-newsgroup): Use the value of gnus-fetch-old-headers. + + * message.el (message-post-method): Doc fix. + + * gnus.el (gnus-directory): dox fix. + + Tue Apr 28 03:32:17 1998 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-group-timestamp): Really get timestamp. + + * gnus.el (gnus-group-parameter-value): Use explicit iteration. + + Tue Apr 28 03:15:50 1998 Hallvard B. Furuseth + + * gnus-util.el (gnus-alive-p): Check for binding. + + Tue Apr 28 03:00:16 1998 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-parent-headers): Don't infloop on nil + References. + + * gnus-art.el (gnus-article-mode): Don't kill local vars. + + * score-mode.el (score-mode-syntax-table): Change syntax. + Mon Apr 27 00:26:01 1998 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.6.6 is released. *** pub/qgnus/texi/gnus.texi Mon Apr 27 00:25:20 1998 --- qgnus/texi/gnus.texi Wed Apr 29 22:48:15 1998 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Gnus 5.6.6 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename gnus ! @settitle Gnus 5.6.7 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 316,322 **** @tex @titlepage ! @title Gnus 5.6.6 Manual @author by Lars Magne Ingebrigtsen @page --- 316,322 ---- @tex @titlepage ! @title Gnus 5.6.7 Manual @author by Lars Magne Ingebrigtsen @page *************** *** 352,358 **** spool or your mbox file. All at the same time, if you want to push your luck. ! This manual corresponds to Gnus 5.6.6. @end ifinfo --- 352,358 ---- spool or your mbox file. All at the same time, if you want to push your luck. ! This manual corresponds to Gnus 5.6.7. @end ifinfo *************** *** 1278,1287 **** (setq gnus-group-highlight '(((> unread 200) . my-group-face-1) ! ((and (< level 3) (zerop unread)) . my-group-face-2) ! ((< level 3) . my-group-face-3) ! ((zerop unread) . my-group-face-4) ! (t . my-group-face-5))) @end lisp Also @pxref{Faces and Fonts}. --- 1278,1287 ---- (setq gnus-group-highlight '(((> unread 200) . my-group-face-1) ! ((and (< level 3) (zerop unread)) . my-group-face-2) ! ((< level 3) . my-group-face-3) ! ((zerop unread) . my-group-face-4) ! (t . my-group-face-5))) @end lisp Also @pxref{Faces and Fonts}. *************** *** 2066,2073 **** @item score-file @cindex score file group parameter Elements that look like @code{(score-file . "file")} will make ! @file{file} into the current adaptive score file for the group in ! question. All adaptive score entries will be put into this file. @item adapt-file @cindex adapt file group parameter --- 2066,2073 ---- @item score-file @cindex score file group parameter Elements that look like @code{(score-file . "file")} will make ! @file{file} into the current score file for the group in question. All ! interactive score entries will be put into this file. @item adapt-file @cindex adapt file group parameter *************** *** 12706,12714 **** @lisp (setq gnus-home-score-file ;; All groups that match the regexp "\\.emacs" ! '("\\.emacs" "emacs.SCORE") ! ;; All the comp groups in one score file ! ("^comp" "comp.SCORE")) @end lisp @vindex gnus-home-adapt-file --- 12706,12714 ---- @lisp (setq gnus-home-score-file ;; All groups that match the regexp "\\.emacs" ! '(("\\.emacs" "emacs.SCORE") ! ;; All the comp groups in one score file ! ("^comp" "comp.SCORE"))) @end lisp @vindex gnus-home-adapt-file *************** *** 15098,15103 **** --- 15098,15108 ---- which defaults to the @samp{SAVEDIR} environment variable, or @file{~/News/} if that variable isn't set. + Note that Gnus is mostly loaded when the @file{.gnus.el} file is read. + This means that other directory variables that are initialized from this + variable won't be set properly if you set this variable in + @file{.gnus.el}. Set this variable in @file{.emacs} instead. + @item gnus-default-directory @vindex gnus-default-directory Not related to the above variable at all---this variable says what the *************** *** 15706,15712 **** * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. * September Gnus:: The Thing Formally Known As Gnus 5.3/5.3. * Red Gnus:: Third time best---Gnus 5.4/5.5. ! * Quassia Gnus:: Two times two is four, or Gnus 5.6.6. @end menu These lists are, of course, just @emph{short} overviews of the --- 15711,15717 ---- * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. * September Gnus:: The Thing Formally Known As Gnus 5.3/5.3. * Red Gnus:: Third time best---Gnus 5.4/5.5. ! * Quassia Gnus:: Two times two is four, or Gnus 5.6.7. @end menu These lists are, of course, just @emph{short} overviews of the *************** *** 16241,16247 **** @node Quassia Gnus @subsubsection Quassia Gnus ! New features in Gnus 5.6.6: @itemize @bullet --- 16246,16252 ---- @node Quassia Gnus @subsubsection Quassia Gnus ! New features in Gnus 5.6.7: @itemize @bullet *************** *** 17032,17038 **** would be a boolean expression on the labels, e.g. ! `/ l bug & !fixed RET' @end example would show all the messages which are labeled `bug' but not labeled --- 17037,17043 ---- would be a boolean expression on the labels, e.g. ! `/ l bug & !fixed RET' @end example would show all the messages which are labeled `bug' but not labeled *************** *** 17094,17107 **** button: ! ^L's ! more than n blank lines ! more than m identical lines ! (which should be replaced with button to show them) ! any whitespace surrounding any of the above @item --- 17099,17112 ---- button: ! ^L's ! more than n blank lines ! more than m identical lines ! (which should be replaced with button to show them) ! any whitespace surrounding any of the above @item *************** *** 17131,17160 **** Group-mode show-list-of-articles-in-group ! if (key-pressed == SPACE) ! if (no-more-articles-in-group-to-select) ! if (articles-selected) ! start-reading-selected-articles; ! junk-unread-articles; ! next-group; ! else ! show-next-page; ! ! else if (key-pressed = '.') ! if (consolidated-menus) # same as hide-thread in Gnus ! select-thread-under-cursor; ! else ! select-article-under-cursor; Article-mode ! if (key-pressed == SPACE) ! if (more-pages-in-article) ! next-page; ! else if (more-selected-articles-to-read) ! next-article; ! else ! next-group; @end example @item --- 17136,17165 ---- Group-mode show-list-of-articles-in-group ! if (key-pressed == SPACE) ! if (no-more-articles-in-group-to-select) ! if (articles-selected) ! start-reading-selected-articles; ! junk-unread-articles; ! next-group; ! else ! show-next-page; ! ! else if (key-pressed = '.') ! if (consolidated-menus) # same as hide-thread in Gnus ! select-thread-under-cursor; ! else ! select-article-under-cursor; Article-mode ! if (key-pressed == SPACE) ! if (more-pages-in-article) ! next-page; ! else if (more-selected-articles-to-read) ! next-article; ! else ! next-group; @end example @item *************** *** 17171,17177 **** @item It would be nice if it also handled ! which should correspond to `B nntp RET sunsite.auc.dk' in *Group*. --- 17176,17182 ---- @item It would be nice if it also handled ! which should correspond to `B nntp RET sunsite.auc.dk' in *Group*. *************** *** 17365,17380 **** (let ((buffer-read-only nil)) (goto-char (point-min)) (while (search-forward "\221" nil t) ! (replace-match "`" t t)) (goto-char (point-min)) (while (search-forward "\222" nil t) ! (replace-match "'" t t)) (goto-char (point-min)) (while (search-forward "\223" nil t) ! (replace-match "\"" t t)) (goto-char (point-min)) (while (search-forward "\224" nil t) ! (replace-match "\"" t t))))) @end example @item --- 17370,17385 ---- (let ((buffer-read-only nil)) (goto-char (point-min)) (while (search-forward "\221" nil t) ! (replace-match "`" t t)) (goto-char (point-min)) (while (search-forward "\222" nil t) ! (replace-match "'" t t)) (goto-char (point-min)) (while (search-forward "\223" nil t) ! (replace-match "\"" t t)) (goto-char (point-min)) (while (search-forward "\224" nil t) ! (replace-match "\"" t t))))) @end example @item *************** *** 17382,17388 **** (add-hook 'gnus-exit-query-functions '(lambda () (if (and (file-exists-p nnmail-spool-file) ! (> (nnheader-file-size nnmail-spool-file) 0)) (yes-or-no-p "New mail has arrived. Quit Gnus anyways? ") (y-or-n-p "Are you sure you want to quit Gnus? ")))) @end example --- 17387,17393 ---- (add-hook 'gnus-exit-query-functions '(lambda () (if (and (file-exists-p nnmail-spool-file) ! (> (nnheader-file-size nnmail-spool-file) 0)) (yes-or-no-p "New mail has arrived. Quit Gnus anyways? ") (y-or-n-p "Are you sure you want to quit Gnus? ")))) @end example *** pub/qgnus/texi/message.texi Mon Apr 27 00:25:20 1998 --- qgnus/texi/message.texi Wed Apr 29 22:48:15 1998 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @setfilename message ! @settitle Message 5.6.6 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @setfilename message ! @settitle Message 5.6.7 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 42,48 **** @tex @titlepage ! @title Message 5.6.6 Manual @author by Lars Magne Ingebrigtsen @page --- 42,48 ---- @tex @titlepage ! @title Message 5.6.7 Manual @author by Lars Magne Ingebrigtsen @page *************** *** 83,89 **** * Key Index:: List of Message mode keys. @end menu ! This manual corresponds to Message 5.6.6. Message is distributed with the Gnus distribution bearing the same version number as this manual has. --- 83,89 ---- * Key Index:: List of Message mode keys. @end menu ! This manual corresponds to Message 5.6.7. Message is distributed with the Gnus distribution bearing the same version number as this manual has. *** pub/qgnus/texi/ChangeLog Mon Apr 27 00:25:21 1998 --- qgnus/texi/ChangeLog Wed Apr 29 22:48:15 1998 *************** *** 1,3 **** --- 1,8 ---- + Wed Apr 29 21:52:28 1998 Lars Magne Ingebrigtsen + + * gnus.texi (Key Index): Untabified. + (Group Parameters): Fix. + Sun Apr 26 15:32:45 1998 Lars Magne Ingebrigtsen * gnus.texi (Summary Post Commands): Ref to Message.