aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2011-05-03 19:03:30 -0700
committerGlenn Morris2011-05-03 19:03:30 -0700
commit31dfb76ced3936a6a9f5417ce048414d8039e8f7 (patch)
treef485b565b6affd10b9c1fb3da392724510ac58ec
parentdd19b5fb3e3d84800d205e0377fc7a31646c66a0 (diff)
downloademacs-31dfb76ced3936a6a9f5417ce048414d8039e8f7.tar.gz
emacs-31dfb76ced3936a6a9f5417ce048414d8039e8f7.zip
diary-lib.el fix for bug#8583.
* lisp/calendar/diary-lib.el (diary-fancy-date-pattern): Do not use non-numbers for `year' etc pseudo-variables.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/calendar/diary-lib.el19
2 files changed, 18 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 21c2acf72a6..277d7c12cf7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12011-05-04 Glenn Morris <rgm@gnu.org>
2
3 * calendar/diary-lib.el (diary-fancy-date-pattern): Do not use
4 non-numbers for `year' etc pseudo-variables. (Bug#8583)
5
12011-05-04 Teodor Zlatanov <tzz@lifelogs.com> 62011-05-04 Teodor Zlatanov <tzz@lifelogs.com>
2 7
3 * net/gnutls.el (gnutls-negotiate): Use CL-style keyword arguments 8 * net/gnutls.el (gnutls-negotiate): Use CL-style keyword arguments
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index a2528ac22ca..ee9ad0e4567 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -2090,7 +2090,7 @@ Optional symbol TYPE is either `monthly' or `yearly'."
2090 '(day " " monthname)) 2090 '(day " " monthname))
2091 (t '(monthname " " day)))) 2091 (t '(monthname " " day))))
2092 ;; Iso cannot contain "-", because this form used eg by 2092 ;; Iso cannot contain "-", because this form used eg by
2093 ;; insert-anniversary-diary-entry. 2093 ;; diary-insert-anniversary-entry.
2094 (t (cond ((eq calendar-date-style 'iso) 2094 (t (cond ((eq calendar-date-style 'iso)
2095 '((format "%s %.2d %.2d" year 2095 '((format "%s %.2d %.2d" year
2096 (string-to-number month) (string-to-number day)))) 2096 (string-to-number month) (string-to-number day))))
@@ -2369,13 +2369,20 @@ return a font-lock pattern matching array of MONTHS and marking SYMBOL."
2369 (concat 2369 (concat
2370 (let ((dayname (diary-name-pattern calendar-day-name-array nil t)) 2370 (let ((dayname (diary-name-pattern calendar-day-name-array nil t))
2371 (monthname (diary-name-pattern calendar-month-name-array nil t)) 2371 (monthname (diary-name-pattern calendar-month-name-array nil t))
2372 (day "[0-9]+") 2372 (day "1")
2373 (month "[0-9]+") 2373 (month "2")
2374 (year "-?[0-9]+")) 2374 ;; FIXME? This used to be "-?[0-9]+" - what was the "-?" for?
2375 (mapconcat 'eval calendar-date-display-form "")) 2375 (year "3"))
2376 ;; This is ugly. c-d-d-form expects `day' etc to be "numbers in
2377 ;; string form"; eg the iso version calls string-to-number on some.
2378 ;; Therefore we cannot eg just let day = "[0-9]+". (Bug#8583).
2379 ;; Assumes no integers in c-day/month-name-array.
2380 (replace-regexp-in-string "[0-9]+" "[0-9]+"
2381 (mapconcat 'eval calendar-date-display-form "")
2382 nil t))
2376 ;; Optional ": holiday name" after the date. 2383 ;; Optional ": holiday name" after the date.
2377 "\\(: .*\\)?") 2384 "\\(: .*\\)?")
2378 "Regular expression matching a date header in Fancy Diary.") 2385 "Regular expression matching the first line of a fancy diary date header.")
2379 2386
2380(define-obsolete-variable-alias 'fancy-diary-font-lock-keywords 2387(define-obsolete-variable-alias 'fancy-diary-font-lock-keywords
2381 'diary-fancy-font-lock-keywords "23.1") 2388 'diary-fancy-font-lock-keywords "23.1")