Rewrite scripting support in maidag.
* include/mailutils/guile.h (mu_guile_init, mu_guile_load) (mu_guile_eval, mu_guile_mailbox_apply, mu_guile_message_apply) (mu_guile_safe_exec, mu_guile_safe_proc_call): New protos. * libmu_scm/Makefile.am: Add mu_guile.c * libmu_scm/mu_guile.c: New file. * libmu_scm/mu_mailbox.c (struct mu_mailbox): Kludge: new member noclose. (mu_scm_mailbox_free): Do not close/destroy mailbox if it is marked noclose. (mu_scm_mailbox_create0): Kludge: new function. * libmu_scm/mu_message.c (mu_scm_message_print): Bugfix. * maidag/Makefile.am: Add guile.c and sieve.c. * maidag/deliver.c (maidag_stdio_delivery) [WITH_GUILE]: Remove block. (deliver_url): Call script_apply, instead of sieve_test. * maidag/maidag.c: Rewrite scripting support in a modular way. Remove options: --sieve, --source (and the corresponding config statements). Add options: --language, --script. Add configure statement: filter (block). * maidag/maidag.h (progfile_pattern, sieve_pattern): Remove. (script_list, sieve_debug_flags, message_id_header, sieve_enable_log): New prototypes. [WITH_GUILE]: Remove. (maidag_script_fun, struct maidag_script): New data type. (script_handler): New extern. (script_lang_handler, script_suffix_handler) (script_register, script_apply): New protos. (scheme_check_msg, sieve_check_msg): New protos. * maidag/script.c: Rewrite. Provide general-purpose serialized script support. * guimb/guimb.h (struct guimb_data): Remove. * guimb/main.c: Rewrite in a cleaner way, using functions from mu_guile.c. * guimb/collect.c (guimb_catch_body, guimb_catch_handler) (guimb_exit): Remove. * guimb/scm/sieve-core.scm (sieve-current-message, sieve-mailbox): Public. (sieve-run-current-message): New public function. (sieve-run): Call sieve-run-current-message for each message. * guimb/scm/sieve.scm.in (sieve-save-program): Change code generation to suit both per-mailbox and per-message invocation. This kicks mail.local out of whack. * maidag/guile.c: New file. * maidag/sieve.c: New file.
Showing
18 changed files
with
759 additions
and
399 deletions
libmu_scm/mu_guile.c
0 → 100644
maidag/guile.c
0 → 100644
maidag/sieve.c
0 → 100644
-
Please register or sign in to post a comment