]> git.eshelyaron.com Git - emacs.git/commitdiff
(diary-font-lock-keywords, diary-live-p): Autoload these functions.
authorGlenn Morris <rgm@gnu.org>
Sat, 7 Apr 2007 21:53:39 +0000 (21:53 +0000)
committerGlenn Morris <rgm@gnu.org>
Sat, 7 Apr 2007 21:53:39 +0000 (21:53 +0000)
(diary-date-forms): Add a custom :set form.

lisp/calendar/calendar.el

index 18037e9b79425175bed816126acaf250e877bb7a..78f0ad115eceb095ff1734b3ce9f567b77ed2853 100644 (file)
@@ -629,6 +629,10 @@ See the documentation of `diary-date-forms' for an explanation."
                                       (choice symbol regexp)))))
   :group 'diary)
 
+(autoload 'diary-font-lock-keywords "diary-lib")
+(autoload 'diary-live-p "diary-lib")
+(defvar diary-font-lock-keywords)
+
 (defcustom diary-date-forms
   (if european-calendar-style
       european-date-diary-pattern
@@ -666,6 +670,15 @@ a portion of the first word of the diary entry."
                         (repeat (list :inline t :format "%v"
                                       (symbol :tag "Keyword")
                                       (choice symbol regexp)))))
+  :initialize 'custom-initialize-default
+  :set (lambda (symbol value)
+         (unless (equal value (eval symbol))
+           (custom-set-default symbol value)
+           (setq diary-font-lock-keywords (diary-font-lock-keywords))
+           ;; Need to redraw not just to get new font-locking, but also
+           ;; to pick up any newly recognized entries.
+           (and (diary-live-p)
+                (diary))))
   :group 'diary)
 
 ;;;###autoload