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 <daimrod@gmail.com> wrote:
John Kitchin <jkitchin@andrew.cmu.edu> 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