summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <n.goaziou@gmail.com>2012-10-12 18:22:04 +0200
committerNicolas Goaziou <n.goaziou@gmail.com>2012-10-12 18:22:04 +0200
commit56470de26df3fd6813df3246287ef7f6c5581b7b (patch)
tree6b903d98a996e7bbb062df0d058df84bbe5bb621
parent9b11e63e7a465a1fcd71c442a299480e568751a8 (diff)
parent5212d4fa6bb0039f6cfc5166f02be57106ee7e16 (diff)
downloadorg-mode-56470de26df3fd6813df3246287ef7f6c5581b7b.tar.gz
Merge branch 'maint'
Conflicts: testing/lisp/test-org.el
-rw-r--r--lisp/org.el11
-rw-r--r--testing/lisp/test-org.el19
2 files changed, 24 insertions, 6 deletions
diff --git a/lisp/org.el b/lisp/org.el
index bdfc919..7f295c1 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -15596,14 +15596,13 @@ user."
;; Help matching dotted european dates
(when (string-match
- "^ *\\(3[01]\\|0?[1-9]\\|[12][0-9]\\)\\. ?\\(0?[1-9]\\|1[012]\\)\\. ?\\([1-9][0-9][0-9][0-9]\\)?" ans)
- (setq year (if (match-end 3)
- (string-to-number (match-string 3 ans))
- (progn (setq kill-year t)
- (string-to-number (format-time-string "%Y"))))
+ "^ *\\(3[01]\\|0?[1-9]\\|[12][0-9]\\)\\. ?\\(0?[1-9]\\|1[012]\\)\\.\\( ?[1-9][0-9]\\{3\\}\\)?" ans)
+ (setq year (if (match-end 3) (string-to-number (match-string 3 ans))
+ (setq kill-year t)
+ (string-to-number (format-time-string "%Y")))
day (string-to-number (match-string 1 ans))
month (string-to-number (match-string 2 ans))
- ans (replace-match (format "%04d-%02d-%02d\\5" year month day)
+ ans (replace-match (format "%04d-%02d-%02d" year month day)
t nil ans)))
;; Help matching american dates, like 5/30 or 5/30/7
diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el
index 0971e08..9d684ae 100644
--- a/testing/lisp/test-org.el
+++ b/testing/lisp/test-org.el
@@ -76,6 +76,25 @@
+;;; Date Analysis
+
+(ert-deftest test-org/org-read-date ()
+ "Test `org-read-date' specifications."
+ ;; Parse ISO date with abbreviated year and month.
+ (should (equal "2012-03-29 16:40"
+ (let ((org-time-was-given t))
+ (org-read-date t nil "12-3-29 16:40"))))
+ ;; Parse Europeans dates.
+ (should (equal "2012-03-29 16:40"
+ (let ((org-time-was-given t))
+ (org-read-date t nil "29.03.2012 16:40"))))
+ ;; Parse Europeans dates without year.
+ (should (string-match "2[0-9]\\{3\\}-03-29 16:40"
+ (let ((org-time-was-given t))
+ (org-read-date t nil "29.03. 16:40")))))
+
+
+
;;; Filling
(ert-deftest test-org/fill-paragraph ()