summaryrefslogtreecommitdiff
path: root/mh/repl.c
AgeCommit message (Collapse)AuthorFiles
2017-06-11Fix the -nodraftfolder and -nowhatnowproc options.Sergey Poznyakoff1
The commit 744c4a9c didn't take into account the -nodraftfolder and -nowhatnowproc options, which can be used to cancel the effect of the corresponding facilities. This commit fixes it. * mh/mh_getopt.c (mh_getopt_ext): New function. * mh/mh_getopt.h (mh_getopt_ext): New prototype. (mh_optinit): New struct. * mh/tests/comp.at: Test the use of Draft-Folder * mh/tests/forw.at: Likewise. * mh/tests/repl.at: Likewise. * mh/comp.c (main): use mh_getopt_ext to properly process draftfolder and whatnowproc. * mh/forw.c: Likewise. * mh/repl.c: Likewise. * mh/mh.h (mh_whom): Remove. (mh_whom_header, mh_whom_file, mh_whom_message): New protos. * mh/mh_alias.y (mh_read_aliases): Don't read aliases twice. * mh/mh_whatnow.c (whom): Use mh_whom_file. * mh/mh_whom.c (mh_whom): Rewrite and rename to mh_whom_file. (mh_whom_header, mh_whom_message): New functions. * mh/whom.c: Use mh_getopt_ext. Interpret command line arguments, depending on whether the draftfile facility is in use.
2017-05-31Fix MH initialization orderSergey Poznyakoff1
Calls to mh_global_profile_get and similar functions must appear only after a call to mh_getopt (more properly, after mh_init and mh_init2 are callead). This sequence was inadvertently changed by commit e267ac86, due to which comp, forw, repl and burst stopped reading important information from .mh_profile. Bug spotted by Pierre-Jean. * mh/burst.c: Make sure profile variables are accessed after the profile is read. * mh/comp.c: Likewise. * mh/forw.c: Likewise. * mh/repl.c: Likewise. * mh/mh.h (mh_whatnow_env_from_environ): Split into two functions: mh_whatnow_env_from_environ_early, to be called before mh_getopt, and mh_whatnow_env_from_environ_late, to be called after it. * mh/whatnowenv.c: Ditto. * mh/whatnow.c: Call these two in the right order. * THANKS: Update.
2017-05-26Bugfixes in MH showSergey Poznyakoff1
* mh/show.c: Set cur before returning. Allow for arguments in showproc settings. Move to next or prev if invoked with the corresponding argv[0] * mh/mh.h (mh_msgset_parse): def argument is const. (mh_msgset_first_current, mh_msgset_first_uid): Remove proto. (mh_msgset_first): Change signature. (mh_msgset_last): New function. * mh/mh_msgset.c (mh_msgset_first): Return UID or message number depending on the value of the second parameter. (mh_msgset_first_current, mh_msgset_first_uid): Remove. (mh_msgset_last): New function. * mh/anno.c: Update. * mh/comp.c: Update. * mh/folder.c: Update. * mh/mh_init.c: Update. * mh/repl.c: Update. * mh/Makefile.am (install-exec-hook): Link show to prev and next
2017-04-18Fix semantics of mu_header_set_value and creation of multipart/alternative MIMESergey Poznyakoff1
Until now, mu_header_set_value called with replace=0 prepended the header to the header list, if a header with such name was already present. This has been changed. Now, if the header with the requested name is already present, its action is as follows: 1. If repl is 0, return MU_ERR_EXISTS 2. Otherwise, replace the header with the new value. If the header is not present, it is appended to the end of the header list, instead of putting it at the beginning. This change is incompatible and breaks the tests, that relied on a particular field ordering. These are fixed as well. The use of mu_header_set_value throughout the sources has been revised to ensure that single-instance headers are never added twice. This change also facilitates the second part of this commit, which fixes creation of the multipart/alternative message by the mail utility. * libmailutils/mailbox/header.c (mu_header_set_value): Fix semantics. If the replace parameter is not set and the header field with the given name already exists, return MU_ERR_EXISTS without changing anything. If adding new header, append it to the end of the header list, instead of pushing it to the top. * configure.ac: Raise shared library revision number. * libmu_scm/mu_message.c (mu-message-set-header) (mu-message-set-header-fields): call mu_header_set_value explicitly if repl is not set. * libmu_sieve/extensions/moderator.c: Force replace header mode when needed. * libmu_sieve/extensions/vacation.c: Likewise. * mh/mh_init.c (mh_annotate): Prepend the annotation header. * mh/mhn.c: Force replace header mode when needed. * mh/repl.c: Likewise. * mh/send.c: Likewise. * libmailutils/tests/modmesg01.at: Change expected header order. * libmailutils/tests/modmesg03.at: Likewise. * mh/tests/mhn.at: Likewise. * mh/tests/send.at: Likewise. * sieve/tests/moderator.at: Likewise. * sieve/tests/redirect.at: Likewise. * sieve/tests/reject.at: Likewise. * sieve/tests/vacation.at: Likewise. * examples/mta.c (message_finalize): Append X-Authentication-Warning, instead of setting it. Make sure Content-Disposition is not set for parts of a multipart/ alternative MIME message. Some mail readers (notably, yahoo), misinterpret it. * libmailutils/mime/attachment.c (at_hdr): Use mu_header_set_value to set Content-Type and Content-Disposition. * libmailutils/mime/mime.c (_mime_set_content_type): If the content type is set to multipart/alternative, remove the Content-Disposition headers from the message parts. * mail/send.c (saveatt): Don't set content-disposition for multipart/alternative, it is now done by the library. (add_attachments): Warn about ignored headers. Append only Received and X-* headers, replace others. (parse_headers): Append headers. (compose_header_set): Use mu_header_append if COMPOSE_APPEND is requested. * mail/util.c (util_header_expand): Use mu_header_append.
2017-01-01Happy GNU YearSergey Poznyakoff1
2016-12-12Fix -nowhatnow proc in mhSergey Poznyakoff1
* mh/mh.h (mh_whatnow_env) <nowhatnowproc>: New member. * mh/compcommon.c (check_draft_disposition): Return DISP_REPLACE if nowhatnowproc is set. * mh/mh_whatnow.c (mh_whatnowproc): Return 0 if nowhatnowproc is set. * mh/comp.c: Fix -nowhatnowproc * mh/forw.c: Likewise. * mh/repl.c: Likewise.
2016-11-01Bugfixes in MHSergey Poznyakoff1
* mh/mh_getopt.c (mh_opt_notimpl_warning): For boolean options, don't emit warning if the value would be set to false. * mh/anno.c: Fix the type of boolean unimplemented options. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/send.c: Likewise.
2016-10-30Improve opool APISergey Poznyakoff1
* configure.ac: Version 2.99.993 * NEWS: Update. * include/mailutils/opool.h (MU_OPOOL_DEFAULT) (MU_OPOOL_ENOMEMABRT): New defines. (mu_opool_create): Change meaning of the 2nd argument. All uses updated. (mu_opool_free, mu_opool_dup): New proto. * libmailutils/base/opool.c (_mu_opool) <memerr>: Replace with flags. <head,tail,free>: Rename. (mu_opool_free, mu_opool_dup): New functions. (mu_opool_head): Bugfix.
2016-10-24Improve program usage output.Sergey Poznyakoff1
* include/mailutils/opt.h (MU_PARSEOPT_SPECIAL_ARGS): New flag. (mu_parseopt)<po_special_args>: New field. * libmailutils/opt/help.c (option_summary) (print_program_usage): Print po_special_args, if defined. * libmailutils/opt/opt.c (parseopt_init): Initialize po_special_args unless MU_PARSEOPT_SPECIAL_ARGS is set. MH: Advertise [+FOLDER] special argument if the -folder option is declared. * mh/mh_getopt.c (folder_option): Bugfix: -folder takes argument. (mh_getopt): Set po_special_args if the -folder option is declared. * mh/inc.c: Fix arg_doc. * mh/mhpath.c: Likewise. * mh/repl.c: Likewise. * mh/rmf.c: Likewise. * mh/rmm.c: Likewise. * mh/scan.c: Likewise. * mh/show.c: Likewise.
2016-10-22MH: Fix MH-E compatibilitySergey Poznyakoff1
* include/mailutils/cli.h (mu_version_func): Rename to mu_version_hook. * libmailutils/cli/cli.c: Likewise. * pop3d/popauth.c: Likewise. * mh/mh_getopt.c: (mh_getopt): Initialize NLS support. Install standard version hook (needed for mh-e autodetect feature). * mh/ali.c: Update prog_doc. Remove NLS initialization. * mh/anno.c: Likewise * mh/burst.c: Likewise * mh/comp.c: Likewise * mh/fmtcheck.c: Likewise * mh/folder.c: Likewise * mh/forw.c: Likewise * mh/inc.c: Likewise * mh/install-mh.c: Likewise * mh/mark.c: Likewise * mh/mhl.c: Likewise * mh/mhn.c: Likewise * mh/mhparam.c: Likewise * mh/mhpath.c: Likewise * mh/mhseq.c: Likewise * mh/msgchk.c: Likewise * mh/pick.c: Likewise * mh/prompter.c: Likewise * mh/refile.c: Likewise * mh/repl.c: Likewise * mh/rmf.c: Likewise * mh/rmm.c: Likewise * mh/scan.c: Likewise * mh/send.c: Likewise * mh/show.c: Likewise * mh/sortm.c: Likewise * mh/whatnow.c: Likewise * mh/whom.c: Likewise
2016-10-22Finish conversion of MH utilities to mh_parseoptSergey Poznyakoff1
This finishes work started at commit bc73fc65. * include/mailutils/opt.h (mu_option_cache) <cache_arg>: Made const. * libmailutils/opt/opt.c (mu_option_cache_destroy): Don't free cache_arg. * doc/texinfo/mu-mh.texi: Update. * po/POTFILES.in: Remove obsolete files. * mh/tests/refile.at: Don't use double-dash options. * mh/mh_getopt.c (mh_opt_set_folder): New function. * mh/mh_getopt.h: Likewise. * mh/mhn.c: Convert to mh_getopt. * mh/mhparam.c: Likewise. * mh/mhpath.c: Likewise. * mh/mhseq.c: Likewise. * mh/msgchk.c: Likewise. * mh/pick.c: Likewise. * mh/pick.h: Likewise. * mh/pick.y: Likewise. * mh/prompter.c: Likewise. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/rmf.c: Likewise. * mh/rmm.c: Likewise. * mh/scan.c: Likewise. * mh/send.c: Likewise. * mh/show.c: Likewise. * mh/sortm.c: Likewise. * mh/whatnow.c: Likewise. * mh/whom.c: Likewise.
2016-08-22Fix docstrings for -nowhatnowprocSergey Poznyakoff1
2016-08-21mh: fix the -nowhatnowproc optionSergey Poznyakoff1
The -nowhatnowproc option inhibits the invocation of whatnow, and consequently, prevents the editing of the draft from occurring.
2016-01-22Update copyright yearsSergey Poznyakoff1
2015-03-02Update copyright yearsSergey Poznyakoff1
2014-02-05Update copyright years.Sergey Poznyakoff1
2013-04-12Implement MH show utility.Sergey Poznyakoff1
* mh/show.c: New file. * NEWS: Document changes. * libmailutils/stream/message_stream.c (copy_trimmed_value): Fix string length calculation to allow for empty lines. * mh/.gitignore: Update. * mh/Makefile.am: Build show. * mh/TODO: Document show. * mh/mh_getopt.h: Add new option codes. * mh/mh_init.c (mh_expand_name): Change handling of the last argument. All callers updated. (mh_draft_name): Remove.
2012-07-16Remove dependency on obstack. Use mu_opool_t instead.Sergey Poznyakoff1
* include/mailutils/opool.h (mu_opool_alloc): New proto. * libmailutils/base/opool.c (mu_opool_alloc): New function. (mu_opool_appendz): Do not append trailing null character. * libmailutils/cfg/parser.y (mu_cfg_tree_create_node): Reflect the change in mu_opool_appendz. * comsat/action.c: Use mu_opool_t instead of struct obstack. * lib/mailcap.c: Likewise. * libmailutils/url/urlstr.c: Likewise. * mh/burst.c: Likewise. * mh/mh_fmtgram.y: Likewise. * mh/mh_format.c: Likewise. * mh/mh_format.h: Likewise. * mh/mhn.c: Likewise. * mh/repl.c: Likewise. * mh/whatnowenv.c: Likewise. * mimeview/mimetypes.l: Likewise. * mimeview/mimeview.h: Likewise. * gnulib.modules: Remove obstack.
2012-03-25Revise some memory allocation routines.Sergey Poznyakoff1
* examples/aclck.c: Check return values from strdup. * libmailutils/base/usremail.c: Likewise. * libmailutils/mailbox/bodystruct.c: Likewise. * lib/mailcap.c: Likewise. * libmailutils/mailbox/mbx_default.c: Likewise. * libmailutils/server/acl.c: Likewise. * libmailutils/stream/logstream.c: Likewise. * libmailutils/stream/message_stream.c: Likewise. * libmu_argp/mu_argp.c: Likewise. * libmu_auth/ldap.c: Likewise. * libmu_auth/pam.c: Likewise. * libmu_auth/sql.c: Likewise. * libmu_sieve/comparator.c: Likewise. * libmu_sieve/conf.c: Likewise. * libmu_sieve/extensions/list.c: Likewise. * libmu_sieve/extensions/vacation.c: Likewise. * libproto/mailer/prog.c: Likewise. * libproto/mailer/smtp_io.c: Likewise. * maidag/lmtp.c: Likewise. * python/libmu_py/address.c: Likewise. * sql/odbc.c * examples/sfrom.c (main): Avoid unnecessary memory allocation. * libmailutils/mailbox/mailbox.c: Likewise. * frm/frm.h: Include mailutils/alloc.h, remove xalloc.h * mh/mh.h: Likewise. * imap4d/imap4d.h: Remove xalloc.h * mail/mail.h: Likewise. * mimeview/mimeview.h: Likewise. * mu/acl.c: Likewise. * readmsg/readmsg.c: Likewise. * include/mailutils/locker.h (mu_locker_set_default_external_program): Change returned type. * include/mailutils/mailbox.h (mu_set_folder_directory): Change returned type. * libmailutils/base/locker.c (mu_locker_set_default_external_program): Return int (error code). * libmailutils/base/tilde.c: Add extra checks * libmailutils/mime/mimehdr.c (_mime_header_parse): Bugfix. * mail/folders.c: Don't use alloca, use mu_alloc instead. It was the only use of that function in Mailutils, so this change allows to withdraw the alloca module. * gnulib.modules (alloca, malloc) (realloc, xalloc): Remove. * frm/common.c: Use mu_alloc and friends instead of xmalloc. * frm/from.c: Likewise. * imap4d/append.c: Likewise. * imap4d/auth_gsasl.c: Likewise. * imap4d/authenticate.c: Likewise. * imap4d/fetch.c: Likewise. * imap4d/imap4d.c: Likewise. * imap4d/io.c: Likewise. * imap4d/list.c: Likewise. * imap4d/namespace.c: Likewise. * imap4d/parsebuf.c: Likewise. * imap4d/preauth.c: Likewise. * imap4d/rename.c: Likewise. * imap4d/search.c: Likewise. * imap4d/util.c: Likewise. * libmu_argp/muinit.c: Likewise. * mail/alias.c: Likewise. * mail/alt.c: Likewise. * mail/copy.c: Likewise. * mail/decode.c: Likewise. * mail/escape.c: Likewise. * mail/file.c: Likewise. * mail/from.c: Likewise. * mail/mail.c: Likewise. * mail/mailline.c: Likewise * mail/mailvar.c: Likewise * mail/msgset.y: Likewise * mail/page.c: Likewise * mail/send.c: Likewise * mail/shell.c: Likewise * mail/unset.c: Likewise * mail/util.c: Likewise * mh/folder.c: Likewise * mh/mh_alias.l: Likewise * mh/mh_alias.y: Likewise * mh/mh_fmtgram.y: Likewise * mh/mh_format.c: Likewise * mh/mh_global.c: Likewise * mh/mh_init.c: Likewise * mh/mh_list.c: Likewise * mh/mh_whatnow.c: Likewise * mh/mh_whom.c: Likewise * mh/mhn.c: Likewise * mh/pick.y: Likewise * mh/prompter-rl.c: Likewise * mh/refile.c: Likewise * mh/repl.c: Likewise * mh/send.c: Likewise * mh/sortm.c: Likewise * mimeview/mimetypes.y: Likewise * mu/dbm.c: Likewise * mu/dispatch.c: Likewise * mu/imap.c: Likewise * mu/pop.c: Likewise * mu/shell.c: Likewise * pop3d/apop.c: Likewise * pop3d/bulletin.c: Likewise * pop3d/popauth.c: Likewise * pop3d/user.c: Likewise
2012-01-05Happy GNU YearSergey Poznyakoff1
2011-12-30Improve msgset interface. Use it in MH.Sergey Poznyakoff1
* libmailutils/msgset/Makefile.am (libmsgset_la_SOURCES): Add new files. * libmailutils/msgset/addset.c: New file. * libmailutils/msgset/count.c: New file. * libmailutils/msgset/foreachmsgno.c: New file. * libmailutils/msgset/foreachuid.c: New file. * libmailutils/msgset/isempty.c: New file. * libmailutils/msgset/subset.c: New file. * libmailutils/msgset/trans.c: New file. * libmailutils/msgset/add.c (mu_msgset_add_range): Take fourth argument specifying the conversion mode. Translate numbers as necessary. * libmailutils/msgset/foreachmsg.c: Translate numbers as necessary. * libmailutils/msgset/foreachnum.c: Rewrite. * libmailutils/msgset/negate.c (_invert_range) (mu_msgset_add_range): Update calls to mu_msgset_add_range. * libmailutils/msgset/parse.c (parse_msgnum_env)<mode>: New member. (parse_msgrange): Update calls to mu_msgset_add_range. (mu_msgset_parse_imap): Change signature. All callers updated. * libmailutils/msgset/sub.c (mu_msgset_sub_range): Take fourth argument specifying the conversion mode. Translate numbers as necessary. * imap4d/copy.c (imap4d_copy0): Update calls to mu_msgset_create and mu_msgset_parse_imap. * imap4d/fetch.c (fetch_thunk): Likewise. * imap4d/search.c (parse_simple_key): Likewise. * imap4d/store.c (store_thunk): Likewise. * include/mailutils/msgset.h (MU_MSGSET_NUM,MU_MSGSET_UID): New defines. (mu_msgset_add,mu_msgset_sub): New protos. (mu_msgset_add_range,mu_msgset_sub_range): Take 4 arguments. All callers changed. * include/mailutils/sys/msgset.h (_mu_msgset_translate_pair) (_mu_msgset_translate_range): New protos. * libmailutils/tests/msgset.c: Reflect the above changes. * testsuite/msgset.c: Likewise. * libproto/imap/mbox.c: Update calls to mu_msgset functions. * mh/mh.h (mh_msgset_t): Remove. (mh_iterator_fp): Remove typedef. (mh_msgset_parse): Change signature. (mh_msgset_member,mh_msgset_reverse,mh_msgset_negate) (mh_msgset_current,mh_msgset_free,mh_msgset_uids): Remove protos. (mh_msgset_parse_string): New proto. (mh_msgset_first_current,mh_msgset_first): New proto. (mh_iterate: Remove proto. Use mu_msgset_foreach* functions instead. (mh_seq_add,mh_seq_delete): Change signatures. * mh/mh_init.c (mh_iterate): Remove. * mh/mh_msgset.c: Rewrite using mu_msgset_t. * mh/mh_sequence.c: Likewise. * mh/anno.c: Use new msgset functions. * mh/burst.c: Likewise. * mh/comp.c: Likewise. * mh/folder.c: Likewise. * mh/forw.c: Likewise. * mh/mark.c: Likewise. * mh/mhn.c: Likewise. * mh/mhpath.c: Likewise. * mh/mhseq.c: Likewise. * mh/pick.c: Likewise. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/rmm.c: Likewise. * mh/scan.c: Likewise. * mh/send.c: Likewise. * mh/sortm.c: Likewise. * mh/whatnowenv.c: Likewise. * mh/tests/mark.at: Reflect changes in the format of the saved sequences, which may contain ranges now. * mu/imap.c: Update calls to mu_msgset functions.
2011-01-02Update copyright years.Sergey Poznyakoff1
Happy GNU year!
2010-12-23BugfixesSergey Poznyakoff1
* libmailutils/base/lcall.c (mu_parse_lc_all): Allow for arg==NULL. * mh/Makefile.am: Define mhlibdir. * mh/pick.y (match_header): Use sget accessors. * mh/repl.c: Accept -noquery silently.
2010-11-30sortm: update current message number; add testsuite.Sergey Poznyakoff1
* mh/sortm.c (current_num): New variable. (sort): Keep track of the current message UID. Store it back to mailbox if in reorder mode. (main): Save initial current message UID. Save global and mailbox status before exiting. * mh/mh.h (mh_open_folder): Change last argument name. * mh_open_folder (mh_open_folder): Change meaning of the 2nd argument: it contains usual stream flags now. All uses changed. * mh/tests/sortm.at: New file. * mh/tests/testsuite.at: Include sortm.at * mh/tests/Makefile.am (TESTSUITE_AT): Add sortm.at.
2010-11-24mh: minor changes in forw and repl; provide a set of traditional scan formats.Sergey Poznyakoff1
* mh/.gitignore: Update. * mh/compcommon.c (mh_comp_draft): Rewrite using mh_find_file and simplify. All callers changed. * mh/mh.h (mh_comp_draft): Change signature. * mh/comp.c (opt_handler) <ARGP_KEY_FINI>: Make sure formfile is initialized. * mh/forw.c: Likewise. * mh/repl.c (opt_handler): Remove unused variable. * mh/tests/comp.at (compcmd): Remove -form. * mh/tests/forw.at (forwcmd): Likewise. * mh/etc/.gitignore: New file. * mh/etc/Makefile.am: New file. * mh/etc/forwcomps: New file. * mh/etc/scan.default: New file. * mh/etc/scan.mailx: New file. * mh/etc/scan.size: New file. * mh/etc/scan.time: New file. * mh/etc/scan.timely: New file.
2010-11-24mh: set a compatible search path for format files; other minor fixes.Sergey Poznyakoff1
* mh/mh_format.c (builtin_friendly): If personal part is present, return it. Otherwise, leave the address untouched. (builtin_pers): Do not quote the return. * mh/tests/inc.at: Reflect the above changes. * mh/tests/scan.at: Likewise. * mh/mh_list.c (eval_body): Offset each line. * mh/tests/mhl.at: Test this change. * mh/mhl.c: Use mh_find_file to resolve the argument to -form. * mh/repl.c: Likewise. Same for replgroupcomps, mhl.repl and -filter. * mh/mhl.repl: New file. * mh/mhl.usenet: New file. * mh/Makefile.am (mhlib_DATA, EXTRA_DIST): Add new files.
2010-11-23mh: add repl tests.Sergey Poznyakoff1
* mh/repl.c: Minor changes. * tests/repl.at: New file. * tests/Makefile.am (TESTSUITE_AT): Add repl.at * mh/tests/testsuite.at: Include repl.at. * mh/TODO: Update.
2010-11-21mh: Fix compatibility issues in the draftfolder facility. Implement whatnowproc.Sergey Poznyakoff1
* mh/whatnowenv.c: New source. * mh/Makefile.am (libmh_a_SOURCES): Add whatnowenv.c * mh/TODO: Update. * mh/comp.c: Implement draftfolder, whatnowproc and the -use option. * mh/forw.c: Likewise. * mh/repl.c: Likewise. * mh/compcommon.c (check_draft_disposition): Fix typo. * mh/mh.h (mh_whatnow_env) <draftfolder>: Remove. <mbox>: New member. (mh_whatnowproc): New proto. (mh_whatnow_env_from_environ) (mh_whatnow_env_to_environ): New proto. * mh/mh_global.c (prop_merger): Bugfix: initialize dst. * mh/mh_init.c (mh_draft_message): Update cur msg. * mh/mh_whatnow.c (mh_whatnowproc): New function. * mh/whatnow.c (opt_handler): Do not read Draft-Folder variable. (main): Initialize data from the environment.
2010-11-15mh: improve GNU option parser and help output.Sergey Poznyakoff1
* mh/mh_argp.c (mh_argp_children): Set group number -2, to place help output between the application help and informational options. * mh/mhn.c (options): Regroup options, * mh/pick.c: Likewise. * mh/ali.c: Reword arg docs. * mh/anno.c: Likewise. * mh/burst.c: Likewise. * mh/comp.c: Likewise. * mh/fmtcheck.c: Likewise. * mh/folder.c: Likewise. * mh/forw.c: Likewise. * mh/inc.c: Likewise. * mh/install-mh.c: Likewise. * mh/mark.c: Likewise. * mh/mh_argp.c: Likewise. * mh/mhl.c: Likewise. * mh/mhn.c: Likewise. * mh/mhparam.c: Likewise. * mh/mhpath.c: Likewise. * mh/pick.c: Likewise. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/rmf.c: Likewise. * mh/rmm.c: Likewise. * mh/scan.c: Likewise. * mh/send.c: Likewise. * mh/sortm.c: Likewise. * mh/whom.c: Likewise.
2010-11-15mh: improve traditional option parser and help output.Sergey Poznyakoff1
* mh/mh_getopt.h (mh_option): Move match_len to the end of the structure. It should not be initialized. (mh_option_init): New prototype. * mh/mh_getopt.c (mh_option_init): New function. * mh/mh_argp.c (mh_argp_parse): Call mh_option_init. * mh/ali.c: Update mh_option declaration. * mh/anno.c: Likewise. * mh/burst.c: Likewise. * mh/comp.c: Likewise. * mh/fmtcheck.c: Likewise. * mh/folder.c: Likewise. * mh/forw.c: Likewise. * mh/inc.c: Likewise. * mh/install-mh.c: Likewise. * mh/mark.c: Likewise. * mh/mhl.c: Likewise. * mh/mhn.c: Likewise. * mh/mhparam.c: Likewise. * mh/mhpath.c: Likewise. * mh/pick.c: Likewise. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/rmf.c: Likewise. * mh/rmm.c: Likewise. * mh/scan.c: Likewise. * mh/send.c: Likewise. * mh/sortm.c: Likewise. * mh/whatnow.c: Likewise. * mh/whom.c: Likewise.
2010-10-12Use mu_make_file_name where necessary.Sergey Poznyakoff1
* comsat/action.c (run_user_action): Use mu_make_file_name. * imap4d/lsub.c (imap4d_lsub): Likewise. * imap4d/subscribe.c (imap4d_subscribe): Likewise. * imap4d/unsubscribe.c (imap4d_unsubscribe): Likewise. * libmailutils/base/filename.c (mu_get_full_path): Likewise. * libmailutils/base/tempfile.c (mu_tempfile): Likewise. * libmailutils/base/url.c (_url_path_default): Likewise. * libmu_auth/virtual.c (getpwnam_virtual) (mu_auth_virt_domain_by_name): Likewise. * libmu_sieve/extensions/vacation.c (check_db): Likewise. * libmu_sieve/sieve.l (_try_include): Likewise. * maidag/forward.c (maidag_forward): Likewise. * mh/mh.h (mh_safe_make_file_name): New proto. * mh/mh_init.c (mh_audit_open,mh_get_dir) (mh_expand_name,mh_real_install): Use mh_safe_make_file_name. (mh_safe_make_file_name): New function. * mh/folder.c (read_seq_file, _scan): Use mh_safe_make_file_name. * mh/mh_global.c (mh_read_profile, _mh_init_global_sequences): Likewise. * mh/install-mh.c (main): Likewise. * mh/mhn.c (normalize_path, store_handler, main): Likewise. * mh/repl.c (make_draft): Likewise. * mh/rmf.c (rmf): Likewise. * mh/sortm.c (swap_message): Likewise. * mimeview/mimetypes.l (mimetypes_open): Likewise. * lib/mailcap.c: Add error checking.
2010-10-09Fix copyleft notices to follow the GNU standards.Sergey Poznyakoff1
2010-10-03Improve stream creation consistency.Sergey Poznyakoff1
One of stream flags bits indicates whether the stream is open or not. The mu_stream_open function refuses to act if it already is. The rest of functions (including mu_stream_close) refuses to act if the stream was not open. A special function (mu_stream_is_open) is provided to check if the stream is in open state. Any stream creation function returns an already open stream. The function mu_stream_open should be called only if the stream was previously closed by a call to mu_stream_close. * include/mailutils/stream.h (mu_stream_is_open): New proto. * include/mailutils/sys/stream.h (_MU_STR_OPEN): New flag. * libmailutils/stream.c (_mu_stream_create): Permit setting the _MU_STR_OPEN flag. (_stream_init): New static. (mu_stream_open): Return MU_ERR_OPEN if the stream is already open. (mu_stream_is_open): New function. (mu_stream_seek, mu_stream_read, mu_stream_readdelim) (mu_stream_getdelim, mu_stream_write, mu_stream_flush) (mu_stream_close, mu_stream_size, mu_stream_wait) (mu_stream_truncate): Check if the stream is open. Return MU_ERR_NOT_OPEN otherwise. * libmailutils/errors (MU_ERR_OPEN): Reword the diagnostics. * libmailutils/dbgstream.c (mu_dbgstream_create): Open the stream. * libmailutils/file_stream.c (mu_file_stream_create) (mu_fd_stream_create): Open the stream. * libmailutils/filter_iconv.c (mu_filter_iconv_create): Open the stream. * libmailutils/mapfile_stream.c (mu_mapfile_stream_create): Open the stream. * libmailutils/fltstream.c (mu_filter_stream_create): Mark the stream as open. * libmailutils/iostream.c (mu_iostream_create): Likewise. * libmailutils/memory_stream.c: Likewise. * libmailutils/message.c (_message_stream_create): Likewise. * libmailutils/message_stream.c (mu_message_stream_create): Likewise. * libmailutils/prog_stream.c (mu_prog_stream_create): Likewise. * libmailutils/socket_stream.c (mu_socket_stream_create): Likewise. * libmailutils/temp_file_stream.c (mu_temp_file_stream_create): Likewise. * libmailutils/amd.c (_amd_attach_message): Mark stream as open. * libmailutils/body.c (_body_get_stream): Likewise. * libmailutils/memory_stream.c: Likewise. * libmailutils/rdcache_stream.c (mu_rdcache_stream_create: Likewise. * libmailutils/stdio_stream.c (mu_stdio_stream_create): Likewise. * libmailutils/streamref.c (mu_streamref_create_abridged): Likewise. * libmailutils/tcp.c (mu_tcp_stream_create_with_source_ip): Likewise. * libmailutils/xscript-stream.c (mu_xscript_stream_create): Likewise. * libmu_auth/tls.c (_mu_tls_io_stream_create): Likewise. (_mu_tls_stream_create): Likewise. * libproto/pop/pop3_stream.c (mu_pop3_stream_create): Likewise. * examples/base64.c: Remove unnecessary mu_stream_open. * examples/http.c: Likewise. * examples/iconv.c: Likewise. * examples/msg-send.c: Likewise. * examples/murun.c: Likewise. * examples/musocio.c: Likewise. * examples/pop3client.c: Likewise. * imap4d/append.c: Likewise. * imap4d/io.c: Likewise. * imap4d/preauth.c: Likewise. * lib/mailcap.c: Likewise. * libmailutils/attachment.c: Likewise. * libmailutils/cfg_driver.c: Likewise. * libmailutils/header.c: Likewise. * libmailutils/mailcap.c: Likewise. * libmailutils/mimehdr.c: Likewise. * libmailutils/mutil.c: Likewise. * libmailutils/tests/fltst.c: Likewise. * libmailutils/tests/mailcap.c: Likewise. * libmailutils/vartab.c: Likewise. * libmailutils/wicket.c: Likewise. * libmu_argp/muinit.c: Likewise. * libmu_auth/ldap.c: Likewise. * libmu_sieve/extensions/pipe.c: Likewise. * libmu_sieve/extensions/spamd.c: Likewise. * libmu_sieve/extensions/vacation.c: Likewise. * libproto/imap/folder.c: Likewise. * libproto/mailer/smtp.c: Likewise. * libproto/mailer/smtp_starttls.c: Likewise. * libproto/mbox/mbox.c: Likewise. * libproto/nntp/nntp_connect.c: Likewise. * libproto/pop/mbox.c: Likewise. * libproto/pop/pop3_connect.c: Likewise. * libproto/pop/pop3_stls.c: Likewise. * maidag/mailtmp.c: Likewise. * mail/decode.c: Likewise. * mail/pipe.c: Likewise. * mail/send.c: Likewise. * mail/send.c: Likewise. * mail/write.c: Likewise. * mh/burst.c: Likewise. * mh/comp.c: Likewise. * mh/compcommon.c: Likewise. * mh/forw.c: Likewise. * mh/mh_init.c: Likewise. * mh/mh_whatnow.c: Likewise. * mh/mhl.c: Likewise. * mh/mhn.c: Likewise. * mh/repl.c: Likewise. * mimeview/mimeview.c: Likewise. * pop3d/extra.c: Likewise. * sieve/sieve.c: Likewise. * testsuite/smtpsend.c: Likewise.
2010-09-09Remove leftovers of ARG_LICENSE option from MH.Sergey Poznyakoff1
2010-09-08Make version output of the MH utilities more informative.Sergey Poznyakoff1
* mh/mh_argp.c [MU_ALPHA_RELEASE}: Include git-describe.h (mh_program_version_hook): New function. (mh_argp_init): Take no arguments. Set argp_program_version_hook. * mh/mh_getopt.h (ARG_LICENSE): Remove. (mh_argp_init): Change proto. All sources: Fix calls to mh_argp_init, remove --license option.
2010-09-08Stream support rewritten from scratch.Sergey Poznyakoff1
Does not compile yet. New files: * mailbox/streamref.c * include/mailutils/sys/streamref.h * include/mailutils/sys/file_stream.h * include/mailutils/sys/header_stream.h * include/mailutils/sys/mapfile_stream.h * include/mailutils/sys/memory_stream.h * include/mailutils/sys/message_stream.h * include/mailutils/sys/prog_stream.h * include/mailutils/sys/socket_stream.h * include/mailutils/sys/stdio_stream.h * include/mailutils/sys/stream.h * include/mailutils/sys/streamtrans.h * mailbox/prog_stream.c * mailbox/stdio_stream.c * mailbox/stream_printf.c * mailbox/stream_vprintf.c * mailbox/temp_file_stream.c * mailbox/streamcpy.c * mailbox/binflt.c * mailbox/crlfflt.c * mailbox/fltstream.c * mailbox/qpflt.c * mailbox/linelenflt.c Removed files: * mailbox/filter_rfc822.c * mailbox/filter_trans.c Moved files (with edits): * libproto/include/filter0.h -> include/mailutils/sys/filter.h * libproto/include/header0.h -> include/mailutils/sys/header.h * libproto/include/message0.h -> include/mailutils/sys/message.h * libproto/include/mime0.h -> include/mailutils/sys/mime.h Modified files: * comsat/action.c * config/mailutils-config.c * examples/base64.c * examples/cpp/msg-send.cc * examples/header.c * examples/http.c * examples/iconv.c * examples/mimetest.c * examples/msg-send.c * examples/mta.c * examples/murun.c * examples/nntpclient.c * examples/pop3client.c * imap4d/append.c * imap4d/auth_gsasl.c * imap4d/fetch.c * imap4d/preauth.c * imap4d/search.c * imap4d/util.c * include/mailutils/body.h * include/mailutils/folder.h * include/mailutils/header.h * include/mailutils/mailbox.h * include/mailutils/mailer.h * include/mailutils/mailutils.h * include/mailutils/message.h * include/mailutils/stream.h * include/mailutils/sys/Makefile.am * include/mailutils/sys/filter.h * include/mailutils/sys/header.h * include/mailutils/sys/message.h * include/mailutils/sys/mime.h * include/mailutils/sys/nntp.h * include/mailutils/sys/pop3.h * include/mailutils/sys/stream.h * include/mailutils/types.hin * lib/mailcap.c * lib/mu_dbm.h * libmu_argp/muinit.c * libmu_auth/ldap.c * libmu_auth/tls.c * libmu_scm/Makefile.am * libmu_scm/mu_body.c * libmu_scm/mu_message.c * libmu_scm/mu_port.c * libmu_sieve/actions.c * libmu_sieve/extensions/pipe.c * libmu_sieve/extensions/spamd.c * libmu_sieve/extensions/vacation.c * libproto/mailer/smtp.c * libproto/mbox/mboxscan.c * libproto/mbox/mbox.c * libproto/mbox/mbox0.h * libproto/nntp/nntp_article.c * libproto/nntp/nntp_carrier.c * libproto/nntp/nntp_destroy.c * libproto/nntp/nntp_ihave.c * libproto/nntp/nntp_post.c * libproto/nntp/nntp_readline.c * libproto/nntp/nntp_sendline.c * libproto/pop/pop3_carrier.c * libproto/pop/pop3_destroy.c * libproto/pop/pop3_readline.c * libproto/pop/pop3_sendline.c * libproto/pop/pop3_stat.c * maidag/mailtmp.c * mail/decode.c * mail/escape.c * mail/msgset.y * mail/pipe.c * mail/print.c * mail/send.c * mail/top.c * mail/util.c * mail/write.c * mailbox/Makefile.am * mailbox/amd.c * mailbox/attachment.c * mailbox/body.c * mailbox/cfg_driver.c * mailbox/cfg_format.c * mailbox/debug.c * mailbox/file_stream.c * mailbox/folder.c * mailbox/hdritr.c * mailbox/header.c * mailbox/mailbox.c * mailbox/mailcap.c * mailbox/mailer.c * mailbox/mapfile_stream.c * mailbox/memory_stream.c * mailbox/message.c * mailbox/message_stream.c * mailbox/mime.c * mailbox/mimehdr.c * mailbox/mutil.c * mailbox/prog_stream.c * mailbox/progmailer.c * mailbox/rfc2047.c * mailbox/socket_stream.c * mailbox/stream.c * mailbox/stream_vprintf.c * mailbox/tcp.c * mailbox/vartab.c * mailbox/wicket.c * mh/burst.c * mh/comp.c * mh/compcommon.c * mh/forw.c * mh/mh_ctx.c * mh/mh_format.c * mh/mh_init.c * mh/mh_list.c * mh/mh_whatnow.c * mh/mhl.c * mh/mhn.c * mh/pick.y * mh/repl.c * mimeview/mimeview.c * mu-aux/generr.awk * pop3d/extra.c * pop3d/pop3d.h * pop3d/retr.c * pop3d/top.c * readmsg/msglist.c * readmsg/readmsg.c * sieve/sieve.c
2010-05-13MH: Improve handling of not implemented options.Sergey Poznyakoff1
* mh/mh_getopt.c (mh_opt_notimpl, mh_opt_notimpl_warning): New functions. * mh/mh_getopt.h (mh_opt_notimpl, mh_opt_notimpl_warning): New protos. * mh/ali.c (doc): Remove 'not implemented' stanza. * mh/pick.c: Likewise. * mh/anno.c: Use mh_opt_notimpl and mh_opt_notimpl_warning for not implemented options. * mh/comp.c: Likewise. * mh/forw.c: Likewise. * mh/mhn.c: Likewise. * mh/refile.c: Likewise. * mh/repl.c: Likewise. * mh/scan.c: Likewise. * mh/send.c: Likewise.
2010-01-05Update copyright years.Sergey Poznyakoff1
Happy GNU year!
2009-12-16Add TLS to MH. Handle --debug-level and --debug-line-info options.Sergey Poznyakoff1
* mailbox/mbx_default.c (attach_auth_ticket): Do not proceed if auth is NULL. * mh/mh_getopt.h (struct mh_argp_data): Change return type and signature of handler. (mh_argp_parse): Likewise. * mh/mh_argp.c (parse_opt): Rewrite using new handler prototype. (mh_argp_parse): Use new hanlder type. Assign argp children. * mh/mh_init.c (mh_init): Call mu_init_tls_libs. * mh/ali.c: Update opt_handler * mh/anno.c: Update opt_handler * mh/burst.c: Update opt_handler * mh/comp.c: Update opt_handler * mh/fmtcheck.c: Update opt_handler * mh/folder.c: Update opt_handler * mh/forw.c: Update opt_handler * mh/inc.c: Update opt_handler * mh/install-mh.c: Update opt_handler * mh/mark.c: Update opt_handler * mh/mhl.c: Update opt_handler * mh/mhn.c: Update opt_handler * mh/mhparam.c: Update opt_handler * mh/mhpath.c: Update opt_handler * mh/pick.c: Update opt_handler * mh/refile.c: Update opt_handler * mh/repl.c: Update opt_handler * mh/rmf.c: Update opt_handler * mh/rmm.c: Update opt_handler * mh/scan.c: Update opt_handler * mh/send.c: Update opt_handler * mh/sortm.c: Update opt_handler * mh/whatnow.c: Update opt_handler * mh/whom.c: Update opt_handler
2009-08-25Fix help messages.Sergey Poznyakoff1
Option descriptions in `--help' output do not constitute conceptual sentences. Therefore, they should not begin with a capital letter, nor end with a final point. Affected files: comsat/comsat.c, config/mailutils-config.c, dotlock/dotlock.c, frm/frm.c, frm/from.c, guimb/main.c, imap4d/imap4d.c, libmu_argp/auth.c, libmu_argp/common.c, libmu_argp/gsasl.c, libmu_argp/pam.c, libmu_argp/radius.c, libmu_argp/sieve.c, libmu_argp/sql.c, libmu_argp/tls.c, libmu_argp/virtdomain.c, libmu_auth/sql.c, libmu_cfg/sql.c, maidag/maidag.c, maidag/mailquota.c, maidag/mailtmp.c, mail/mail.c, messages/messages.c, mh/ali.c, mh/anno.c, mh/burst.c, mh/comp.c, mh/fmtcheck.c, mh/folder.c, mh/forw.c, mh/inc.c, mh/install-mh.c, mh/mark.c, mh/mh_init.c, mh/mhl.c, mh/mhn.c, mh/mhparam.c, mh/mhpath.c, mh/pick.c, mh/refile.c, mh/repl.c, mh/rmf.c, mh/rmm.c, mh/scan.c, mh/send.c, mh/sortm.c, mh/whatnow.c, mh/whom.c, mimeview/mimeview.c, movemail/movemail.c, pop3d/pop3d.c, pop3d/popauth.c, readmsg/readmsg.c, sieve/sieve.c
2009-08-25Change error messages to comply with the GNU standards.Sergey Poznyakoff1
The string MESSAGE should not begin with a capital letter when it follows a program name and/or file name, because that isn't the beginning of a sentence. (The sentence conceptually starts at the beginning of the line.) Also, it should not end with a period. * include/mailutils/diag.h (mu_diag_funcall): New prototype. * mailbox/diag.c: New function. * comsat/action.c, comsat/comsat.c, comsat/oldcfg.c, config/mailutils-config.c, configure.ac, dotlock/dotlock.c, frm/common.c, frm/from.c, guimb/collect.c, guimb/main.c, guimb/util.c, imap4d/auth_gsasl.c, imap4d/auth_gss.c, imap4d/bye.c, imap4d/close.c, imap4d/imap4d.c, imap4d/login.c, imap4d/preauth.c, imap4d/signal.c, imap4d/starttls.c, imap4d/util.c, lib/mailcap.c, lib/tcpwrap.c, libmu_argp/mu_argp.c, libmu_auth/ldap.c, libmu_auth/radius.c, libmu_auth/sql.c, libmu_auth/tls.c, libmu_cfg/acl.c, libmu_cfg/common.c, libmu_cfg/init.c, libmu_cfg/ldap.c, libmu_cfg/sql.c, libmu_sieve/actions.c, libmu_sieve/comparator.c, libmu_sieve/extensions/moderator.c, libmu_sieve/prog.c, libmu_sieve/sieve.l, libproto/imap/folder.c, libproto/mbox/mbox.c, maidag/deliver.c, maidag/lmtp.c, maidag/maidag.c, maidag/mailquota.c, maidag/mailtmp.c, maidag/script.c, mail/alias.c, mail/cd.c, mailbox/cfg_lexer.l, mailbox/cfg_parser.y, mailbox/file_stream.c, mailbox/gocs.c, mailbox/msrv.c, mailbox/mutil.c, mailbox/registrar.c, messages/messages.c, mh/folder.c, mh/forw.c, mh/inc.c, mh/mark.c, mh/mh_ctx.c, mh/mh_fmtgram.y, mh/mh_format.c, mh/mh_init.c, mh/mh_list.c, mh/mh_msgset.c, mh/mh_whatnow.c, mh/mh_whom.c, mh/mhl.c, mh/mhn.c, mh/pick.c, mh/refile.c, mh/repl.c, mh/rmf.c, mh/scan.c, mh/send.c, mimeview/mimetypes.l, mimeview/mimeview.c, movemail/movemail.c, pop3d/apop.c, pop3d/bulletin.c, pop3d/extra.c, pop3d/lock.c, pop3d/logindelay.c, pop3d/pop3d.c, pop3d/popauth.c, pop3d/quit.c, pop3d/signal.c, pop3d/user.c, readmsg/readmsg.c, sieve/sieve.c: Fix error messages.
2008-01-13Fix NLS issues.Sergey Poznyakoff1
* configure.ac: Define DEFAULT_TEXT_DOMAIN * comsat/comsat.c, dotlock/dotlock.c, frm/frm.c, frm/from.c, guimb/main.c, imap4d/imap4d.c, maidag/maidag.c, mail/mail.c, mail.local/main.c, mail.remote/mail.remote.c, messages/messages.c, mh/ali.c, mh/anno.c, mh/burst.c, mh/comp.c, mh/fmtcheck.c, mh/folder.c, mh/forw.c, mh/inc.c, mh/install-mh.c, mh/mark.c, mh/mhl.c, mh/mhn.c, mh/mhparam.c, mh/mhpath.c, mh/pick.c, mh/refile.c, mh/repl.c, mh/rmf.c, mh/rmm.c, mh/scan.c, mh/send.c, mh/sortm.c, mh/whatnow.c, mh/whom.c, mimeview/mimeview.c, movemail/movemail.c, pop3d/pop3d.c, pop3d/popauth.c, readmsg/readmsg.c, sieve/sieve.c, Use MU_APP_INIT_NLS instead of mu_init_nls. * mailbox/nls.c (mu_init_nls): Do not call textdomain.
2007-11-19* configure.ac (VI_CURRENT): Raise to 3;Sergey Poznyakoff1
(MU_APP_LIBRARIES): Rename libargp.a to libmuargp.a * NEWS: Update. * comsat/comsat.c, dotlock/dotlock.c, examples/muauth.c, examples/muemail.c, frm/frm.h, guimb/main.c, imap4d/imap4d.c, libargp/auth.c, libargp/cmdline.c, libargp/common.c, libargp/gsasl.c, libargp/mu_argp.c, libargp/pam.c, libargp/radius.c, libargp/sieve.c, libargp/sql.c, libargp/tls.c, libargp/virtdomain.c, maidag/maidag.h, mail/mail.c, mail.local/main.c, mail.remote/mail.remote.c, messages/messages.c, mimeview/mimetypes.y, mimeview/mimeview.c, movemail/movemail.c, pop3d/extra.c, pop3d/pop3d.c, pop3d/popauth.c, readmsg/readmsg.c, sieve/sieve.c: Include mailutils/libargp.h. * config/mailutils-config.c: New arguments to --link: cfg and argp. * include/mailutils/Makefile.am (pkginclude_HEADERS): Remove compat.h, add libargp.h, libcfg.h and version.h * include/mailutils/compat.h: Remove * include/mailutils/libargp.h: New file (from libargp/cmdline.h) * include/mailutils/libcfg.h: New file (from (libcfg/) * include/mailutils/version.h: New file * include/mailutils/folder.h (struct mu_0_6_folder_list): Remove (mu_0_6_folder_list, mu_0_6_folder_lsub) (mu_0_6_folder_list_destroy): Remove. * include/mailutils/mailutils.h: Include version.h Remove 0.6 compatibility layer. * mailbox/folder.c (list_to_0_6_folder_list, mu_0_6_folder_list) (mu_0_6_folder_lsub, mu_0_6_folder_list_destroy): Remove. * lib/Makefile.am (libmuaux_la_SOURCES): Remove argpinit.c, muinit.h and muinit.c * libargp/Makefile.am (noinst_LIBRARIES, noinst_HEADERS): Remove (lib_LIBRARIES): Add libmuargp.a * libargp/compat.c: New file. * libargp/muinit.c: New file. * libargp/cmdline.h: Remove. * libcfg/Makefile.am (noinst_HEADERS): Remove. * libcfg/auth.c, libcfg/common.c, libcfg/gsasl.c, libcfg/init.c, libcfg/pam.c, libcfg/radius.c, libcfg/sieve.c, libcfg/sql.c, libcfg/tls.c, libcfg/virtdomain.c: Include mailutils/libcfg.h * mailbox/Makefile.am (libmailutils_la_SOURCES): Add version.c * mailbox/cfg_lexer.c (_mu_parse_config): Do nothing if root_container is NULL. * mh/ali.c, mh/anno.c, mh/burst.c, mh/comp.c, mh/fmtcheck.c, mh/folder.c, mh/forw.c, mh/inc.c, mh/install-mh.c, mh/mark.c, mh/mhl.c, mh/mhn.c, mh/mhparam.c, mh/mhpath.c, mh/pick.c, mh/refile.c, mh/repl.c, mh/rmf.c, mh/rmm.c, mh/scan.c, mh/send.c, mh/sortm.c, mh/whatnow.c, mh/whom.c: Use mh_argp_init instead of mu_argp_init. * mh/mh_argp.c, mh/mh_getopt.h (mh_argp_init): New function
2007-11-10* Makefile.am, configure.ac: Add maidag.Sergey Poznyakoff1
* frm/common.c, imap4d/sync.c, libsieve/runtime.c, mh/scan.c: Update declaration of observable actions . * imap4d/select.c, imap4d/status.c, mh/anno.c, mh/forw.c, mh/repl.c: Use mu_mailbox_sync instead of mu_mailbox_save_attributes. * include/mailutils/mailbox.h (mu_mailbox_sync): New function. (mu_mailbox_save_attributes): Deprecated. * include/mailutils/message.h (mu_message_get_qid) (mu_message_set_qid): New functions. * include/mailutils/observer.h (MU_EVT_MESSAGE_APPEND): New event. (mu_observer_set_action_data): New function. Registers action-specific data. (mu_observable_notify): Get call-specific data as the third argument. * include/mailutils/types.hin (mu_message_qid_t): New data type. * libproto/imap/folder.c, libproto/imap/mbox.c, libproto/include/amd.h, libproto/maildir/mbox.c, libproto/mailer/sendmail.c, libproto/mailer/smtp.c, libproto/mbox/mboxscan.c, libproto/mh/mbox.c, libproto/nntp/mbox.c, libproto/pop/mbox.c, mailbox/folder.c, mailbox/mailer.c : Update calls to mu_observable_notify. * libproto/include/mailbox0.h (struct _mu_mailbox): Rename _save_attributes to _sync. * mailbox/amd.c: Likewise (_quick_get_message): New member. (MAILBOX_NOTIFY): Remove. * libproto/include/message0.h (struct _mu_message): New member _get_qid. * libproto/include/observer0.h (struct _mu_observer): New member _action_data. * libproto/mbox/mbox.c: Implement mbox_message_qid. Update calls to mu_observable_notify. (mbox_append_message): Report MU_EVT_MESSAGE_APPEND * mailbox/observer.c (mu_observer_destroy): Call _destroy with _action_data as its third argument. (mu_observer_action, mu_observable_notify): Takes third argument (call data) (mu_observer_set_action, mu_observer_set_destroy): Update signature. (mu_observer_set_action_data): New function. * libproto/mbox/mbox0.h, mail.local/main.c: Minor change. * mail.local/Makefile.am (mail_local_LDADD): Add MU_LIB_MAILER * mailbox/file_stream.c (_file_open): Fix handling of MU_STREAM_APPEND. Remove assertion. * mailbox/mailbox.c (mu_mailbox_quick_get_message): New function (mu_mailbox_sync): New function (mu_mailbox_get_size): Implement brute-force approach in case the mailbox does not provide a method. * mailbox/message.c (mu_message_get_qid, mu_message_set_qid): New function. * maildag/: New directory. A general-purpose mail delivery agent. * maildag/deliver.c: New file. * maildag/lmtp.c: New file. * maildag/maidag.c: New file. * maildag/maidag.h: New file. * maildag/mailtmp.c: New file. * maildag/mailquota.c: New file. * maildag/script.c: New file. * maildag/util.c: New file. * maildag/Makefile.am: New file. * maildag/.cvsignore: New file.
2007-06-27Prepare for the GPL v.3 release. Relicense programs under GPL v.3, libraries ↵Sergey Poznyakoff1
under LPGL v.3
2007-06-26Use mu_header_sget to retrieve context and configuration settings. Update ↵Sergey Poznyakoff1
all callers.
2006-09-10Reformat argp docstring in accordance with the new argp guidelines. Remove ↵Sergey Poznyakoff1
unneeded translators comment.
2006-05-20(opt_handler, make_draft): Handle --fccSergey Poznyakoff1
2006-05-17Remove mh_error function, use mu_error instead.Sergey Poznyakoff1
2006-01-27Fix semantics of -build/-draftmessage/-[no]draftfolder options for ↵Sergey Poznyakoff1
compatibility with other implementations of MH

Return to:

Send suggestions and report system problems to the System administrator.