1. 25 Sep, 2010 1 commit
    • * configure.ac: Use libmuaux.a instead of libmuaux.la.
      * examples/Makefile.am: Likewise.
      * examples/cpp/Makefile.am: Likewise.
      * imap4d/Makefile.am: Likewise.
      * mapi/Makefile.am: Likewise.
      * mh/Makefile.am: Likewise.
      * pop3d/Makefile.am: Likewise.
      
      Remove old files from POTFILES.in (see c42bddb0).
      
      * po/POTFILES.in: Remove comsat/oldcfg.c.
      
      Build testsuites after the programs they are to test.
      
      * frm/Makefile.am (SUBDIRS): Put . before tests.
      * messages/Makefile.am: Likewise.
      * readmsg/Makefile.am: Likewise.
      * sieve/Makefile.am: Likewise.
      
      Remove leftovers from CVS times:
      
      * .cvsignore: Remove.
      * am/.cvsignore: Remove.
      * lib/.cvsignore: Remove.
      * po/.cvsignore
      Sergey Poznyakoff authored
  2. 09 Sep, 2010 1 commit
  3. 08 Sep, 2010 5 commits
    • * mailbox/msgscan.c: New file.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add it.
      
      * include/mailutils/body.h (mu_body_set_get_stream): New prototype.
      * include/mailutils/message.h (MU_SCAN_SEEK, MU_SCAN_SIZE): New
      defines.
      (mu_message_scan): New structure.
      (mu_stream_scan_message): New prototype.
      (mu_message_set_get_stream): New prototype.
      * include/mailutils/stream.h (mu_stream_copy): Change signature: takes
      4 arguments now.
      * include/mailutils/sys/body.h (_mu_body) <_get_stream>: New method.
      * include/mailutils/sys/message.h (_mu_message) <_get_stream>: New method.
      * mailbox/body.c (_body_get_stream): Call _get_stream, if provided.
      * mailbox/message.c (_message_get_stream): Call _get_stream, if provided.
      
      * mailbox/stream.c (_stream_flush_buffer): Avoid infinite recursion:
      call stream->seek directly.
      * mailbox/streamcpy.c (mu_stream_copy): Return the number of bytes
      actually copied in the fourth argument. All uses updated.
      * mailbox/streamref.c (streamref_return): Do not propagate internal
      flags.
      (_streamref_readdelim): Ensure there is enough buffer space for the
      mu_stream_readdelim call.
      
      * libproto/pop/mbox.c: Finish client implementation.
      
      * mail/print.c (mail_print_msg): Close pager before returning on
      error.
      Sergey Poznyakoff authored
    • If a stream takes another stream(s) as a transport, it
      always increases its reference count.  This means that
      when that stream is destroyed the underlying stream is
      not destroyed by default (its refcount is decreased, that's
      all). To force destruction of the underlying stream,
      the caller must explicitly unreference it after creating
      the stream that uses it (or give its creation function
      the MU_STREAM_AUTOCLOSE flag, if it supports flags).
      
      Similarly, if a stream uses a non-stream object (e.g. a file
      descriptor) as the transport, it will not destroy it, unless
      it has been created with the MU_STREAM_AUTOCLOSE flag. This
      differs from the previous behavior.
      
      The MU_STREAM_NO_CHECK and MU_STREAM_NO_CLOSE flags are removed.
      
      * examples/base64.c (main): Call mu_filter_create with the
      MU_STREAM_AUTOCLOSE flag.
      * examples/mimetest.c (message_display_parts): Likewise.
      * examples/murun.c (main): Unref the input stream after
      passing it to mu_filter_prog_stream_create.
      * imap4d/fetch.c (fetch_io): Update arguments to mu_filter_create
      and mu_memory_stream_create.
      * imap4d/preauth.c (decode64_buf)
      (do_preauth_ident): Update arguments to mu_memory_stream_create and
      mu_tcp_stream_create.
      * imap4d/util.c (util_setio): Update arguments to mu_filter_create and
      mu_stdio_stream_create.
      * include/mailutils/stream.h (MU_STREAM_NO_CLOSE)
      (MU_STREAM_NO_CHECK): Remove.
      (MU_STREAM_AUTOCLOSE): New flag.
      (mu_iostream_create): Remove the `flags' argument.
      * libmu_argp/muinit.c (mu_app_init): Update arguments to
      mu_stdio_stream_create.
      * libmu_auth/ldap.c: Update arguments to
      mu_memory_stream_create and mu_filter_create.
      * libmu_auth/tls.c (_tls_io_close, _tls_close): Always try to close the
      transport stream. Rely on refcount to protect it.
      (_tls_io_done, _tls_done): Likewise, always unreference it.
      (_mu_tls_io_stream_create): Increase reference counter on the
      transport stream, unless MU_STREAM_AUTOCLOSE is requested.
      (_mu_tls_stream_create): Rewrite using the new MU_STREAM_AUTOCLOSE
      logic.
      * libmu_sieve/extensions/spamd.c (spamd_connect_tcp): Update arguments to
      mu_tcp_stream_create.
      (spamd_connect_tcp): Update arguments to mu_socket_stream_create and
      mu_filter_create.
      * libmu_sieve/extensions/vacation.c (build_mime): Update arguments to
      mu_filter_create.
      * mail/decode.c (display_submessage): Update arguments to
      mu_filter_create.
      * mailbox/attachment.c (mu_message_save_attachment): Update arguments to
      mu_filter_create.
      * mailbox/cfg_driver.c (mu_cfg_tree_reduce): Update arguments to
      mu_stdio_stream_create.
      * mailbox/dbgstream.c (_dbg_done): Use MU_STREAM_AUTOCLOSE bit to
      decide whether to destroy the debug object.
      (mu_dbgstream_create): Use MU_STREAM_AUTOCLOSE instead of
      MU_STREAM_NO_CLOSE.
      * mailbox/file_stream.c (fd_close): Use MU_STREAM_AUTOCLOSE bit to
      decide whether to close the descriptor.
      (mu_file_stream_create): Force MU_STREAM_AUTOCLOSE bit.
      * mailbox/filter.c (filter_create_rd, filter_create_wr): Change
      substream creation logic.
      * mailbox/filter_iconv.c (_icvt_close): Always try to close the
      transport stream. Rely on refcount to protect it.
      (_icvt_done): Ditto for destroying it.
      (mu_filter_iconv_create): Increase refcount on the transport stream,
      unless MU_STREAM_AUTOCLOSE is requested.
      * mailbox/fltstream.c (filter_done): Always dereference the
      transport stream. Rely on refcount to protect it.
      (filter_close): Ditto for closing it.
      (mu_filter_stream_create): Increase refcount on the transport stream,
      unless MU_STREAM_AUTOCLOSE is requested.
      * mailbox/iostream.c (_iostream_close) : Always try to close the
      transport stream. Rely on refcount to protect it.
      (_iostream_done): Ditto for closing it.
      (mu_iostream_create): Remove the use of MU_STREAM_NO_CLOSE.
      * mailbox/mimehdr.c (mu_mimehdr_decode_param): Remove the use of
      MU_STREAM_NO_CLOSE.
      * mailbox/mutil.c (mu_decode_filter) Change substream creation logic.
      * mailbox/prog_stream.c (_prog_open): Use MU_STREAM_AUTOCLOSE bit
      in arguments to mu_stdio_stream_create.
      (mu_filter_prog_stream_create): Increase refcount on the transport
      (input) stream.
      * mailbox/rfc2047.c (mu_rfc2047_decode): Dereference in_stream after
      passing it to mu_decode_filter.
      Pass MU_STREAM_AUTOCLOSE in flags to mu_filter_create.
      * mailbox/socket_stream.c (mu_socket_stream_create): Force
      MU_STREAM_AUTOCLOSE bit.
      * mailbox/streamref.c (_streamref_close): Always close the
      transport stream (refcount will protect it, if necessary).
      (mu_streamref_create_abridged): Mask out the MU_STREAM_AUTOCLOSE bit.
      * mailbox/temp_file_stream.c (mu_temp_file_stream_create: Force
      MU_STREAM_AUTOCLOSE bit.
      * mailbox/xscript-stream.c (_xscript_close): Always close the
      transport stream (refcount will protect it, if necessary).
      (mu_xscript_stream_create): Increase refcounts on both underlying streams,
      unless MU_STREAM_AUTOCLOSE is set.
      * pop3d/extra.c (pop3d_setio): Remove uses of MU_STREAM_NO_CLOSE.
      
      * examples/nntpclient.c: Remove uses of MU_STREAM_NO_CHECK/MU_STREAM_NO_CLOSE.
      * examples/pop3client.c: Likewise.
      * libmu_auth/gsasl.c: Likewise.
      * libproto/nntp/nntp_stream.c: Likewise.
      * libproto/pop/pop3_stream.c: Likewise.
      * mailbox/tcp.c: Likewise.
      * mailbox/vartab.c: Likewise.
      * mh/mh_list.c: Likewise.
      * mimeview/mimeview.c: Likewise.
      * mh/mhn.c: Likewise.
      (edit_mime): Use MU_STREAM_AUTOCLOSE.
      
      Bugfixes:
      
      * mailbox/fltstream.c (init_iobuf): Fix input initialization.
      (filter_write_internal): Bugfix.
      * mailbox/stream.c (_stream_buffer_freespace): New macro.
      (_stream_buffer_is_full): New macro.
      (BUFFER_FULL_P): Remove, use _stream_buffer_is_full instead. All callers
      updated.
      (_stream_flush_buffer): Operation for full buffered streams does not
      depend on the `all' flag.
      (mu_stream_write): Fix calculation of the bytes available in the
      buffer.
      Sergey Poznyakoff authored
    • * 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.
      Sergey Poznyakoff authored
    • * comsat/action.c
      * imap4d/fetch.c
      * imap4d/search.c
      * mh/burst.c
      * mh/comp.c
      * mh/forw.c
      * mh/mh_ctx.c
      * mh/mh_format.c
      * mh/mh_list.c
      * mh/mhn.c
      * mh/pick.y
      * pop3d/retr.c
      * pop3d/top.c
      * readmsg/msglist.c
      * readmsg/readmsg.c
      Sergey Poznyakoff authored
    • 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
      Sergey Poznyakoff authored
  4. 13 May, 2010 2 commits
  5. 14 Apr, 2010 1 commit
    • * mailbox/filter.c (filter_destroy): Destroy the underlying
      stream, unless flag is given.
      (mu_filter_create): Treat last argument as stream flags.
      * mailbox/filter_iconv.c (_icvt_destroy): Free the icvt_stream
      structure.
      
      * examples/mimetest.c (message_display_parts): Pass
      MU_STREAM_NO_CLOSE to the invocation of mu_filter_create.
      * mail/decode.c (display_submessage): Likewise.
      * mailbox/attachment.c (mu_message_save_attachment): Likewise.
      * mh/mh_list.c (eval_body): Likewise.
      * mh/mhn.c (mhn_message_size, show_internal): Likewise.
      (finish_text_msg): Likewise; call mu_stream_destroy
      
      * imap4d/preauth.c (decode64_buf): remove unnecessary
      call to mu_stream_destroy.
      * libmu_auth/ldap.c (chk_md5, chk_smd5)
      (chk_sha, chk_ssha): Likewise.
      
      * mailbox/mutil.c: Fix indentation.
      Sergey Poznyakoff authored
  6. 08 Apr, 2010 1 commit
    • * include/mailutils/message.h (mu_message_save_attachment)
      (mu_message_encapsulate, mu_message_unencapsulate): Change type
      of the last argument.
      (mu_mime_io_buffer_create,mu_mime_io_buffer_destroy)
      (mu_mime_io_buffer_set_size,mu_mime_io_buffer_get_size)
      (mu_mime_io_buffer_set_charset,mu_mime_io_buffer_sget_charset)
      (mu_mime_io_buffer_aget_charset): New prototypes.
      (mu_mimehdr_get_disp,mu_mimehdr_aget_disp): Remove unneeded
      parameter.
      * include/mailutils/types.hin (mu_mime_io_buffer_t): New type.
      * mailbox/attachment.c (_msg_info): Rename structure to
      _mu_mime_io_buffer.
      <header_buf,header_len,mu_header_size>: Remove unreferenced members.
      <refcnt,bufsize,charset>: New members.
      <ioffset,ooffset>: Change type to size_t.
      (mu_mime_io_buffer_create,mu_mime_io_buffer_destroy)
      (mu_mime_io_buffer_set_size,mu_mime_io_buffer_get_size)
      (mu_mime_io_buffer_set_charset,mu_mime_io_buffer_sget_charset)
      (mu_mime_io_buffer_aget_charset): New functions.
      (mu_message_save_attachment)
      (mu_message_encapsulate, mu_message_unencapsulate): Take
      mu_mime_io_buffer_t as the last argument.
      * mailbox/mimehdr.c (mu_mimehdr_get_disp): Remove unneeded
      parameter.
      (mu_mimehdr_aget_disp): Remove unneeded parameter. Store
      return value into pvalue.
      
      * examples/mimetest.c (message_display_parts): Use
      mu_mimehdr_aget_disp and mu_mime_io_buffer_* functions.
      * mailbox/testsuite/Mime: Update.
      
      * mh/mhn.c (options, opt_handler): New option --charset.
      (store_handler): Use mu_message_aget_decoded_attachment_name.
      Sergey Poznyakoff authored
  7. 06 Apr, 2010 1 commit
    • * mailbox/mimehdr.c: New file.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add
      mailbox/mimehdr.c.
      * mailbox/attachment.c (_header_get_param)
      (_get_attachment_name, mu_message_aget_attachment_name)
      (mu_message_get_attachment_name: Move to mailbox/mimehdr.c (with
      edits).
      (mu_message_save_attachment): Add a FIXME comment.
      * include/mailutils/message.h (MU_MIMEHDR_MULTILINE)
      (MU_MIMEHDR_CSINFO): New defines.
      (mu_mimehdr_get_disp,mu_mimehdr_aget_disp)
      (mu_mimehdr_get_param,mu_mimehdr_aget_param)
      (mu_mimehdr_decode_param)
      (mu_mimehdr_aget_decoded_param): New prototypes.
      (mu_message_aget_attachment_name): Change signature.
      (mu_message_aget_decoded_attachment_name): New prototype.
      
      * mailbox/mutil.c (mu_hex2ul): Fix a silly bug (have
      anybody ever tried to use that function?!?)
      * mailbox/testsuite/Urls: Update.
      
      * examples/mimetest.c (message_display_parts): Add a FIXME comment.
      * libmu_cpp/message.cc (Message::get_attachment_name): Likewise.
      * mh/mhn.c (store_handler): Likewise.
      * python/libmu_py/message.c (api_message_get_attachment_name): Likewise.
      Sergey Poznyakoff authored
  8. 03 Apr, 2010 1 commit
  9. 20 Feb, 2010 1 commit
    • * include/mailutils/iterator.h (mu_itrctl_delete_nd)
      (mu_itrctl_replace_nd): New mu_itrctl_req constants.
      * include/mailutils/list.h (mu_list_remove_nd)
      (mu_list_replace_nd): New prototypes.
      (mu_list_destroy_item_t): New typedef.
      (mu_list_set_destroy_item): Return mu_list_destroy_item_t.
      * mailbox/list.c (DESTROY_ITEM): New macro.
      (mu_list_destroy): Use DESTROY_ITEM.
      (mu_list_remove, mu_list_replace): Actually destroy the
      item being removed.
      (mu_list_remove_nd, mu_list_replace_nd): New functions.
      (mu_list_set_destroy_item): Return previous value of
      destroy_item.
      (list_itrctl): Handle mu_itrctl_delete_nd and mu_itrctl_replace_nd.
      
      * mailbox/observer.c (mu_observable_create): Register destroy_item
      function.
      (mu_observable_destroy): Remove explicit loop. Rely on destroy_item
      instead.
      (mu_observable_detach): Use mu_iterator_ctl to actually
      remove the event.
      * mh/mh_alias.y (_insert_list): Remove.
      (alias_expand_list): Use mu_iterator_ctl to insert
      replacement list and remove the current item.
      * mh/sortm.c (addop): Register destroy_item function.
      (remop): Remove call to free.
      * movemail/movemail.c (main): <uidl loop>: Use mu_itrctl_delete
      to remove items.
      
      * libmu_sieve/util.c: Minor change.
      
      * mail/util.c (util_slist_compare): New static function.
      (util_slist_add): Register destroy_item and comparison
      functions for the new list.
      (util_slist_remove,util_slist_destroy): Rewrite.
      
      * imap4d/authenticate.c (auth_add): Use mu_list_free_item as
      destroy_item function.
      * imap4d/util.c (util_register_event): Likewise.
      
      * include/mailutils/cpp/list.h (List)<set_destroy_item>: Change
      return value.
      * libmu_cpp/list.cc (List::set_destroy_item): Reflect changes to
      mu_list_set_destroy_item.
      * libmu_argp/common.c: Include stdlib.h
      Sergey Poznyakoff authored
  10. 27 Jan, 2010 1 commit
  11. 05 Jan, 2010 1 commit
  12. 02 Jan, 2010 1 commit
    • * libmu_cfg/init.c (mu_libcfg_parse_config): Do not produce error
      if user configuration file is absent.
      * libmu_sieve/sieve.l: Include config.h in %top section.
      * mh/mh_alias.l: Likewise.
      * mimeview/mimetypes.l: Likewise.
      * mailbox/cfg_lexer.l: Likewise.
      (mu_get_config): Call mu_cfg_tree_postprocess.
      Sergey Poznyakoff authored
  13. 29 Dec, 2009 1 commit
    • * gnulib.modules (mbchar, mbiter, mbslen): New modules.
      * mh/mh.h (mh_charset): New function.
      * mh/mh_format.c (DFLWIDTH): New macro.
      (mbsubstrlen, mbsnlen): New functions.
      (compress_ws): Handle multibyte strings.
      (put_string): Use number of characters, not
      octets, to update ind.
      (print_hdr_segment): Handle multibyte strings.
      (print_simple_segment, print_fmt_string): Likewise.
      (reset_fmt_defaults): Restore default WS compression.
      (mh_format): Set LC_TYPE based on the settings of
      profile variables Charset and LC_BASE (new variable).
      * mh/mh_init.c (mh_charset): New function.
      (mh_decode_2047): Use mh_charset.
      Sergey Poznyakoff authored
  14. 26 Dec, 2009 1 commit
    • Whitespace compression in its current form interacts badly
      with wide-character encodings. To prevent it from spoiling
      wide charater text, it is disabled by default. The user may
      turn it back on by setting "Compress-WS: yes" in his .mh_profile.
      
      * mh/mh.h (MH_FMT_COMPWS): New format flag.
      * mh/mh_format.c (COMPRESS_WS): New macro.
      (reset_fmt_defaults): Set MH_FMT_COMPWS flag
      if Compress-WS global parameter is set to true.
      (mh_format, builtin_concat): Call COMPRESS_WS.
      Sergey Poznyakoff authored
  15. 16 Dec, 2009 1 commit
    • Affected files:
      
      * comsat/comsat.c
      * examples/header.c
      * examples/mailcap.c
      * examples/pop3client.c
      * examples/url-parse.c
      * imap4d/fetch.c
      * imap4d/id.c
      * imap4d/list.c
      * imap4d/select.c
      * imap4d/status.c
      * imap4d/store.c
      * imap4d/sync.c
      * imap4d/util.c
      * include/mailutils/sieve.h
      * libmu_argp/common.c
      * libmu_argp/muinit.c
      * libmu_sieve/actions.c
      * libmu_sieve/extensions/pipe.c
      * libmu_sieve/extensions/vacation.c
      * libmu_sieve/prog.c
      * libmu_sieve/require.c
      * libmu_sieve/runtime.c
      * libmu_sieve/sieve-priv.h
      * libmu_sieve/sieve.y
      * libproto/imap/folder.c
      * libproto/imap/mbox.c
      * libproto/mailer/sendmail.c
      * libproto/mbox/mbox.c
      * libproto/pop/pop3_list.c
      * libproto/pop/pop3_stat.c
      * maidag/lmtp.c
      * maidag/sieve.c
      * mail/copy.c
      * mail/decode.c
      * mail/envelope.c
      * mail/eq.c
      * mail/escape.c
      * mail/from.c
      * mail/mail.h
      * mail/mailline.c
      * mail/mailvar.c
      * mail/size.c
      * mail/util.c
      * mail/write.c
      * mailbox/cfg_format.c
      * mailbox/folder.c
      * mailbox/parse822.c
      * mailbox/system.c
      * messages/messages.c
      * mh/folder.c
      * mh/forw.c
      * mh/inc.c
      * mh/mh.h
      * mh/mh_alias.l
      * mh/mh_fmtgram.y
      * mh/mh_getopt.h
      * mh/mh_init.c
      * mh/mh_msgset.c
      * mh/mh_whatnow.c
      * mh/mhn.c
      * mh/pick.y
      * mimeview/mimetypes.y
      * python/libmu_py/debug.c
      * sieve/sieve.c
      Sergey Poznyakoff authored
  16. 15 Dec, 2009 1 commit
    • * 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
      Sergey Poznyakoff authored
  17. 31 Oct, 2009 1 commit
  18. 25 Aug, 2009 2 commits
    • 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
      Sergey Poznyakoff authored
    •    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.
      Sergey Poznyakoff authored
  19. 20 Aug, 2009 1 commit
    • Minor fixes. · 5171c0f9
      * .gitignore: Add pathdefs.h
      * examples/Makefile.am (muauth_CPPFLAGS)
      (muemail_CPPFLAGS): New variables.
      * examples/argcv.c (main): Remove unused local.
      * include/mailutils/gsasl.h [USE_GSASL]: Change to WITH_GSASL.
      * include/mailutils/libcfg.h (mu_acl_cfg_init): New prototype.
      * include/mailutils/mu_auth.h (mu_authenticate): Password is const.
      * include/mailutils/python.h: Fix indentation.
      (mu_py_script_data): module_name is const char *.
      * libmu_auth/radius.c: Include radius/debug.h
      * libproto/mailer/smtp.c: Include io.h and secret.h
      * mail/mail.c: Fix indentation.
      * mail/util.c (util_rfc2047_decode): Fix local variable declaration.
      * mailbox/mu_auth.c (mu_authenticate): Password is const.
      * mh/mh.h (mh_alias_get, mh_alias_get_address)
      (mh_alias_get_alias): Name is const.
      * mh/mh_alias.y: Likewise.
      * mh/mh_list.c (print_header_value): Fix improper use of mu_toupper.
      * mh/mh_whatnow.c (invoke): Add typecasts.
      * python/libmu_py/nls.c (api_nls_set_locale): Remove unused automatic.
      * python/libmu_py/sieve.c (_sieve_error_printer): Provide missing
      return value.
      (_sieve_debug_printer): Likewise.
      Sergey Poznyakoff authored
  20. 12 Aug, 2009 1 commit
    • * Makefile.am: Conditionally add directories to SUBDIRS.
      * am/enable.m4 (MU_ENABLE_BUILD): New macro.
      * configure.ac: Require automake 1.11
      Add MU_ENABLE_BUILDs for each utility.
      Remove unused substitution variables.
      * guimb/Makefile.am: Remove substitution variables.
      * guimb/scm/Makefile.am: Likewise.
      * libmu_scm/Makefile.am: Likewise.
      * mh/Makefile.am: Likewise.
      * python/libmu_py/Makefile.am: Likewise.
      * python/mailutils/Makefile.am: Likewise.
      * README: Document --disable-build-* options.
      Sergey Poznyakoff authored
  21. 07 Jul, 2009 2 commits
    • * include/mailutils/cstr.h (mu_str_stripws): New function.
      * mailbox/stripws.c: New file.
      * mailbox/Makefile.am (libmailutils_la_SOURCES): Add stripws.c
      
      * examples/nntpclient.c (stripwhite): Remove. Use mu_str_stripws instead.
      (execute_line): Rewrite using new string functions.
      * examples/pop3client.c: Likewise.
      * mailbox/mailcap.c (stripwhite): Remove. Use mu_str_stripws instead.
      * mailbox/mime.c (_strltrim, _strttrim, _strtrim): Remove. Use
      mu_str_stripws instead.
      
      * mail/mail.c: Use mu_str_stripws.
      * mail/mail.h (util_stripwhite): Remove prototype.
      * mail/util.c (util_stripwhite): Remove
      * examples/pop3client.c: Likewise.
      * imap4d/util.c: Use new string functions.
      * maidag/forward.c: Likewise.
      * maidag/lmtp.c: Likewise.
      * mh/mhn.c: Likewise.
      
      * libproto/imap/folder.c: Remove unused local.
      * libproto/mailer/smtp.c (smtp_writeline): Minor optimization.
      Sergey Poznyakoff authored
    • * include/mailutils/cctype.h: New file.
      * include/mailutils/cstr.h: New file.
      * include/mailutils/Makefile.am: Add new files.
      * mailbox/cstrcasecmp.c: New file.
      * mailbox/cstrlower.c: New file.
      * mailbox/cstrupper.c: New file.
      * mailbox/muctype.c: New file.
      * mailbox/strltrim.c: New file.
      * mailbox/strrtrim.c: New file.
      * mailbox/strskip.c: New file.
      * mailbox/Makefile.am: Add new files.
      * .gitignore: Update
      
      * gnulib.modules: Remove strcase.
      
      * comsat/comsat.h, imap4d/imap4d.h, include/mailutils/mailutils.h,
      include/mailutils/mutil.h, include/mailutils/sys/pop3.h,
      libmu_scm/mu_scm.h, mail/mail.h: Include cstr.h and cctype.h.
      
      * comsat/oldcfg.c, config/mailutils-config.c,
      examples/mimetest.c, examples/mta.c, examples/nntpclient.c,
      examples/pop3client.c, imap4d/append.c, imap4d/create.c,
      imap4d/delete.c, imap4d/fetch.c, imap4d/id.c,
      imap4d/idle.c, imap4d/list.c, imap4d/namespace.c,
      imap4d/rename.c, imap4d/search.c, imap4d/status.c,
      imap4d/store.c, imap4d/uid.c, imap4d/util.c,
      libmu_argp/compat.c, libmu_auth/ldap.c,
      libmu_auth/sql.c, libmu_scm/mu_message.c,
      libmu_sieve/actions.c, libmu_sieve/comparator.c,
      libmu_sieve/extensions/list.c, libmu_sieve/extensions/spamd.c,
      libmu_sieve/extensions/vacation.c, libmu_sieve/load.c,
      libmu_sieve/sieve.l, libmu_sieve/tests.c,
      libproto/imap/folder.c, libproto/mailer/smtp.c,
      libproto/mbox/mbox.c, libproto/mh/folder.c,
      libproto/mh/mbox.c, libproto/pop/folder.c,
      libproto/pop/mbox.c, libproto/pop/pop3_connect.c,
      maidag/forward.c, maidag/lmtp.c, maidag/maidag.c,
      maidag/maidag.h, maidag/mailquota.c, mail/alt.c,
      mail/copy.c, mail/decode.c, mail/escape.c,
      mail/followup.c, mail/mail.c, mail/mailline.c,
      mail/msgset.y, mail/print.c, mail/reply.c,
      mail/send.c, mail/shell.c, mail/util.c,
      mail/write.c, mailbox/address.c,
      mailbox/amd.c, mailbox/assoc.c,
      mailbox/attachment.c, mailbox/attribute.c,
      mailbox/cfg_lexer.l, mailbox/date.c,
      mailbox/filter.c, mailbox/gdebug.c,
      mailbox/header.c, mailbox/kwd.c,
      mailbox/locale.c, mailbox/mailcap.c,
      mailbox/mailer.c, mailbox/message.c,
      mailbox/message_stream.c, mailbox/mime.c,
      mailbox/msrv.c, mailbox/mutil.c,
      mailbox/parse822.c, mailbox/progmailer.c,
      mailbox/rfc2047.c, mailbox/syslog.c, mailbox/url.c,
      mailbox/version.c, mh/mh.h, mh/mh_alias.l,
      mh/mh_ctx.c, mh/mh_fmtgram.y, mh/mh_init.c,
      mh/mh_list.c, mh/mh_msgset.c, mh/mh_sequence.c,
      mh/mh_whatnow.c, mh/mh_whom.c, mh/mhn.c,
      mh/mhparam.c, mh/pick.y, mh/sortm.c,
      mimeview/mimetypes.y, pop3d/bulletin.c,
      pop3d/expire.c, pop3d/pop3d.c, pop3d/pop3d.h,
      pop3d/popauth.c, pop3d/user.c, readmsg/msglist.c,
      readmsg/readmsg.c, readmsg/readmsg.h, sql/mysql.c,
      sql/postgres.c: Use locale-independent cclass and str functions.
      Sergey Poznyakoff authored
  22. 04 Jul, 2009 1 commit
    • * README-hacking: Update.
      * configure.ac (MU_COMMON_INCLUDES): Remove.
      (MU_LIB_COMMON_INCLUDES,MU_APP_COMMON_INCLUDES): New variables.
      Link lib/gettext.h and lib.intprops.h to include.
      * gnulib.modules: Remove fnmatch.
      * comsat/Makefile.am, config/Makefile.am,
      dotlock/Makefile.am, frm/Makefile.am,
      guimb/Makefile.am, imap4d/Makefile.am,
      maidag/Makefile.am, mail/Makefile.am,
      movemail/Makefile.am, pop3d/Makefile.am,
      python/libmu_py/Makefile.am, readmsg/Makefile.am
      sieve/Makefile.am (INCLUDES): Use MU_APP_COMMON_INCLUDES
      * lib/Makefile.am, examples/Makefile.am,
      libmu_argp/Makefile.am, libmu_auth/Makefile.am,
      libmu_cpp/Makefile.am, libmu_sieve/Makefile.am,
      libproto/imap/Makefile.am, libproto/mailer/Makefile.am,
      libproto/mh/Makefile.am, libproto/nntp/Makefile.am,
      libproto/pop/Makefile.am, mailbox/Makefile.am,
      mapi/Makefile.am, messages/Makefile.am,
      mh/Makefile.am, sql/Makefile.am (INCLUDES): Use MU_LIB_COMMON_INCLUDES
      Sergey Poznyakoff authored
  23. 11 May, 2009 1 commit
    • * mailbox/filter.c (filter_close): Do not close transport stream if
      the MU_STREAM_NO_CLOSE flag is set.
      * imap4d/fetch.c (fetch_io): Fix memory leak: open the filter
      with MU_STREAM_NO_CLOSE flag and destroy it after use.
      * include/mailutils/header.h (mu_header_set_stream): Comment out.
      There is no such function, but perhaps there should be?
      
      * libproto/mbox/folder.c (_folder_mbox_init): If there is no
      explicit path in the URL, use ".".  This makes it possible to
      use URLs like: mbox:file.
      
      * mailbox/nls.c (mu_set_locale) [ENABLE_NLS]: Remove ifdef.
      Setlocale must be enabled whenever possible, otherwise
      we cannot relay on mu_strftime malfunctions in non-english
      locales.
      * mh/mh_whom.c (mh_alias_expand): Handle NULL or empty inputs.
      Sergey Poznyakoff authored
  24. 15 Apr, 2009 1 commit
    • * examples/addr.c: Allow to modify hints via command line (-v)
      and within the shell (\...).
      * include/mailutils/address.h (MU_ADDR_HINT_*): New defines.
      (struct _mu_address): Definition.
      (mu_address_create_hint): New prototype.
      * include/mailutils/parse822.h (mu_parse822_address_list)
      (mu_parse822_mail_box, mu_parse822_group)
      (mu_parse822_address, mu_parse822_route_addr)
      (mu_parse822_route, mu_parse822_addr_spec)
      (mu_parse822_unix_mbox, mu_parse822_local_part): Take hint and hint flags.
      * mailbox/parse822.c: Likewise.
      
      * libproto/include/Makefile.am (noinst_HEADERS): Remove address0.h
      * libproto/include/address0.h: Removed.
      * mailbox/address.c (mu_address_create_hint): New function.
      (mu_address_create): Rewrite using mu_address_create_hint.
      
      * mh/mh_init.c (mh_expand_aliases): Use mu_header_sget_field_name
      * mh/mh_whom.c (mh_alias_expand): Rewrite using mu_address_create_hint.
      This fixes parsing addresses similar to "a@b <a@b>".
      * mh/send.c: New command line option --preserve (--keep)
      Sergey Poznyakoff authored
  25. 22 Mar, 2009 1 commit
    • * scripts/guile-1.4: Removed.
      * scripts/guile-1.6/guile-doc-snarf: Move to the parent dir.
      * scripts/guile-1.6/guile-doc-snarf.awk: Move to the parent dir.
      * scripts: Rename to mu-aux. All references updated.
      * am/enable.m4 (MU_ENABLE_SUPPORT): add fourth argument, action-default
      Translate + to x.
      * am/guile.m4 (MU_RESULT_ACTIONS): Remove.
      (MU_CHECK_GUILE): Rewrite. Drop support for versions < 1.8
      * am/lib.m4 (MU_CHECK_LIB): Rewrite using a cleaner approach.
      * bootstrap.conf: Remove build_aux assignement.
      * configure.ac: Assume a new naming scheme for optional builds: for
      each subst variable named MU_whatever_BUILD there is a corresponing
      Makefile.am variable named MU_whatever_LIST, if `whatever' is to be
      built MU_whatever_BUILD is set to '$(MU_whatever_LIST)'
      New option --disable-c++.
      Improve status output.
      * examples/Makefile.am, examples/cpp/Makefile.am,
      include/mailutils/Makefile.am, libmu_cpp/Makefile.am, libmu_scm/Makefile.am,
      libmu_sieve/Makefile.am, libmu_sieve/extensions/Makefile.am,
      libmu_sieve/load.c, mail.remote/Makefile.am,
      mail.remote/testsuite/Makefile.am, mailbox/Makefile.am,
      mh/Makefile.am, mimeview/Makefile.am, mu-aux/Makefile.am,
      python/mailutils/Makefile.am: Reflect changes to autoconf machinery.
      
      * /include/mailutils/guile.h: Drop support for versions < 1.8
      * libmu_scm/mu_util.c: Likewise.
      Sergey Poznyakoff authored
  26. 08 Dec, 2008 1 commit
  27. 22 Sep, 2008 1 commit
    • representation of syslog facility.
      * mailbox/cfg_lexer.l: Re-introduce pragmatic comment
      #debug=, for setting debugging level in config module.
      * mailbox/cfg_parser.y: Likewise.
      * mailbox/gdebug.c (mu_debug_level_from_string): Ignore trailing
      newline.
      * mailbox/version.c (mu_conf_option): Add SYSCONFDIR, MAILSPOOLDIR
      and LOG_FACILITY.
      
      * mh/mh_init.c (mh_list_format): Reformat to make it more
      readable. Use decode primitive on header fields that may be
      encoded.
      
      * doc/texinfo/mailutils.texi: Further update.
      * doc/texinfo/programs.texi: Likewise.
      Sergey Poznyakoff authored
  28. 19 Jul, 2008 1 commit
    • Minor fix. · 583f4579
      * mh/mhn.c (normalize_path): First arg is const char *.
      (store_handler): Avoid unnecessary allocations (and coredumps,
      if mhn-storage profile is not set.
      Sergey Poznyakoff authored
  29. 29 Feb, 2008 3 commits
  30. 13 Jan, 2008 1 commit
    • * 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.
      Sergey Poznyakoff authored
  31. 04 Dec, 2007 1 commit
    • * frm/common.c, imap4d/imap4d.c: Shut compiler warnings.
      * include/mailutils/cfg.h (mu_cfg_format_tree): Rename to
      mu_cfg_format_parse_tree
      (mu_cfg_format_container,mu_format_config_tree): New functions.
      (mu_parse_config_tree): New prototype.
      (mu_cfg_tree_create_node): Change signature (const char* instead
      of char*).
      * include/mailutils/gocs.h (mu_gocs_register): First arg is const.
      * include/mailutils/libargp.h (mu_argp_node_list_new): Mark
      invariable arguments as const.
      * include/mailutils/libcfg.h (mu_libcfg_init): Remove const from
      the arg.
      * include/mailutils/mutil.h (mu_spawnvp): Remove const from the
      2nd arg.
      * libargp/cmdline.c (mu_argp_node_list_new): Mark invariable
      arguments as const.
      
      * lib/mailcap.h: New file.
      * lib/Makefile.am (libmuaux_la_SOURCES): Add mailcap.h
      * libargp/cmdline.h (mu_help_config_mode): New extern.
      * libargp/common.c: New option --config-help displays a
      configuration file summary.
      * libargp/muinit.c (mu_app_init): Handle --config-help.
      * libcfg/init.c (mu_libcfg_init): Remove const from the arg.
      * maidag/maidag.h (mda): New prototype.
      * mail/decode.c: Include mailcap.h
      * mail/mail.h: Define _GNU_SOURCE before including stdio.h
      * mail/send.c: Fix includes.
      * mail.remote/mail.remote.c: Include mu_umaxtostr.h
      
      * mailbox/cfg_format.c (mu_cfg_data_type_string)
      (mu_cfg_format_container): New function.
      * mailbox/cfg_lexer.c (mu_build_container): New function.
      (mu_parse_config_tree): Use mu_build_container.
      (mu_format_config_tree): New function.
      * mailbox/cfg_parser.y (mu_cfg_tree_create_node): Change proto.
      * mailbox/gocs.c (struct mu_gocs_entry): Name is const.
      (mu_gocs_register): 1st arg (capa) is const.
      * mailbox/mutil.c (mu_spawnvp): Remove const from the 2nd arg.
      * mh/mh_whatnow.c (invoke): Shut compiler warnings.
      * mimeview/mimetypes.l (mimetypes_open): Shut compiler warnings.
      * mimeview/mimeview.c: Include mailcap.h
      (display_file): Shut compiler warnings.
      * readmsg/readmsg.c: Include mu_umaxtostr.h
      * sieve/sieve.c (parser): Remove unused variable.
      Sergey Poznyakoff authored