commit dfc5b0f65531ef71cbd2c0cc956c246ea4239612 (HEAD, refs/remotes/origin/master) Author: Dima Kogan Date: Wed Nov 23 18:04:21 2016 -0800 Clarify ediff-directories prompt * lisp/vc/ediff-mult.el (ediff-filegroup-action): * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions, ediff-directories3, ediff-merge-directories, ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions, ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for filename filter in interactive ediff. The new message makes it clear what is being filtered diff --git a/lisp/vc/ediff-mult.el b/lisp/vc/ediff-mult.el index 7f0db5d..9c7e278e 100644 --- a/lisp/vc/ediff-mult.el +++ b/lisp/vc/ediff-mult.el @@ -1846,9 +1846,9 @@ all marked sessions must be active." (read-string (if (stringp default-regexp) (format - "Filter through regular expression (default %s): " + "Filter filenames through regular expression (default %s): " default-regexp) - "Filter through regular expression: ") + "Filter filenames through regular expression: ") nil 'ediff-filtering-regexp-history (eval ediff-default-filtering-regexp))) @@ -1872,7 +1872,7 @@ all marked sessions must be active." (file-directory-p file1)) (if (ediff-buffer-live-p session-buf) (ediff-show-meta-buffer session-buf) - (setq regexp (read-string "Filter through regular expression: " + (setq regexp (read-string "Filter filenames through regular expression: " nil 'ediff-filtering-regexp-history)) (ediff-directory-revisions-internal file1 regexp diff --git a/lisp/vc/ediff.el b/lisp/vc/ediff.el index a4244c9..ed36a3f 100644 --- a/lisp/vc/ediff.el +++ b/lisp/vc/ediff.el @@ -553,9 +553,9 @@ expression; only file names that match the regexp are considered." nil 'must-match) (read-string (if (stringp default-regexp) - (format "Filter through regular expression (default %s): " + (format "Filter filenames through regular expression (default %s): " default-regexp) - "Filter through regular expression: ") + "Filter filenames through regular expression: ") nil 'ediff-filtering-regexp-history (eval ediff-default-filtering-regexp)) @@ -581,9 +581,9 @@ names. Only the files that are under revision control are taken into account." "Directory to compare with revision:" dir-A nil 'must-match) (read-string (if (stringp default-regexp) - (format "Filter through regular expression (default %s): " + (format "Filter filenames through regular expression (default %s): " default-regexp) - "Filter through regular expression: ") + "Filter filenames through regular expression: ") nil 'ediff-filtering-regexp-history (eval ediff-default-filtering-regexp)) @@ -619,9 +619,9 @@ regular expression; only file names that match the regexp are considered." nil 'must-match) (read-string (if (stringp default-regexp) - (format "Filter through regular expression (default %s): " + (format "Filter filenames through regular expression (default %s): " default-regexp) - "Filter through regular expression: ") + "Filter filenames through regular expression: ") nil 'ediff-filtering-regexp-history (eval ediff-default-filtering-regexp)) @@ -651,9 +651,9 @@ expression; only file names that match the regexp are considered." nil 'must-match) (read-string (if (stringp default-regexp) - (format "Filter through regular expression (default %s): " + (format "Filter filenames through regular expression (default %s): " default-regexp) - "Filter through regular expression: ") + "Filter filenames through regular expression: ") nil 'ediff-filtering-regexp-history (eval ediff-default-filtering-regexp)) @@ -692,9 +692,9 @@ only file names that match the regexp are considered." nil 'must-match) (read-string (if (stringp default-regexp) - (format "Filter through regular expression (default %s): " + (format "Filter filenames through regular expression (default %s): " default-regexp) - "Filter through regular expression: ") + "Filter filenames through regular expression: ") nil 'ediff-filtering-regexp-history (eval ediff-default-filtering-regexp)) @@ -719,9 +719,9 @@ names. Only the files that are under revision control are taken into account." "Directory to merge with revisions:" dir-A nil 'must-match) (read-string (if (stringp default-regexp) - (format "Filter through regular expression (default %s): " + (format "Filter filenames through regular expression (default %s): " default-regexp) - "Filter through regular expression: ") + "Filter filenames through regular expression: ") nil 'ediff-filtering-regexp-history (eval ediff-default-filtering-regexp)) @@ -750,9 +750,9 @@ names. Only the files that are under revision control are taken into account." dir-A nil 'must-match) (read-string (if (stringp default-regexp) - (format "Filter through regular expression (default %s): " + (format "Filter filenames through regular expression (default %s): " default-regexp) - "Filter through regular expression: ") + "Filter filenames through regular expression: ") nil 'ediff-filtering-regexp-history (eval ediff-default-filtering-regexp)) commit 561ce852ad0a90aac07fd16cd591ca8a408043c3 Author: Tino Calancha Date: Thu Nov 24 10:39:33 2016 +0900 * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997. diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el index a99a575..3a4def3 100644 --- a/test/lisp/ibuffer-tests.el +++ b/test/lisp/ibuffer-tests.el @@ -32,6 +32,22 @@ (symbol-function 'ibuffer-mark-unsaved-buffers)))) +(ert-deftest ibuffer-test-Bug24997 () + "Test for http://debbugs.gnu.org/24997 ." + :expected-result :failed + (ibuffer) + (let ((orig ibuffer-filtering-qualifiers)) + (unwind-protect + (progn + (setq ibuffer-filtering-qualifiers + '((size-gt . 10) + (used-mode . lisp-interaction-mode))) + (ibuffer-update nil t) + (ignore-errors (ibuffer-decompose-filter)) + (should (cdr ibuffer-filtering-qualifiers))) + (setq ibuffer-filtering-qualifiers orig) + (ibuffer-update nil t)))) + (ert-deftest ibuffer-test-Bug25000 () "Test for http://debbugs.gnu.org/25000 ." :expected-result :failed commit f8e1b18d37e46f320ba0bd81efbbcf557c1f64d7 Author: Ulf Jasper Date: Wed Nov 23 18:09:34 2016 +0100 Fix Bug#24199. * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote bracket in doc string (make checkdoc happy). (icalendar-import-buffer), (icalendar-import-buffer), (icalendar--convert-ical-to-diary), (icalendar--add-diary-entry): Rename argument diary-file to diary-filename (make checkdoc happy). (icalendar--convert-recurring-to-diary): Take care of byday-clause in monthly recurring events. Actually fix Bug#24199. * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New. diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el index e7ad738..2f557f5 100644 --- a/lisp/calendar/icalendar.el +++ b/lisp/calendar/icalendar.el @@ -2389,22 +2389,43 @@ END-T is the event's end time in diary format." ;; monthly ((string-equal frequency "MONTHLY") (icalendar--dmsg "monthly") - (setq result - (format - "%%%%(and (diary-date %s) (diary-block %s %s)) %s%s%s" - (let ((day (nth 3 dtstart-dec))) - (cond ((eq calendar-date-style 'iso) - (format "t t %d" day)) - ((eq calendar-date-style 'european) - (format "%d t t" day)) - ((eq calendar-date-style 'american) - (format "t %d t" day)))) - dtstart-conv - (if until - until-conv - (if (eq calendar-date-style 'iso) "9999 1 1" "1 1 9999")) ;; FIXME: should be unlimited - (or start-t "") - (if end-t "-" "") (or end-t "")))) + (let* ((byday (cadr (assoc 'BYDAY rrule-props))) + (count-weekday + (and byday + (save-match-data + (when (string-match "\\(-?[0-9]+\\)\\([A-Z][A-Z]\\)" + byday) + (cons (substring byday + (match-beginning 1) + (match-end 1)) + (substring byday + (match-beginning 2) + (match-end 2))))))) + (rule-part + (if count-weekday + (let ((count (car count-weekday)) + (weekdaynum (icalendar--get-weekday-number + (cdr count-weekday)))) + ;; FIXME: this is valid only for interval==1 + (format "(diary-float t %s %s)" weekdaynum count)) + (format "(diary-date %s)" + (let ((day (nth 3 dtstart-dec))) + (cond ((eq calendar-date-style 'iso) + (format "t t %d" day)) + ((eq calendar-date-style 'european) + (format "%d t t" day)) + ((eq calendar-date-style 'american) + (format "t %d t" day)))))))) + (setq result + (format + "%%%%(and %s (diary-block %s %s)) %s%s%s" + rule-part + dtstart-conv + (if until + until-conv + (if (eq calendar-date-style 'iso) "9999 1 1" "1 1 9999")) ;; FIXME: should be unlimited + (or start-t "") + (if end-t "-" "") (or end-t ""))))) ;; daily ((and (string-equal frequency "DAILY")) (if until diff --git a/test/lisp/calendar/icalendar-tests.el b/test/lisp/calendar/icalendar-tests.el index 6db4222..307d687 100644 --- a/test/lisp/calendar/icalendar-tests.el +++ b/test/lisp/calendar/icalendar-tests.el @@ -1257,6 +1257,50 @@ UID:8814e3f9-7482-408f-996c-3bfe486a1263 UID: 8814e3f9-7482-408f-996c-3bfe486a1263 ")) +(ert-deftest icalendar-import-bug-24199 () + ;;bug#24199 -- monthly rule with byday-clause + (icalendar-tests--test-import +" +SUMMARY:Summary +DESCRIPTION:Desc +LOCATION:Loc +DTSTART:20151202T124600 +DTEND:20151202T160000 +RRULE:FREQ=MONTHLY;BYDAY=1WE;INTERVAL=1 +EXDATE:20160106T114600Z +EXDATE:20160203T114600Z +EXDATE:20160302T114600Z +EXDATE:20160504T104600Z +EXDATE:20160601T104600Z +CLASS:DEFAULT +TRANSP:OPAQUE +BEGIN:VALARM +ACTION:DISPLAY +TRIGGER;VALUE=DURATION:-PT3H +END:VALARM +LAST-MODIFIED:20160805T191040Z +UID:9188710a-08a7-4061-bae3-d4cf4972599a +" +"&%%(and (not (diary-date 2016 1 6)) (not (diary-date 2016 2 3)) (not (diary-date 2016 3 2)) (not (diary-date 2016 5 4)) (not (diary-date 2016 6 1)) (diary-float t 3 1) (diary-block 2015 12 2 9999 1 1)) 12:46-16:00 Summary + Desc: Desc + Location: Loc + Class: DEFAULT + UID: 9188710a-08a7-4061-bae3-d4cf4972599a +" +"&%%(and (not (diary-date 6 1 2016)) (not (diary-date 3 2 2016)) (not (diary-date 2 3 2016)) (not (diary-date 4 5 2016)) (not (diary-date 1 6 2016)) (diary-float t 3 1) (diary-block 2 12 2015 1 1 9999)) 12:46-16:00 Summary + Desc: Desc + Location: Loc + Class: DEFAULT + UID: 9188710a-08a7-4061-bae3-d4cf4972599a +" +"&%%(and (not (diary-date 1 6 2016)) (not (diary-date 2 3 2016)) (not (diary-date 3 2 2016)) (not (diary-date 5 4 2016)) (not (diary-date 6 1 2016)) (diary-float t 3 1) (diary-block 12 2 2015 1 1 9999)) 12:46-16:00 Summary + Desc: Desc + Location: Loc + Class: DEFAULT + UID: 9188710a-08a7-4061-bae3-d4cf4972599a +" +)) + (ert-deftest icalendar-import-multiple-vcalendars () (icalendar-tests--test-import "DTSTART;VALUE=DATE:20110723 commit d8a1a56f5bce64d6ea6ccecdf1aaa4eb3a9898da Author: Tino Calancha Date: Wed Nov 23 21:19:16 2016 +0900 * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000. diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el index de281c0..a99a575 100644 --- a/test/lisp/ibuffer-tests.el +++ b/test/lisp/ibuffer-tests.el @@ -20,6 +20,8 @@ ;;; Code: (require 'ert) (require 'ibuffer) +(eval-when-compile + (require 'ibuf-macs)) (ert-deftest ibuffer-autoload () "Tests to see whether reftex-auc has been autoloaded" @@ -30,5 +32,23 @@ (symbol-function 'ibuffer-mark-unsaved-buffers)))) +(ert-deftest ibuffer-test-Bug25000 () + "Test for http://debbugs.gnu.org/25000 ." + :expected-result :failed + (let ((case-fold-search t) + (buf1 (generate-new-buffer "ibuffer-test-Bug25000-buf1")) + (buf2 (generate-new-buffer "ibuffer-test-Bug25000-buf2"))) + (ibuffer) + (unwind-protect + (ibuffer-save-marks + (ibuffer-unmark-all-marks) + (ibuffer-mark-by-name-regexp (buffer-name buf1)) + (ibuffer-change-marks ibuffer-marked-char ?L) + (ibuffer-mark-by-name-regexp (buffer-name buf2)) + (ibuffer-change-marks ibuffer-marked-char ?l) + (should-not (cdr (ibuffer-buffer-names-with-mark ?l)))) + (mapc (lambda (buf) (when (buffer-live-p buf) + (kill-buffer buf))) (list buf1 buf2))))) + (provide 'ibuffer-tests) ;; ibuffer-tests.el ends here