# HG changeset patch # User Katsumi Yamaoka # Date 1266671432 0 # Node ID b8e814363b3d6d9c714284fe9e66720b39b3e0c6 # Parent c82e39ab7a7848a1ff9a79e73b25809b8381d719# Parent 79d3f11c8368996dd75e28d5c07e9eefc6152bd3 Merge from mainline. diff -r c82e39ab7a78 -r b8e814363b3d lisp/ChangeLog --- a/lisp/ChangeLog Fri Feb 19 15:29:56 2010 +0000 +++ b/lisp/ChangeLog Sat Feb 20 13:10:32 2010 +0000 @@ -1,3 +1,23 @@ +2010-02-20 Eli Zaretskii + + * subr.el (remove-yank-excluded-properties): Explain in a comment + why `category' property is removed. + +2010-02-19 Chong Yidong + + * isearch.el (isearch-update-post-hook, isearch-update): Revert + 2010-02-17 change. + +2010-02-19 Ulf Jasper + + * calendar/icalendar.el (icalendar--convert-ordinary-to-ical) + (icalendar--convert-weekly-to-ical) + (icalendar--convert-yearly-to-ical) + (icalendar--convert-block-to-ical) + (icalendar--convert-cyclic-to-ical) + (icalendar--convert-anniversary-to-ical): Take care of time + specifications where hour has 1-digit only (Bug#5549). + 2010-02-19 Nick Roberts * progmodes/gdb-ui.el (gdb-assembler-handler): Accommodate change diff -r c82e39ab7a78 -r b8e814363b3d lisp/calendar/icalendar.el --- a/lisp/calendar/icalendar.el Fri Feb 19 15:29:56 2010 +0000 +++ b/lisp/calendar/icalendar.el Sat Feb 20 13:10:32 2010 +0000 @@ -1175,9 +1175,9 @@ (if (string-match (concat nonmarker "\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\)\\s-*" ; date - "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" ; start time + "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" ; start time "\\(" - "-0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" ; end time + "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" ; end time "\\)?" "\\s-*\\(.*?\\) ?$") entry-main) @@ -1271,10 +1271,10 @@ entries. ENTRY-MAIN is the first line of the diary entry." (if (and (string-match (concat nonmarker "\\([a-z]+\\)\\s-+" - "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)" + "\\(\\([0-9][0-9]?:[0-9][0-9]\\)" "\\([ap]m\\)?" - "\\(-0?" - "\\([1-9][0-9]?:[0-9][0-9]\\)" + "\\(-" + "\\([0-9][0-9]?:[0-9][0-9]\\)" "\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$") @@ -1353,12 +1353,12 @@ entries. ENTRY-MAIN is the first line of the diary entry." (if (string-match (concat nonmarker (if (eq (icalendar--date-style) 'european) - "0?\\([1-9]+[0-9]?\\)\\s-+\\([a-z]+\\)\\s-+" - "\\([a-z]+\\)\\s-+0?\\([1-9]+[0-9]?\\)\\s-+") + "\\([0-9]+[0-9]?\\)\\s-+\\([a-z]+\\)\\s-+" + "\\([a-z]+\\)\\s-+\\([0-9]+[0-9]?\\)\\s-+") "\\*?\\s-*" - "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" + "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" "\\(" - "-0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" + "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\([^0-9]+.*?\\) ?$" ; must not match years ) @@ -1461,9 +1461,9 @@ (if (string-match (concat nonmarker "%%(diary-block \\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\)" " +\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\))\\s-*" - "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" + "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" "\\(" - "-0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" + "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$") entry-main) @@ -1569,9 +1569,9 @@ (if (string-match (concat nonmarker "%%(diary-cyclic \\([^ ]+\\) +" "\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\))\\s-*" - "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" + "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" "\\(" - "-0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" + "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$") entry-main) @@ -1642,9 +1642,9 @@ entries. ENTRY-MAIN is the first line of the diary entry." (if (string-match (concat nonmarker "%%(diary-anniversary \\([^)]+\\))\\s-*" - "\\(0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" + "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" "\\(" - "-0?\\([1-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" + "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$") entry-main) diff -r c82e39ab7a78 -r b8e814363b3d lisp/isearch.el --- a/lisp/isearch.el Fri Feb 19 15:29:56 2010 +0000 +++ b/lisp/isearch.el Sat Feb 20 13:10:32 2010 +0000 @@ -156,9 +156,6 @@ (defvar isearch-mode-hook nil "Function(s) to call after starting up an incremental search.") -(defvar isearch-update-post-hook nil - "Function(s) to call after isearch has found matches in the buffer.") - (defvar isearch-mode-end-hook nil "Function(s) to call after terminating an incremental search. When these functions are called, `isearch-mode-end-hook-quit' @@ -871,8 +868,7 @@ (isearch-lazy-highlight-new-loop)) ;; We must prevent the point moving to the end of composition when a ;; part of the composition has just been searched. - (setq disable-point-adjustment t) - (run-hooks 'isearch-update-post-hook)) + (setq disable-point-adjustment t)) (defun isearch-done (&optional nopush edit) "Exit Isearch mode. diff -r c82e39ab7a78 -r b8e814363b3d lisp/subr.el --- a/lisp/subr.el Fri Feb 19 15:29:56 2010 +0000 +++ b/lisp/subr.el Sat Feb 20 13:10:32 2010 +0000 @@ -2442,7 +2442,11 @@ "Remove `yank-excluded-properties' between START and END positions. Replaces `category' properties with their defined properties." (let ((inhibit-read-only t)) - ;; Replace any `category' property with the properties it stands for. + ;; Replace any `category' property with the properties it stands + ;; for. This is to remove `mouse-face' properties that are placed + ;; on categories in *Help* buffers' buttons. See + ;; http://lists.gnu.org/archive/html/emacs-devel/2002-04/msg00648.html + ;; for the details. (unless (memq yank-excluded-properties '(t nil)) (save-excursion (goto-char start) diff -r c82e39ab7a78 -r b8e814363b3d test/ChangeLog --- a/test/ChangeLog Fri Feb 19 15:29:56 2010 +0000 +++ b/test/ChangeLog Sat Feb 20 13:10:32 2010 +0000 @@ -1,3 +1,16 @@ +2010-02-19 Ulf Jasper + + * icalendar-testsuite.el + (icalendar-testsuite--run-function-tests): Added new tests. + (icalendar-testsuite--test-diarytime-to-isotime): Added another + testcase. + (icalendar-testsuite--test-convert-ordinary-to-ical): New. + (icalendar-testsuite--test-convert-weekly-to-ical): New. + (icalendar-testsuite--test-convert-yearly-to-ical): New. + (icalendar-testsuite--test-convert-block-to-ical): New. + (icalendar-testsuite--test-convert-cyclic-to-ical): New. + (icalendar-testsuite--test-convert-anniversary-to-ical): New. + 2010-01-18 Juanma Barranquero * cedet/semantic-tests.el (semanticdb-test-gnu-global) diff -r c82e39ab7a78 -r b8e814363b3d test/icalendar-testsuite.el --- a/test/icalendar-testsuite.el Fri Feb 19 15:29:56 2010 +0000 +++ b/test/icalendar-testsuite.el Sat Feb 20 13:10:32 2010 +0000 @@ -52,6 +52,12 @@ (icalendar-testsuite--test-datestring-to-isodate) (icalendar-testsuite--test-datetime-to-diary-date) (icalendar-testsuite--test-diarytime-to-isotime) + (icalendar-testsuite--test-convert-ordinary-to-ical) + (icalendar-testsuite--test-convert-weekly-to-ical) + (icalendar-testsuite--test-convert-yearly-to-ical) + (icalendar-testsuite--test-convert-block-to-ical) + (icalendar-testsuite--test-convert-cyclic-to-ical) + (icalendar-testsuite--test-convert-anniversary-to-ical) (icalendar-testsuite--test-calendar-style) (icalendar-testsuite--test-create-uid) (icalendar-testsuite--test-parse-vtimezone)) @@ -213,6 +219,12 @@ (defun icalendar-testsuite--test-diarytime-to-isotime () "Test method for `icalendar--diarytime-to-isotime'." + (assert (string= (icalendar--diarytime-to-isotime "01:15" "") + "T011500")) + (assert (string= (icalendar--diarytime-to-isotime "1:15" "") + "T011500")) + (assert (string= (icalendar--diarytime-to-isotime "0:01" "") + "T000100")) (assert (string= (icalendar--diarytime-to-isotime "0100" "") "T010000")) (assert (string= (icalendar--diarytime-to-isotime "0100" "am") @@ -236,6 +248,106 @@ (assert (string= (icalendar--diarytime-to-isotime "1259" "pm") "T125900"))) +(defun icalendar-testsuite--test-convert-ordinary-to-ical () + "Test method for `icalendar--convert-ordinary-to-ical'." + (let* ((calendar-date-style 'iso) + result) + ;; without time + (setq result (icalendar--convert-ordinary-to-ical "&?" "2010 2 15 subject")) + (assert (= 2 (length result))) + (assert (string= "\nDTSTART;VALUE=DATE:20100215\nDTEND;VALUE=DATE:20100216" + (car result))) + (assert (string= "subject" (cadr result))) + + ;; with time + (setq result (icalendar--convert-ordinary-to-ical + "&?" "&2010 2 15 12:34-23:45 s")) + (assert (= 2 (length result))) + (assert (string= (concat "\nDTSTART;VALUE=DATE-TIME:20100215T123400" + "\nDTEND;VALUE=DATE-TIME:20100215T234500") + (car result))) + (assert (string= "s" (cadr result))) + + ;; with time, again -- test bug#5549 + (setq result (icalendar--convert-ordinary-to-ical + "x?" "x2010 2 15 0:34-1:45 s")) + (assert (= 2 (length result))) + (assert (string= (concat "\nDTSTART;VALUE=DATE-TIME:20100215T003400" + "\nDTEND;VALUE=DATE-TIME:20100215T014500") + (car result))) + (assert (string= "s" (cadr result))))) + +(defun icalendar-testsuite--test-convert-weekly-to-ical () + "Test method for `icalendar--convert-weekly-to-ical'." + (let* ((calendar-date-style 'iso) + result + (calendar-day-name-array + ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" + "Saturday"])) + (setq result (icalendar--convert-weekly-to-ical "" "Monday 8:30 subject")) + (assert (= 2 (length result))) + (assert (string= (concat "\nDTSTART;VALUE=DATE-TIME:20050103T083000" + "\nDTEND;VALUE=DATE-TIME:20050103T093000" + "\nRRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO") + (car result))) + (assert (string= "subject" (cadr result))))) + +(defun icalendar-testsuite--test-convert-yearly-to-ical () + "Test method for `icalendar--convert-yearly-to-ical'." + (let* ((calendar-date-style 'iso) + result + (calendar-month-name-array + ["January" "February" "March" "April" "May" "June" "July" "August" + "September" "October" "November" "December"])) + (setq result (icalendar--convert-yearly-to-ical "" "May 1 Tag der Arbeit")) + (assert (= 2 (length result))) + (assert (string= (concat + "\nDTSTART;VALUE=DATE:19000501" + "\nDTEND;VALUE=DATE:19000502" + "\nRRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=5;BYMONTHDAY=1") + (car result))) + (assert (string= "Tag der Arbeit" (cadr result))))) + +(defun icalendar-testsuite--test-convert-block-to-ical () + "Test method for `icalendar--convert-block-to-ical'." + (let* ((calendar-date-style 'iso) + result) + (setq result (icalendar--convert-block-to-ical + "" "%%(diary-block 2004 7 19 2004 8 27) Sommerferien")) + (assert (= 2 (length result))) + (assert (string= (concat + "\nDTSTART;VALUE=DATE:20040719" + "\nDTEND;VALUE=DATE:20040828") + (car result))) + (assert (string= "Sommerferien" (cadr result))))) + +(defun icalendar-testsuite--test-convert-cyclic-to-ical () + "Test method for `icalendar--convert-cyclic-to-ical'." + (let* ((calendar-date-style 'iso) + result) + (setq result (icalendar--convert-block-to-ical + "" "%%(diary-block 2004 7 19 2004 8 27) Sommerferien")) + (assert (= 2 (length result))) + (assert (string= (concat + "\nDTSTART;VALUE=DATE:20040719" + "\nDTEND;VALUE=DATE:20040828") + (car result))) + (assert (string= "Sommerferien" (cadr result))))) + +(defun icalendar-testsuite--test-convert-anniversary-to-ical () + "Test method for `icalendar--convert-anniversary-to-ical'." + (let* ((calendar-date-style 'iso) + result) + (setq result (icalendar--convert-anniversary-to-ical + "" "%%(diary-anniversary 1964 6 30) g")) + (assert (= 2 (length result))) + (assert (string= (concat + "\nDTSTART;VALUE=DATE:19640630" + "\nDTEND;VALUE=DATE:19640701" + "\nRRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=06;BYMONTHDAY=30") + (car result))) + (assert (string= "g" (cadr result))))) + (defun icalendar-testsuite--test-calendar-style () "Test method for `icalendar--date-style'." (dolist (calendar-date-style '(iso american european))