view lisp/mail/ChangeLog.pmail @ 101376:fe77f4a4e75a

Initial reformat and simplification pending merge into ../lisp/ChangeLog.
author Glenn Morris <rgm@gnu.org>
date Fri, 23 Jan 2009 04:05:20 +0000
parents 2f0f7be5cbea
children 208dda8b32a0
line wrap: on
line source

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmailhdr.el: File removed.

	* mail/rmailsum.el: (rmail-summary-expunge-and-save): Use
	rmail-expunge-and-save.

	* mail/rmail.el (buffer-swapped-with): Var removed.
	(rmail-buffer-swapped): New var.
	(rmail-write-region-annotate): New function.
	(rmail-save-buffer): New function.

	* mail/rmailedit.el (rmail-cease-edit, rmail-edit-mode): Use
	rmail-buffer-swapped.

2009-01-22  Glenn Morris  <rgm@gnu.org>

	* mail/rmailkwd.el (rmail-last-label, rmail-last-multi-labels):
	Move back to rmail.el.
	* mail/rmail.el (rmail-last-label, rmail-last-multi-labels):
	Move back here from rmailkwd.el.

	* mail/rmailsum.el (rmail-message-labels-p): Move back to rmail.el.
	* mail/rmail.el (rmail-message-labels-p): Move back here from
	rmailsum.el.

2009-01-22  Glenn Morris  <rgm@gnu.org>

	* mail/rmailout.el (rmail-update-summary): Declare.

	* mail/rmailsum.el (rmail-summary-mode-map)
	(rmail-summary-output-to-rmail-file): Use rmail-summary-output
	rather than rmail-summary-output-to-babyl-file (renamed 2009-01-05).
	(rmail-output-as-seen): Declare.
	(rmail-summary-output): Also require rmailout non-interactively.

2009-01-22  Richard M Stallman  <rms@gnu.org>

	* mail/rmailout.el (rmail-output-to-r-mail-buffer): New function.
	(rmail-output-as-babyl): Use it.
	(rmail-output-to-rmail-buffer): New function.
	(rmail-output-as-mbox): Use it.
	(rmail-output-as-seen): Pass t to rmail-output-as-mbox.
	(rmail-output): Call set-buffer later.

	* mail/rmail.el (rmail-count-screen-lines, rmail-use-collection-buffer)
	(rmail-use-viewer-buffer): Fns deleted.
	Other functions reordered but not changed.

	* mail/rmailsort.el (rmailhdr): Don't require it.
	(rmail-fetch-field): Function deleted.
	Callers use rmail-get-header.
	(rmail-sort-messages): Replace point-offset with
	return-to-point, which can be nil.
	Call rmail-swap-buffers-maybe after that.
	Don't bind buffer-read-only.  Bind inhibit-read-only.
	Be more careful in making blank line at end of msg.
	Don't enable undo at end.

	* mail/rmail.el (rmail-ignored-headers): Hide more fields.
	(rmail-next-undeleted-message): If we stay on same message,
	don't change anything.

2009-01-22  Glenn Morris  <rgm@gnu.org>

	* mail/rmailmsc.el (rmail-show-message): Fix declaration.

	* mail/rmailsum.el (rmail-output-read-rmail-file-name):
	Remove declaration.

2009-01-22  Richard M Stallman  <rms@gnu.org>

	* mail/rmailkwd.el: Require rmail; delete compiler defvars.
	Delete most declare-function calls.
	(rmail-keywords, rmail-deleted-label, rmail-attributes): Vars deleted.
	(rmail-attribute-p, rmail-keyword-p): Fns deleted.
	(rmail-keywords, rmail-parse-file-keywords, rmail-install-keyword):
	(rmail-force-make-label, rmail-quote-label-name): Fns deleted.
	(rmail-last-label, rmail-last-multi-labels): Vars moved from rmail.el.
	(rmail-read-label): Don't switch buffers, don't parse file keywords.
	(rmail-set-label): Major rewrite.
	(rmail-next-labeled-message): Call rmail-get-labels and match it.

	* mail/rmailsum.el (rmail-message-labels-p): Function moved from
	rmail.el and rewritten.
	(rmail-message-recipients-p): Likewise.
	(rmail-message-regexp-p): Likewise.
	(rmail-message-recipients-p-1): New subroutine.
	(rmail-message-regexp-p-1): Likewise.
	(rmail-summary-by-topic): Use rmail-simplified-subject.
	Delete subject-re variable.
	(rmail-message-subject-p): Total rewrite.
	(rmail-message-senders-p): Total rewrite.
	(rmail-new-summary-1): Call FUNCTION in the main Rmail buffer.
	(rmail-get-summary): Doc fix.
	(rmail-create-summary-line): Renamed from
	rmail-get-create-summary-line, and major rewrite.
	(rmail-get-summary-labels): Doc fix.
	(rmail-create-summary): Major rewrite.  Construct line counts here.
	(rmail-header-summary): Renamed from rmail-make-basic-summary-line.
	Return list of two strings.
	(rmail-summary-next-same-subject): Extract subjects and compare.
	(rmail-summary-output): Renamed from rmail-summary-output-to-babyl-file.
	Use rmail-output.
	(rmail-summary-output-as-seen): Renamed from rmail-summary-output.
	Use rmail-output-as-seen.
	(rmail-summary-construct-io-menu): Use rmail-summary-output.

	* mail/rmail.el (basic-save-buffer): Protect buffer-modified flag
	around first swap.
	(rmail-show-message): Protect buffer-modified flag around swap.
	(rmail-change-major-mode-hook): Likewise.
	(rmail-use-collection-buffer, rmail-swap-buffers-maybe): Likewise.

	* mail/rmail.el (rmail-error-bad-format): Always phrase the error as
	about an invalid message.
	(rmail-convert-file-maybe): Don't use rmail-error-bad-format.
	(rmail-mode-map): Move rmail-widen to C-c C-w.
	(rmail-mode-1): Don't alter mode-line-modified.
	(rmail-perm-variables): Turn off undo in view buffer.
	(rmail-variables): Turn off undo.
	(rmail-show-message): Delete useless calls to `widen'.
	Avoid passing thru temp buffer if we don't need
	base64 or quoted printable decoding for whole message.

	* mail/rmail.el (rmail-keywords): Variable deleted.
	(rmail-last-label, rmail-last-multi-labels): Moved to rmailkwd.el.
	(rmail-perm-variables): Don't mess with rmail-last-label.
	Don't mess with rmail-keywords.
	(rmail-copy-headers): Doc fix.
	(rmail-set-header): New function.
	(rmail-get-keywords): Doc fix.
	(rmail-get-labels): New function.
	(rmail-display-labels): Use rmail-get-labels.
	(rmail-set-attribute): Mark rmail-buffer modified
	if we change an attribute.

	* mail/rmail.el (rmail-apply-in-message): New function.
	(rmail-message-labels-p): Function moved to rmailsum.el.
	(rmail-message-recipients-p, rmail-message-regexp-p): Likewise.
	(rmail-current-subject, rmail-current-subject-regexp): Fns deleted.
	(rmail-simplified-subject, rmail-simplified-subject-regexp): New fns.
	(rmail-next-same-subject): Fetch each msg's subject and compare.

	* mail/rmail.el (rmail-speedbar-move-message): Use rmail-output.
	(rmail-construct-io-menu): Use rmail-output.
	(rmail-default-rmail-file): Variable deleted.
	(rmail-auto-file): Use rmail-output.
	(rmail-mode-map): Remove rmail-output-to-babyl-file.
	Add rmail-output-as-seen.
	(rmail-mode): Update output commands in doc string.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmail.el (buffer-swapped-with): New var, moved from files.el.
	Add advice to basic-save-buffer to use it.

2009-01-22  Richard M Stallman  <rms@gnu.org>

	* mail/rmailedit.el (rmail-edit-mode): Bind buffer-swwapped-with to nil.
	(rmail-edit-current-message): Save all of buffer as old text.
	Clear undo list.
	(rmail-cease-edit): Widen first.
	Operate in the view buffer; copy edited text back to mbox buffer
	and re-encode what was decoded to display the message.
	(rmail-abort-edit): Widen first.

	* mail/rmail.el (rmail-forwarded-attr-index): Doc fix.
	(rmail-resent-attr-index): New variable.
	(rmail-attr-array): Add r for resent.
	(rmail-add-mbox-headers): Make 8 attributes.
	(rmail-set-attribute): Extend attribute line if necessary.

	* mail/rmail.el (rmail-widen): New command.
	(rmail-mode-map): o is rmail-output, C-o is rmail-output-as-seen,
	(rmail-mode-map): c-w is rmail-widen.
	(rmail-change-major-mode-hook): Do nothing unless buffer-swapped-with.
	(rmail-show-message): Downcase character-coding.

	* mail/rmailout.el (rmail-output-decode-coding): New variable.
	(rmail-delete-unwanted-fields): Greatly simplified.
	(rmail-output-as-babyl): New function.
	(rmail-convert-to-babyl-format): Considerably simplified:
	assume just one message and don't worry about Content-Type.
	(rmail-output-as-mbox): New function.
	(rmail-output): Total rewrite.
	(rmail-output-as-seen): New command.
	(rmail-output-read-rmail-file-name): Function deleted.
	(rmail-output-to-babyl-file): Function deleted.
	(rmail-output-body-to-file): Don't set an attribute.

2009-01-22  Richard M Stallman  <rms@gnu.org>

	* mail/rmailedit.el (rmail-edit-saved-coding-system): Var deleted.
	(rmail-edit-current-message, rmail-cease-edit):
	Don't set it, or save-buffer-coding-system.
	(rmail-edit-current-message): Change error message.
	(rmail-cease-edit): Put `>' before `From ' lines in message.

	* mail/rmail.el (rmail-variables): Don't set save-buffer-coding-system.

	* mail/rmailsum.el (rmail-message-subject-p): Mark as broken.
	(rmail-message-senders-p): Likewise.
	(rmail-new-summary-1): Don't unswap -- search messages where they are.

	* mail/rmail.el (rmail-display-labels): Doc fix.
	(rmail-set-attribute): Deleted unused vars.
	Bind inhibit-read-only, not buffer-read-only.
	(rmail-message-attr-p): Doc fix.
	(rmail-message-labels-p, rmail-message-recipients-p)
	(rmail-message-regexp-p): Mark as broken.

	* mail/rmailedit.el (rmailhdr): Don't require it.
	(rmail-edit-current-message): Don't call rmail-header-show-headers.
	(rmail-cease-edit): Force a blank line at end of edited message.
	Call rmail-set-attribute properly.
	Don't set buffer-read-only.

2009-01-22  Richard M Stallman  <rms@gnu.org>

	* mail/rmail.el (rmail-retried-attr-index, rmail-forwarded-attr-index):
	Renamed from rmail-resent-attr-index and rmail-stored-attr-index.
	(rmail-attr-array): Change names to `retried' and `forwarded'
	(rmail-reply): Use rmail-answered-attr-index.
	(rmail-forward): Use rmail-forwarded-attr-index.
	(rmail-retry-failure): Use rmail-retried-attr-index.

	* mail/rmail.el (rmail-get-header): Don't unswap,
	just see data where it is.
	(rmail-set-attribute): Don't unswap, just set the data where it is.
	(rmail-show-message): Call rmail-swap-buffers-maybe before reswapping.

	* mail/rmail.el (rmail-get-attr-names): Doc fix.
	(rmail-is-text-p): Doc fix.

	* mail/rmailout.el (rmail-output): Use rmail-buffers-swapped-p as
	function.

	* mail/rmail.el (rmail-swap-buffers-maybe): Variable deleted.
	All uses call the function instead.

	* mail/rmail.el (rmail-save): Function deleted.
	(rmail-mode-map): Don't bind C-x C-s.
	(rmail-mode-1): Don't set up write-region-annotate-functions.
	(rmail-write-region-annotate): Function deleted.
	(rmail-change-major-mode-hook): Set buffer-swapped-with.
	(rmail-use-collection-buffer): Likewise.
	(rmail-show-message): Likewise.

	* mail/rmail.el (rmail-swap-buffers-maybe): Go to rmail-buffer before
	testing anything.
	(rmail): Call rmail-swap-buffers-maybe only if already in Rmail mode.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmail.el (rmail-save): New function.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmail.el (rmail-get-new-mail): Call rmail-swap-buffers-maybe.
	(rmail-get-new-mail-1): Adjust restriction after calling
	rmail-insert-inbox-text.
	(rmail-add-mbox-headers): Use save-restriction.
	(rmail-expunge-and-save): Call rmail-swap-buffers-maybe before
	saving.
	(rmail-quit): Handling expunging manually, instead of calling
	rmail-expunge-and-save.
	(rmail-next-undeleted-message): If no other message can be shown,
	show the current one.
	(rmail-attr-array): Doc fix.
	(rmail-add-header): Function deleted.
	(rmail-add-mbox-headers): Insert header directly instead of
	calling rmail-add-header.
	(rmail-display-labels): Add leading space to attribute string.
	(rmail-set-attribute): Call rmail-swap-buffers-maybe.  Insert
	header directly instead of calling rmail-add-header.
	(rmail): Ensure that rmail-mode-hook is run.

2009-01-22  Juanma Barranquero  <lekktu@gmail.com>

	* mail/rmail.el (rmail-require-mime-maybe): Fix arguments of
	`display-warning'.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmail.el (rmail): Call rmail-swap-buffers-maybe.
	(rmail-search): Call rmail-swap-buffers-maybe.
	(rmail-expunge): Save point if no expunging was done.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmailout.el (rmail-output-to-babyl-file): Rewrite, assuming mbox
	internal format.
	(rmail-convert-to-babyl-format, rmail-nuke-pinhead-header): New
	functions, moved from rmail.el.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmailout.el (rmail-output): Rewrite to handle mbox format.
	(rmail-output-to-babyl-file): Renamed from
	rmail-output-to-rmail-file.

	* mail/rmail.el: All callers to rmail-output-to-rmail-file changed to
	rmail-output-to-babyl-file.

	* mail/rmail.el: All callers to rmail-output-to-rmail-file changed to
	rmail-output-to-babyl-file.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmailout.el (rmail-output-to-rmail-file): Don't call
	rmail-insert-rmail-file-header.

	* mail/rmail.el (rmail-insert-rmail-file-header): Function deleted.
	(rmail-decode-babyl-format): Function deleted.
	(rmail-perm-variables): Don't call rmail-parse-file-inboxes.
	(rmail-parse-file-inboxes): Function deleted.
	(rmail-get-new-mail-1): Function merged into rmail-get-new-mail.
	(rmail-get-new-mail-2): Renamed to rmail-get-new-mail-1.
	(rmail-get-new-mail-filter-spam): Call rmail-spam-filter, not
	rmail-spam-filter.
	(rmail-convert-to-babyl-format): Function deleted.
	(rmail-nuke-pinhead-header): Function deleted.
	(rmail-reply): Parsing headers in mbox format.  Call
	rmail-dont-reply-to instead of rmail-dont-reply-to.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmail.el (rmail-only-expunge): Swap buffers at the beginning.
	(rmail-expunge): Pass new optional arg to rmail-only-expunge.
	(rmail-expunge-and-save): Don't reset view buffer.

	* mail/rmailsum.el (rmail-summary-header): Deleted.
	(rmail-get-create-summary-line): Don't insert a summary line into
	the file.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmail.el (rmail-convert-babyl-to-mbox): Reinitialize rmail-mode
	variables after conversion.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmailsort.el: Sync with rmailsort.el.
	(rmail-sort-messages): Insert two newlines at the end of the
	message if they do not exist.
	(rmailhdr): Require rmailhdr.

	* mail/rmailmm.el: Require mail-parse.
	(rmail-mime-show): Don't use removed function
	rmail-header-hide-headers.
	(rmail-mime): Use rmail-msgbeg and rmail-msgend instead of removed
	rmail-desc-* functions.

	* mail/rmailkwd.el: Sync with rmailkwd.el.

	* mail/rmailout.el: Sync with rmailout.el.

	* mail/rmailedit.el: Sync with rmailedit.el.
	(rmail-edit-current-message): Remove deleted function
	rmail-msg-is-pruned.

	* mail/rmaildesc.el: File deleted.

	* mail/rmail.el (rmail-get-header): Call rmail-swap-buffers-maybe.
	(rmail-retry-failure): Remove call to non-existent function
	rmail-clear-headers.
	(rmail-message-labels-p): New function.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmailsort.el (rmail-sort-messages): Don't call removed function
	rmail-header-show-headers.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmail.el (rmail-only-expunge): Pass correct arg to
	rmail-show-message-maybe.

	* mail/rmailsum.el (rmail-get-summary-labels): If no attribute headers
	are found, use the empty string.
	(rmail-summary): Call rmail-summary-beginning-of-message
	(rmail-new-summary): Check for rmail-summary-mode in the current
	buffer, not in the rmail buffer.
	(rmail-summary-goto-msg): Use rmail-show-message-maybe.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el: Add support for save-buffer.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el (rmail):
	Remove a redundant message counter reset call; try to
	minimize the attempts to show a message (ideally it should be done
	once and only once).

	(rmail-convert-babyl-to-mbox): Set up the global message variables
	after inserting the converted mbox file into the Rmail buffer; avoid
	an unecessary message display function call.

	(rmail-show-message-maybe): Use the current message number when the
	optional argument is not passed.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el (rmail): Check for babyl conversion early; ignore
	multibyte.

2009-01-22  Chong Yidong  <cyd@stupidchicken.com>

	* mail/rmail.el (rmail-tool-bar-map): Initialize it unconditionally.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el, mail/rmailsum.el:
	Next step in the Rmail/mbox support: getting basic summary support
	working.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el:
	First pass at handling decoding the mbox message into the view buffer.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el:
	The Rmail/mbox merge has been abandoned in favor of a restart using
	the current rmail.el file.  A comprehensive list of changes will be
	supplied when rmail.el is morphed back into rmail.el

	The current status is that rmail.el supports basic Rmail
	navigation (no summary support) and shows the current message in a
	special buffer using buffer-swap-text.  No decoding is done yet.  That
	is the next step.

2009-01-22  Glenn Morris  <rgm@gnu.org>

	* mail/rmailsort.el (rmail-dont-reply-to, rmail-desc-get-marker-end)
	(rmail-desc-get-marker-start): Remove declarations of undefined
	functions.
	(rmail-select-correspondent): Use rmail-dont-reply-to from mail-utils
	rather than non-existent rmail-dont-reply-to.
	(rmail-sort-messages): Use rmail-desc-get-start, rmail-desc-get-end
	rather than non-existent `marker-' functions.

	* mail/rmailkwd.el (rmail-maybe-set-message-counters)
	(rmail-set-message-deleted-p):
	* mail/rmailmsc.el (rmail-parse-file-inboxes):
	* mail/rmailsum.el (rmail-output-read-rmail-file-name):
	Remove unused declarations.

	* mail/rmail.el (rmail-spam-filter): Remove declaration of undefined
	function.
	(rmail-use-spam-filter): Remove un-needed variable declaration.
	Doc fix for actual definition.
	(rmail-get-new-mail): Call rmail-spam-filter rather than non-existent
	rmail-spam-filter.
	(rmail-spam-filter): Autoload it.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el (rmail-get-new-mail): When there are no new messages,
	invoke a redisplay of the current message.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el, mail/rmaildesc.el, mail/rmailout.el:
	Fix the expunge command so that the current message index is correct.

	* mail/rmail.el (rmail-expunge-counter): New variable.
	(rmail-set-attribute): Canonicalize the calling sequence to index,
	attribute, state.
	(rmail-show-message, rmail-delete-message)
	(rmail-undelete-previous-message, rmail-delete-forward)
	(rmail-mark-message): Use the new canonical calling sequence.
	(rmail-only-expunge): Use the expunge counter to update the current
	message index.
	(rmail-expunge-callback): Simplify.  Just count the expunged messages
	with a lower index than the current message index.

	* mail/rmaildesc.el (rmail-desc-get-previous): Fix an "off by one"
	issue.
	(rmail-desc-set-attribute): Canonicalize the calling sequence to index,
	attribute, state.

	* mail/rmailout.el (rmail-output-body-to-file): Use the canonical
	calling sequence.

2009-01-22  Juanma Barranquero  <lekktu@gmail.com>

	* mail/rmaildesc.el (rmail-desc-get-match-index): Fix malformed let
	binding.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el, mail/rmaildesc.el: Fix the expunge operation.

	* mail/rmail.el (rmail-only-expunge): Manage rmail-total-messages in the
	callback handler; remove the extra show message call.
	(rmail-expunge-callback): Rewrite to handle all possible conditions.

	* mail/rmaildesc.el (rmail-desc-get-previous)
	(rmail-desc-get-match-index): New functions.

2009-01-22  Paul Reilly  <pmr@pajato.com>

	* mail/rmail.el, mail/rmaildesc.el, mail/rmailhdr.el, mail/rmailkwd.el:
	* mail/rmailmm.el, mail/rmailmsc.el, mail/rmailsort.el:
	* mail/rmailsum.el: Resolve all byte compiler warnings and enable
	IMAP/movemail support.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailhdr.el (rmail-header-add-header): Use delete-region instead
	of kill-region.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailout.el (rmail-output): Bind buffer-file-coding-system even
	when rmail-enable-mime is nil.

	* mail/rmail.el (rmail-perm-variables): Make sure rmail-desc-vector is
	buffer local.
	(rmail-mime-charset-pattern): Sync with trunk.
	(rmail): Don't bind coding-system-for-read.
	(rmail-revert): Likewise.
	(rmail-variables): Don't set buffer-file-coding-system.
	(rmail-show-message): Likewise.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmail.el (rmail-highlight): New face.
	(rmail-highlight-face): Use it.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailsum.el (rmail-summary-kill-label): Call rmail-kill-label
	with only one argument.

	* mail/rmail.el (rmail-process-new-messages): Handle missing From
	line (usually spam).

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailedit.el (rmail-edit-map): Initialize at definition.
	Doc String.

	* mail/rmail.el (rmail-narrow-to-header): Don't end error message with
	a period.

	* mail/rmailhdr.el (rmail-header-get-limit): Don't end error message
	with a period.

	* mail/rmaildesc.el (rmail-desc-get-header-display-state): Make sure
	whole header region is searched for overlays.

	* mail/rmailedit.el (rmail-edit-current-message):
	Use rmail-head-show-headers instead of rmail-toggle-header.
	(rmail-cease-edit): Likewise.  Simplify.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailkwd.el (rmail-read-label): Since rmail-keywords is a list
	of symbols, we need to transform it into an alist for completion.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailsum.el (rmail-summary-kill-label): Use rmail-kill-label
	instead of calling rmail-set-label, which will call rmail-make-label
	on the string.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailkwd.el (rmail-label-obarray): Delete.
	(rmail-attributes): Use an ordinary list of symbols.
	(rmail-deleted-label): Use an ordinary symbol.
	(rmail-keywords): Doc, initial value nil.
	(rmail-keywords, rmail-keyword-init): Delete defuns.
	(rmail-attribute-p, rmail-keyword-p, rmail-make-label): Simplify.
	(rmail-keyword-register-keywords, rmail-install-keyword):
	Replace.
	(rmail-register-keywords, rmail-register-keyword): Replacements.
	(rmail-add-label, rmail-kill-label): Call set-label with a symbol.
	(rmail-read-label): Return a string.
	(rmail-set-label): Rewrote. Call rmail-display-labels always.

	* mail/rmail.el (qp): No longer required.
	(rmail-convert-file): Don't rmail-enable-multibyte.
	(rmail-decode-mbox-format): Delete.
	(rmail-convert-mbox-format): No converting of qp headings, no
	decoding of the message body.

	(rmail-maybe-set-message-counters): Delete.
	(rmail-next-undeleted-message): Store original message until the
	end instead of relying on rmail-current-message.

	(rmail-process-new-messages): Use rmail-register-keywords.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailmm.el (rmail-mime-text-handler): Only downcase if charset
	exists.
	(rmail-mime-handle): Doc.  Ignore errors when decoding base64.
	Seems to be common on my system.
	(rmail-mime-show): Change show-header code.
	(rmail-mime): New.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (qp): No longer require it.
	(rmail-convert-file): Doc.  Remove useless test for coding system
	header.  Don't call rmail-decode-mbox-format.  Just call
	rmail-convert-mbox-format.
	(rmail-decode-mbox-format): Delete.
	(rmail-convert-mbox-format): Don't translate quoted printable
	headers.  Don't handle quoted-printable content-transfer-encoding.
	No longer add x-coding-system header.
	(rmail-maybe-set-message-counters): Delete.
	(rmail-next-undeleted-message): Add caching of rmail-current-message
	such that it doesn't break when rmail-show-message switches buffers.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailmm.el (rmail-mime-media-type-handlers-alist):
	Remove non-existing handlers for the moment.
	(rmail-mime-text-handler): Do decoding based on the charset parameter.
	(test-rmail-mime-handler): Test decoding using an 8bit KOI8 message.
	(rmail-mime-handle): Switch to unibyte if content transfer
	encoding is 8bit.  Strange that it should be necessary.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailmm.el: Rename all symbols to rmail-mime-*.  Rewrite code
	to modify the buffer instead of using display properties.
	Fix bulk handler, and add simple test defun for it.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-convert-mbox-format): Handle mails without
	subject.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmail.el (rmail-first-unseen-message): Make sure to return the
	last message if no unseen message was found.  Doc fix.
	(rmail): Call rmail-first-unseen-message properly.
	Remove commented out code.
	(rmail-show-message): Maybe call rmail-unknown-mail-followup-to.
	(rmail-revert): Simplify.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailmm.el: New file, based on Alexander Pohoyda's code.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmail.el (rmail-next-message):
	Don't call rmail-maybe-set-message-counters. Use with-current-buffer.

	* mail/rmailkwd.el (rmail-next-labeled-message):
	Don't call rmail-maybe-set-message-counters.  Use with-current-buffer.

	* mail/rmailhdr.el (rmail-header-hide-headers): Simplify.
	(rmail-header-get-limit): Wrap in a save-excursion.
	(rmail-header-display-state): Rename from rmail-header-display-mode.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailsum.el (rmail-summary-show-message): Reformat.
	(rmail-summary-get-summary-line):
	Rename from `rmail-summary-get-summary'.  Update callers.
	(rmail-summary-mode-map): Initialize at definition, Doc fix.
	(rmail-summary-undelete-many): Simplify.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailsum.el (rmail-summary-deleted-p): Fix misplaced paren.
	(rmail-summary-undelete): Simplify.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailsum.el (rmail-summary-get-sender): Handle a nil value of
	rmail-user-mail-address-regexp.

	* mail/rmail.el (rmail-unknown-mail-followup-to): Likewise.

	* mail/rmailout.el (rmail-delete-unwanted-fields): Handle mbox format.
	(rmail-output): Error when target is a BABYL file.  Handle MIME
	charset.  Make sure headers are properly hidden after output.
	Avoid pointless with-current-buffer call.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailsum.el (rmail-summary-edit-map): Rewrite.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-narrow-to-non-pruned-header): Delete.
	(rmail-unknown-mail-followup-to, rmail-retry-failure): No longer
	call rmail-narrow-to-non-pruned-header and replace
	mail-fetch-field with rmail-header-get-header because that one
	ignores the intangible property when searching.
	(rmail-show-message): Simplify x-coding-system handling.
	(rmail-redecode-body): No longer call rmail-header-show-headers
	because rmail-header-get-header handles the intanglible property.
	(rmail-reply): Simplify code at the price of some efficiency when
	setting up the variable bindings.  No longer toggle visibility of
	headers, because rmail-header-show-headers is no longer necessary.

	* mail/rmailhdr.el (rmail-header-get-header): Accept more arguments and
	pass them to mail-fetch-field unchanged.
	Bind inhibit-point-motion-hooks to t.

	* mail/rmailsum.el (rmail-user-mail-address-regexp): Compute a default
	value instead of assuming nil.  Doc.
	(rmail-summary-get-sender): Compare with rmail-user-mail-address-regexp
	instead of computing the default value.

	* mail/rmail.el (rmail-convert-mbox-format): Decode messages with
	content-transfer-encoding quoted-printable, because it's easy to do.
	(rmail-unknown-mail-followup-to): Compare with
	rmail-user-mail-address-regexp instead of computing the default value.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmail.el (rmail-decode-mbox-format):
	Rename from `rmail-decode-mail-file'.
	(rmail-process-new-messages): Don't add missing headers here.
	(rmail-convert-mbox-format): Rename from `rmail-decode-messages'.
	Add missing headers here.  Remove FROM and TO arguments.
	(rmail-get-new-mail): Simplify.
	(rmail-convert-file): New function.
	(rmail-revert): Use it.
	(rmail): Change logic for avoiding selecting new messages twice.
	(rmail-display-labels): Avoid space in mode-line if there are no
	keywords.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmaildesc.el (rmail-desc-default-attrs): New const.
	(rmail-desc-get-default-attrs): Delete.

	* mail/rmail.el (rmail): Go back to using find-file for reading in the
	mail file.  This avoids gratuitous modification of the file.
	(rmail-decode-region): Doc string, cleanup.
	(rmail-decode-by-content-type): New function.
	(rmail-decode-messages): Use it.  Add FROM and TO args and only
	process messages in that region.
	(rmail-get-new-mail): Call `rmail-decode-region' before
	`rmail-process-new-messages'.
	(rmail-fontify-message): Reformat, Doc String.
	(rmail-displayed-headers): Default value set to nil.
	(rmail-inbox-alist): Add version tag.
	(rmail-count-screen-lines): Doc string.
	(rmail-process-new-messages): Use rmail-desc-default-attrs.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-decode-messages): Decode encoded-words in
	Subject and From header.
	(rmail-process-new-messages): Don't decode encoded words here.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmail.el (rmail-process-new-messages): Don't decode messages
	here, don't lose on missing subject field.
	(rmail-decode-messages): New function.
	(rmail): Use it.
	(rmail-get-new-mail): Likewise.

	* mail/rmailsum.el (rmail-summary-get-sender): Narrow to current
	message before extracting headers.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailedit.el (rmail-abort-edit): Don't call
	rmail-highlight-headers anymore.

	* mail/rmail.el (rmail-next-undeleted-message): Simplify.
	(rmail-what-message): Delete since it was never called.
	(rmail-narrow-to-header): Use the same error message as
	rmail-header-get-limit.
	(rmail-highlight-face): Doc.
	(rmail-font-lock-keywords): Add the stuff necessary to make
	rmail-highlight-headers obsolete.
	(rmail-toggle-header, rmail-show-message): Don't call
	rmail-highlight-headers anymore.
	(rmail-highlight-headers): Delete.

	* mail/rmaildesc.el (rmail-desc-set-attribute): Use
	rmail-header-add-header instead of rmail-header-set-header.

	* mail/rmailhdr.el (rmail-header-attribute-header)
	(rmail-header-keyword-header, rmail-header-get-limit): Doc.
	(rmail-header-add-header): Add inhibit-point-motion-hooks and
	buffer-undo-list bindings from rmail-header-set-header.  I don't
	know whether they are necessary, however.
	(rmail-header-persist-attributes, rmail-header-set-header):
	Delete.  rmail-header-add-header does what rmail-header-set-header did,
	except throw an error if the header was not found.

	* mail/rmail.el (rmail-msgbeg, rmail-msgend): Fix and make obsolete.
	(rmail-process-new-messages): Use mail-decode-encoded-word-string
	on the subject.  Requires mail-parse from Gnus.
	(rmail-highlight-headers): Doc.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailsum.el (rmail-message-senders-p): Fix typo.

	* mail/rmail.el (rmail-process-new-messages): Simplify.
	(rmail-decode-quoted-printable): Delete unused function.
	(rmail-hex-string-to-integer): Likewise.
	(rmail-hex-char-to-integer): Likewise.
	(rmail-decode-mail-file): Rename from `rmail-decode-mbox-file'.
	(rmail-delete-inbox-files): New function factored out of
	`rmail-get-new-mail'.
	(rmail-get-new-mail): Use it.
	(rmail-get-inbox-files): Rename from `rmail-get-inbox-list'.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-get-new-mail): Doc.
	(rmail-get-inbox-list): Doc.
	(rmail-require-mime-maybe): Simplify.
	(rmail-mode-map): Rewrite using a local binding to agree
	with "(elisp)Tips for Defining".

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailsum.el (rmail-summary-get-sender): Doc fix.

	* mail/rmail.el (rmail-redecode-body): Simplify.
	(rmail-get-inbox-list): Stop on name conflict.
	(rmail-show-message): Set `rmail-view-buffer' to `rmail-buffer` if
	not using MIME.  Make sure we go to `point-min' before setting
	window point as searching for coding header might move point.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-inbox-alist): Doc.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailsum.el (rmail-summary-get-sender): New function.
	(rmail-summary-get-summary): Use it.  Make sure sender is no
	longer than 25 characters.
	(rmail-summary-get-line-count): Doc fix.
	(rmail-summary-get-summary-attributes): Likewise.

	* mail/rmailmsc.el (set-rmail-inbox-list): Rewrite to only set inbox
	list temporarily for a session.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-show-message): Minor changes: comments.

	* mail/rmailsum.el (rmail-summary-get-summary): Fix display of keywords.
	(rmail-summary-rmail-update): Minor changes: If to when, comments,
	doc string.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmail.el (rmail-inbox-alist): New variable.
	(rmail-get-file-inbox-list): New function.
	(rmail-perm-variables): Use it.
	(rmail-parse-file-inboxes): Delete.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailsum.el (rmail-summary-mode): Fix typo in doc string and
	keymap.
	(rmail-summary-update-attribute): Delete.
	(rmail-summary-update): Simple defun regenerates the entire
	summary line.
	(rmail-summary-by-topic): Don't use rmail-current-subject-regexp.
	(rmail-message-subject-p): Use rmail-header-get-header instead of
	mail-fetch-field.
	(rmail-summary-by-senders): Default to current sender.

	* mail/rmailkwd.el (rmail-set-label): Call rmail-summary-update at the
	end.

	* mail/rmail.el (rmail-set-attribute): Call rmail-summary-update
	instead of just updating the attributes.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailhdr.el (rmail-header-get-header): Rewrite to be a
	convenience wrapper for mail-fetch-field.
	(rmail-header-hide-headers): Simplify.

	* mail/rmail.el (rmail-process-new-messages):
	Use rmail-header-get-header instead of mail-fetch-field.

	* mail/rmailout.el (rmail-output-read-file-name): Simplify.
	(rmail-output): Likewise.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailsum.el (rmail-make-summary-line-1)
	(rmail-make-basic-summary-line): Delete.
	(rmail-summary-kill-label): Only ask for existing labels.

	* mail/rmailkwd.el (rmail-add-label): Doc fix.
	(rmail-kill-label): Only read labels that the current message has.
	(rmail-read-label): Possibly only ask for existing labels.
	(rmail-set-label): Display labels at the end.

	* mail/rmailhdr.el (rmail-header-get-limit): Rewrite macro as simple
	defun.
	(rmail-header-persist-attributes): Doc.
	(rmail-header-add-header): Simplify the finding of the header.
	Delete header if value is nil or "".
	(rmail-header-remove-keyword): Delet stub.  Removing can be
	handled by calling `rmail-header-add-header' with value nil or "".

	* mail/rmailedit.el (rmail-cease-edit): Bugfix.

	* mail/rmaildesc.el: Remove require statements.
	(rmail-desc-add-keyword, rmail-desc-remove-keyword): Rewrite.
	(rmail-desc-get-keywords, rmail-desc-get-keyword-list)
	(rmail-desc-edited-index): Doc fix.

	* mail/rmail.el (rmail-set-attribute): Move comment into document.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmail.el (rmail-get-inbox-list): New function.
	(rmail-get-new-mail): Use it.  Only call `rmail-show-message' on
	file-error condition if no new messages are found.
	(rmail-get-sender): Delete.
	(rmail-process-new-messages): Use mail-fetch-field instead.
	(rmail-show-message): Cleanup.
	(rmail-decode-mbox-file): New function.
	(rmail): Use it. Only call `rmail-show-message' if no new mail was
	found.

	* mail/rmailsum.el (rmail-summary-get-new-mail): Only call
	`rmail-summary-goto-msg' if no new mail was found.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail): Only insert the file if it actually exists.
	(rmail-show-message): Do not display labels if there are no
	messages.  This corrects the mistake if visiting an empty file,
	but it doesn't fix the situation where you delete the all messages
	and expunge them.  This may leave the labels of the last message
	in the modeline.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailkwd.el: Don't require rmail.

	* mail/rmail.el (rmail-process-new-messages): Don't require rmailkwd
	here, do it at toplevel instead.
	(rmail-process-new-messages): Add an X-Coding-System
	header if one doesn't exist.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmailsum.el (rmail-summary-by-labels): No longer concatenate
	regexp with commas because of recent change to
	rmail-message-labels-p.
	(rmail-summary-rmail-update): Replace rmail-message-labels-p test
	with simple rmail-desc-get-keywords.

	* mail/rmail.el (rmail-message-labels-p):
	Rewrite using rmail-desc-get-keywords.
	(rmail-auto-file): Rewrite test for "filed" using
	rmail-desc-get-keywords.

	* mail/rmailsum.el (rmail-summary-font-lock-keywords): Fix regular
	expression for unread messages.
	(rmail-summary-mode): Add documentation for the filtering commands.
	(rmail-summary-mode-map): Add keybinding for rmail-summary-by-sender.
	(rmail-summary-get-summary): Don't show attributes, only
	user-defined keywords.

	* mail/rmailedit.el (rmail-cease-edit): Do not adjust the marker of the
	last message.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailout.el (rmail-output-read-file-name): Make sure search in
	executed in `rmail-buffer'.
	(rmail-output-to-rmail-file): Use `rmail-output-read-file-name'.
	(rmail-output-read-rmail-file-name): Delete.

	* mail/rmailsum.el (rmail-summary-output-to-rmail-file):
	Use `rmail-output-read-file-name'.
	(rmail-summary-get-message-at-point): Handle 5-digit message ids.

	* mail/rmail.el (rmail-process-new-messages): Require rmailkwd.
	(rmail-ignored-headers): Add "Original-Recipient".

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-display-labels): Use identity instead of lambda.

	* mail/rmailsum.el (rmail-summary-font-lock-keywords):
	Fix typo for labels.
	(rmail-summary-get-summary): Add labels again.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-nuke-pinhead-header, rmail-reformat-message)
	(rmail-msg-restore-non-pruned-header, rmail-msg-prune-header):
	Delete.
	(rmail-narrow-to-header): Fix typo, error if we cannot find the
	end of the headers.

	* mail/rmailsum.el (rmail-message-subject-p, rmail-message-senders-p):
	Use mail-fetch-field instead of mail-header-get-header.
	(rmail-summary-next-same-subject): Simplify.

	* mail/rmail.el (rmail): Create the buffer using file-name-nondirectory.
	(rmail-mode-map): Bind j to rmail-show-message instead of rmail-message.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmailsum.el (rmail-new-summary): Make sure summary buffer is
	current when selecting message.
	(rmail-summary-browse-body): Delete.
	(rmail-summary-rmail-update, rmail-summary-get-message-at-point)
	(rmail-summary-goto-msg): Use string-to-number.
	(rmail-summary-toggle-header, rmail-summary-add-label)
	(rmail-summary-kill-label): Use with-current-buffer.
	(rmail-summary-previous-msg): Add docstring.

2009-01-22  Alex Schroeder  <alex@gnu.org>

	* mail/rmail.el (rmail-ignored-headers): Merge several terms using
	grouping, add simple "from " (without a colon), and several
	other headers.
	(rmail): Automatically convert BABYL files to mbox files.
	(rmail-decode-babyl-format): Delete, since conversion is handled
	by unrmail.

	* unrmail.el (unrmail): Use regular expression search to find
	message separators such that the fake separators inserted by
	rmime.el are not matched.  The sections added by rmime.el are removed.

2009-01-22  Henrik Enberg  <enberg@printf.se>

	* mail/rmail.el: Don't require `rmailout' and `rmailsum'.

	* mail/rmailsum.el (rmail-summary-get-line-count): Rightalign line
	count.
	(rmail-summary-get-summary): Display 5-digit message ids.
	(rmail-summary-goto-msg): Adjust for 5-digit ids.
	(rmail-summary-font-lock-keywords): Likewise.

	* mail/rmail.el (rmail-url-map, rmail-activate-urls)
	(rmail-visit-url-at-mouse, rmail-visit-url-at-point, rmail-browse-body):
	Delete, don't duplicate goto-address functionality.

2009-01-22  Richard M. Stallman  <rms@gnu.org>

	* mail/rmail.el (rmail): Convert Babyl files using decode-babyl-file.
	(rmail-use-spam-filter): Add defvar.

	* mail/unrmail.el: Mostly rewritten.  Parses the file
	directly without calling any functions in Rmail.
	(batch-convert-babyl, convert-babyl-file, decode-babyl-file)
	(decode-babyl): New functions.
	(unrmail, batch-unrmail): Now aliases.

2009-01-22  Richard M. Stallman  <rms@gnu.org>

	* mail/rmaildesc.el (rmail-message-deleted-p): Add as alias.

	* mail/rmail.el (rmail-message-vector, rmail-deleted-vector)
	(rmail-msgref-vector, rmail-summary-vector): Delete vars, and
	all code to initialize them too.
	(rmail-forget-messages): Delete function.  Change callers.
	(rmail-set-message-counters): Delete function.  Change callers.
	(rmail-count-new-messages): Delete function.  Change callers.
	(rmail-set-message-counters-counter): Likewise.
	(rmail-maybe-set-message-counters): Now no-op.
	(rmail-message-deleted-p, rmail-set-message-deleted-p): Delete Fns.
	(rmail-msg-number-after-expunge): Delete Fn.
	(rmail): Delete excess closeparen.
	(rmail-initialize-messages): Doc fix.
	(rmail-expunge-confirmed): Update to use rmail-desc-deleted-p.

	* mail/rmailsum.el (rmail-make-summary-line): Delete function.
	(rmail-new-summary): Make it work once again as in old version.
	(rmail-summary-get-summary): Call rmail-summary-line-decoder.

2009-01-22  Richard M. Stallman  <rms@gnu.org>

	* mail/rmail.el (rmail): Error if file is Babyl format.
	(rmail-process-new-messages, rmail-reply-callback, rmail-mark-message)
	(rmail-narrow-to-message): Doc fix.
	(rmail-reply, rmail-forward, rmail-resend, rmail-retry-failure)
	(rmail-browse-body): Immediate error if file is empty.

	* mail/rmail.el (rmail-convert-file, rmail-insert-rmail-file-header)
	(rmail-convert-to-babyl-format): Delete functions.
	(rmail-mode): Don't call rmail-convert-file.

	* net/browse-url.el (browse-url-activate-urls): Add autoload.

	* mail/rmailedit.el (rmail-edit-current-message):
	Immediate error if file is empty.

	* mail/rmailkwd.el (rmail-read-label, rmail-set-label):
	Immediate error if file is empty.
	(rmail-parse-file-keywords): Delete function.

;; Local Variables:
;; coding: iso-2022-7bit
;; add-log-time-zone-rule: t
;; End:

    Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.

  This file is part of GNU Emacs.

  GNU Emacs is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  GNU Emacs is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

;; arch-tag: e3ca2b68-f400-4f0d-b95f-83a4b0f5d0c4