* mm-uu.el (mm-uu-dissect-text-parts): Ignore it if a given part
is dissected into a single part of which the type is the same as
- the given one.
+ the given one; decode charset.
2006-01-21 Kevin Ryde <user42@zip.com.au>
* gnus-art.el (gnus-article-wash-html-with-w3m): No need to narrow
the buffer.
+2006-01-08 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * gnus-cus.el (gnus-group-parameters): Sync posting-style with
+ custom definition of `gnus-posting-styles'.
+
+ * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Bind
+ print-circle. Suggested by Kalle Olavi Niemitalo <kon@iki.fi>.
+
+2006-01-05 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * gnus-group.el (gnus-useful-groups): Use Gmane for ding. Use
+ nntp for bug archive.
+
2006-01-05 Katsumi Yamaoka <yamaoka@jpl.org>
* nnrss.el (nnrss-request-article): Fix the way to fill text/plain
* dns.el (query-dns): Make sure we check the buffer size before
removing tcp headers.
+2006-01-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * spam.el (spam-group-ham-mark-p, spam-group-spam-mark-p)
+ (spam-group-spam-marks): Delete functions.
+ (spam-list-articles): Just call spam-group-ham-marks directly.
+ (spam-group-ham-marks): Simplify.
+
2005-12-16 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-article-delete-text-of-type): Enable it to
* gnus-fun.el (gnus-face-from-file): Decrease quant in smaller
steps when < 10.
+ * gnus-start.el (gnus-no-server-1): Mention
+ `gnus-level-default-subscribed' in doc string.
+
2005-12-02 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
* mm-view.el (mm-inline-text-html-render-with-w3m): Fix misplaced
as a buffer-local variable. This avoids creating truncated
dribble files as a result of a hang up, eg.
+2006-01-03 Rodrigo Ventura <yoda@isr.ist.utl.pt> (tiny change)
+
+ * gnus-xmas.el (gnus-xmas-group-startup-message): Typo
+ gnus-splash-face -> gnus-splash. Fixes starting from a TTY in
+ XEmacs.
+
+2005-12-09 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * gnus-start.el (gnus-start-draft-setup): Enforce
+ `gnus-draft-mode' for nndraft:drafts at startup.
+
+ * gnus.el (gnus-splash): Change custom group.
+ (gnus-group-get-parameter, gnus-group-parameter-value): Describe
+ allow-list argument.
+
+ * gnus-agent.el (gnus-agent-article-alist-save-format): Format doc
+ string.
+
+2005-12-06 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * gnus-art.el (gnus-default-article-saver): Add user-defined
+ `function' to custom type.
+
+2005-10-30 Chong Yidong <cyd@stupidchicken.com>
+
+ * imap.el (imap-open): Handle case where buffer is a buffer
+ object.
+
+2005-11-29 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * gnus-cache.el (gnus-cache-rename-group): Wrap doc strings and
+ long lines.
+ (gnus-cache-delete-group): Wrap doc strings.
+
+ * gnus-agent.el (gnus-agent-rename-group)
+ (gnus-agent-delete-group): Wrap doc strings.
+
+
2005-11-10 Katsumi Yamaoka <yamaoka@jpl.org>
* messagexmas.el (message-use-toolbar): Change the valid values
* gnus-sum.el (gnus-article-sort-by-date-reverse): Remove,
use (not sort-by-date) instead.
+2005-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * gnus-delay.el (gnus-delay-group): Don't autoload.
+ It's useless and could trigger a bug in cus-dep.el causing ldefs-boot
+ to be re-loaded when customizing the `gnus-delay' group.
+
+2005-11-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * message.el: Revert last changes.
+ (message-insert-citation-line): Use newlines.
+
+2005-11-17 Chong Yidong <cyd@stupidchicken.com>
+
+ * message.el (message-courtesy-message)
+ (message-mark-insert-begin, message-mark-insert-end)
+ (message-elide-ellipsis, message-cancel-message)
+ (message-add-header, message-change-subject)
+ (message-cross-post-followup-to-header)
+ (message-cross-post-insert-note, message-reduce-to-to-cc)
+ (message-widen-reply, message-delete-not-region)
+ (message-kill-to-signature, message-insert-signature)
+ (message-insert-importance-high, message-insert-importance-low)
+ (message-insert-or-toggle-importance)
+ (message-insert-disposition-notification-to)
+ (message-indent-citation, message-yank-original)
+ (message-cite-original-without-signature, message-cite-original)
+ (message-insert-citation-line, message-position-on-field)
+ (message-fix-before-sending, message-send-mail-partially)
+ (message-send-mail, message-send-mail-with-sendmail)
+ (message-send-mail-with-qmail, message-send-news)
+ (message-check-news-header-syntax, message-generate-headers)
+ (message-insert-courtesy-copy, message-fill-address)
+ (message-fill-header, message-shorten-references)
+ (message-setup-1, message-cancel-news)
+ (message-forward-make-body-plain) (message-forward-make-body-mime)
+ (message-forward-make-body-mml) (message-encode-message-body)
+ (message-forward-make-body-digest-plain)
+ (message-forward-make-body-digest-mime)
+ (message-use-alternative-email-as-from): Insert `hard-newline'
+ instead of ordinary newlines.
+
2005-11-09 Katsumi Yamaoka <yamaoka@jpl.org>
* message.el (message-generate-headers): Downcase the argument
:type 'boolean)
(defcustom gnus-agent-article-alist-save-format 1
- "Indicates whether to use compression(2), verses no
- compression(1), when writing agentview files. The compressed
- files do save space but load times are 6-7 times higher. A
- group must be opened then closed for the agentview to be
- updated using the new format."
+ "Indicates whether to use compression(2), versus no
+compression(1), when writing agentview files. The compressed
+files do save space but load times are 6-7 times higher. A group
+must be opened then closed for the agentview to be updated using
+the new format."
+ ;; Wouldn't symbols instead numbers be nicer? --rsteib
:version "22.1"
:group 'gnus-agent
:type '(radio (const :format "Compressed" 2)
;;;###autoload
(defun gnus-agent-rename-group (old-group new-group)
- "Rename fully-qualified OLD-GROUP as NEW-GROUP. Always updates the agent, even when
-disabled, as the old agent files would corrupt gnus when the agent was
-next enabled. Depends upon the caller to determine whether group renaming is supported."
+ "Rename fully-qualified OLD-GROUP as NEW-GROUP.
+Always updates the agent, even when disabled, as the old agent
+files would corrupt gnus when the agent was next enabled.
+Depends upon the caller to determine whether group renaming is
+supported."
(let* ((old-command-method (gnus-find-method-for-group old-group))
(old-path (directory-file-name
(let (gnus-command-method old-command-method)
;;;###autoload
(defun gnus-agent-delete-group (group)
- "Delete fully-qualified GROUP. Always updates the agent, even when
-disabled, as the old agent files would corrupt gnus when the agent was
-next enabled. Depends upon the caller to determine whether group deletion is supported."
+ "Delete fully-qualified GROUP.
+Always updates the agent, even when disabled, as the old agent
+files would corrupt gnus when the agent was next enabled.
+Depends upon the caller to determine whether group deletion is
+supported."
(let* ((command-method (gnus-find-method-for-group group))
(path (directory-file-name
(let (gnus-command-method command-method)
(function-item gnus-summary-save-in-file)
(function-item gnus-summary-save-body-in-file)
(function-item gnus-summary-save-in-vm)
- (function-item gnus-summary-write-to-file)))
+ (function-item gnus-summary-write-to-file)
+ (function)))
(defcustom gnus-rmail-save-name 'gnus-plain-save-name
"A function generating a file name to save articles in Rmail format.
;;;###autoload
(defun gnus-cache-rename-group (old-group new-group)
- "Rename OLD-GROUP as NEW-GROUP. Always updates the cache, even when
-disabled, as the old cache files would corrupt gnus when the cache was
-next enabled. Depends upon the caller to determine whether group renaming is supported."
+ "Rename OLD-GROUP as NEW-GROUP.
+Always updates the cache, even when disabled, as the old cache
+files would corrupt Gnus when the cache was next enabled. It
+depends on the caller to determine whether group renaming is
+supported."
(let ((old-dir (gnus-cache-file-name old-group ""))
(new-dir (gnus-cache-file-name new-group "")))
(gnus-rename-file old-dir new-dir t))
(let ((no-save gnus-cache-active-hashtb))
(unless gnus-cache-active-hashtb
(gnus-cache-read-active))
- (let* ((old-group-hash-value (gnus-gethash old-group gnus-cache-active-hashtb))
- (new-group-hash-value (gnus-gethash new-group gnus-cache-active-hashtb))
- (delta (or old-group-hash-value new-group-hash-value)))
+ (let* ((old-group-hash-value
+ (gnus-gethash old-group gnus-cache-active-hashtb))
+ (new-group-hash-value
+ (gnus-gethash new-group gnus-cache-active-hashtb))
+ (delta
+ (or old-group-hash-value new-group-hash-value)))
(gnus-sethash new-group old-group-hash-value gnus-cache-active-hashtb)
(gnus-sethash old-group nil gnus-cache-active-hashtb)
;;;###autoload
(defun gnus-cache-delete-group (group)
- "Delete GROUP. Always updates the cache, even when
-disabled, as the old cache files would corrupt gnus when the cache was
-next enabled. Depends upon the caller to determine whether group deletion is supported."
+ "Delete GROUP from the cache.
+Always updates the cache, even when disabled, as the old cache
+files would corrupt gnus when the cache was next enabled.
+Depends upon the caller to determine whether group deletion is
+supported."
(let ((dir (gnus-cache-file-name group "")))
(gnus-delete-directory dir))
;;; gnus-cus.el --- customization commands for Gnus
;; Copyright (C) 1996, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005 Free Software Foundation, Inc.
+;; 2005, 2006 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: news
(const signature-file)
(const organization)
(const address)
+ (const x-face-file)
(const name)
(const body)
- (const import))
+ (const import)
+ (symbol)
+ (string :tag "Header"))
(string :format "%v"))))
"post style.
See `gnus-posting-styles'."))
;;; gnus-group.el --- group mode commands for Gnus
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005 Free Software Foundation, Inc.
+;; 2005, 2006 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
:type 'hook)
(defcustom gnus-useful-groups
- '(("(ding) mailing list mirrored at sunsite.auc.dk"
- "emacs.ding"
- (nntp "sunsite.auc.dk"
- (nntp-address "sunsite.auc.dk")))
- ("gnus-bug archive"
- "gnus-bug"
- (nndir "/ftp@ftp.ifi.uio.no:/pub/emacs/gnus/gnus-bug/"))
- ("Gnus help group"
+ '(("(ding) mailing list mirrored at gmane.org"
+ "gmane.emacs.gnus.general"
+ (nntp "Gmane"
+ (nntp-address "news.gmane.org")))
+ ("Gnus bug archive"
+ "gnus.gnus-bug"
+ (nntp "news.gnus.org"
+ (nntp-address "news.gnus.org")))
+ ("Local Gnus help group"
"gnus-help"
(nndoc "gnus-help"
(nndoc-article-type mbox)
;;; gnus-start.el --- startup functions for Gnus
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005 Free Software Foundation, Inc.
+;; 2005, 2006 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
(defun gnus-no-server-1 (&optional arg slave)
"Read network news.
-If ARG is a positive number, Gnus will use that as the
-startup level. If ARG is nil, Gnus will be started at level 2.
-If ARG is non-nil and not a positive number, Gnus will
-prompt the user for the name of an NNTP server to use.
-As opposed to `gnus', this command will not connect to the local server."
+If ARG is a positive number, Gnus will use that as the startup
+level. If ARG is nil, Gnus will be started at level 2
+\(`gnus-level-default-subscribed' minus one). If ARG is non-nil
+and not a positive number, Gnus will prompt the user for the name
+of an NNTP server to use. As opposed to \\[gnus], this command
+will not connect to the local server."
(interactive "P")
(let ((val (or arg (1- gnus-level-default-subscribed))))
(gnus val t slave)
(gnus-request-create-group "drafts" '(nndraft ""))
(unless (gnus-group-entry "nndraft:drafts")
(let ((gnus-level-default-subscribed 1))
- (gnus-subscribe-group "nndraft:drafts" nil '(nndraft "")))
+ (gnus-subscribe-group "nndraft:drafts" nil '(nndraft ""))))
+ (unless (equal (gnus-group-get-parameter "nndraft:drafts" 'gnus-dummy t)
+ '((gnus-draft-mode)))
+ (gnus-message 3 "Setting up drafts group")
(gnus-group-set-parameter
"nndraft:drafts" 'gnus-dummy '((gnus-draft-mode)))))
(print-escape-nonascii t)
(print-length nil)
(print-level nil)
+ (print-circle nil)
(print-escape-newlines t)
(gnus-killed-list
(if (and gnus-save-killed-list
(t
()))
"Face for the splash screen."
- :group 'gnus)
+ :group 'gnus-start)
;; backward-compatibility alias
(put 'gnus-splash-face 'face-alias 'gnus-splash)
(defun gnus-group-get-parameter (group &optional symbol allow-list)
"Return the group parameters for GROUP.
If SYMBOL, return the value of that symbol in the group parameters.
+If ALLOW-LIST, also allow list as a result.
Most functions should use `gnus-group-find-parameter', which
also examines the topic parameters."
(let ((params (gnus-info-params (gnus-get-info group))))
(defun gnus-group-parameter-value (params symbol &optional
allow-list present-p)
- "Return the value of SYMBOL in group PARAMS."
+ "Return the value of SYMBOL in group PARAMS.
+If ALLOW-LIST, also allow list as a result."
;; 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...
(setq result (cons "multipart/mixed" (nreverse result))))
result)))
-(defun mm-uu-dissect-text-parts (handle)
- "Dissect text parts and put uu handles into HANDLE."
+;;;###autoload
+(defun mm-uu-dissect-text-parts (handle &optional decoded)
+ "Dissect text parts and put uu handles into HANDLE.
+Assume text has been decoded if DECODED is non-nil."
(let ((buffer (mm-handle-buffer handle)))
(cond ((stringp buffer)
- (mapc 'mm-uu-dissect-text-parts (cdr handle)))
+ (dolist (elem (cdr handle))
+ (mm-uu-dissect-text-parts elem decoded)))
((bufferp buffer)
(let ((type (mm-handle-media-type handle))
(case-fold-search t) ;; string-match
- encoding children)
+ children charset encoding)
(when (and
(stringp type)
;; Mutt still uses application/pgp even though
;; it has already been withdrawn.
(string-match "\\`text/\\|\\`application/pgp\\'" type)
- (setq children
- (with-current-buffer buffer
- (if (setq encoding (mm-handle-encoding handle))
- ;; Inherit the multibyteness of the `buffer'.
- (with-temp-buffer
- (insert-buffer-substring buffer)
- (mm-decode-content-transfer-encoding
- encoding type)
- (mm-uu-dissect t (mm-handle-type handle)))
- (mm-uu-dissect t (mm-handle-type handle))))))
+ (setq
+ children
+ (with-current-buffer buffer
+ (cond
+ ((or decoded
+ (eq (setq charset (mail-content-type-get
+ (mm-handle-type handle)
+ 'charset))
+ 'gnus-decoded))
+ (mm-uu-dissect
+ t (cons type '((charset . gnus-decoded)))))
+ (charset
+ (setq decoded t)
+ (mm-with-multibyte-buffer
+ (insert (mm-decode-string (mm-get-part handle)
+ charset))
+ (mm-uu-dissect
+ t (cons type '((charset . gnus-decoded))))))
+ ((setq encoding (mm-handle-encoding handle))
+ (setq decoded nil)
+ ;; Inherit the multibyteness of the `buffer'.
+ (with-temp-buffer
+ (insert-buffer-substring buffer)
+ (mm-decode-content-transfer-encoding
+ encoding type)
+ (mm-uu-dissect t (list type))))
+ (t
+ (setq decoded nil)
+ (mm-uu-dissect t (list type)))))))
;; Ignore it if a given part is dissected into a single
;; part of which the type is the same as the given one.
(if (and (<= (length children) 2)
(kill-buffer buffer)
(setcdr handle (cdr children))
(setcar handle (car children)) ;; "multipart/mixed"
- (mapc 'mm-uu-dissect-text-parts (cdr children))))))
+ (dolist (elem (cdr children))
+ (mm-uu-dissect-text-parts elem decoded))))))
(t
- (mapc 'mm-uu-dissect-text-parts handle)))))
+ (dolist (elem handle)
+ (mm-uu-dissect-text-parts elem decoded))))))
(provide 'mm-uu)
;;; parse-time.el --- Parsing time strings
-;; Copyright (C) 1996, 2000, 2002 by Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, 2005
+;; Free Software Foundation, Inc.
;; Author: Erik Naggum <erik@naggum.no>
;; Keywords: util
;;; time-date.el --- Date and time handling functions
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005
-;; Free Software Foundation, Inc.
+
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu Umeda <umerin@mse.kyutech.ac.jp>
* gnus.texi (Article Washing): Additions.
+2006-01-08 Alex Schroeder <alex@gnu.org>
+
+ * pgg.texi (Caching passphrase): Rewording.
+
2006-01-10 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.texi (RSS): Document nnrss-wash-html-in-text-plain-parts.
(XVarious): Remove gnus-xmas-logo-color-alist and
gnus-xmas-logo-color-style; fix description of gnus-use-toolbar.
+2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * pgg.texi (User Commands): Document additional passphrase
+ argument for pgg-encrypt-*, pgg-decrypt-*, and pgg-sign-* functions.
+ (Backend methods): Likewise for corresponding pgg-scheme-* functions.
+
2005-11-02 Reiner Steib <Reiner.Steib@gmx.de>
* gnus.texi (Conformity): Fix typo.
gnus-parameters-case-fold-search.
(Home Score File): Addition.
+2005-10-29 Sascha Wilde <wilde@sha-bang.de>
+
+ * pgg.texi (How to use): Update the example to add autoload of
+ pgg-encrypt-symmetric-region.
+ (User Commands): Document pgg-encrypt-symmetric-region.
+ (Backend methods): Document pgg-scheme-encrypt-symmetric-region.
+
2005-10-29 Jari Aalto <jari.aalto@cante.net>
* gnus.texi (Sorting the Summary Buffer):