Emacs : GNU Emacs 23.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1)
of 2011-03-04 on allspice, modified by Debian
Package: Org-mode version 7.7
I found a couple of bugs with org-agenda-bulk-mark-regexp:
- it didn't work at all :)
- once I fixed that, it didn't work for the empty regex (or, I guess,
for other expressions that match the emptiness at the end of the
buffer).
The first problem was solved by initializing entries-marked as 0. The
latter, by making sure there is text to match on before proceeding
down the while loop.
This patch is relative to HEAD as of 2011-10-17T13:46:48+0000
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 60e561c..bf03b68 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -8144,16 +8144,15 @@ This is a command that has to be installed in
`calendar-mode-map'."
(defun org-agenda-bulk-mark-regexp (regexp)
"Mark entries match REGEXP."
(interactive "sMark entries matching regexp: ")
- (let ((entries-marked 0))
+ (let (entries-marked)
(save-excursion
(goto-char (point-min))
(goto-char (next-single-property-change (point) 'txt))
- (while (and (re-search-forward regexp nil t)
- (get-text-property (point) 'txt))
+ (while (re-search-forward regexp nil t)
(when (string-match regexp (get-text-property (point) 'txt))
(setq entries-marked (+ entries-marked 1))
(call-interactively 'org-agenda-bulk-mark))))
- (if (zerop entries-marked)
+ (if (not entries-marked)
(message "No entry matching this regexp."))))
(defun org-agenda-bulk-unmark ()