emacs/lisp/mail/rmailmsc.el
Stefan Monnier d9c94e93b7 * lisp/mail/: Use lexical-binding
Remove some redundant `:group` args as well.

* lisp/mail/supercite.el: Use lexical-binding.
(completer-disable): Declare var.
(sc-set-variable): Don't rely on dynbind to access `help` variable.

* lisp/mail/mail-extr.el: Use lexical-binding.
(mail-extract-address-components): Avoid use of dynamic scoping to
refer to local vars.

* lisp/mail/mailabbrev.el: Use lexical-binding.
(mail-abbrev-make-syntax-table): Rename `_` variable to `syntax-_`.

* lisp/mail/mailheader.el: Use lexical-binding.
(headers): Don't declare as dynbound globally.
(mail-header-set, mail-header-merge): Declare `headers` as dynbound
locally, instead.  Mark those functions as obsolete.
(mail-header-format): Use `alist-get` instead of `mail-header`.

* lisp/mail/binhex.el (binhex-decode-region-external): Remove always-nil
var `firstline`.

* lisp/mail/emacsbug.el: Use lexical-binding.
(report-emacs-bug): Remove always-nil var `message-end-point`.

* lisp/mail/rmail-spam-filter.el: Use lexical-binding.
(bbdb/mail_auto_create_p): Declare variable.

* lisp/mail/rmail.el (rmail-get-new-mail): Remove always-nil var
`delete-files`.

* lisp/mail/rmailout.el: Use lexical-binding.
(rmail-output-read-file-name): Remove unused var `err`.
(rmail-convert-to-babyl-format): Remove unused var `count`.
(rmail-output-as-mbox): Remove unused vars `from` and `date`.

* lisp/mail/rmailsort.el: Use lexical-binding.
(rmail-sort-messages): Remove unused var `msginfo`.

* lisp/mail/rfc822.el: Use lexical-binding.
* lisp/mail/rmailedit.el: Use lexical-binding.
* lisp/mail/mailclient.el: Use lexical-binding.
* lisp/mail/blessmail.el: Use lexical-binding.
* lisp/mail/mail-hist.el: Use lexical-binding.
* lisp/mail/rmailkwd.el: Use lexical-binding.
* lisp/mail/rmailmsc.el: Use lexical-binding.
* lisp/mail/uce.el: Use lexical-binding.
* lisp/mail/unrmail.el: Use lexical-binding.
2021-03-11 14:32:42 -05:00

61 lines
2 KiB
EmacsLisp

;;; rmailmsc.el --- miscellaneous support functions for the RMAIL mail reader -*- lexical-binding: t; -*-
;; Copyright (C) 1985, 2001-2021 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: mail
;; Package: rmail
;; 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 <https://www.gnu.org/licenses/>.
;;; Commentary:
;;; Code:
(require 'rmail)
;;;###autoload
(defun set-rmail-inbox-list (file-name)
"Set the inbox list of the current RMAIL file to FILE-NAME.
You can specify one file name, or several names separated by commas.
If FILE-NAME is empty, remove any existing inbox list.
This applies only to the current session."
(interactive "sSet mailbox list to (comma-separated list of filenames): ")
(unless (eq major-mode 'rmail-mode)
(error "set-rmail-inbox-list works only for an Rmail file"))
(let ((inbox-list
(with-temp-buffer
(insert file-name)
(goto-char (point-min))
;; split-string does not remove leading/trailing whitespace.
(nreverse (mail-parse-comma-list)))))
(when (or (not rmail-inbox-list)
(y-or-n-p (concat "Replace "
(mapconcat #'identity
rmail-inbox-list
", ")
"? ")))
(message "Setting the inbox list for %s for this session"
(file-name-nondirectory (buffer-file-name)))
(setq rmail-inbox-list inbox-list)))
(rmail-show-message-1 rmail-current-message))
;; Local Variables:
;; generated-autoload-file: "rmail-loaddefs.el"
;; End:
;;; rmailmsc.el ends here