Eric Abrahamsen: > the `org-map-entries' function can be given a scope of 'agenda That worked perfectly, thanks. Here's what I ended up with: (org-map-entries (lambda () (when (equal title (org-get-heading t t)) (org-entry-put (point) "TODO" "DONE"))) tag 'agenda) Cheers, Chris On Sat, May 31, 2014 at 4:27 PM, Eric Abrahamsen wrote: > Chris Poole writes: > > > Hi all, > > > > Suppose I have a string, "my first task", that I know is tagged with > > "laptop". > > > > I want to search through the agenda files for a headline that matches > > this string, to be able to mark it as DONE (in an automated fashion). > > > > I can't find a function to search through for the headline --- is > > there one? > > > > Else, is it best to concat all the agenda files into a larger buffer, > > then parse the buffer and iterate through the headlines with > > org-element-map? > > > > > > Cheers, > > Chris > > Depending on how automated you need this to be, the `org-map-entries' > function can be given a scope of 'agenda (see its docstring). You could > call it with the agenda scope and a matcher for the "laptop" tag -- that > would at least get you all the headings in all the agenda files with the > "laptop" tag. Then the actual mapping function could call > `org-get-heading' on each of the matching headings, and check the text. > > In these cases, though, I generally try to find a way to know the > heading's ID property, and use `org-id-goto'. > > Hope that helps, > Eric > > >