emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/calendar/icalendar.el,v


From: Ulf Jasper
Subject: [Emacs-diffs] Changes to emacs/lisp/calendar/icalendar.el,v
Date: Fri, 31 Oct 2008 18:27:06 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Ulf Jasper <u11>        08/10/31 18:27:05

Index: icalendar.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/calendar/icalendar.el,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- icalendar.el        24 May 2008 02:26:06 -0000      1.33
+++ icalendar.el        31 Oct 2008 18:27:05 -0000      1.34
@@ -877,6 +877,21 @@
 (defalias 'icalendar-convert-diary-to-ical 'icalendar-export-file)
 (make-obsolete 'icalendar-convert-diary-to-ical 'icalendar-export-file)
 
+(defvar icalendar--uid-count 0
+  "Auxiliary counter for creating unique ids.")
+
+(defun icalendar--create-uid ()
+  "Create a unique identifier.
+Use `current-time' and a counter to create unique ids. The
+counter is necessary for systems which do not provide resolution
+finer than a second."
+  (setq icalendar--uid-count (1+ icalendar--uid-count))
+  (format "emacs%d%d%d%d"
+          (car (current-time))
+          (cadr (current-time))
+          (car (cddr (current-time)))
+          icalendar--uid-count))
+
 ;;;###autoload
 (defun icalendar-export-region (min max ical-filename)
   "Export region in diary file to iCalendar format.
@@ -916,10 +931,8 @@
         (if (match-beginning 2)
             (setq entry-rest (match-string 2))
           (setq entry-rest ""))
-        (setq header (format "\nBEGIN:VEVENT\nUID:emacs%d%d%d"
-                             (car (current-time))
-                             (cadr (current-time))
-                             (car (cddr (current-time)))))
+        (setq header (format "\nBEGIN:VEVENT\nUID:%s"
+                             (icalendar--create-uid)))
         (condition-case error-val
             (progn
               (setq contents-n-summary




reply via email to

[Prev in Thread] Current Thread [Next in Thread]