[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to lisp/textmodes/remember-diary.el
From: |
Michael W. Olson |
Subject: |
[Emacs-diffs] Changes to lisp/textmodes/remember-diary.el |
Date: |
Tue, 30 Oct 2007 01:39:16 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Michael W. Olson <mwolson> 07/10/30 01:39:14
Index: lisp/textmodes/remember-diary.el
===================================================================
RCS file: lisp/textmodes/remember-diary.el
diff -N lisp/textmodes/remember-diary.el
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lisp/textmodes/remember-diary.el 30 Oct 2007 01:39:14 -0000 1.1
@@ -0,0 +1,93 @@
+;;; remember-diary --- extracting diary information from buffers
+
+;; Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
+
+;; Author: Sacha Chua <address@hidden>
+;; Created: 24 Mar 2004
+;; Keywords: data memory todo pim diary
+;; URL: http://gna.org/projects/remember-el/
+
+;; 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, 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; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Commentary:
+
+;; This module recognizes entries of the form
+;;
+;; DIARY: ....
+;;
+;; and puts them in your ~/.diary (or remember-diary-file) together
+;; with an annotation. Planner-style dates (yyyy.mm.dd) are converted
+;; to yyyy-mm-dd so that diary can understand them.
+;;
+;; For example:
+;;
+;; DIARY: 2003.08.12 Sacha's birthday
+;;
+;; is stored as
+;;
+;; 2003.08.12 Sacha's birthday
[[/home/sacha/notebook/emacs/emacs-wiki/remember-diary.el]]
+;;
+;; To use, add the following to your .emacs:
+;;
+;; (require 'remember-diary)
+;; ;; This should be before other entries that may return t
+;; (add-to-list 'remember-handler-functions 'remember-diary-extract-entries)
+;;
+
+(require 'remember)
+(require 'diary-lib)
+
+;;; Code:
+(defcustom remember-diary-file diary-file
+ "*File for extracted diary entries."
+ :type 'file
+ :group 'remember)
+
+(defun remember-diary-convert-entry (entry)
+ "Translate MSG to an entry readable by diary."
+ (save-match-data
+ (when remember-annotation
+ (setq entry (concat entry " " remember-annotation)))
+ (if (string-match "\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)" entry)
+ (replace-match
+ (if european-calendar-style
+ (concat (match-string 3 entry) "/"
+ (match-string 2 entry) "/"
+ (match-string 1 entry))
+ (concat (match-string 2 entry) "/"
+ (match-string 3 entry) "/"
+ (match-string 1 entry)))
+ t t entry)
+ entry)))
+
+;;;###autoload
+(defun remember-diary-extract-entries ()
+ "Extract diary entries from the region."
+ (save-excursion
+ (goto-char (point-min))
+ (let (list)
+ (while (re-search-forward "^DIARY:\\s-*\\(.+\\)" nil t)
+ (add-to-list 'list (remember-diary-convert-entry (match-string 1))))
+ (when list
+ (make-diary-entry (mapconcat 'identity list "\n")
+ nil remember-diary-file))
+ nil))) ;; Continue processing
+
+(provide 'remember-diary)
+
+;;; remember-diary.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to lisp/textmodes/remember-diary.el,
Michael W. Olson <=