From 82300762c3419b73fc2e994b14e3d520fe88b0a9 Mon Sep 17 00:00:00 2001 From: ichikawa Date: Sat, 16 Jan 1999 03:40:12 +0000 Subject: [PATCH] Importing pgnus-0.70 --- lisp/ChangeLog | 138 ++++++++++++++++++++++++++++++++ lisp/binhex.el | 2 +- lisp/dgnushack.el | 2 +- lisp/gnus-agent.el | 3 +- lisp/gnus-art.el | 35 ++++---- lisp/gnus-async.el | 2 +- lisp/gnus-bcklg.el | 2 +- lisp/gnus-cache.el | 4 +- lisp/gnus-cite.el | 2 +- lisp/gnus-demon.el | 6 +- lisp/gnus-draft.el | 2 +- lisp/gnus-dup.el | 2 +- lisp/gnus-eform.el | 2 +- lisp/gnus-ems.el | 4 +- lisp/gnus-gl.el | 2 +- lisp/gnus-group.el | 2 +- lisp/gnus-int.el | 10 +-- lisp/gnus-kill.el | 2 +- lisp/gnus-logic.el | 2 +- lisp/gnus-mh.el | 2 +- lisp/gnus-move.el | 4 +- lisp/gnus-msg.el | 2 +- lisp/gnus-nocem.el | 2 +- lisp/gnus-picon.el | 220 ++++++++++++++++++++++++++++----------------------- lisp/gnus-range.el | 2 +- lisp/gnus-salt.el | 2 +- lisp/gnus-score.el | 4 +- lisp/gnus-soup.el | 2 +- lisp/gnus-spec.el | 2 +- lisp/gnus-srvr.el | 2 +- lisp/gnus-start.el | 2 +- lisp/gnus-sum.el | 52 +++++++++--- lisp/gnus-topic.el | 2 +- lisp/gnus-undo.el | 2 +- lisp/gnus-util.el | 2 +- lisp/gnus-uu.el | 2 +- lisp/gnus-vm.el | 2 +- lisp/gnus-win.el | 2 +- lisp/gnus-xmas.el | 2 +- lisp/gnus.el | 9 +-- lisp/ietf-drums.el | 2 +- lisp/mail-parse.el | 2 +- lisp/mailcap.el | 18 ++++- lisp/message.el | 22 ++++-- lisp/messagexmas.el | 2 +- lisp/messcompat.el | 2 +- lisp/mm-bodies.el | 11 ++- lisp/mm-decode.el | 72 ++++++++++------- lisp/mm-encode.el | 8 +- lisp/mm-util.el | 2 +- lisp/mm-uu.el | 2 +- lisp/mm-view.el | 42 ++++------ lisp/mml.el | 20 +++-- lisp/nnagent.el | 5 +- lisp/nnbabyl.el | 2 +- lisp/nndir.el | 2 +- lisp/nndoc.el | 2 +- lisp/nndraft.el | 2 +- lisp/nneething.el | 2 +- lisp/nnfolder.el | 2 +- lisp/nngateway.el | 2 +- lisp/nnheader.el | 2 +- lisp/nnheaderxm.el | 2 +- lisp/nnkiboze.el | 2 +- lisp/nnlistserv.el | 2 +- lisp/nnmail.el | 12 +-- lisp/nnmbox.el | 2 +- lisp/nnmh.el | 2 +- lisp/nnml.el | 2 +- lisp/nnoo.el | 2 +- lisp/nnsoup.el | 2 +- lisp/nnspool.el | 13 ++- lisp/nntp.el | 2 +- lisp/nnvirtual.el | 2 +- lisp/nnweb.el | 2 +- lisp/qp.el | 43 ++++++---- lisp/rfc2045.el | 2 +- lisp/rfc2047.el | 2 +- lisp/rfc2231.el | 5 +- lisp/smiley.el | 2 +- lisp/time-date.el | 2 +- lisp/uudecode.el | 2 +- texi/ChangeLog | 4 + texi/gnus.texi | 63 ++++++++++----- texi/message.texi | 7 +- 85 files changed, 608 insertions(+), 342 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2f08e83..8b98090 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,141 @@ +Fri Jan 15 20:50:38 1999 Lars Magne Ingebrigtsen + + * gnus.el: Pterodactyl Gnus v0.70 is released. + +1999-01-15 00:06:04 Lars Magne Ingebrigtsen + + * mm-decode.el (mm-save-part): Use mm-get-part. + (mm-insert-part): New function. + (mm-get-part): Use it. + (mm-get-image): Ditto. + (mm-display-external): Ditto. + + * mm-view.el (mm-inline-text): Ditto. + + * gnus-move.el (gnus-move-group-to-server): Protect against nil + ranges. + + * mm-decode.el (mm-display-external): Save the buffer. + (mm-remove-part): Kill it. + + * qp.el (quoted-printable-decode-region): Do the right thing at eobp. + + * nnagent.el (nnagent-request-set-mark): Defined stub. + +1999-01-14 23:05:31 Lars Magne Ingebrigtsen + + * gnus-score.el (gnus-score-load-score-alist): Bind + coding-system-for-read. + + * gnus-sum.el (gnus-summary-exit): Do adaptive scoring before + prepare-exit-hook. + + * mm-view.el (mm-setup-w3): Require w3. + +1999-01-13 Kiyokazu SUTO + + * lisp/nnspool.el (nnspool-retrieve-headers): Protect against empty + body. + +1999-01-14 21:17:35 Lars Magne Ingebrigtsen + + * mm-encode.el: Ditto. + + * mm-bodies.el (mm-decode-content-transfer-encoding): Message the + error. + + * mailcap.el (mailcap-mime-data): SAFER ps. + + * message.el (message-encode-message-body): Always insert a + Content-Type header. + + * mm-decode.el (mm-inline-media-tests): Default all text/* to be + shown inline. + + * mm-view.el (mm-inline-text): Handle all sorts of text. + + * mailcap.el (mailcap-mime-data): non-viewer for viewers that + don't view. + + * mm-decode.el (mm-display-external): Use it. + + * gnus-art.el (gnus-visible-headers): Added bcc, gcc, fcc. + + * mm-decode.el (mm-save-part): Removed double code. + +1999-01-12 Dave Love + + * mm-decode.el (mm-save-part): Avoid doubly-compressed + application/octet-stream .gz & al files with jka-compr. + +1999-01-12 Dave Love + + * gnus-ems.el (gnus-down-mouse-3): New variable. + * gnus-art.el (gnus-mime-button-map): Use it. + (gnus-mime-button-menu): Set the clicked-on buffer initially. + +1999-01-13 19:41:57 Lars Magne Ingebrigtsen + + * mailcap.el (mailcap-mime-data): Added ImageMagic and ee. + +1999-01-12 17:34:43 Lars Magne Ingebrigtsen + + * gnus-picon.el (gnus-picons-kill-buffer): Don't kill article + buffers. + + * gnus-sum.el (gnus-summary-exit): Destroy all MIME. + + * gnus-cache.el (gnus-cache-read-active): Reversed check. + +1999-01-12 17:18:25 Matt Armstrong + + * mml.el (mml-parameter-string): Strip directory component. + +1999-01-12 17:02:58 Lars Magne Ingebrigtsen + + * gnus.el (gnus-use-demon): Removed. + +1999-01-12 05:53:23 Katsumi Yamaoka + + * nnmail.el (nnmail-article-group): Don't infloop. + +1999-01-11 Colin Rafferty + + * gnus-art.el (article-update-date-lapsed): Made it work with + picons, and make it update on all visible frames. + (article-date-ut): Get summary-buffer's current-headers. + +1999-01-12 07:20:31 Lars Magne Ingebrigtsen + + * gnus-picon.el (gnus-picons-setup-buffer): Don't set major mode. + (gnus-picons-setup-p): New variable. + +1999-01-11 02:13:12 Lars Magne Ingebrigtsen + + * nnmail.el (nnmail-split-header-length-limit): Lowered to 512. + +1999-01-04 12:58:13 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-summary-exit-no-update): Don't use run-hooks. + (gnus-summary-exit-no-update): Use mapcar. + +1999-01-02 14:36:32 Simon Josefsson + + * gnus-agent.el (gnus-category-write): Make directory. + +1998-09-26 19:39:31 Simon Josefsson + + * gnus-sum.el (gnus-update-read-articles): + (gnus-update-marks): Request backend update of mark. + +1999-01-03 15:29:52 Lars Magne Ingebrigtsen + + * mm-bodies.el (mm-body-encoding): Use mm-find. + +1999-01-03 15:28:27 Kim-Minh Kaplan + + * gnus-picon.el (gnus-article-display-picons): Fix. + Sun Jan 3 13:32:02 1999 Lars Magne Ingebrigtsen * gnus.el: Pterodactyl Gnus v0.69 is released. diff --git a/lisp/binhex.el b/lisp/binhex.el index d2482aa..aa47d56 100644 --- a/lisp/binhex.el +++ b/lisp/binhex.el @@ -3,7 +3,7 @@ ;; Author: Shenghuo Zhu ;; Create Date: Oct 1, 1998 -;; $Revision: 1.1.1.5 $ +;; $Revision: 1.1.1.6 $ ;; Time-stamp: ;; Keywords: binhex diff --git a/lisp/dgnushack.el b/lisp/dgnushack.el index c2b4f82..a75ab30 100644 --- a/lisp/dgnushack.el +++ b/lisp/dgnushack.el @@ -1,5 +1,5 @@ ;;; dgnushack.el --- a hack to set the load path for byte-compiling -;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Version: 4.19 diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index 25675f4..b27acb4 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -1,5 +1,5 @@ ;;; gnus-agent.el --- unplugged support for Gnus -;; Copyright (C) 1997,98 Free Software Foundation, Inc. +;; Copyright (C) 1997,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. @@ -1158,6 +1158,7 @@ The following commands are available: "Write the category alist." (setq gnus-category-predicate-cache nil gnus-category-group-cache nil) + (gnus-make-directory (nnheader-concat gnus-agent-directory "lib")) (with-temp-file (nnheader-concat gnus-agent-directory "lib/categories") (prin1 gnus-category-alist (current-buffer)))) diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index db8a2ff..993230e 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -1,5 +1,5 @@ ;;; gnus-art.el --- article mode commands for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -125,7 +125,7 @@ If `gnus-visible-headers' is non-nil, this variable will be ignored." :group 'gnus-article-hiding) (defcustom gnus-visible-headers - "From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|X-Sent:" + "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^[BGF]?Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|^X-Sent:" "*All headers that do not match this regexp will be hidden. This variable can also be a list of regexp of headers to remain visible. If this variable is non-nil, `gnus-ignored-headers' will be ignored." @@ -1451,7 +1451,9 @@ If TYPE is `local', convert to local time; if it is `lapsed', output how much time has lapsed since DATE." (interactive (list 'ut t)) (let* ((header (or header - (mail-header-date gnus-current-headers) + (mail-header-date (save-excursion + (set-buffer gnus-summary-buffer) + gnus-current-headers)) (message-fetch-field "date") "")) (date (if (vectorp header) (mail-header-date header) @@ -1604,7 +1606,8 @@ function and want to see what the date was before converting." (when (eq major-mode 'gnus-article-mode) (goto-char (point-min)) (when (re-search-forward "^X-Sent:" nil t) - (article-date-lapsed t))))))))) + (article-date-lapsed t)))) + nil 'visible))))) (defun gnus-start-date-timer (&optional n) "Start a timer to update the X-Sent header in the article buffers. @@ -2335,7 +2338,7 @@ If ALL-HEADERS is non-nil, no headers are hidden." (setq gnus-mime-button-map (make-sparse-keymap)) (set-keymap-parent gnus-mime-button-map gnus-article-mode-map) (define-key gnus-mime-button-map gnus-mouse-2 'gnus-article-push-button) - (define-key gnus-mime-button-map gnus-mouse-3 'gnus-mime-button-menu) + (define-key gnus-mime-button-map gnus-down-mouse-3 'gnus-mime-button-menu) (mapcar (lambda (c) (define-key gnus-mime-button-map (cadr c) (car c))) gnus-mime-button-commands)) @@ -2343,17 +2346,18 @@ If ALL-HEADERS is non-nil, no headers are hidden." (defun gnus-mime-button-menu (event) "Construct a context-sensitive menu of MIME commands." (interactive "e") - (gnus-article-check-buffer) - (let ((response (x-popup-menu - t `("MIME Part" - ("" ,@(mapcar (lambda (c) - (cons (caddr c) (car c))) - gnus-mime-button-commands))))) - (pos (event-start event))) - (when response + (save-excursion + (let ((pos (event-start event))) (set-buffer (window-buffer (posn-window pos))) (goto-char (posn-point pos)) - (funcall response)))) + (gnus-article-check-buffer) + (let ((response (x-popup-menu + t `("MIME Part" + ("" ,@(mapcar (lambda (c) + (cons (caddr c) (car c))) + gnus-mime-button-commands)))))) + (if response + (funcall response)))))) (defun gnus-mime-view-all-parts (&optional handles) "View all the MIME parts." @@ -2678,8 +2682,7 @@ If ALL-HEADERS is non-nil, no headers are hidden." (not (gnus-unbuttonized-mime-type-p type))) (gnus-article-insert-newline) (gnus-insert-mime-button - handle id (list (or display - (and not-attachment text)))) + handle id (list (or display (and not-attachment text)))) (gnus-article-insert-newline) (gnus-article-insert-newline) (setq move t))) diff --git a/lisp/gnus-async.el b/lisp/gnus-async.el index 64ad755..6cfc152 100644 --- a/lisp/gnus-async.el +++ b/lisp/gnus-async.el @@ -1,5 +1,5 @@ ;;; gnus-async.el --- asynchronous support for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-bcklg.el b/lisp/gnus-bcklg.el index 51c6e7f..9badf94 100644 --- a/lisp/gnus-bcklg.el +++ b/lisp/gnus-bcklg.el @@ -1,5 +1,5 @@ ;;; gnus-bcklg.el --- backlog functions for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-cache.el b/lisp/gnus-cache.el index d7034ca..d677a48 100644 --- a/lisp/gnus-cache.el +++ b/lisp/gnus-cache.el @@ -1,5 +1,5 @@ ;;; gnus-cache.el --- cache interface for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -568,7 +568,7 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache" "Read the cache active file." (gnus-make-directory gnus-cache-directory) (if (or (not (file-exists-p gnus-cache-active-file)) - (not (zerop (nth 7 (file-attributes gnus-cache-active-file)))) + (zerop (nth 7 (file-attributes gnus-cache-active-file))) force) ;; There is no active file, so we generate one. (gnus-cache-generate-active) diff --git a/lisp/gnus-cite.el b/lisp/gnus-cite.el index 8866867..db4b9dd 100644 --- a/lisp/gnus-cite.el +++ b/lisp/gnus-cite.el @@ -1,5 +1,5 @@ ;;; gnus-cite.el --- parse citations in articles for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Per Abhiddenware; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by diff --git a/lisp/gnus-demon.el b/lisp/gnus-demon.el index d239dda..178cb66 100644 --- a/lisp/gnus-demon.el +++ b/lisp/gnus-demon.el @@ -1,5 +1,5 @@ ;;; gnus-demon.el --- daemonic Gnus behaviour -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -115,8 +115,7 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's." (nth 2 handler))) gnus-demon-handlers)) (setq gnus-demon-idle-time 0) - (setq gnus-demon-idle-has-been-called nil) - (setq gnus-use-demon t))) + (setq gnus-demon-idle-has-been-called nil))) (gnus-add-shutdown 'gnus-demon-cancel 'gnus) @@ -126,7 +125,6 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's." (when gnus-demon-timer (nnheader-cancel-timer gnus-demon-timer)) (setq gnus-demon-timer nil - gnus-use-demon nil gnus-demon-idle-has-been-called nil) (condition-case () (nnheader-cancel-function-timers 'gnus-demon) diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index ab74806..4edb37d 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -1,5 +1,5 @@ ;;; gnus-draft.el --- draft message support for Gnus -;; Copyright (C) 1997,98 Free Software Foundation, Inc. +;; Copyright (C) 1997,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-dup.el b/lisp/gnus-dup.el index b289639..691381f 100644 --- a/lisp/gnus-dup.el +++ b/lisp/gnus-dup.el @@ -1,5 +1,5 @@ ;;; gnus-dup.el --- suppression of duplicate articles in Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-eform.el b/lisp/gnus-eform.el index dff64d7..09f2bb5 100644 --- a/lisp/gnus-eform.el +++ b/lisp/gnus-eform.el @@ -1,5 +1,5 @@ ;;; gnus-eform.el --- a mode for editing forms for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-ems.el b/lisp/gnus-ems.el index 2438b31..55e5efc 100644 --- a/lisp/gnus-ems.el +++ b/lisp/gnus-ems.el @@ -1,5 +1,5 @@ ;;; gnus-ems.el --- functions for making Gnus work under different Emacsen -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -33,7 +33,7 @@ "Non-nil if running under XEmacs.") (defvar gnus-mouse-2 [mouse-2]) -(defvar gnus-mouse-3 [mouse-3]) +(defvar gnus-down-mouse-3 [down-mouse-3]) (defvar gnus-down-mouse-2 [down-mouse-2]) (defvar gnus-widget-button-keymap nil) (defvar gnus-mode-line-modified diff --git a/lisp/gnus-gl.el b/lisp/gnus-gl.el index 93ef915..d4d716e 100644 --- a/lisp/gnus-gl.el +++ b/lisp/gnus-gl.el @@ -1,5 +1,5 @@ ;;; gnus-gl.el --- an interface to GroupLens for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Brad Miller ;; Keywords: news, score diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index be3a549..bef88e8 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1,5 +1,5 @@ ;;; gnus-group.el --- group mode commands for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index 4ba7f40..a382bb0 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -1,5 +1,5 @@ ;;; gnus-int.el --- backend interface functions for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -320,11 +320,11 @@ If FETCH-OLD, retrieve all headers (or some subset thereof) in the group." "Set marks on articles in the backend." (let ((gnus-command-method (gnus-find-method-for-group group))) (if (not (gnus-check-backend-function - 'request-set-mark (car gnus-command-method))) - action + 'request-set-mark (car gnus-command-method))) + action (funcall (gnus-get-function gnus-command-method 'request-set-mark) - (gnus-group-real-name group) action - (nth 1 gnus-command-method))))) + (gnus-group-real-name group) action + (nth 1 gnus-command-method))))) (defun gnus-request-update-mark (group article mark) "Allow the backend to change the mark the user tries to put on an article." diff --git a/lisp/gnus-kill.el b/lisp/gnus-kill.el index 2e3b064..8c3ff51 100644 --- a/lisp/gnus-kill.el +++ b/lisp/gnus-kill.el @@ -1,5 +1,5 @@ ;;; gnus-kill.el --- kill commands for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen diff --git a/lisp/gnus-logic.el b/lisp/gnus-logic.el index 2c5517a..f345524 100644 --- a/lisp/gnus-logic.el +++ b/lisp/gnus-logic.el @@ -1,5 +1,5 @@ ;;; gnus-logic.el --- advanced scoring code for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-mh.el b/lisp/gnus-mh.el index fa01f5a..6fabb5c 100644 --- a/lisp/gnus-mh.el +++ b/lisp/gnus-mh.el @@ -1,5 +1,5 @@ ;;; gnus-mh.el --- mh-e interface for Gnus -;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen diff --git a/lisp/gnus-move.el b/lisp/gnus-move.el index f676783..38de4d5 100644 --- a/lisp/gnus-move.el +++ b/lisp/gnus-move.el @@ -1,5 +1,5 @@ ;;; gnus-move.el --- commands for moving Gnus from one server to another -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -90,6 +90,8 @@ Update the .newsrc.eld file to reflect the change of nntp server." ;; Then we read the headers from the `from-server'. (when (and (gnus-request-group group nil from-server) (gnus-active group) + (gnus-uncompress-range + (gnus-active group)) (setq type (gnus-retrieve-headers (gnus-uncompress-range (gnus-active group)) diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 6cacd68..5022055 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -1,5 +1,5 @@ ;;; gnus-msg.el --- mail and post interface for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen diff --git a/lisp/gnus-nocem.el b/lisp/gnus-nocem.el index 8659779..391b8e0 100644 --- a/lisp/gnus-nocem.el +++ b/lisp/gnus-nocem.el @@ -1,5 +1,5 @@ ;;; gnus-nocem.el --- NoCeM pseudo-cancellation treatment -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-picon.el b/lisp/gnus-picon.el index 78f4e3d..5117140 100644 --- a/lisp/gnus-picon.el +++ b/lisp/gnus-picon.el @@ -1,5 +1,5 @@ ;;; gnus-picon.el --- displaying pretty icons in Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Wes Hardaker ;; Keywords: news xpm annotation glyph faces @@ -159,6 +159,7 @@ please tell me so that we can list it." ;;; Internal variables: +(defvar gnus-picons-setup-p nil) (defvar gnus-picons-processes-alist nil "Picons processes currently running and their environment.") (defvar gnus-picons-glyph-alist nil @@ -212,7 +213,8 @@ arguments necessary for the job.") (defun gnus-picons-kill-buffer () (let ((buf (get-buffer (gnus-picons-buffer-name)))) - (when (buffer-live-p buf) + (when (and (buffer-live-p buf) + (string-match "Picons" (buffer-name buf))) (kill-buffer buf)))) (defun gnus-picons-setup-buffer () @@ -220,13 +222,13 @@ arguments necessary for the job.") (save-excursion (if (and (get-buffer name) (with-current-buffer name - (eq major-mode 'gnus-picons-mode))) + gnus-picons-setup-p)) (set-buffer name) (set-buffer (gnus-get-buffer-create name)) (buffer-disable-undo) (setq buffer-read-only t) (run-hooks 'gnus-picons-setup-hook) - (setq major-mode 'gnus-picons-mode) + (set (make-local-variable 'gnus-picons-setup-p) t) (add-hook 'gnus-summary-prepare-exit-hook 'gnus-picons-kill-buffer)) (current-buffer)))) @@ -322,14 +324,13 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)" (gnus-picons-prepare-for-annotations) (gnus-group-display-picons) (unless gnus-picons-display-article-move-p - (save-restriction - (let ((buffer-read-only nil)) - (when (re-search-forward "^From: " nil t) - (narrow-to-region (point) (gnus-point-at-eol)) - (when (search-forward from nil t) - (gnus-put-text-property - (match-beginning 0) (match-end 0) - 'invisible t)))))) + (let ((buffer-read-only nil) + (case-fold-search t)) + (when (re-search-forward "^From *: *" nil t) + (when (search-forward from (gnus-point-at-eol) t) + (gnus-put-text-property + (match-beginning 0) (match-end 0) + 'invisible t))))) (if (null gnus-picons-piconsearch-url) (progn (gnus-picons-display-pairs (gnus-picons-lookup-pairs @@ -344,7 +345,7 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)" (gnus-picons-lookup-user username addrs) username t)) (push (list 'gnus-article-annotations 'search username addrs - gnus-picons-domain-directories t) + gnus-picons-domain-directories t (point-marker)) gnus-picons-jobs-alist) (gnus-picons-next-job))))))) @@ -359,7 +360,7 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)" (let* ((newsgroups (mail-fetch-field "newsgroups")) (groups (if (or gnus-picons-display-article-move-p - (not newsgroups))(mail-fetch-field "newsgroups") + (not newsgroups)) (list (gnus-group-real-name gnus-newsgroup-name)) (split-string newsgroups ","))) group) @@ -367,15 +368,17 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)" (gnus-picons-prepare-for-annotations) (while (setq group (pop groups)) (unless gnus-picons-display-article-move-p - (save-restriction - (let ((buffer-read-only nil)) + (let ((buffer-read-only nil) + (case-fold-search t)) + (goto-char (point-min)) + (if (and (re-search-forward "^Newsgroups *: *" nil t) + (search-forward group (gnus-point-at-eol) t)) + (gnus-put-text-property + (match-beginning 0) (match-end 0) + 'invisible t) (goto-char (point-min)) - (when (re-search-forward "^Newsgroups:" nil t) - (narrow-to-region (point) (gnus-point-at-eol)) - (when (search-forward group nil t) - (gnus-put-text-property - (match-beginning 0) (match-end 0) - 'invisible t)))))) + (search-forward "\n\n") + (backward-char 1)))) (if (null gnus-picons-piconsearch-url) (gnus-picons-display-pairs (gnus-picons-lookup-pairs @@ -387,7 +390,7 @@ To use: (setq gnus-article-x-face-command 'gnus-picons-display-x-face)" (if (listp gnus-picons-news-directories) gnus-picons-news-directories (list gnus-picons-news-directories)) - nil) + nil (point-marker)) gnus-picons-jobs-alist) (gnus-picons-next-job)) @@ -572,85 +575,98 @@ none, and whose CDR is the corresponding element of DOMAINS." (defun gnus-picons-parse-value (name) (goto-char (point-min)) - (re-search-forward (concat "" + (if (re-search-forward (concat "" (regexp-quote name) - " *= * *\\([^ <][^<]*\\) *")) - (buffer-substring (match-beginning 1) (match-end 1))) + " *= * *\\([^ <][^<]*\\) *") + nil t) + (buffer-substring (match-beginning 1) (match-end 1)))) (defun gnus-picons-parse-filenames () ;; returns an alist of ((USER ADDRS DB) . URL) - (let* ((case-fold-search t) - (user (gnus-picons-parse-value "user")) - (host (gnus-picons-parse-value "host")) - (dbs (message-tokenize-header (gnus-picons-parse-value "db") " ")) - (start-re - (concat - ;; dbs - "^\\(" (mapconcat 'identity dbs "\\|") "\\)/" - ;; host - "\\(\\(" (replace-in-string host "\\." "/\\|" t) "/\\|MISC/\\)*\\)" - ;; user - "\\(" (regexp-quote user) "\\|unknown\\)/" - "face\\.")) - cur-db cur-host cur-user types res) + (let ((case-fold-search t) + (user (gnus-picons-parse-value "user")) + (host (gnus-picons-parse-value "host")) + (dbs (message-tokenize-header (gnus-picons-parse-value "db") " ")) + start-re cur-db cur-host cur-user types res) ;; now point will be somewhere in the header. Find beginning of ;; entries - (re-search-forward "

[ \t\n]*") - (while (re-search-forward start-re nil t) - (setq cur-db (buffer-substring (match-beginning 1) (match-end 1)) - cur-host (buffer-substring (match-beginning 2) (match-end 2)) - cur-user (buffer-substring (match-beginning 4) (match-end 4)) - cur-host (nreverse (message-tokenize-header cur-host "/"))) - ;; XXX - KLUDGE: there is a blank picon in news/MISC/unknown - (unless (and (string-equal cur-db "news") - (string-equal cur-user "unknown") - (equal cur-host '("MISC"))) - ;; ok now we have found an entry (USER HOST DB), find the - ;; corresponding picon URL - (save-restriction - ;; restrict region to this entry - (narrow-to-region (point) (search-forward "
")) - (goto-char (point-min)) - (setq types gnus-picons-file-suffixes) - (while (and types - (not (re-search-forward - (concat "[ \t\n]*") + (while (re-search-forward start-re nil t) + (setq cur-db (buffer-substring (match-beginning 1) (match-end 1)) + cur-host (buffer-substring (match-beginning 2) (match-end 2)) + cur-user (buffer-substring (match-beginning 4) (match-end 4)) + cur-host (nreverse (message-tokenize-header cur-host "/"))) + ;; XXX - KLUDGE: there is a blank picon in news/MISC/unknown + (unless (and (string-equal cur-db "news") + (string-equal cur-user "unknown") + (equal cur-host '("MISC"))) + ;; ok now we have found an entry (USER HOST DB), find the + ;; corresponding picon URL + (save-restriction + ;; restrict region to this entry + (narrow-to-region (point) (search-forward "
")) + (goto-char (point-min)) + (setq types gnus-picons-file-suffixes) + (while (and types + (not (re-search-forward + (concat " ;; Keywords: news diff --git a/lisp/gnus-salt.el b/lisp/gnus-salt.el index b50341d..a091834 100644 --- a/lisp/gnus-salt.el +++ b/lisp/gnus-salt.el @@ -1,5 +1,5 @@ ;;; gnus-salt.el --- alternate summary mode interfaces for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index ff791fa..f8b1a41 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -1,5 +1,5 @@ ;;; gnus-score.el --- scoring code for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Per Abrahamsen ;; Lars Magne Ingebrigtsen @@ -1236,7 +1236,7 @@ EXTRA is the possible non-standard header." (setq gnus-score-alist nil) ;; Read file. (with-temp-buffer - (let ((coding-system-for-write score-mode-coding-system)) + (let ((coding-system-for-read score-mode-coding-system)) (insert-file-contents file)) (goto-char (point-min)) ;; Only do the loading if the score file isn't empty. diff --git a/lisp/gnus-soup.el b/lisp/gnus-soup.el index 4e32484..4a49c88 100644 --- a/lisp/gnus-soup.el +++ b/lisp/gnus-soup.el @@ -1,5 +1,5 @@ ;;; gnus-soup.el --- SOUP packet writing support for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Per Abrahamsen ;; Lars Magne Ingebrigtsen diff --git a/lisp/gnus-spec.el b/lisp/gnus-spec.el index 0cd6ed1..554b468 100644 --- a/lisp/gnus-spec.el +++ b/lisp/gnus-spec.el @@ -1,5 +1,5 @@ ;;; gnus-spec.el --- format spec functions for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index 0f492e8..7eb4982 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -1,5 +1,5 @@ ;;; gnus-srvr.el --- virtual server support for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index c82d6c5..1ace315 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -1,5 +1,5 @@ ;;; gnus-start.el --- startup functions for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 9227b6d..c754177 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -1,5 +1,5 @@ ;;; gnus-sum.el --- summary mode commands for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -4296,12 +4296,28 @@ If SELECT-ARTICLES, only select those articles from GROUP." (setq arts (cdr arts))) (setq list (cdr all)))) + (when (gnus-check-backend-function 'request-set-mark + gnus-newsgroup-name) + ;; score & bookmark are not proper flags (they are cons cells) + ;; cache is a internal gnus flag + (unless (memq (cdr type) '(cache score bookmark)) + (let* ((old (cdr (assq (cdr type) (gnus-info-marks info)))) + (del (gnus-remove-from-range old list)) + (add (gnus-remove-from-range list old))) + (if add + (push (list add 'add (list (cdr type))) delta-marks)) + (if del + (push (list del 'del (list (cdr type))) delta-marks))))) + (push (cons (cdr type) (if (memq (cdr type) uncompressed) list (gnus-compress-sequence (set symbol (sort list '<)) t))) newmarked))) + (if delta-marks + (gnus-request-set-mark gnus-newsgroup-name delta-marks)) + ;; Enter these new marks into the info of the group. (if (nthcdr 3 info) (setcar (nthcdr 3 info) newmarked) @@ -5230,6 +5246,10 @@ If FORCE (the prefix), also save the .newsrc file(s)." gnus-exit-group-hook is called with no arguments if that value is non-nil." (interactive) (gnus-set-global-variables) + (when (gnus-buffer-live-p gnus-article-buffer) + (save-excursion + (set-buffer gnus-article-buffer) + (mm-destroy-parts gnus-article-mime-handles))) (gnus-kill-save-kill-buffer) (gnus-async-halt-prefetch) (let* ((group gnus-newsgroup-name) @@ -5237,6 +5257,12 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil." (mode major-mode) (group-point nil) (buf (current-buffer))) + (unless quit-config + ;; Do adaptive scoring, and possibly save score files. + (when gnus-newsgroup-adaptive + (gnus-score-adaptive)) + (when gnus-use-scoring + (gnus-score-save))) (gnus-run-hooks 'gnus-summary-prepare-exit-hook) ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer @@ -5255,12 +5281,7 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil." ;; Make all changes in this group permanent. (unless quit-config (gnus-run-hooks 'gnus-exit-group-hook) - (gnus-summary-update-info) - ;; Do adaptive scoring, and possibly save score files. - (when gnus-newsgroup-adaptive - (gnus-score-adaptive)) - (when gnus-use-scoring - (gnus-score-save))) + (gnus-summary-update-info)) (gnus-close-group group) ;; Make sure where we were, and go to next newsgroup. (set-buffer gnus-group-buffer) @@ -5275,10 +5296,6 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil." (setq group-point (point)) (if temporary nil ;Nothing to do. - (when (gnus-buffer-live-p gnus-article-buffer) - (save-excursion - (set-buffer gnus-article-buffer) - (mm-destroy-parts gnus-article-mime-handles))) ;; If we have several article buffers, we kill them at exit. (unless gnus-single-article-buffer (gnus-kill-buffer gnus-article-buffer) @@ -5322,8 +5339,9 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil." gnus-expert-user (gnus-y-or-n-p "Discard changes to this group and exit? ")) (gnus-async-halt-prefetch) - (gnus-run-hooks (delq 'gnus-summary-expire-articles - (copy-list gnus-summary-prepare-exit-hook))) + (mapcar 'funcall + (delq 'gnus-summary-expire-articles + (copy-list gnus-summary-prepare-exit-hook))) (when (gnus-buffer-live-p gnus-article-buffer) (save-excursion (set-buffer gnus-article-buffer) @@ -9120,6 +9138,14 @@ save those articles instead." (gnus-info-set-read ',info ',(gnus-info-read info)) (gnus-get-unread-articles-in-group ',info (gnus-active ,group)) (gnus-group-update-group ,group t)))) + ;; Propagate the read marks to the backend. + (if (gnus-check-backend-function 'request-set-mark group) + (let ((del (gnus-remove-from-range (gnus-info-read info) read)) + (add (gnus-remove-from-range read (gnus-info-read info)))) + (when (or add del) + (gnus-request-set-mark + group (delq nil (list (if add (list add 'add '(read))) + (if del (list del 'del '(read))))))))) ;; Enter this list into the group info. (gnus-info-set-read info read) ;; Set the number of unread articles in gnus-newsrc-hashtb. diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index 03bb313..be296df 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -1,5 +1,5 @@ ;;; gnus-topic.el --- a folding minor mode for Gnus group buffers -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Ilja Weis ;; Lars Magne Ingebrigtsen diff --git a/lisp/gnus-undo.el b/lisp/gnus-undo.el index 90cf174..6d7e4ab 100644 --- a/lisp/gnus-undo.el +++ b/lisp/gnus-undo.el @@ -1,5 +1,5 @@ ;;; gnus-undo.el --- minor mode for undoing in Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 510f0db..42f9cee 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -1,5 +1,5 @@ ;;; gnus-util.el --- utility functions for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-uu.el b/lisp/gnus-uu.el index 8744e86..d01d3a9 100644 --- a/lisp/gnus-uu.el +++ b/lisp/gnus-uu.el @@ -1,5 +1,5 @@ ;;; gnus-uu.el --- extract (uu)encoded files in Gnus -;; Copyright (C) 1985,86,87,93,94,95,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 198,995,86,87,93,94,95,96,97,98 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Created: 2 Oct 1993 diff --git a/lisp/gnus-vm.el b/lisp/gnus-vm.el index bbefaac..6fe4b26 100644 --- a/lisp/gnus-vm.el +++ b/lisp/gnus-vm.el @@ -1,5 +1,5 @@ ;;; gnus-vm.el --- vm interface for Gnus -;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc. ;; Author: Per Persson ;; Keywords: news, mail diff --git a/lisp/gnus-win.el b/lisp/gnus-win.el index c41fbae..2860e1a 100644 --- a/lisp/gnus-win.el +++ b/lisp/gnus-win.el @@ -1,5 +1,5 @@ ;;; gnus-win.el --- window configuration functions for Gnus -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus-xmas.el b/lisp/gnus-xmas.el index ea31969..df78e61 100644 --- a/lisp/gnus-xmas.el +++ b/lisp/gnus-xmas.el @@ -1,5 +1,5 @@ ;;; gnus-xmas.el --- Gnus functions for XEmacs -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/gnus.el b/lisp/gnus.el index 1332834..bb9b31e 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1,5 +1,5 @@ ;;; gnus.el --- a newsreader for GNU Emacs -;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98,99 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen @@ -254,7 +254,7 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "0.69" +(defconst gnus-version-number "0.70" "Version number for this version of Gnus.") (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number) @@ -1150,11 +1150,6 @@ articles. This is not a good idea." :group 'gnus-meta :type 'boolean) -(defcustom gnus-use-demon nil - "If non-nil, Gnus might use some demons." - :group 'gnus-meta - :type 'boolean) - (defcustom gnus-use-scoring t "*If non-nil, enable scoring." :group 'gnus-meta diff --git a/lisp/ietf-drums.el b/lisp/ietf-drums.el index dd7f7f0..c28c942 100644 --- a/lisp/ietf-drums.el +++ b/lisp/ietf-drums.el @@ -1,5 +1,5 @@ ;;; ietf-drums.el --- Functions for parsing RFC822bis headers -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. diff --git a/lisp/mail-parse.el b/lisp/mail-parse.el index 0f7dbcd..6b5d412 100644 --- a/lisp/mail-parse.el +++ b/lisp/mail-parse.el @@ -1,5 +1,5 @@ ;;; mail-parse.el --- Interface functions for parsing mail -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. diff --git a/lisp/mailcap.el b/lisp/mailcap.el index eccaf77..d37f393 100644 --- a/lisp/mailcap.el +++ b/lisp/mailcap.el @@ -1,5 +1,5 @@ ;;; mailcap.el --- Functions for displaying MIME parts -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: William M. Perry ;; Lars Magne Ingebrigtsen @@ -51,6 +51,7 @@ (type . "application/x-x509-user-cert")) ("octet-stream" (viewer . mailcap-save-binary-file) + (non-viewer . t) (type ."application/octet-stream")) ("dvi" (viewer . "open %s") @@ -70,6 +71,7 @@ (type . "application/emacs-lisp")) ("x-tar" (viewer . mailcap-save-binary-file) + (non-viewer . t) (type . "application/x-tar")) ("x-latex" (viewer . tex-mode) @@ -93,6 +95,7 @@ (type . "application/tex")) ("zip" (viewer . mailcap-save-binary-file) + (non-viewer . t) (type . "application/zip") ("copiousoutput")) ("pdf" @@ -103,7 +106,7 @@ (type . "application/postscript") (test . (eq (mm-device-type) 'ns))) ("postscript" - (viewer . "ghostview %s") + (viewer . "ghostview -dSAFER %s") (type . "application/postscript") (test . (eq (mm-device-type) 'x)) ("needsx11")) @@ -118,6 +121,7 @@ (type . "audio/x-mpeg")) (".*" (viewer . mailcap-save-binary-file) + (non-viewer . t) (test . (or (featurep 'nas-sound) (featurep 'native-sound))) (type . "audio/*")) @@ -169,6 +173,16 @@ (type . "image/*") (test . (eq (mm-device-type) 'ns))) (".*" + (viewer . "display %s") + (type . "image/*") + (test . (eq (mm-device-type) 'x)) + ("needsx11")) + (".*" + (viewer . "ee %s") + (type . "image/*") + (test . (eq (mm-device-type) 'x)) + ("needsx11")) + (".*" (viewer . "xv -perfect %s") (type . "image/*") (test . (eq (mm-device-type) 'x)) diff --git a/lisp/message.el b/lisp/message.el index a14960d..c6d5c31 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1,5 +1,5 @@ ;;; message.el --- composing mail and news messages -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: mail, news @@ -483,8 +483,7 @@ the signature is inserted." ;;;###autoload (defcustom message-yank-prefix "> " - "*Prefix inserted on the lines of yanked messages. -nil means use indentation." + "*Prefix inserted on the lines of yanked messages." :type 'string :group 'message-insertion) @@ -4215,7 +4214,7 @@ TYPE is the MIME type to use." (defun message-encode-message-body () (let ((mm-default-charset message-default-charset) - lines multipart-p) + lines multipart-p content-type-p) (message-goto-body) (save-restriction (narrow-to-region (point) (point-max)) @@ -4237,6 +4236,9 @@ TYPE is the MIME type to use." (when lines (insert lines)) (setq multipart-p + (re-search-backward "^Content-Type: multipart/" nil t)) + (goto-char (point-max)) + (setq content-type-p (re-search-backward "^Content-Type: multipart/" nil t))) (save-restriction (message-narrow-to-headers-or-head) @@ -4245,7 +4247,17 @@ TYPE is the MIME type to use." (when multipart-p (message-goto-body) (insert "This is a MIME multipart message. If you are reading\n") - (insert "this, you shouldn't.\n")))) + (insert "this, you shouldn't.\n")) + ;; We always make sure that the message has a Content-Type header. + ;; This is because some broken MTAs and MUAs get awfully confused + ;; when confronted with a message with a MIME-Version header and + ;; without a Content-Type header. For instance, Solaris' + ;; /usr/bin/mail. + (unless content-type-p + (goto-char (point-min)) + (re-search-forward "^MIME-Version:") + (forward-line 1) + (insert "Content-Type: text/plain; charset=us-ascii\n")))) (provide 'message) diff --git a/lisp/messagexmas.el b/lisp/messagexmas.el index 52619dd..5b4cebf 100644 --- a/lisp/messagexmas.el +++ b/lisp/messagexmas.el @@ -1,5 +1,5 @@ ;;; messagexmas.el --- XEmacs extensions to message -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: mail, news diff --git a/lisp/messcompat.el b/lisp/messcompat.el index 153f76d..c9f0f7d 100644 --- a/lisp/messcompat.el +++ b/lisp/messcompat.el @@ -1,5 +1,5 @@ ;;; messcompat.el --- making message mode compatible with mail mode -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: mail, news diff --git a/lisp/mm-bodies.el b/lisp/mm-bodies.el index 09c406d..3ac1aa2 100644 --- a/lisp/mm-bodies.el +++ b/lisp/mm-bodies.el @@ -1,5 +1,5 @@ ;;; mm-bodies.el --- Functions for decoding MIME things -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; MORIOKA Tomohiko @@ -103,7 +103,8 @@ If no encoding was done, nil is returned." '7bit)) (t ;; Mule version - (if (and (null (delq 'ascii (find-charset-region (point-min) (point-max)))) + (if (and (null (delq 'ascii + (mm-find-charset-region (point-min) (point-max)))) ;;!!!The following is necessary because the function ;;!!!above seems to return the wrong result under ;;!!!Emacs 20.3. Sometimes. @@ -120,7 +121,7 @@ If no encoding was done, nil is returned." (defun mm-decode-content-transfer-encoding (encoding &optional type) (prog1 - (condition-case () + (condition-case error (cond ((eq encoding 'quoted-printable) (quoted-printable-decode-region (point-min) (point-max))) @@ -138,7 +139,9 @@ If no encoding was done, nil is returned." (funcall encoding (point-min) (point-max))) (t (message "Unknown encoding %s; defaulting to 8bit" encoding))) - (error nil)) + (error + (message "Error while decoding: %s" error) + nil)) (when (and (memq encoding '(base64 x-uuencode x-binhex)) (equal type "text/plain")) diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index 8889bcb..c6e2129 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -1,5 +1,5 @@ ;;; mm-decode.el --- Functions for decoding MIME things -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; MORIOKA Tomohiko @@ -82,6 +82,7 @@ ("text/richtext" mm-inline-text t) ("text/html" mm-inline-text (locate-library "w3")) ("message/delivery-status" mm-inline-text t) + ("text/.*" mm-inline-text t) ("audio/wav" mm-inline-audio (and (or (featurep 'nas-sound) (featurep 'native-sound)) (device-sound-enabled-p))) @@ -272,9 +273,7 @@ external if displayed external." (progn (set-buffer (generate-new-buffer "*mm*")) (setq method nil)) - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) (car (mm-handle-type handle))) + (mm-insert-part handle) (let ((win (get-buffer-window cur t))) (when win (select-window win))) @@ -283,23 +282,25 @@ external if displayed external." (mm-set-buffer-file-coding-system mm-binary-coding-system) (insert-buffer-substring cur) (message "Viewing with %s" method) - (let ((mm (current-buffer))) + (let ((mm (current-buffer)) + (non-viewer (assoc "non-viewer" + (mailcap-mime-info + (car (mm-handle-type handle)) t)))) (unwind-protect (if method (funcall method) (mm-save-part handle)) - (mm-handle-set-undisplayer handle mm)))) + (unless non-viewer + (mm-handle-set-undisplayer handle mm))))) ;; The function is a string to be executed. - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) (car (mm-handle-type handle))) + (mm-insert-part handle) (let* ((dir (make-temp-name (expand-file-name "emm." mm-tmp-directory))) (filename (mail-content-type-get (mm-handle-disposition handle) 'filename)) (needsterm (assoc "needsterm" (mailcap-mime-info (car (mm-handle-type handle)) t))) - process file) + process file buffer) ;; We create a private sub-directory where we store our files. (make-directory dir) (set-file-modes dir 448) @@ -317,11 +318,12 @@ external if displayed external." "-e" shell-file-name "-c" (format method (mm-quote-arg file))) - (start-process "*display*" (generate-new-buffer "*mm*") + (start-process "*display*" + (setq buffer (generate-new-buffer "*mm*")) shell-file-name "-c" (format method (mm-quote-arg file))))) - (mm-handle-set-undisplayer handle (cons file process))) + (mm-handle-set-undisplayer handle (cons file buffer))) (message "Displaying %s..." (format method file)))))) (defun mm-remove-parts (handles) @@ -378,7 +380,7 @@ external if displayed external." (delete-directory (file-name-directory (car object))) (error nil)) (condition-case () - (kill-process (cdr object)) + (kill-buffer (cdr object)) (error nil))) ((bufferp object) (when (buffer-live-p object) @@ -473,12 +475,22 @@ This overrides entries in the mailcap file." (defun mm-get-part (handle) "Return the contents of HANDLE as a string." (mm-with-unibyte-buffer - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (car (mm-handle-type handle))) + (mm-insert-part handle) (buffer-string))) +(defun mm-insert-part (handle) + "Insert the contents of HANDLE in the current buffer." + (let ((cur (current-buffer))) + (save-excursion + (mm-with-unibyte-buffer + (insert-buffer-substring (mm-handle-buffer handle)) + (mm-decode-content-transfer-encoding + (mm-handle-encoding handle) + (car (mm-handle-type handle))) + (let ((temp (current-buffer))) + (set-buffer cur) + (insert-buffer temp)))))) + (defvar mm-default-directory nil) (defun mm-save-part (handle) @@ -496,10 +508,7 @@ This overrides entries in the mailcap file." (or mm-default-directory default-directory)))) (setq mm-default-directory (file-name-directory file)) (mm-with-unibyte-buffer - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (car (mm-handle-type handle))) + (mm-insert-part handle) (when (or (not (file-exists-p file)) (yes-or-no-p (format "File %s already exists; overwrite? " file))) @@ -509,7 +518,16 @@ This overrides entries in the mailcap file." (if (equal "text" (car (split-string (car (mm-handle-type handle)) "/"))) buffer-file-coding-system - 'binary))) + 'binary)) + ;; Don't re-compress .gz & al. Arguably we should make + ;; `file-name-handler-alist' nil, but that would chop + ;; ange-ftp which it's reasonable to use here. + (inhibit-file-name-operation 'write-region) + (inhibit-file-name-handlers + (if (equal (car (mm-handle-type handle)) + "application/octet-stream") + (cons 'jka-compr-handler inhibit-file-name-handlers) + inhibit-file-name-handlers))) (write-region (point-min) (point-max) file)))))) (defun mm-pipe-part (handle) @@ -518,10 +536,7 @@ This overrides entries in the mailcap file." (command (read-string "Shell command on MIME part: " mm-last-shell-command))) (mm-with-unibyte-buffer - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (car (mm-handle-type handle))) + (mm-insert-part handle) (shell-command-on-region (point-min) (point-max) command nil)))) (defun mm-interactively-view-part (handle) @@ -575,10 +590,7 @@ This overrides entries in the mailcap file." (t type))) (or (mm-handle-cache handle) (mm-with-unibyte-buffer - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (car (mm-handle-type handle))) + (mm-insert-part handle) (prog1 (setq spec (make-glyph `[,(intern type) :data ,(buffer-string)])) diff --git a/lisp/mm-encode.el b/lisp/mm-encode.el index 272dc82..b5a4b3b 100644 --- a/lisp/mm-encode.el +++ b/lisp/mm-encode.el @@ -1,5 +1,5 @@ ;;; mm-encode.el --- Functions for encoding MIME things -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; MORIOKA Tomohiko @@ -66,9 +66,11 @@ (goto-char (point-min)) (while (search-forward "\n" nil t) (replace-match "\r\n" t t))) - (condition-case () + (condition-case error (base64-encode-region (point-min) (point-max)) - (error nil))) + (error + (message "Error while decoding: %s" error) + nil))) ((memq encoding '(7bit 8bit binary)) ) ((null encoding) diff --git a/lisp/mm-util.el b/lisp/mm-util.el index 6e54b00..aaae62d 100644 --- a/lisp/mm-util.el +++ b/lisp/mm-util.el @@ -1,5 +1,5 @@ ;;; mm-util.el --- Utility functions for MIME things -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; MORIOKA Tomohiko diff --git a/lisp/mm-uu.el b/lisp/mm-uu.el index c0aa07d..f10fb69 100644 --- a/lisp/mm-uu.el +++ b/lisp/mm-uu.el @@ -2,7 +2,7 @@ ;; Copyright (c) 1998 by Shenghuo Zhu ;; Author: Shenghuo Zhu -;; $Revision: 1.1.1.8 $ +;; $Revision: 1.1.1.9 $ ;; Keywords: news postscript uudecode binhex shar ;; This file is not part of GNU Emacs, but the same permissions diff --git a/lisp/mm-view.el b/lisp/mm-view.el index 2c06d0e..e7db1ca 100644 --- a/lisp/mm-view.el +++ b/lisp/mm-view.el @@ -1,5 +1,5 @@ ;;; mm-view.el --- Functions for viewing MIME objects -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. @@ -42,6 +42,7 @@ (defvar mm-w3-setup nil) (defun mm-setup-w3 () (unless mm-w3-setup + (require 'w3) (w3-do-setup) (require 'url) (require 'w3-vars) @@ -52,19 +53,6 @@ (let ((type (cadr (split-string (car (mm-handle-type handle)) "/"))) text buffer-read-only) (cond - ((equal type "plain") - (setq text (mm-get-part handle)) - (let ((b (point)) - (charset (mail-content-type-get - (mm-handle-type handle) 'charset))) - (insert (mm-decode-string text charset)) - (save-restriction - (narrow-to-region b (point)) - (mm-handle-set-undisplayer - handle - `(lambda () - (let (buffer-read-only) - (delete-region ,(point-min-marker) ,(point-max-marker)))))))) ((equal type "html") (mm-setup-w3) (setq text (mm-get-part handle)) @@ -93,23 +81,25 @@ (equal type "richtext")) (save-excursion (mm-with-unibyte-buffer - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (car (mm-handle-type handle))) + (mm-insert-part handle) (save-window-excursion (enriched-decode (point-min) (point-max)) (setq text (buffer-string))))) (mm-insert-inline handle text)) (t - (save-excursion - (mm-with-unibyte-buffer - (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (car (mm-handle-type handle))) - (setq text (buffer-string)))) - (mm-insert-inline handle text))))) + (setq text (mm-get-part handle)) + (let ((b (point)) + (charset (mail-content-type-get + (mm-handle-type handle) 'charset))) + (insert (mm-decode-string text charset)) + (save-restriction + (narrow-to-region b (point)) + (mm-handle-set-undisplayer + handle + `(lambda () + (let (buffer-read-only) + (delete-region ,(point-min-marker) + ,(point-max-marker))))))))))) (defun mm-insert-inline (handle text) "Insert TEXT inline from HANDLE." diff --git a/lisp/mml.el b/lisp/mml.el index 6a52d78..100a40d 100644 --- a/lisp/mml.el +++ b/lisp/mml.el @@ -1,5 +1,5 @@ ;;; mml.el --- A package for parsing and validating MML documents -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. @@ -310,10 +310,11 @@ (defun mml-insert-mime-headers (cont type charset encoding) (let (parameters disposition description) + (setq parameters + (mml-parameter-string + cont '(name access-type expiration size permission))) (when (or charset - (setq parameters - (mml-parameter-string - cont '(name access-type expiration size permission))) + parameters (not (equal type "text/plain"))) (when (consp charset) (error @@ -325,11 +326,11 @@ (when parameters (insert parameters)) (insert "\n")) + (setq parameters + (mml-parameter-string + cont '(filename creation-date modification-date read-date))) (when (or (setq disposition (cdr (assq 'disposition cont))) - (setq parameters - (mml-parameter-string - cont '(filename creation-date modification-date - read-date)))) + parameters) (insert "Content-Disposition: " (or disposition "inline")) (when parameters (insert parameters)) @@ -345,6 +346,9 @@ value type) (while (setq type (pop types)) (when (setq value (cdr (assq type cont))) + ;; Strip directory component from the filename parameter. + (when (eq type 'filename) + (setq value (file-name-nondirectory value))) (setq string (concat string ";\n " (mail-header-encode-parameter (symbol-name type) value))))) diff --git a/lisp/nnagent.el b/lisp/nnagent.el index 15fa72c..9d94eb8 100644 --- a/lisp/nnagent.el +++ b/lisp/nnagent.el @@ -1,5 +1,5 @@ ;;; nnagent.el --- offline backend for Gnus -;; Copyright (C) 1997,98 Free Software Foundation, Inc. +;; Copyright (C) 1997,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail @@ -113,6 +113,9 @@ (gnus-agent-insert-meta-information 'news gnus-command-method) (gnus-request-accept-article "nndraft:queue" nil t t)) +(deffoo nnagent-request-set-mark (group action server) + action) + ;; Use nnml functions for just about everything. (nnoo-import nnagent (nnml)) diff --git a/lisp/nnbabyl.el b/lisp/nnbabyl.el index 8bdae37..0d71532 100644 --- a/lisp/nnbabyl.el +++ b/lisp/nnbabyl.el @@ -1,5 +1,5 @@ ;;; nnbabyl.el --- rmail mbox access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nndir.el b/lisp/nndir.el index a3b5eae..a46ad74 100644 --- a/lisp/nndir.el +++ b/lisp/nndir.el @@ -1,5 +1,5 @@ ;;; nndir.el --- single directory newsgroup access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nndoc.el b/lisp/nndoc.el index a15cd40..05669f6 100644 --- a/lisp/nndoc.el +++ b/lisp/nndoc.el @@ -1,5 +1,5 @@ ;;; nndoc.el --- single file access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nndraft.el b/lisp/nndraft.el index e99b8be..095cfe6 100644 --- a/lisp/nndraft.el +++ b/lisp/nndraft.el @@ -1,5 +1,5 @@ ;;; nndraft.el --- draft article access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nneething.el b/lisp/nneething.el index 61e8276..e885df6 100644 --- a/lisp/nneething.el +++ b/lisp/nneething.el @@ -1,5 +1,5 @@ ;;; nneething.el --- arbitrary file access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nnfolder.el b/lisp/nnfolder.el index b6f607b..1818506 100644 --- a/lisp/nnfolder.el +++ b/lisp/nnfolder.el @@ -1,5 +1,5 @@ ;;; nnfolder.el --- mail folder access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Scott Byer ;; Lars Magne Ingebrigtsen diff --git a/lisp/nngateway.el b/lisp/nngateway.el index 51e20ad..74c556c 100644 --- a/lisp/nngateway.el +++ b/lisp/nngateway.el @@ -1,5 +1,5 @@ ;;; nngateway.el --- posting news via mail gateways -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail diff --git a/lisp/nnheader.el b/lisp/nnheader.el index 5acdc84..ac44b44 100644 --- a/lisp/nnheader.el +++ b/lisp/nnheader.el @@ -1,5 +1,5 @@ ;;; nnheader.el --- header access macros for Gnus and its backends -;; Copyright (C) 1987,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 198,997,88,89,90,93,94,95,96,97,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen diff --git a/lisp/nnheaderxm.el b/lisp/nnheaderxm.el index f788042..ecd256b 100644 --- a/lisp/nnheaderxm.el +++ b/lisp/nnheaderxm.el @@ -1,5 +1,5 @@ ;;; nnheaderxm.el --- making Gnus backends work under XEmacs -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nnkiboze.el b/lisp/nnkiboze.el index b3e8f7d..e84b6f2 100644 --- a/lisp/nnkiboze.el +++ b/lisp/nnkiboze.el @@ -1,5 +1,5 @@ ;;; nnkiboze.el --- select virtual news access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nnlistserv.el b/lisp/nnlistserv.el index bb2b4a9..8fa8c75 100644 --- a/lisp/nnlistserv.el +++ b/lisp/nnlistserv.el @@ -1,5 +1,5 @@ ;;; nnlistserv.el --- retrieving articles via web mailing list archives -;; Copyright (C) 1997,98 Free Software Foundation, Inc. +;; Copyright (C) 1997,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail diff --git a/lisp/nnmail.el b/lisp/nnmail.el index 7151f6f..83fd3e8 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -1,5 +1,5 @@ ;;; nnmail.el --- mail support functions for the Gnus mail backends -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail @@ -454,7 +454,7 @@ parameter. It should return nil, `warn' or `delete'." :group 'nnmail :type '(repeat symbol)) -(defcustom nnmail-split-header-length-limit 1024 +(defcustom nnmail-split-header-length-limit 512 "Header lines longer than this limit are excluded from the split function." :group 'nnmail :type 'integer) @@ -1067,10 +1067,10 @@ FUNC will be called with the group name to determine the article number." ;; existence to process. (goto-char (point-min)) (while (not (eobp)) - (end-of-line) - (if (> (current-column) nnmail-split-header-length-limit) - (delete-region (point) (progn (end-of-line) (point))) - (forward-line 1))) + (unless (< (move-to-column nnmail-split-header-length-limit) + nnmail-split-header-length-limit) + (delete-region (point) (progn (end-of-line) (point)))) + (forward-line 1)) ;; Allow washing. (goto-char (point-min)) (run-hooks 'nnmail-split-hook) diff --git a/lisp/nnmbox.el b/lisp/nnmbox.el index 13fc297..914adfd 100644 --- a/lisp/nnmbox.el +++ b/lisp/nnmbox.el @@ -1,5 +1,5 @@ ;;; nnmbox.el --- mail mbox access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nnmh.el b/lisp/nnmh.el index 769d865..c41ea70 100644 --- a/lisp/nnmh.el +++ b/lisp/nnmh.el @@ -1,5 +1,5 @@ ;;; nnmh.el --- mhspool access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nnml.el b/lisp/nnml.el index 0ed3c34..1867b96 100644 --- a/lisp/nnml.el +++ b/lisp/nnml.el @@ -1,5 +1,5 @@ ;;; nnml.el --- mail spool access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nnoo.el b/lisp/nnoo.el index d676f0c..21b17c3 100644 --- a/lisp/nnoo.el +++ b/lisp/nnoo.el @@ -1,5 +1,5 @@ ;;; nnoo.el --- OO Gnus Backends -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nnsoup.el b/lisp/nnsoup.el index f0f4d7c..875134f 100644 --- a/lisp/nnsoup.el +++ b/lisp/nnsoup.el @@ -1,5 +1,5 @@ ;;; nnsoup.el --- SOUP access for Gnus -;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu UMEDA diff --git a/lisp/nnspool.el b/lisp/nnspool.el index dd3d89c..9ad2b4f 100644 --- a/lisp/nnspool.el +++ b/lisp/nnspool.el @@ -1,5 +1,5 @@ ;;; nnspool.el --- spool access for GNU Emacs -;; Copyright (C) 1988,89,90,93,94,95,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 198,998,89,90,93,94,95,96,97,98 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen @@ -136,9 +136,14 @@ there.") (setq beg (point)) (inline (nnheader-insert-head file)) (goto-char beg) - (search-forward "\n\n" nil t) - (forward-char -1) - (insert ".\n") + (if (search-forward "\n\n" nil t) + (progn + (forward-char -1) + (insert ".\n")) + (goto-char (point-max)) + (if (bolp) + (insert ".\n") + (insert "\n.\n"))) (delete-region (point) (point-max))) (and do-message diff --git a/lisp/nntp.el b/lisp/nntp.el index 9539b46..a82bb0e 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -1,5 +1,5 @@ ;;; nntp.el --- nntp access for Gnus -;;; Copyright (C) 1987-90,92-98 Free Software Foundation, Inc. +;;; Copyright (C) 1987-90,92-99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/nnvirtual.el b/lisp/nnvirtual.el index 1a676ea..ca92c68 100644 --- a/lisp/nnvirtual.el +++ b/lisp/nnvirtual.el @@ -1,5 +1,5 @@ ;;; nnvirtual.el --- virtual newsgroups access for Gnus -;; Copyright (C) 1994,95,96,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1994,95,96,97,98,99 Free Software Foundation, Inc. ;; Author: David Moore ;; Lars Magne Ingebrigtsen diff --git a/lisp/nnweb.el b/lisp/nnweb.el index 42dc338..d46aefd 100644 --- a/lisp/nnweb.el +++ b/lisp/nnweb.el @@ -1,5 +1,5 @@ ;;; nnweb.el --- retrieving articles via web search engines -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news diff --git a/lisp/qp.el b/lisp/qp.el index 4671451..a529868 100644 --- a/lisp/qp.el +++ b/lisp/qp.el @@ -1,5 +1,5 @@ ;;; qp.el --- Quoted-Printable functions -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. @@ -32,22 +32,31 @@ (save-excursion (goto-char from) (while (search-forward "=" to t) - (cond ((eq (char-after) ?\n) - (delete-char -1) - (delete-char 1)) - ((and - (memq (char-after) quoted-printable-encoding-characters) - (memq (char-after (1+ (point))) - quoted-printable-encoding-characters)) - (subst-char-in-region - (1- (point)) (point) ?= - (string-to-number - (buffer-substring (point) (+ 2 (point))) - 16)) - (delete-char 2)) - ((looking-at "=") - (delete-char 1)) - ((message "Malformed MIME quoted-printable message")))))) + (cond + ;; End of the line. + ((eq (char-after) ?\n) + (delete-char -1) + (delete-char 1)) + ;; Encoded character. + ((and + (memq (char-after) quoted-printable-encoding-characters) + (memq (char-after (1+ (point))) + quoted-printable-encoding-characters)) + (subst-char-in-region + (1- (point)) (point) ?= + (string-to-number + (buffer-substring (point) (+ 2 (point))) + 16)) + (delete-char 2)) + ;; Quoted equal sign. + ((eq (char-after) ?=) + (delete-char 1)) + ;; End of buffer. + ((eobp) + (delete-char -1)) + ;; Invalid. + (t + (message "Malformed MIME quoted-printable message")))))) (defun quoted-printable-decode-string (string) "Decode the quoted-printable-encoded STRING and return the results." diff --git a/lisp/rfc2045.el b/lisp/rfc2045.el index c8028db..1a5950d 100644 --- a/lisp/rfc2045.el +++ b/lisp/rfc2045.el @@ -1,5 +1,5 @@ ;;; rfc2045.el --- Functions for decoding rfc2045 headers -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. diff --git a/lisp/rfc2047.el b/lisp/rfc2047.el index 84204e5..5d44dc3 100644 --- a/lisp/rfc2047.el +++ b/lisp/rfc2047.el @@ -1,5 +1,5 @@ ;;; rfc2047.el --- Functions for encoding and decoding rfc2047 messages -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; MORIOKA Tomohiko diff --git a/lisp/rfc2231.el b/lisp/rfc2231.el index 2caec5e..6212cc0 100644 --- a/lisp/rfc2231.el +++ b/lisp/rfc2231.el @@ -1,5 +1,5 @@ ;;; rfc2231.el --- Functions for decoding rfc2231 headers -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. @@ -45,6 +45,9 @@ The list will be on the form (mail-header-remove-comments string))) (let ((table (copy-syntax-table ietf-drums-syntax-table))) (modify-syntax-entry ?\' "w" table) + ;; The following isn't valid, but one should be liberal + ;; in what one receives. + (modify-syntax-entry ?\: "w" table) (set-syntax-table table)) (setq c (char-after)) (when (and (memq c ttoken) diff --git a/lisp/smiley.el b/lisp/smiley.el index ac1a65f..fd42472 100644 --- a/lisp/smiley.el +++ b/lisp/smiley.el @@ -1,5 +1,5 @@ ;;; smiley.el --- displaying smiley faces -;; Copyright (C) 1996,97,98 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc. ;; Author: Wes Hardaker ;; Keywords: fun diff --git a/lisp/time-date.el b/lisp/time-date.el index db7a35e..0a55481 100644 --- a/lisp/time-date.el +++ b/lisp/time-date.el @@ -1,5 +1,5 @@ ;;; time-date.el --- Date and time handling functions -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,99 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Masanobu Umeda diff --git a/lisp/uudecode.el b/lisp/uudecode.el index b44e3c9..b661ae4 100644 --- a/lisp/uudecode.el +++ b/lisp/uudecode.el @@ -2,7 +2,7 @@ ;; Copyright (c) 1998 by Shenghuo Zhu ;; Author: Shenghuo Zhu -;; $Revision: 5.3 $ +;; $Revision: 5.4 $ ;; Keywords: uudecode ;; This file is not part of GNU Emacs, but the same permissions diff --git a/texi/ChangeLog b/texi/ChangeLog index 228deae..4c0adf9 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +1999-01-12 07:14:12 Lars Magne Ingebrigtsen + + * gnus.texi (To From Newsgroups): Addition. + 1999-01-03 13:54:51 Lars Magne Ingebrigtsen * gnus.texi (Group Agent Commands): Addition. diff --git a/texi/gnus.texi b/texi/gnus.texi index a5121d9..6e785aa 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Pterodactyl Gnus 0.69 Manual +@settitle Pterodactyl Gnus 0.70 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -318,7 +318,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Pterodactyl Gnus 0.69 Manual +@title Pterodactyl Gnus 0.70 Manual @author by Lars Magne Ingebrigtsen @page @@ -354,7 +354,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local spool or your mbox file. All at the same time, if you want to push your luck. -This manual corresponds to Pterodactyl Gnus 0.69. +This manual corresponds to Pterodactyl Gnus 0.70. @end ifinfo @@ -3474,7 +3474,14 @@ headers are used instead. @vindex nnmail-extra-headers A related variable is @code{nnmail-extra-headers}, which controls when -to include extra headers when generating overview (@sc{nov}) files. +to include extra headers when generating overview (@sc{nov}) files. If +you have old overview files, you should regenerate them after changing +this variable. + +@vindex gnus-summary-line-format +You also have to instruct Gnus to display the data by changing the +@code{%n} spec to the @code{%f} spec in the +@code{gnus-summary-line-format} variable. In summary, you'd typically do something like the following: @@ -14747,16 +14754,8 @@ should have a frame parameter alist as the size spec. Reference Manual}. Under XEmacs, a frame property list will be accepted, too---for instance, @code{(height 5 width 15 left -1 top 1)} is such a plist. - -Here's a list of all possible keys for -@code{gnus-buffer-configuration}: - -@code{group}, @code{summary}, @code{article}, @code{server}, -@code{browse}, @code{message}, @code{pick}, @code{info}, -@code{summary-faq}, @code{edit-group}, @code{edit-server}, -@code{edit-score}, @code{post}, @code{reply}, @code{forward}, -@code{reply-yank}, @code{mail-bounce}, @code{draft}, @code{pipe}, -@code{bug}, @code{compose-bounce}, and @code{score-trace}. +The list of all possible keys for @code{gnus-buffer-configuration} can +be found in its default value. Note that the @code{message} key is used for both @code{gnus-group-mail} and @code{gnus-summary-mail-other-window}. If @@ -14772,6 +14771,20 @@ might be used: (group 1.0))))) @end lisp +One common desire for a multiple frame split is to have a separate frame +for composing mail and news while leaving the original frame intact. To +accomplish that, something like the following can be done: + +@lisp +(message (frame 1.0 + (if (not (buffer-live-p gnus-summary-buffer)) + (car (cdr (assoc 'group gnus-buffer-configuration))) + (car (cdr (assoc 'summary gnus-buffer-configuration)))) + (vertical ((user-position . t) (top . 1) (left . 1) + (name . "Message")) + (message 1.0 point)))) +@end lisp + @findex gnus-add-configuration Since the @code{gnus-buffer-configuration} variable is so long and complicated, there's a function you can use to ease changing the config @@ -15089,10 +15102,6 @@ time. Modified by the @var{idle} parameter, of course. seconds. This is 60 by default. If you change that variable, all the timings in the handlers will be affected.) -@vindex gnus-use-demon -To set the whole thing in motion, though, you have to set -@code{gnus-use-demon} to @code{t}. - So, if you want to add a handler, you could put something like this in your @file{.gnus} file: @@ -16382,6 +16391,7 @@ Russ Allbery, Peter Arius, Matt Armstrong, Marc Auslander, +Miles Bader, Frank Bennett, Robert Bihlmeyer, Chris Bone, @@ -16412,6 +16422,7 @@ Joev Dubach, Michael Welsh Duggan, Dave Edmondson, Paul Eggert, +Karl Eichwalder, Enami Tsugutomo, @c Enami Michael Ernst, Luc Van Eycken, @@ -16426,6 +16437,7 @@ Guy Geens, Arne Georg Gleditsch, David S. Goldberg, Michelangelo Grigni, +Dale Hagglund, D. Hall, Magnus Hammerin, Kenichi Handa, @c Handa @@ -16456,6 +16468,7 @@ Thor Kristoffersen, Jens Lautenbacher, Martin Larose, Seokchan Lee, @c Lee +Joerg Lenneis, Carsten Leonhardt, James LewisMoss, Christian Limpach, @@ -16487,6 +16500,7 @@ Stephen Peters, Jens-Ulrik Holger Petersen, Ulrich Pfeifer, Matt Pharr, +Andy Piper, John McClary Prevost, Bill Pringlemeir, Mike Pullen, @@ -16499,6 +16513,7 @@ Renaud Rioboo, Roland B. Roberts, Bart Robinson, Christian von Roques, +Markus Rost, Jason Rumney, Wolfgang Rupprecht, Jay Sachs, @@ -16521,6 +16536,7 @@ Darren Stalder, Richard Stallman, Greg Stark, Sam Steingold, +Jonas Steverud, Paul Stodghill, Kurt Swanson, Samuel Tardieu, @@ -16537,9 +16553,12 @@ Stefan Waldherr, Pete Ware, Barry A. Warsaw, Christoph Wedler, -Joe Wells +Joe Wells, +Lee Willis, +Katsumi Yamaoka @c Yamaoka and -Katsumi Yamaoka, @c Yamaoka. +Lloyd Zusman. + For a full overview of what each person has done, the ChangeLogs included in the Gnus alpha distributions should give ample reading @@ -18452,6 +18471,10 @@ Fetch by Message-ID from dejanews. @item +A spec for the group line format to display the number of +agent-downloaded articles in the group. + +@item Solve the halting problem. @c TODO diff --git a/texi/message.texi b/texi/message.texi index 2db59ba..ad86c62 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Pterodactyl Message 0.69 Manual +@settitle Pterodactyl Message 0.70 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Pterodactyl Message 0.69 Manual +@title Pterodactyl Message 0.70 Manual @author by Lars Magne Ingebrigtsen @page @@ -83,7 +83,7 @@ Message mode buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Pterodactyl Message 0.69. Message is +This manual corresponds to Pterodactyl Message 0.70. Message is distributed with the Gnus distribution bearing the same version number as this manual. @@ -487,7 +487,6 @@ When you are replying to or following up an article, you normally want to quote the person you are answering. Inserting quoted text is done by @dfn{yanking}, and each quoted line you yank will have @code{message-yank-prefix} prepended to it. The default is @samp{> }. -If it is @code{nil}, just indent the message. @item message-indentation-spaces @vindex message-indentation-spaces -- 1.7.10.4