neat idea. This code does exactly what I need for the completion for a whole tag query. It should be possible to integrate that into completion. (defun insert-emails-from-tags (tags) (interactive "sTags: ") (insert (save-window-excursion (find-file "contacts-bbdb.org") (mapconcat 'identity (let ((todo-only nil)) (org-scan-tags (lambda () (org-entry-get (point) "EMAIL")) ; action (cdr (org-make-tags-matcher tags)) ; matcher nil)) ", ")))) It should be possible to integrate this into the org-contacts database to get this with completion. I will look into this later today. Thanks for the ideas. John ----------------------------------- John Kitchin Associate Professor Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 http://kitchingroup.cheme.cmu.edu On Thu, Jun 5, 2014 at 12:51 AM, Daimrod wrote: > John Kitchin writes: > > > Hi all, > > > > I have setup org-contacts and completion of emails in message mode. I > have some contacts that are tagged :group: and some tagged :group:ms: > > > > If I put +group in the email To field, it completes to all of the > entries (awesome!) > > > > But +group-ms does not work. Is that a bug, or a known limit of > org-contacts? That search works fine with C-c am. > > An unknown limitation of org-contacts. ;) > > org-contacts doesn't use `org-tags-view', that's why it doesn't support > this match syntax. > > ATM, it is unclear to me how such syntax could be integrated with the > completion mechanism. > > Also, I haven't look at the code that handles this in org-mode so I > don't know how easy or hard it would be to use it with org-contacts. > > > An alternative would be to provide a way to store the addresses of > contacts in a sparse tree or in the *org-agenda* buffer. > > e.g. > C-x b contacts.org RET > C-c a m foo+bar RET > M-x org-contacts-copy-contacts RET > C-x b *Group* RET ;; Switch to Gnus > m ;; compose a message > C-c C-f ;; goto From > C-y > > WDYT? > > > Best, > -- > Daimrod/Greg >