mirror of https://github.com/djcb/mu.git
* mu-guile-msg: add guile binding for mu_msg_move_to_maildir, namespace defines
This commit is contained in:
parent
24a177d52a
commit
b600363ef8
|
@ -76,6 +76,41 @@ SCM_DEFINE (msg_make_from_file, "mu:msg:make-from-file", 1, 0, 0,
|
|||
#undef FUNC_NAME
|
||||
|
||||
|
||||
SCM_DEFINE (msg_move, "mu:msg:move-to-maildir", 2, 0, 0,
|
||||
(SCM MSG, SCM TARGETMDIR),
|
||||
"Move message to another maildir TARGETMDIR. Note that this the "
|
||||
"base-level Maildir, ie. /home/user/Maildir/archive, and must"
|
||||
" _not_ include the 'cur' or 'new' part. mu_msg_move_to_maildir "
|
||||
"will make sure that the copy is from new/ to new/ and cur/ to "
|
||||
"cur/. Also note that the target maildir must be on the same "
|
||||
"filesystem. Returns #t if it worked, #f otherwise.\n")
|
||||
#define FUNC_NAME s_msg_move
|
||||
{
|
||||
GError *err;
|
||||
MuMsgWrapper *msgwrap;
|
||||
gboolean rv;
|
||||
|
||||
SCM_ASSERT (mu_guile_scm_is_msg(MSG), MSG, SCM_ARG1, FUNC_NAME);
|
||||
SCM_ASSERT (scm_is_string (TARGETMDIR), TARGETMDIR, SCM_ARG2, FUNC_NAME);
|
||||
|
||||
msgwrap = (MuMsgWrapper*) SCM_CDR(MSG);
|
||||
|
||||
err = NULL;
|
||||
rv = mu_msg_move_to_maildir (msgwrap->_msg,
|
||||
scm_to_utf8_string (TARGETMDIR), &err);
|
||||
if (!rv && err) {
|
||||
mu_guile_g_error (FUNC_NAME, err);
|
||||
g_error_free (err);
|
||||
}
|
||||
|
||||
return rv ? SCM_BOOL_T : SCM_BOOL_F;
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static SCM
|
||||
scm_from_string_or_null (const char *str)
|
||||
{
|
||||
|
@ -469,22 +504,22 @@ static void
|
|||
define_symbols (void)
|
||||
{
|
||||
/* message priority */
|
||||
scm_c_define ("high", scm_from_int(MU_MSG_PRIO_HIGH));
|
||||
scm_c_define ("low", scm_from_int(MU_MSG_PRIO_LOW));
|
||||
scm_c_define ("normal", scm_from_int(MU_MSG_PRIO_NORMAL));
|
||||
scm_c_define ("mu:high", scm_from_int(MU_MSG_PRIO_HIGH));
|
||||
scm_c_define ("mu:low", scm_from_int(MU_MSG_PRIO_LOW));
|
||||
scm_c_define ("mu:normal", scm_from_int(MU_MSG_PRIO_NORMAL));
|
||||
|
||||
/* message flags */
|
||||
scm_c_define ("new", scm_from_int(MU_MSG_FLAG_NEW));
|
||||
scm_c_define ("passed", scm_from_int(MU_MSG_FLAG_PASSED));
|
||||
scm_c_define ("replied", scm_from_int(MU_MSG_FLAG_REPLIED));
|
||||
scm_c_define ("seen", scm_from_int(MU_MSG_FLAG_SEEN));
|
||||
scm_c_define ("trashed", scm_from_int(MU_MSG_FLAG_TRASHED));
|
||||
scm_c_define ("draft", scm_from_int(MU_MSG_FLAG_DRAFT));
|
||||
scm_c_define ("flagged", scm_from_int(MU_MSG_FLAG_FLAGGED));
|
||||
scm_c_define ("unread", scm_from_int(MU_MSG_FLAG_UNREAD));
|
||||
scm_c_define ("signed", scm_from_int(MU_MSG_FLAG_SIGNED));
|
||||
scm_c_define ("encrypted", scm_from_int(MU_MSG_FLAG_ENCRYPTED));
|
||||
scm_c_define ("has-attach", scm_from_int(MU_MSG_FLAG_HAS_ATTACH));
|
||||
scm_c_define ("mu:new", scm_from_int(MU_MSG_FLAG_NEW));
|
||||
scm_c_define ("mu:passed", scm_from_int(MU_MSG_FLAG_PASSED));
|
||||
scm_c_define ("mu:replied", scm_from_int(MU_MSG_FLAG_REPLIED));
|
||||
scm_c_define ("mu:seen", scm_from_int(MU_MSG_FLAG_SEEN));
|
||||
scm_c_define ("mu:trashed", scm_from_int(MU_MSG_FLAG_TRASHED));
|
||||
scm_c_define ("mu:draft", scm_from_int(MU_MSG_FLAG_DRAFT));
|
||||
scm_c_define ("mu:flagged", scm_from_int(MU_MSG_FLAG_FLAGGED));
|
||||
scm_c_define ("mu:unread", scm_from_int(MU_MSG_FLAG_UNREAD));
|
||||
scm_c_define ("mu:signed", scm_from_int(MU_MSG_FLAG_SIGNED));
|
||||
scm_c_define ("mu:encrypted", scm_from_int(MU_MSG_FLAG_ENCRYPTED));
|
||||
scm_c_define ("mu:has-attach", scm_from_int(MU_MSG_FLAG_HAS_ATTACH));
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue