* lisp/calendar/diary-lib.el (diary-from-outlook-function): New variable.

(diary-from-outlook): Respect diary-from-outlook-function.

* doc/emacs/calendar.texi (Importing Diary):
Mention diary-from-outlook-function.

* etc/NEWS: Mention this.
This commit is contained in:
Glenn Morris 2013-05-04 16:55:57 -07:00
parent f4c7b20fc1
commit fd3a9a6b37
5 changed files with 30 additions and 5 deletions

View file

@ -1,3 +1,7 @@
2013-05-04 Glenn Morris <rgm@gnu.org>
* calendar.texi (Importing Diary): Mention diary-from-outlook-function.
2013-03-17 Paul Eggert <eggert@cs.ucla.edu>
doc: convert some TeX accents to UTF-8

View file

@ -1542,7 +1542,8 @@ variety of other formats.
messages. While viewing such a message in Rmail or Gnus, do @kbd{M-x
diary-from-outlook} to import the entry. You can make this command
recognize additional appointment message formats by customizing the
variable @code{diary-outlook-formats}.
variable @code{diary-outlook-formats}. Other mail clients can set
@code{diary-from-outlook-function} to an appropriate value.
@c FIXME the name of the RFC is hardly very relevant.
@cindex iCalendar support

View file

@ -146,6 +146,12 @@ The default separator is changed to allow surrounding spaces around the comma.
*** Battery information via the BSD `apm' utility is now supported.
** Calendar and Diary
+++
*** New variable `diary-from-outlook-function' for used by the command
`diary-from-outlook'.
** cl-lib
*** New macro cl-tagbody.

View file

@ -1,3 +1,8 @@
2013-05-04 Glenn Morris <rgm@gnu.org>
* calendar/diary-lib.el (diary-from-outlook-function): New variable.
(diary-from-outlook): Respect diary-from-outlook-function.
2013-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el (read-expression-map): Use completion-at-point (bug#14255).

View file

@ -2611,14 +2611,23 @@ user is asked to confirm its addition."
(diary-from-outlook-internal subject body)
(message "Diary entry added"))))))
(defvar diary-from-outlook-function nil
"If non-nil, a function of one argument for `diary-from-outlook' to call.
If the current buffer contains an Outlook-style appointment message,
this function should extract it into a diary entry. If the argument is
nil, it should ask for confirmation before adding this entry to the diary.
For examples, see `diary-from-outlook-rmail' and `diary-from-outlook-gnus'.")
(defun diary-from-outlook (&optional noconfirm)
"Maybe snarf diary entry from current Outlook-generated message.
Currently knows about Gnus and Rmail modes. Unless the optional
argument NOCONFIRM is non-nil (which is the case when this
function is called interactively), then if an entry is found the
user is asked to confirm its addition."
Uses `diary-from-outlook-function' if that is non-nil, else
`diary-from-outlook-rmail' for Rmail or `diary-from-outlook-gnus' for Gnus.
Unless the optional argument NOCONFIRM is non-nil (which is the
case when this function is called interactively), then if an
entry is found the user is asked to confirm its addition."
(interactive "p")
(let ((func (cond
(diary-from-outlook-function)
((eq major-mode 'rmail-mode)
#'diary-from-outlook-rmail)
((memq major-mode '(gnus-summary-mode gnus-article-mode))