X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=alias.cpkg;h=d1b536cbdf6d783c060c8930f5f70f70f0f3700d;hp=bab4a4993cbbe201750dd32ef36db0742bfdaa3d;hb=c9f72ab0cd65f517a2047feb942ad85025c1b7e8;hpb=b6980caf7b13994c57957872876cdecc21e54a82 diff --git a/alias.cpkg b/alias.cpkg index bab4a49..d1b536c 100644 --- a/alias.cpkg +++ b/alias.cpkg @@ -38,6 +38,10 @@ #include "sort.h" @import "lib-lua/base.cpkg" +static rx_t *Alternates = NULL, *UnAlternates = NULL; +rx_t *MailLists = NULL, *UnMailLists = NULL; +rx_t *SubscribedLists = NULL, *UnSubscribedLists = NULL; + @static_package MAlias { /* ** .pp @@ -62,6 +66,42 @@ ** explicitly use the ``$source'' command for it to be executed. */ path_t alias_file = m_strdup("~/.madmutt/aliases"); + + void alternates(rx_t rx) { + rx_list_remove(&UnAlternates, rx); + rx_list_add(&Alternates, rx); + RETURN(); + }; + void unalternates(rx_t rx) { + rx_list_remove(&Alternates, rx); + rx_list_add(&UnAlternates, rx); + RETURN(); + }; + + void lists(rx_t rx) { + rx_list_remove(&UnMailLists, rx); + rx_list_add(&MailLists, rx); + RETURN(); + }; + void unlists(rx_t rx) { + rx_list_remove(&MailLists, rx); + rx_list_remove(&SubscribedLists, rx); + rx_list_add(&UnMailLists, rx); + RETURN(); + }; + + void subscribe(rx_t rx) { + rx_list_remove(&UnMailLists, rx); + rx_list_remove(&UnSubscribedLists, rx); + rx_list_add(&MailLists, rx); + rx_list_add(&SubscribedLists, rx_dup(rx)); + RETURN(); + }; + void unsubscribe(rx_t rx) { + rx_list_remove(&SubscribedLists, rx); + rx_list_add(&UnSubscribedLists, rx); + RETURN(); + }; }; alias_t *Aliases;