]> git.llucax.com Git - software/mutt-debian.git/commitdiff
Merge commit 'upstream/1.5.21'
authorAntonio Radici <antonio@dyne.org>
Sun, 3 Oct 2010 19:41:38 +0000 (20:41 +0100)
committerAntonio Radici <antonio@dyne.org>
Sun, 3 Oct 2010 19:41:38 +0000 (20:41 +0100)
Conflicts:
Makefile.in
aclocal.m4
config.h.in
configure
contrib/Makefile.in
doc/Makefile.in
imap/Makefile.in
m4/Makefile.in
po/bg.gmo
po/ca.gmo
po/cs.gmo
po/da.gmo
po/de.gmo
po/el.gmo
po/eo.gmo
po/es.gmo
po/et.gmo
po/eu.gmo
po/fr.gmo
po/ga.gmo
po/gl.gmo
po/hu.gmo
po/id.gmo
po/it.gmo
po/ja.gmo
po/ko.gmo
po/lt.gmo
po/nl.gmo
po/pl.gmo
po/pt_BR.gmo
po/ru.gmo
po/sk.gmo
po/sv.gmo
po/tr.gmo
po/uk.gmo
po/zh_CN.gmo
po/zh_TW.gmo

167 files changed:
.gitignore [new file with mode: 0644]
Makefile.in [deleted file]
aclocal.m4 [deleted file]
config.h.in [deleted file]
configure [deleted file]
contrib/Makefile.in [deleted file]
debian/MY-TODO [new file with mode: 0644]
debian/NEWS [new file with mode: 0644]
debian/README.Debian [new file with mode: 0644]
debian/README.source [new file with mode: 0644]
debian/bug/control [new file with mode: 0644]
debian/bug/script [new file with mode: 0755]
debian/changelog [new file with mode: 0644]
debian/clean [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/extra/README.SMIME [new file with mode: 0644]
debian/extra/lib/debian-ldap-query [new file with mode: 0755]
debian/extra/lib/mailspell [new file with mode: 0755]
debian/extra/lib/mailto-mutt [new file with mode: 0755]
debian/extra/lib/source-muttrc.d [new file with mode: 0755]
debian/extra/mutt-patched.rc/sidebar.rc [new file with mode: 0644]
debian/extra/mutt.xpm [new file with mode: 0644]
debian/extra/rc/Muttrc.foot [new file with mode: 0644]
debian/extra/rc/charset.rc [new file with mode: 0644]
debian/extra/rc/colors.rc [new file with mode: 0644]
debian/extra/rc/compressed-folders.rc [new file with mode: 0644]
debian/extra/samples/colors.angdraug [new file with mode: 0644]
debian/extra/samples/ray.muttrc [new file with mode: 0644]
debian/extra/samples/sidebar.muttrc [new file with mode: 0644]
debian/header.awk [new file with mode: 0755]
debian/mutt-dbg.links [new file with mode: 0644]
debian/mutt-patched.install [new file with mode: 0644]
debian/mutt-patched.links [new file with mode: 0644]
debian/mutt-patched.lintian-overrides [new file with mode: 0644]
debian/mutt-patched.postinst [new file with mode: 0644]
debian/mutt-patched.prerm [new file with mode: 0644]
debian/mutt.dirs [new file with mode: 0644]
debian/mutt.doc-base [new file with mode: 0644]
debian/mutt.docs [new file with mode: 0644]
debian/mutt.examples [new file with mode: 0644]
debian/mutt.install [new file with mode: 0644]
debian/mutt.lintian-overrides [new file with mode: 0644]
debian/mutt.manpages [new file with mode: 0644]
debian/mutt.menu [new file with mode: 0644]
debian/mutt.mime [new file with mode: 0644]
debian/mutt.postinst [new file with mode: 0644]
debian/mutt.preinst [new file with mode: 0644]
debian/mutt.prerm [new file with mode: 0644]
debian/patches/debian-specific/467432-write_bcc.patch [new file with mode: 0644]
debian/patches/debian-specific/529838-gnutls-autoconf.patch [new file with mode: 0644]
debian/patches/debian-specific/Md.etc_mailname_gethostbyname.diff [new file with mode: 0644]
debian/patches/debian-specific/Muttrc [new file with mode: 0644]
debian/patches/debian-specific/assumed_charset-compat [new file with mode: 0644]
debian/patches/debian-specific/build_doc_adjustments.diff [new file with mode: 0644]
debian/patches/debian-specific/correct_docdir_in_man_page.diff [new file with mode: 0644]
debian/patches/debian-specific/document_debian_defaults [new file with mode: 0644]
debian/patches/debian-specific/dont_document_not_present_features.diff [new file with mode: 0644]
debian/patches/debian-specific/use_usr_bin_editor.diff [new file with mode: 0644]
debian/patches/features-old/patch-1.5.4.vk.pgp_verbose_mime [new file with mode: 0644]
debian/patches/features/compressed-folders [new file with mode: 0644]
debian/patches/features/compressed-folders.debian [new file with mode: 0644]
debian/patches/features/ifdef [new file with mode: 0644]
debian/patches/features/imap_fast_trash [new file with mode: 0644]
debian/patches/features/purge-message [new file with mode: 0644]
debian/patches/features/sensible_browser_position [new file with mode: 0644]
debian/patches/features/trash-folder [new file with mode: 0644]
debian/patches/features/xtitles [new file with mode: 0644]
debian/patches/misc/am-maintainer-mode [new file with mode: 0644]
debian/patches/misc/define-pgp_getkeys_command.diff [new file with mode: 0644]
debian/patches/misc/gpg.rc-paths [new file with mode: 0644]
debian/patches/misc/hg.pmdef.debugtime [new file with mode: 0644]
debian/patches/misc/hyphen-as-minus.patch [new file with mode: 0644]
debian/patches/misc/manpage-typos.patch [new file with mode: 0644]
debian/patches/misc/smime.rc [new file with mode: 0644]
debian/patches/misc/smime_keys-manpage.patch [new file with mode: 0644]
debian/patches/mutt-patched/nntp [new file with mode: 0644]
debian/patches/mutt-patched/sidebar [new file with mode: 0644]
debian/patches/mutt-patched/sidebar-dotted [new file with mode: 0644]
debian/patches/mutt-patched/sidebar-newonly [new file with mode: 0644]
debian/patches/mutt-patched/sidebar-sorted [new file with mode: 0644]
debian/patches/mutt.org [new file with mode: 0644]
debian/patches/not-applied/chdir [new file with mode: 0644]
debian/patches/not-applied/indexcolor [new file with mode: 0644]
debian/patches/not-applied/w3mface [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/patches/upstream/228671-pipe-mime.patch [new file with mode: 0644]
debian/patches/upstream/311296-rand-mktemp.patch [new file with mode: 0644]
debian/patches/upstream/350957-postponed-to-bcc.patch [new file with mode: 0644]
debian/patches/upstream/375530-index-weirdness.patch [new file with mode: 0644]
debian/patches/upstream/383769-score-match.patch [new file with mode: 0644]
debian/patches/upstream/393926-internal-viewer.patch [new file with mode: 0644]
debian/patches/upstream/493719-segfault-imap-close.patch [new file with mode: 0644]
debian/patches/upstream/500016-temp-cache-fix.patch [new file with mode: 0644]
debian/patches/upstream/502628-attach_charset-doc.patch [new file with mode: 0644]
debian/patches/upstream/504530-stunnel-account_hook-doc.patch [new file with mode: 0644]
debian/patches/upstream/508988-inode-sort.patch [new file with mode: 0644]
debian/patches/upstream/514960-certificate-insecure-algorithm.patch [new file with mode: 0644]
debian/patches/upstream/524420-segfault-reconnect-sasl.patch [new file with mode: 0644]
debian/patches/upstream/528233-readonly-open.patch [new file with mode: 0644]
debian/patches/upstream/530661-mandatory-doubledash.patch [new file with mode: 0644]
debian/patches/upstream/530887-dovecot-imap.patch [new file with mode: 0644]
debian/patches/upstream/531430-imapuser.patch [new file with mode: 0644]
debian/patches/upstream/533209-mutt_perror.patch [new file with mode: 0644]
debian/patches/upstream/533370-pgp-inline.patch [new file with mode: 0644]
debian/patches/upstream/533439-mbox-time.patch [new file with mode: 0644]
debian/patches/upstream/533459-unmailboxes.patch [new file with mode: 0644]
debian/patches/upstream/533520-signature-highlight.patch [new file with mode: 0644]
debian/patches/upstream/534543-imap-port.patch [new file with mode: 0644]
debian/patches/upstream/535096-pop-port.patch [new file with mode: 0644]
debian/patches/upstream/537694-segv-imap-headers.patch [new file with mode: 0644]
debian/patches/upstream/537818-emptycharset.patch [new file with mode: 0644]
debian/patches/upstream/538128-mh-folder-access.patch [new file with mode: 0644]
debian/patches/upstream/542344-dont_fold_From_ [new file with mode: 0644]
debian/patches/upstream/542817-smimekeys-tmpdir.patch [new file with mode: 0644]
debian/patches/upstream/542910-search-segfault.patch [new file with mode: 0644]
debian/patches/upstream/543467-thread-segfault.patch [new file with mode: 0644]
debian/patches/upstream/544180-italian-yesorno.patch [new file with mode: 0644]
debian/patches/upstream/544794-smtp-batch.patch [new file with mode: 0644]
debian/patches/upstream/545316-header-color.patch [new file with mode: 0644]
debian/patches/upstream/547739-manual-typos.patch [new file with mode: 0644]
debian/patches/upstream/547980-smime_keys-chaining.patch [new file with mode: 0644]
debian/patches/upstream/548494-swedish-intl.patch [new file with mode: 0644]
debian/patches/upstream/548577-gpgme-1.2.patch [new file with mode: 0644]
debian/patches/upstream/553238-german-intl.patch [new file with mode: 0644]
debian/patches/upstream/553321-ansi-escape-segfault.patch [new file with mode: 0644]
debian/patches/upstream/557395-muttrc-crypto.patch [new file with mode: 0644]
debian/patches/upstream/568295-references.patch [new file with mode: 0644]
debian/patches/upstream/573823-imap_internal_date [new file with mode: 0644]
debian/patches/upstream/path_max [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/update-autotools.sh [new file with mode: 0755]
debian/watch [new file with mode: 0644]
doc/Makefile.in [deleted file]
imap/Makefile.in [deleted file]
m4/Makefile.in [deleted file]
po/bg.gmo [deleted file]
po/ca.gmo [deleted file]
po/cs.gmo [deleted file]
po/da.gmo [deleted file]
po/de.gmo [deleted file]
po/el.gmo [deleted file]
po/eo.gmo [deleted file]
po/es.gmo [deleted file]
po/et.gmo [deleted file]
po/eu.gmo [deleted file]
po/fr.gmo [deleted file]
po/ga.gmo [deleted file]
po/gl.gmo [deleted file]
po/hu.gmo [deleted file]
po/id.gmo [deleted file]
po/it.gmo [deleted file]
po/ja.gmo [deleted file]
po/ko.gmo [deleted file]
po/lt.gmo [deleted file]
po/nl.gmo [deleted file]
po/pl.gmo [deleted file]
po/pt_BR.gmo [deleted file]
po/ru.gmo [deleted file]
po/sk.gmo [deleted file]
po/sv.gmo [deleted file]
po/tr.gmo [deleted file]
po/uk.gmo [deleted file]
po/zh_CN.gmo [deleted file]
po/zh_TW.gmo [deleted file]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..b32c836
--- /dev/null
@@ -0,0 +1,44 @@
+.deps/
+.pc/
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache/
+config.h
+config.h.in
+config.h.in~
+config.log
+config.status
+configure
+contrib/Makefile
+contrib/Makefile.in
+doc/.deps/
+doc/Makefile
+doc/Makefile.in
+doc/instdoc.sh
+doc/smime_keys.man
+hcachever.sh
+imap/.deps/
+imap/Makefile
+imap/Makefile.in
+intl/Makefile
+m4/Makefile
+m4/Makefile.in
+muttbug.sh
+po/Makefile
+po/Makefile.in
+po/POTFILES
+stamp-h1
+
+debian/files
+debian/mutt
+debian/mutt-dbg
+debian/mutt-patched
+debian/stamp-patched
+debian/tmp
+debian/*.substvars
+debian/*.debhelper*
+
+obj-i486-linux-gnu-patched/
+obj-i486-linux-gnu/
+tags
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644 (file)
index e766c66..0000000
+++ /dev/null
@@ -1,1242 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-EXTRA_PROGRAMS = mutt_dotlock$(EXEEXT) pgpring$(EXEEXT) \
-       pgpewrap$(EXEEXT) mutt_md5$(EXEEXT)
-bin_PROGRAMS = mutt$(EXEEXT) @DOTLOCK_TARGET@ @PGPAUX_TARGET@
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/config.h.in \
-       $(srcdir)/hcachever.sh.in $(srcdir)/muttbug.sh.in \
-       $(top_srcdir)/configure $(top_srcdir)/intl/Makefile.in \
-       ABOUT-NLS ChangeLog INSTALL NEWS TODO config.guess config.sub \
-       depcomp install-sh missing mkdtemp.c mkinstalldirs regex.c \
-       setenv.c snprintf.c strcasecmp.c strcasestr.c strdup.c \
-       strsep.c strtok_r.c wcscasecmp.c
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/curslib.m4 $(top_srcdir)/m4/funcdecl.m4 \
-       $(top_srcdir)/m4/funcs.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gpgme.m4 \
-       $(top_srcdir)/m4/gssapi.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/types.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = intl/Makefile hcachever.sh muttbug.sh
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-am_mutt_OBJECTS = addrbook.$(OBJEXT) alias.$(OBJEXT) attach.$(OBJEXT) \
-       base64.$(OBJEXT) browser.$(OBJEXT) buffy.$(OBJEXT) \
-       color.$(OBJEXT) crypt.$(OBJEXT) cryptglue.$(OBJEXT) \
-       commands.$(OBJEXT) complete.$(OBJEXT) compose.$(OBJEXT) \
-       copy.$(OBJEXT) curs_lib.$(OBJEXT) curs_main.$(OBJEXT) \
-       date.$(OBJEXT) edit.$(OBJEXT) enter.$(OBJEXT) flags.$(OBJEXT) \
-       init.$(OBJEXT) filter.$(OBJEXT) from.$(OBJEXT) \
-       getdomain.$(OBJEXT) group.$(OBJEXT) handler.$(OBJEXT) \
-       hash.$(OBJEXT) hdrline.$(OBJEXT) headers.$(OBJEXT) \
-       help.$(OBJEXT) hook.$(OBJEXT) keymap.$(OBJEXT) main.$(OBJEXT) \
-       mbox.$(OBJEXT) menu.$(OBJEXT) mh.$(OBJEXT) mx.$(OBJEXT) \
-       pager.$(OBJEXT) parse.$(OBJEXT) pattern.$(OBJEXT) \
-       postpone.$(OBJEXT) query.$(OBJEXT) recvattach.$(OBJEXT) \
-       recvcmd.$(OBJEXT) rfc822.$(OBJEXT) rfc1524.$(OBJEXT) \
-       rfc2047.$(OBJEXT) rfc2231.$(OBJEXT) rfc3676.$(OBJEXT) \
-       score.$(OBJEXT) send.$(OBJEXT) sendlib.$(OBJEXT) \
-       signal.$(OBJEXT) sort.$(OBJEXT) status.$(OBJEXT) \
-       system.$(OBJEXT) thread.$(OBJEXT) charset.$(OBJEXT) \
-       history.$(OBJEXT) lib.$(OBJEXT) muttlib.$(OBJEXT) \
-       editmsg.$(OBJEXT) mbyte.$(OBJEXT) url.$(OBJEXT) \
-       ascii.$(OBJEXT) crypt-mod.$(OBJEXT) safe_asprintf.$(OBJEXT)
-am__objects_1 =
-am__objects_2 = patchlist.$(OBJEXT) $(am__objects_1)
-nodist_mutt_OBJECTS = $(am__objects_2)
-mutt_OBJECTS = $(am_mutt_OBJECTS) $(nodist_mutt_OBJECTS)
-am__DEPENDENCIES_1 =
-am_mutt_dotlock_OBJECTS = mutt_dotlock.$(OBJEXT)
-mutt_dotlock_OBJECTS = $(am_mutt_dotlock_OBJECTS)
-am_mutt_md5_OBJECTS = mutt_md5-md5.$(OBJEXT)
-mutt_md5_OBJECTS = $(am_mutt_md5_OBJECTS)
-mutt_md5_DEPENDENCIES =
-mutt_md5_LINK = $(CCLD) $(mutt_md5_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-pgpewrap_SOURCES = pgpewrap.c
-pgpewrap_OBJECTS = pgpewrap.$(OBJEXT)
-pgpewrap_LDADD = $(LDADD)
-pgpewrap_DEPENDENCIES = @LIBOBJS@
-am_pgpring_OBJECTS = pgppubring.$(OBJEXT) pgplib.$(OBJEXT) \
-       lib.$(OBJEXT) extlib.$(OBJEXT) sha1.$(OBJEXT) md5.$(OBJEXT) \
-       pgppacket.$(OBJEXT) ascii.$(OBJEXT)
-pgpring_OBJECTS = $(am_pgpring_OBJECTS)
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-SCRIPTS = $(bin_SCRIPTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(mutt_SOURCES) $(EXTRA_mutt_SOURCES) $(nodist_mutt_SOURCES) \
-       $(mutt_dotlock_SOURCES) $(mutt_md5_SOURCES) pgpewrap.c \
-       $(pgpring_SOURCES)
-DIST_SOURCES = $(mutt_SOURCES) $(EXTRA_mutt_SOURCES) \
-       $(mutt_dotlock_SOURCES) $(mutt_md5_SOURCES) pgpewrap.c \
-       $(pgpring_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = m4 po intl doc contrib imap
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DBX = @DBX@
-DEBUGGER = @DEBUGGER@
-DEFS = -DPKGDATADIR=\"$(pkgdatadir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
-       -DBINDIR=\"$(bindir)\" -DMUTTLOCALEDIR=\"$(datadir)/locale\" \
-       -DHAVE_CONFIG_H=1
-
-DEPDIR = @DEPDIR@
-DOTLOCK_GROUP = @DOTLOCK_GROUP@
-DOTLOCK_PERMISSION = @DOTLOCK_PERMISSION@
-DOTLOCK_TARGET = @DOTLOCK_TARGET@
-DSLROOT = @DSLROOT@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GDB = @GDB@
-GENCAT = @GENCAT@
-GLIBC21 = @GLIBC21@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GPGME_CFLAGS = @GPGME_CFLAGS@
-GPGME_CONFIG = @GPGME_CONFIG@
-GPGME_LIBS = @GPGME_LIBS@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLBISON = @INTLBISON@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
-ISPELL = @ISPELL@
-KRB5CFGPATH = @KRB5CFGPATH@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBIMAP = @LIBIMAP@
-LIBIMAPDEPS = @LIBIMAPDEPS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MUTTLIBS = @MUTTLIBS@
-MUTT_LIB_OBJECTS = @MUTT_LIB_OBJECTS@
-MUTT_MD5 = @MUTT_MD5@
-OBJEXT = @OBJEXT@
-OPS = @OPS@
-OSPCAT = @OSPCAT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PGPAUX_TARGET = @PGPAUX_TARGET@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-SDB = @SDB@
-SENDMAIL = @SENDMAIL@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMIMEAUX_TARGET = @SMIMEAUX_TARGET@
-STRIP = @STRIP@
-U = @U@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-XGETTEXT = @XGETTEXT@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.6 foreign
-@BUILD_IMAP_TRUE@IMAP_SUBDIR = imap
-@BUILD_IMAP_TRUE@IMAP_INCLUDES = -I$(top_srcdir)/imap
-SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR)
-bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@
-@BUILD_HCACHE_TRUE@HCVERSION = hcversion.h
-BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h $(HCVERSION)
-mutt_SOURCES = \
-       addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \
-       crypt.c cryptglue.c \
-       commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \
-       edit.c enter.c flags.c init.c filter.c from.c \
-       getdomain.c group.c \
-       handler.c hash.c hdrline.c headers.c help.c hook.c keymap.c \
-       main.c mbox.c menu.c mh.c mx.c pager.c parse.c pattern.c \
-       postpone.c query.c recvattach.c recvcmd.c \
-       rfc822.c rfc1524.c rfc2047.c rfc2231.c rfc3676.c \
-       score.c send.c sendlib.c signal.c sort.c \
-       status.c system.c thread.c charset.c history.c lib.c \
-       muttlib.c editmsg.c mbyte.c \
-       url.c ascii.c crypt-mod.c crypt-mod.h safe_asprintf.c
-
-nodist_mutt_SOURCES = $(BUILT_SOURCES)
-mutt_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(LIBIMAP) $(MUTTLIBS) \
-       $(INTLLIBS) $(LIBICONV)  $(GPGME_LIBS)
-
-mutt_DEPENDENCIES = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(LIBIMAPDEPS) \
-       $(INTLDEPS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir) $(IMAP_INCLUDES) $(GPGME_CFLAGS) -Iintl
-EXTRA_mutt_SOURCES = account.c bcache.c crypt-gpgme.c crypt-mod-pgp-classic.c \
-       crypt-mod-pgp-gpgme.c crypt-mod-smime-classic.c \
-       crypt-mod-smime-gpgme.c dotlock.c gnupgparse.c hcache.c md5.c \
-       mutt_idna.c mutt_sasl.c mutt_socket.c mutt_ssl.c mutt_ssl_gnutls.c \
-       mutt_tunnel.c pgp.c pgpinvoke.c pgpkey.c pgplib.c pgpmicalg.c \
-       pgppacket.c pop.c pop_auth.c pop_lib.c remailer.c resize.c sha1.c \
-       smime.c smtp.c utf8.c wcwidth.c \
-       bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h
-
-EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
-       configure account.h \
-       attach.h buffy.h charset.h copy.h crypthash.h dotlock.h functions.h gen_defs \
-       globals.h hash.h history.h init.h keymap.h mutt_crypt.h \
-       mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \
-       mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
-       mx.h pager.h pgp.h pop.h protos.h rfc1524.h rfc2047.h \
-       rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
-       _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
-       mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
-       README.SSL smime.h group.h \
-       muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \
-       ChangeLog mkchangelog.sh mutt_idna.h \
-       snprintf.c regex.c crypt-gpgme.h hcachever.sh.in
-
-EXTRA_SCRIPTS = smime_keys
-mutt_dotlock_SOURCES = mutt_dotlock.c
-mutt_dotlock_LDADD = @LIBOBJS@
-mutt_dotlock_DEPENDENCIES = @LIBOBJS@
-pgpring_SOURCES = pgppubring.c pgplib.c lib.c extlib.c sha1.c md5.c pgppacket.c ascii.c
-pgpring_LDADD = @LIBOBJS@ $(INTLLIBS) 
-pgpring_DEPENDENCIES = @LIBOBJS@ $(INTLDEPS)
-mutt_md5_SOURCES = md5.c
-mutt_md5_CFLAGS = -DMD5UTIL
-mutt_md5_LDADD = 
-noinst_PROGRAMS = $(MUTT_MD5)
-CLEANFILES = mutt_dotlock.c keymap_alldefs.h $(BUILT_SOURCES)
-DISTCLEANFILES = flea smime_keys
-ACLOCAL_AMFLAGS = -I m4
-LDADD = @LIBOBJS@ @INTLLIBS@
-all: $(BUILT_SOURCES) config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-am--refresh:
-       @:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in:  $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f config.h stamp-h1
-intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-hcachever.sh: $(top_builddir)/config.status $(srcdir)/hcachever.sh.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-muttbug.sh: $(top_builddir)/config.status $(srcdir)/muttbug.sh.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-install-binPROGRAMS: $(bin_PROGRAMS)
-       @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-       @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-       for p in $$list; do echo "$$p $$p"; done | \
-       sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
-       done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-           -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
-       sed 'N;N;N;s,\n, ,g' | \
-       $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
-         { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-           if ($$2 == $$4) files[d] = files[d] " " $$1; \
-           else { print "f", $$3 "/" $$4, $$1; } } \
-         END { for (d in files) print "f", d, files[d] }' | \
-       while read type dir files; do \
-           if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-           test -z "$$files" || { \
-             echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-             $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-           } \
-       ; done
-
-uninstall-binPROGRAMS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-       files=`for p in $$list; do echo "$$p"; done | \
-         sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
-       test -n "$$list" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
-       -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-clean-noinstPROGRAMS:
-       -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-mutt$(EXEEXT): $(mutt_OBJECTS) $(mutt_DEPENDENCIES) 
-       @rm -f mutt$(EXEEXT)
-       $(LINK) $(mutt_OBJECTS) $(mutt_LDADD) $(LIBS)
-mutt_dotlock$(EXEEXT): $(mutt_dotlock_OBJECTS) $(mutt_dotlock_DEPENDENCIES) 
-       @rm -f mutt_dotlock$(EXEEXT)
-       $(LINK) $(mutt_dotlock_OBJECTS) $(mutt_dotlock_LDADD) $(LIBS)
-mutt_md5$(EXEEXT): $(mutt_md5_OBJECTS) $(mutt_md5_DEPENDENCIES) 
-       @rm -f mutt_md5$(EXEEXT)
-       $(mutt_md5_LINK) $(mutt_md5_OBJECTS) $(mutt_md5_LDADD) $(LIBS)
-pgpewrap$(EXEEXT): $(pgpewrap_OBJECTS) $(pgpewrap_DEPENDENCIES) 
-       @rm -f pgpewrap$(EXEEXT)
-       $(LINK) $(pgpewrap_OBJECTS) $(pgpewrap_LDADD) $(LIBS)
-pgpring$(EXEEXT): $(pgpring_OBJECTS) $(pgpring_DEPENDENCIES) 
-       @rm -f pgpring$(EXEEXT)
-       $(LINK) $(pgpring_OBJECTS) $(pgpring_LDADD) $(LIBS)
-install-binSCRIPTS: $(bin_SCRIPTS)
-       @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-       @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-       done | \
-       sed -e 'p;s,.*/,,;n' \
-           -e 'h;s|.*|.|' \
-           -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-       $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-         { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-           if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-             if (++n[d] == $(am__install_max)) { \
-               print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-           else { print "f", d "/" $$4, $$1 } } \
-         END { for (d in files) print "f", d, files[d] }' | \
-       while read type dir files; do \
-            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-            test -z "$$files" || { \
-              echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-              $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-            } \
-       ; done
-
-uninstall-binSCRIPTS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
-       files=`for p in $$list; do echo "$$p"; done | \
-              sed -e 's,.*/,,;$(transform)'`; \
-       test -n "$$list" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkdtemp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/regex.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/setenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snprintf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcasecmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strcasestr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strdup.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strsep.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtok_r.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wcscasecmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/account.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addrbook.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alias.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bcache.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/browser.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffy.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/charset.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/color.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commands.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/complete.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compose.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt-gpgme.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt-mod-pgp-classic.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt-mod-pgp-gpgme.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt-mod-smime-classic.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt-mod-smime-gpgme.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt-mod.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cryptglue.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curs_lib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curs_main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dotlock.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edit.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/editmsg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extlib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flags.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/from.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdomain.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnupgparse.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/handler.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hcache.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdrline.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/headers.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/help.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/history.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hook.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keymap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbox.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbyte.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mh.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_dotlock.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_idna.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_md5-md5.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_sasl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_socket.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_ssl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_ssl_gnutls.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_tunnel.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/muttlib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mx.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pager.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patchlist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pattern.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgpewrap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgpinvoke.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgpkey.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgplib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgpmicalg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgppacket.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgppubring.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop_auth.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop_lib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/postpone.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/query.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvattach.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvcmd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remailer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resize.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc1524.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc2047.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc2231.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc3676.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc822.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe_asprintf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/score.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/send.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendlib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smime.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sort.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/status.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/system.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcwidth.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-mutt_md5-md5.o: md5.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mutt_md5_CFLAGS) $(CFLAGS) -MT mutt_md5-md5.o -MD -MP -MF $(DEPDIR)/mutt_md5-md5.Tpo -c -o mutt_md5-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mutt_md5-md5.Tpo $(DEPDIR)/mutt_md5-md5.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='md5.c' object='mutt_md5-md5.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mutt_md5_CFLAGS) $(CFLAGS) -c -o mutt_md5-md5.o `test -f 'md5.c' || echo '$(srcdir)/'`md5.c
-
-mutt_md5-md5.obj: md5.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mutt_md5_CFLAGS) $(CFLAGS) -MT mutt_md5-md5.obj -MD -MP -MF $(DEPDIR)/mutt_md5-md5.Tpo -c -o mutt_md5-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/mutt_md5-md5.Tpo $(DEPDIR)/mutt_md5-md5.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='md5.c' object='mutt_md5-md5.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mutt_md5_CFLAGS) $(CFLAGS) -c -o mutt_md5-md5.obj `if test -f 'md5.c'; then $(CYGPATH_W) 'md5.c'; else $(CYGPATH_W) '$(srcdir)/md5.c'; fi`
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(PROGRAMS) $(SCRIPTS) config.h
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-clean: clean-recursive
-
-clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
-       mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(DEPDIR) ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-data-local
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS install-binSCRIPTS
-       @$(NORMAL_INSTALL)
-       $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf $(DEPDIR) ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
-       uninstall-local
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       ctags-recursive install install-am install-exec-am \
-       install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-binPROGRAMS \
-       clean-generic clean-noinstPROGRAMS ctags ctags-recursive dist \
-       dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \
-       dist-xz dist-zip distcheck distclean distclean-compile \
-       distclean-generic distclean-hdr distclean-tags distcleancheck \
-       distdir distuninstallcheck dvi dvi-am html html-am info \
-       info-am install install-am install-binPROGRAMS \
-       install-binSCRIPTS install-data install-data-am \
-       install-data-local install-dvi install-dvi-am install-exec \
-       install-exec-am install-exec-hook install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs installdirs-am \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
-       tags tags-recursive uninstall uninstall-am \
-       uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-local
-
-
-mutt_dotlock.c: dotlock.c
-       cp $(srcdir)/dotlock.c mutt_dotlock.c
-
-flea:  muttbug.sh
-       cp muttbug.sh flea
-       chmod +x flea
-
-smime_keys: $(srcdir)/smime_keys.pl
-       cp $(srcdir)/smime_keys.pl smime_keys
-       chmod +x smime_keys
-
-keymap_defs.h: $(OPS) $(srcdir)/gen_defs
-       $(srcdir)/gen_defs $(OPS) > keymap_defs.h
-
-keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs
-       rm -f $@
-       $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.PGP \
-               $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \
-                       > keymap_alldefs.h
-
-reldate.h: $(srcdir)/ChangeLog
-       echo 'const char *ReleaseDate = "'`head -n 1 $(srcdir)/ChangeLog | LC_ALL=C cut -d ' ' -f 1`'";' > reldate.h.tmp; \
-       cmp -s reldate.h.tmp reldate.h || cp reldate.h.tmp reldate.h; \
-       rm reldate.h.tmp
-
-hcversion.h: $(srcdir)/mutt.h $(srcdir)/rfc822.h hcachever.sh $(MUTT_MD5)
-       ( echo '#include "config.h"'; echo '#include "mutt.h"'; ) \
-       | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - | sh ./hcachever.sh hcversion.h
-
-patchlist.c: $(srcdir)/PATCHES $(srcdir)/patchlist.sh
-       $(srcdir)/patchlist.sh < $(srcdir)/PATCHES > patchlist.c
-
-install-exec-hook:
-       if test -f $(DESTDIR)$(bindir)/mutt.dotlock && test -f $(DESTDIR)$(bindir)/mutt_dotlock ; then  \
-               rm -f $(DESTDIR)$(bindir)/mutt.dotlock ;                \
-               ln -sf $(DESTDIR)$(bindir)/mutt_dotlock $(DESTDIR)$(bindir)/mutt.dotlock ; \
-       fi
-       if test -f $(DESTDIR)$(bindir)/mutt_dotlock && test x@DOTLOCK_GROUP@ != x ; then \
-               chgrp @DOTLOCK_GROUP@ $(DESTDIR)$(bindir)/mutt_dotlock && \
-               chmod @DOTLOCK_PERMISSION@ $(DESTDIR)$(bindir)/mutt_dotlock || \
-               { echo "Can't fix mutt_dotlock's permissions!" >&2 ; exit 1 ; } \
-       fi
-
-install-data-local:
-       $(srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
-       $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir)/mime.types.dist
-       -if [ ! -f $(DESTDIR)$(sysconfdir)/mime.types ]; then \
-               $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir); \
-       fi
-
-uninstall-local:
-       for i in mime.types ; do \
-               if cmp -s $(DESTDIR)$(sysconfdir)/$$i.dist $(DESTDIR)$(sysconfdir)/$$i ; then \
-                       rm $(DESTDIR)$(sysconfdir)/$$i ; \
-               fi ; \
-               rm $(DESTDIR)$(sysconfdir)/$${i}.dist ; \
-       done
-
-pclean:
-       cat /dev/null > $(top_srcdir)/PATCHES
-
-check-security:
-       (cd $(top_srcdir) && ./check_sec.sh)
-
-commit:
-       @echo "make commit is obsolete; use hg-commit"; false
-
-update-changelog:
-       (cd $(top_srcdir); \
-       sh ./mkchangelog.sh | cat  - ChangeLog > ChangeLog.$$$$ && mv ChangeLog.$$$$ ChangeLog; \
-       $${VISUAL:-vi} ChangeLog)
-
-mutt-dist:
-       (cd $(srcdir) && ./build-release )
-
-update-doc:
-       (cd doc && $(MAKE) update-doc)
-
-.PHONY: commit pclean check-security
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/aclocal.m4 b/aclocal.m4
deleted file mode 100644 (file)
index 7433b6c..0000000
+++ /dev/null
@@ -1,1111 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
-[m4_warning([this file was generated for autoconf 2.65.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# longlong.m4 serial 13
-dnl Copyright (C) 1999-2007 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert.
-
-# Define HAVE_LONG_LONG_INT if 'long long int' works.
-# This fixes a bug in Autoconf 2.61, but can be removed once we
-# assume 2.62 everywhere.
-
-# Note: If the type 'long long int' exists but is only 32 bits large
-# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
-# defined. In this case you can treat 'long long int' like 'long int'.
-
-AC_DEFUN([AC_TYPE_LONG_LONG_INT],
-[
-  AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
-    [AC_LINK_IFELSE(
-       [_AC_TYPE_LONG_LONG_SNIPPET],
-       [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
-       dnl If cross compiling, assume the bug isn't important, since
-       dnl nobody cross compiles for this platform as far as we know.
-       AC_RUN_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[@%:@include <limits.h>
-              @%:@ifndef LLONG_MAX
-              @%:@ define HALF \
-                       (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-              @%:@ define LLONG_MAX (HALF - 1 + HALF)
-              @%:@endif]],
-            [[long long int n = 1;
-              int i;
-              for (i = 0; ; i++)
-                {
-                  long long int m = n << i;
-                  if (m >> i != n)
-                    return 1;
-                  if (LLONG_MAX / 2 < m)
-                    break;
-                }
-              return 0;]])],
-         [ac_cv_type_long_long_int=yes],
-         [ac_cv_type_long_long_int=no],
-         [ac_cv_type_long_long_int=yes])],
-       [ac_cv_type_long_long_int=no])])
-  if test $ac_cv_type_long_long_int = yes; then
-    AC_DEFINE([HAVE_LONG_LONG_INT], 1,
-      [Define to 1 if the system has the type `long long int'.])
-  fi
-])
-
-# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
-# This fixes a bug in Autoconf 2.61, but can be removed once we
-# assume 2.62 everywhere.
-
-# Note: If the type 'unsigned long long int' exists but is only 32 bits
-# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
-# will not be defined. In this case you can treat 'unsigned long long int'
-# like 'unsigned long int'.
-
-AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
-[
-  AC_CACHE_CHECK([for unsigned long long int],
-    [ac_cv_type_unsigned_long_long_int],
-    [AC_LINK_IFELSE(
-       [_AC_TYPE_LONG_LONG_SNIPPET],
-       [ac_cv_type_unsigned_long_long_int=yes],
-       [ac_cv_type_unsigned_long_long_int=no])])
-  if test $ac_cv_type_unsigned_long_long_int = yes; then
-    AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1,
-      [Define to 1 if the system has the type `unsigned long long int'.])
-  fi
-])
-
-# Expands to a C program that can be used to test for simultaneous support
-# of 'long long' and 'unsigned long long'. We don't want to say that
-# 'long long' is available if 'unsigned long long' is not, or vice versa,
-# because too many programs rely on the symmetry between signed and unsigned
-# integer types (excluding 'bool').
-AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
-[
-  AC_LANG_PROGRAM(
-    [[/* Test preprocessor.  */
-      #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-        error in preprocessor;
-      #endif
-      #if ! (18446744073709551615ULL <= -1ull)
-        error in preprocessor;
-      #endif
-      /* Test literals.  */
-      long long int ll = 9223372036854775807ll;
-      long long int nll = -9223372036854775807LL;
-      unsigned long long int ull = 18446744073709551615ULL;
-      /* Test constant expressions.   */
-      typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                    ? 1 : -1)];
-      typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                    ? 1 : -1)];
-      int i = 63;]],
-    [[/* Test availability of runtime routines for shift and division.  */
-      long long int llmax = 9223372036854775807ll;
-      unsigned long long int ullmax = 18446744073709551615ull;
-      return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-             | (llmax / ll) | (llmax % ll)
-             | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-             | (ullmax / ull) | (ullmax % ull));]])
-])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes.                 -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2006
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-AC_DEFUN([AM_C_PROTOTYPES],
-[AC_REQUIRE([AC_C_PROTOTYPES])
-if test "$ac_cv_prog_cc_stdc" != no; then
-  U= ANSI2KNR=
-else
-  U=_ ANSI2KNR=./ansi2knr
-fi
-# Ensure some checks needed by ansi2knr itself.
-AC_REQUIRE([AC_HEADER_STDC])
-AC_CHECK_HEADERS([string.h])
-AC_SUBST([U])dnl
-AC_SUBST([ANSI2KNR])dnl
-_AM_SUBST_NOTMAKE([ANSI2KNR])dnl
-])
-
-AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/codeset.m4])
-m4_include([m4/curslib.m4])
-m4_include([m4/funcdecl.m4])
-m4_include([m4/funcs.m4])
-m4_include([m4/gettext.m4])
-m4_include([m4/glibc21.m4])
-m4_include([m4/gpgme.m4])
-m4_include([m4/gssapi.m4])
-m4_include([m4/iconv.m4])
-m4_include([m4/lcmessage.m4])
-m4_include([m4/progtest.m4])
-m4_include([m4/types.m4])
diff --git a/config.h.in b/config.h.in
deleted file mode 100644 (file)
index a63dc8d..0000000
+++ /dev/null
@@ -1,731 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
-   systems. This function is required for `alloca.c' support on those systems.
-   */
-#undef CRAY_STACKSEG_END
-
-/* Define if you want classic PGP support. */
-#undef CRYPT_BACKEND_CLASSIC_PGP
-
-/* Define if you want clasic S/MIME support. */
-#undef CRYPT_BACKEND_CLASSIC_SMIME
-
-/* Define if you use GPGME to support OpenPGP */
-#undef CRYPT_BACKEND_GPGME
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* Define to enable debugging info. */
-#undef DEBUG
-
-/* Define if you want to use an external dotlocking program. */
-#undef DL_STANDALONE
-
-/* Define your domain name. */
-#undef DOMAIN
-
-/* Define to 1 if translation of program messages to the user's native
-   language is requested. */
-#undef ENABLE_NLS
-
-/* Enable exact regeneration of email addresses as parsed? NOTE: this requires
-   significant more memory when defined. */
-#undef EXACT_ADDRESS
-
-/* program to use for shell commands */
-#undef EXECSHELL
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if you have the <argz.h> header file. */
-#undef HAVE_ARGZ_H
-
-/* Define to 1 if you have the `bind_textdomain_codeset' function. */
-#undef HAVE_BIND_TEXTDOMAIN_CODESET
-
-/* Define if you have bkgdset, as a function or macro. */
-#undef HAVE_BKGDSET
-
-/* Define if you have the C99 integer types */
-#undef HAVE_C99_INTTYPES
-
-/* Define if your curses library supports color. */
-#undef HAVE_COLOR
-
-/* Define if you have curs_set, as a function or macro. */
-#undef HAVE_CURS_SET
-
-/* Berkeley DB4 Support */
-#undef HAVE_DB4
-
-/* Define to 1 if you have the `dcgettext' function. */
-#undef HAVE_DCGETTEXT
-
-/* Define to 1 if you have the declaration of
-   `GNUTLS_VERIFY_DISABLE_TIME_CHECKS', and to 0 if you don't. */
-#undef HAVE_DECL_GNUTLS_VERIFY_DISABLE_TIME_CHECKS
-
-/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
-   don't. */
-#undef HAVE_DECL_SYS_SIGLIST
-
-/* Define to 1 if your system has the dirent::d_ino member */
-#undef HAVE_DIRENT_D_INO
-
-/* Define to 1 if you have the `fchdir' function. */
-#undef HAVE_FCHDIR
-
-/* Define to 1 if you have the `feof_unlocked' function. */
-#undef HAVE_FEOF_UNLOCKED
-
-/* Define to 1 if you have the `fgetpos' function. */
-#undef HAVE_FGETPOS
-
-/* Define to 1 if you have the `fgets_unlocked' function. */
-#undef HAVE_FGETS_UNLOCKED
-
-/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
-#undef HAVE_FSEEKO
-
-/* Define to 1 if you have the `ftruncate' function. */
-#undef HAVE_FTRUNCATE
-
-/* GDBM Support */
-#undef HAVE_GDBM
-
-/* Define to 1 if you have the `getaddrinfo' function. */
-#undef HAVE_GETADDRINFO
-
-/* Define to 1 if you have the `getcwd' function. */
-#undef HAVE_GETCWD
-
-/* Define to 1 if you have the `getegid' function. */
-#undef HAVE_GETEGID
-
-/* Define to 1 if you have the `geteuid' function. */
-#undef HAVE_GETEUID
-
-/* Define to 1 if you have the `getgid' function. */
-#undef HAVE_GETGID
-
-/* Define to 1 if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define to 1 if you have the `getsid' function. */
-#undef HAVE_GETSID
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-#undef HAVE_GETTEXT
-
-/* Define to 1 if you have the `getuid' function. */
-#undef HAVE_GETUID
-
-/* Define if GPGME supports PKA */
-#undef HAVE_GPGME_PKA_TRUST
-
-/* Define if your GSSAPI implementation is Heimdal */
-#undef HAVE_HEIMDAL
-
-/* Define if you have the iconv() function. */
-#undef HAVE_ICONV
-
-/* Define to 1 if you have the <iconv.h> header file. */
-#undef HAVE_ICONV_H
-
-/* Define if <iconv.h> defines iconv_t. */
-#undef HAVE_ICONV_T_DEF
-
-/* Define to 1 if you have the `idna_to_ascii_8z' function. */
-#undef HAVE_IDNA_TO_ASCII_8Z
-
-/* Define to 1 if you have the `idna_to_ascii_from_locale' function. */
-#undef HAVE_IDNA_TO_ASCII_FROM_LOCALE
-
-/* Define to 1 if you have the `idna_to_ascii_from_utf8' function. */
-#undef HAVE_IDNA_TO_ASCII_FROM_UTF8
-
-/* Define to 1 if you have the `idna_to_ascii_lz' function. */
-#undef HAVE_IDNA_TO_ASCII_LZ
-
-/* Define to 1 if you have the `idna_to_unicode_8z8z' function. */
-#undef HAVE_IDNA_TO_UNICODE_8Z8Z
-
-/* Define to 1 if you have the `idna_to_unicode_utf8_from_utf8' function. */
-#undef HAVE_IDNA_TO_UNICODE_UTF8_FROM_UTF8
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <ioctl.h> header file. */
-#undef HAVE_IOCTL_H
-
-/* Define to 1 if you have the `iswalnum' function. */
-#undef HAVE_ISWALNUM
-
-/* Define to 1 if you have the `iswalpha' function. */
-#undef HAVE_ISWALPHA
-
-/* Define to 1 if you have the `iswblank' function. */
-#undef HAVE_ISWBLANK
-
-/* Define to 1 if you have the `iswcntrl' function. */
-#undef HAVE_ISWCNTRL
-
-/* Define to 1 if you have the `iswdigit' function. */
-#undef HAVE_ISWDIGIT
-
-/* Define to 1 if you have the `iswgraph' function. */
-#undef HAVE_ISWGRAPH
-
-/* Define to 1 if you have the `iswlower' function. */
-#undef HAVE_ISWLOWER
-
-/* Define to 1 if you have the `iswprint' function. */
-#undef HAVE_ISWPRINT
-
-/* Define to 1 if you have the `iswpunct' function. */
-#undef HAVE_ISWPUNCT
-
-/* Define to 1 if you have the `iswspace' function. */
-#undef HAVE_ISWSPACE
-
-/* Define to 1 if you have the `iswupper' function. */
-#undef HAVE_ISWUPPER
-
-/* Define to 1 if you have the `iswxdigit' function. */
-#undef HAVE_ISWXDIGIT
-
-/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#undef HAVE_LANGINFO_CODESET
-
-/* Define if you have <langinfo.h> and nl_langinfo(YESEXPR). */
-#undef HAVE_LANGINFO_YESEXPR
-
-/* Define if your <locale.h> file defines LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
-
-/* Define to 1 if you have the `idn' library */
-#undef HAVE_LIBIDN
-
-/* Define to 1 if you have the `intl' library (-lintl). */
-#undef HAVE_LIBINTL
-
-/* Define to 1 if you have the `nsl' library (-lnsl). */
-#undef HAVE_LIBNSL
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#undef HAVE_LIBSSL
-
-/* Define to 1 if you have the `termlib' library (-ltermlib). */
-#undef HAVE_LIBTERMLIB
-
-/* Define to 1 if you have the `x' library (-lx). */
-#undef HAVE_LIBX
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if the system has the type `long long int'. */
-#undef HAVE_LONG_LONG_INT
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define to 1 if you have the `memmove' function. */
-#undef HAVE_MEMMOVE
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mempcpy' function. */
-#undef HAVE_MEMPCPY
-
-/* Define if you have meta, as a function or macro. */
-#undef HAVE_META
-
-/* Define to 1 if you have the `mkdtemp' function. */
-#undef HAVE_MKDTEMP
-
-/* Define to 1 if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define to 1 if you have the `munmap' function. */
-#undef HAVE_MUNMAP
-
-/* Define to 1 if you have the <ncursesw/ncurses.h> header file. */
-#undef HAVE_NCURSESW_NCURSES_H
-
-/* Define to 1 if you have the <ncurses.h> header file. */
-#undef HAVE_NCURSES_H
-
-/* Define to 1 if you have the <ncurses/ncurses.h> header file. */
-#undef HAVE_NCURSES_NCURSES_H
-
-/* Define to 1 if you have the <nl_types.h> header file. */
-#undef HAVE_NL_TYPES_H
-
-/* Define to 1 if you have the `putenv' function. */
-#undef HAVE_PUTENV
-
-/* QDBM Support */
-#undef HAVE_QDBM
-
-/* Define to 1 if you have the `RAND_egd' function. */
-#undef HAVE_RAND_EGD
-
-/* Define to 1 if you have the `RAND_status' function. */
-#undef HAVE_RAND_STATUS
-
-/* Define to 1 if you have the `regcomp' function. */
-#undef HAVE_REGCOMP
-
-/* Define if you have resizeterm, as a function or macro. */
-#undef HAVE_RESIZETERM
-
-/* Define to 1 if you have the `setegid' function. */
-#undef HAVE_SETEGID
-
-/* Define to 1 if you have the `setenv' function. */
-#undef HAVE_SETENV
-
-/* Define to 1 if you have the `setlocale' function. */
-#undef HAVE_SETLOCALE
-
-/* Define to 1 if you have the `setrlimit' function. */
-#undef HAVE_SETRLIMIT
-
-/* Define to 1 if you have a C99 compliant snprintf function. */
-#undef HAVE_SNPRINTF
-
-/* Define to 1 if you have the `srand48' function. */
-#undef HAVE_SRAND48
-
-/* Define if you have start_color, as a function or macro. */
-#undef HAVE_START_COLOR
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#undef HAVE_STDARG_H
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#undef HAVE_STDDEF_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `stpcpy' function. */
-#undef HAVE_STPCPY
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#undef HAVE_STRCASECMP
-
-/* Define to 1 if you have the `strcasestr' function. */
-#undef HAVE_STRCASESTR
-
-/* Define to 1 if you have the `strchr' function. */
-#undef HAVE_STRCHR
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the `strftime' function. */
-#undef HAVE_STRFTIME
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strsep' function. */
-#undef HAVE_STRSEP
-
-/* Define to 1 if you have the `strtok_r' function. */
-#undef HAVE_STRTOK_R
-
-/* Define to 1 if you have the `strtoul' function. */
-#undef HAVE_STRTOUL
-
-/* Define to 1 if you have the <sysexits.h> header file. */
-#undef HAVE_SYSEXITS_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Tokyo Cabinet Support */
-#undef HAVE_TC
-
-/* Define to 1 if you have the `towlower' function. */
-#undef HAVE_TOWLOWER
-
-/* Define to 1 if you have the `towupper' function. */
-#undef HAVE_TOWUPPER
-
-/* Define to 1 if you have the `tsearch' function. */
-#undef HAVE_TSEARCH
-
-/* Define if you have typeahead, as a function or macro. */
-#undef HAVE_TYPEAHEAD
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the <unix.h> header file. */
-#undef HAVE_UNIX_H
-
-/* Define if you have use_default_colors, as a function or macro. */
-#undef HAVE_USE_DEFAULT_COLORS
-
-/* Define to 1 if you have the <villa.h> header file. */
-#undef HAVE_VILLA_H
-
-/* Define to 1 if you have a C99 compliant vsnprintf function. */
-#undef HAVE_VSNPRINTF
-
-/* Define to 1 if you have the <wchar.h> header file. */
-#undef HAVE_WCHAR_H
-
-/* Define to 1 if you have the `wcscasecmp' function. */
-#undef HAVE_WCSCASECMP
-
-/* Define to 1 if you have the <wctype.h> header file. */
-#undef HAVE_WCTYPE_H
-
-/* Define if you are using the system's wchar_t functions. */
-#undef HAVE_WC_FUNCS
-
-/* Define to 1 if you have the `__argz_count' function. */
-#undef HAVE___ARGZ_COUNT
-
-/* Define to 1 if you have the `__argz_next' function. */
-#undef HAVE___ARGZ_NEXT
-
-/* Define to 1 if you have the `__argz_stringify' function. */
-#undef HAVE___ARGZ_STRINGIFY
-
-/* Is mail spooled to the user's home directory? If defined, MAILPATH should
-   be set to the filename of the spool mailbox relative the the home
-   directory. use: configure --with-homespool=FILE */
-#undef HOMESPOOL
-
-/* Define as const if the declaration of iconv() needs const. */
-#undef ICONV_CONST
-
-/* Define as 1 if iconv() only converts exactly and we should treat all return
-   values other than (size_t)(-1) as equivalent. */
-#undef ICONV_NONTRANS
-
-/* Where to find ispell on your system. */
-#undef ISPELL
-
-/* Define if the result of isprint() is unreliable. */
-#undef LOCALES_HACK
-
-/* Where new mail is spooled. */
-#undef MAILPATH
-
-/* Define if you want complete documentation. */
-#undef MAKEDOC_FULL
-
-/* Where to find mixmaster on your system. */
-#undef MIXMASTER
-
-/* Define if you have problems with mutt not detecting new/old mailboxes over
-   NFS. Some NFS implementations incorrectly cache the attributes of small
-   files. */
-#undef NFS_ATTRIBUTE_HACK
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if the C compiler supports function prototypes. */
-#undef PROTOTYPES
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
-
-/* Where to find sendmail on your system. */
-#undef SENDMAIL
-
-/* Some systems declare sig_atomic_t as volatile, some others -- no. This
-   define will have value `sig_atomic_t' or `volatile sig_atomic_t'
-   accordingly. */
-#undef SIG_ATOMIC_VOLATILE_T
-
-/* The size of `int', as computed by sizeof. */
-#undef SIZEOF_INT
-
-/* The size of `long', as computed by sizeof. */
-#undef SIZEOF_LONG
-
-/* The size of `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG
-
-/* The size of `off_t', as computed by sizeof. */
-#undef SIZEOF_OFF_T
-
-/* The size of `short', as computed by sizeof. */
-#undef SIZEOF_SHORT
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at runtime.
-       STACK_DIRECTION > 0 => grows toward higher addresses
-       STACK_DIRECTION < 0 => grows toward lower addresses
-       STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to enable Sun mailtool attachments support. */
-#undef SUN_ATTACHMENT
-
-/* Define to use dotlocking for mailboxes. */
-#undef USE_DOTLOCK
-
-/* Define to use fcntl() to lock folders. */
-#undef USE_FCNTL
-
-/* Define to use flock() to lock mailboxes. */
-#undef USE_FLOCK
-
-/* Define if you want to use the included regex.c. */
-#undef USE_GNU_REGEX
-
-/* Define if you have GSSAPI libraries available */
-#undef USE_GSS
-
-/* Enable header caching */
-#undef USE_HCACHE
-
-/* Define if you want support for the IMAP protocol. */
-#undef USE_IMAP
-
-/* Define if you want support for the POP3 protocol. */
-#undef USE_POP
-
-/* Define if want to use the SASL library for POP/IMAP authentication. */
-#undef USE_SASL
-
-/* Define if mutt should run setgid "mail". */
-#undef USE_SETGID
-
-/* Define if you compile with SLang instead of curses/ncurses. */
-#undef USE_SLANG_CURSES
-
-/* Include internal SMTP relay support */
-#undef USE_SMTP
-
-/* Include code for socket support. Set automatically if you enable POP3 or
-   IMAP */
-#undef USE_SOCKET
-
-/* Define if you want support for SSL. */
-#undef USE_SSL
-
-/* Define if you want support for SSL via GNUTLS. */
-#undef USE_SSL_GNUTLS
-
-/* Define if you want support for SSL via OpenSSL. */
-#undef USE_SSL_OPENSSL
-
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Version number of package */
-#undef VERSION
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif
-
-#ifndef HAVE_C99_INTTYPES
-#  if SIZEOF_SHORT == 4
-typedef unsigned short uint32_t;
-#  elif SIZEOF_INT == 4
-typedef unsigned int uint32_t;
-#  elif SIZEOF_LONG == 4
-typedef unsigned long uint32_t;
-#  endif
-#  if SIZEOF_INT == 8
-typedef unsigned int uint64_t;
-#  elif SIZEOF_LONG == 8
-typedef unsigned long uint64_t;
-#  elif SIZEOF_LONG_LONG == 8
-typedef unsigned long long uint64_t;
-#  endif
-#endif
-  
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
-#undef _LARGEFILE_SOURCE
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define like PROTOTYPES; this can be used by system headers. */
-#undef __PROTOTYPES
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-#undef inline
-#endif
-
-/* Define to 'int' if system headers don't define. */
-#undef mbstate_t
-
-/* Define to `long int' if <sys/types.h> does not define. */
-#undef off_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef pid_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef sig_atomic_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define to 'int' if <sys/socket.h> doesn't have it. */
-#undef socklen_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef ssize_t
-
-/* define if va_copy is not available */
-#undef va_copy
-
-/* Define to 'int' if system headers don't define. */
-#undef wchar_t
-
-/* Define to 'int' if system headers don't define. */
-#undef wint_t
-
-/* fseeko portability defines */
-#ifdef HAVE_FSEEKO
-# define LOFF_T off_t
-# if HAVE_C99_INTTYPES && HAVE_INTTYPES_H
-#  if SIZEOF_OFF_T == 8
-#   define OFF_T_FMT "%" PRId64
-#  else
-#   define OFF_T_FMT "%" PRId32
-#  endif
-# else
-#  if (SIZEOF_OFF_T == 8) && (SIZEOF_LONG == 4)
-#   define OFF_T_FMT "%lld"
-#  else
-#   define OFF_T_FMT "%ld"
-#  endif
-# endif
-#else
-# define LOFF_T long
-# define fseeko fseek
-# define ftello ftell
-# define OFF_T_FMT "%ld"
-#endif
-
diff --git a/configure b/configure
deleted file mode 100755 (executable)
index ff117a1..0000000
--- a/configure
+++ /dev/null
@@ -1,13729 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-  fi
-  $as_echo "$as_me: error: $1" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-PACKAGE_URL=
-
-ac_unique_file="mutt.h"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_header_list=
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-DSLROOT
-OSPCAT
-INTL_LIBTOOL_SUFFIX_PREFIX
-MKINSTALLDIRS
-GENCAT
-INSTOBJEXT
-DATADIRNAME
-POSUB
-POFILES
-INTLOBJS
-INTLLIBS
-GMOFILES
-CATOBJEXT
-CATALOGS
-USE_INCLUDED_LIBINTL
-BUILD_INCLUDED_LIBINTL
-INTLBISON
-XGETTEXT
-GMSGFMT
-MSGFMT
-USE_NLS
-LIBICONV
-GLIBC21
-ALLOCA
-LIBIMAPDEPS
-LIBIMAP
-MUTT_LIB_OBJECTS
-MUTTLIBS
-MUTT_MD5
-BUILD_HCACHE_FALSE
-BUILD_HCACHE_TRUE
-USE_SASL_FALSE
-USE_SASL_TRUE
-USE_SSL_FALSE
-USE_SSL_TRUE
-USE_GSS_FALSE
-USE_GSS_TRUE
-KRB5CFGPATH
-BUILD_IMAP_FALSE
-BUILD_IMAP_TRUE
-DOTLOCK_PERMISSION
-DOTLOCK_GROUP
-DOTLOCK_TARGET
-LIBOBJS
-ISPELL
-SMIMEAUX_TARGET
-PGPAUX_TARGET
-OPS
-GPGME_LIBS
-GPGME_CFLAGS
-GPGME_CONFIG
-SENDMAIL
-DEBUGGER
-SDB
-GDB
-DBX
-AR
-RANLIB
-ANSI2KNR
-U
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-EGREP
-GREP
-CPP
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-CONFIG_STATUS_DEPENDENCIES
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_largefile
-enable_gpgme
-with_gpgme_prefix
-enable_pgp
-enable_smime
-with_mixmaster
-with_slang
-with_curses
-with_regex
-with_homespool
-with_mailpath
-enable_external_dotlock
-with_docdir
-with_domain
-enable_pop
-enable_imap
-enable_smtp
-with_gss
-with_ssl
-with_gnutls
-with_sasl
-enable_debug
-enable_flock
-enable_fcntl
-enable_warnings
-enable_nfs_fix
-enable_mailtool
-enable_locales_fix
-with_exec_shell
-enable_exact_address
-enable_hcache
-with_tokyocabinet
-with_qdbm
-with_gdbm
-with_bdb
-enable_iconv
-with_libiconv_prefix
-enable_nls
-with_included_gettext
-with_idn
-with_wc_funcs
-enable_full_doc
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)   ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --disable-largefile     omit support for large files
-  --enable-gpgme          Enable GPGME support
-  --disable-pgp           Disable PGP support
-  --disable-smime         Disable SMIME support
-  --enable-external-dotlock
-                          Force use of an external dotlock program
-  --enable-pop            Enable POP3 support
-  --enable-imap           Enable IMAP support
-  --enable-smtp           include internal SMTP relay support
-  --enable-debug          Enable debugging support
-  --enable-flock          Use flock() to lock files
-  --disable-fcntl         Do NOT use fcntl() to lock files
-  --disable-warnings      Turn off compiler warnings (not recommended)
-  --enable-nfs-fix        Work around an NFS with broken attributes caching
-  --enable-mailtool       Enable Sun mailtool attachments support
-  --enable-locales-fix    The result of isprint() is unreliable
-  --enable-exact-address  Enable regeneration of email addresses
-  --enable-hcache         Enable header caching
-  --disable-iconv         Disable iconv support
-  --disable-nls           Do not use Native Language Support
-  --disable-full-doc      Omit disabled variables
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-gpgme-prefix=PFX prefix where GPGME is installed (optional)
-  --with-mixmaster[=PATH] Include Mixmaster support
-  --with-slang[=DIR]      Use S-Lang instead of ncurses
-  --with-curses=DIR       Where ncurses is installed
-  --with-regex            Use the GNU regex library
-  --with-homespool[=FILE] File in user's directory where new mail is spooled
-  --with-mailpath=DIR     Directory where spool mailboxes are located
-  --with-docdir=PATH      Specify where to put the documentation
-  --with-domain=DOMAIN    Specify your DNS domain name
-  --with-gss[=PFX]        Compile in GSSAPI authentication for IMAP
-  --with-ssl[=PFX]        Enable TLS support using OpenSSL
-  --with-gnutls[=PFX]     enable TLS support using gnutls
-  --with-sasl[=PFX]       Use SASL network security library
-  --with-exec-shell=SHELL Specify alternate shell (ONLY if /bin/sh is broken)
-  --without-tokyocabinet  Don't use tokyocabinet even if it is available
-  --without-qdbm          Don't use qdbm even if it is available
-  --without-gdbm          Don't use gdbm even if it is available
-  --with-bdb[=DIR]        Use BerkeleyDB4 if gdbm is not available
-  --with-libiconv-prefix[=DIR]
-                          Search for libiconv in DIR/include and DIR/lib
-  --with-included-gettext Use the GNU gettext library included here
-  --with-idn=[PFX]        Use GNU libidn for domain names
-  --without-wc-funcs      Do not use the system's wchar_t functions
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.65
-
-Copyright (C) 2009 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
-ac_fn_c_check_decl ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
-$as_echo_n "checking whether $2 is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-#ifndef $2
-  (void) $2;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_decl
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.65.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-as_fn_append ac_header_list " stdlib.h"
-as_fn_append ac_header_list " unistd.h"
-as_fn_append ac_header_list " sys/param.h"
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-mutt_cv_version=`cat $srcdir/VERSION`
-am__api_version='1.11'
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE=mutt
- VERSION=$mutt_cv_version
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/VERSION'
-
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
-  MINIX=yes
-else
-  MINIX=
-fi
-
-
-  if test "$MINIX" = yes; then
-
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "#define _MINIX 1" >>confdefs.h
-
-  fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#        define __EXTENSIONS__ 1
-         $ac_includes_default
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_safe_to_define___extensions__=yes
-else
-  ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-  test $ac_cv_safe_to_define___extensions__ = yes &&
-    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
-
-  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
-  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
-
-
-
-
-ALL_LINGUAS="de eu ru it es uk fr pl nl cs id sk ko el zh_TW zh_CN pt_BR eo gl sv da lt tr ja hu et ca bg ga"
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for prefix" >&5
-$as_echo_n "checking for prefix... " >&6; }
-if test x$prefix = xNONE; then
-  mutt_cv_prefix=$ac_default_prefix
-else
-  mutt_cv_prefix=$prefix
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_prefix" >&5
-$as_echo "$mutt_cv_prefix" >&6; }
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-$as_echo_n "checking for library containing strerror... " >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror ();
-int
-main ()
-{
-return strerror ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' cposix; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_strerror=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if test "${ac_cv_search_strerror+set}" = set; then :
-  break
-fi
-done
-if test "${ac_cv_search_strerror+set}" = set; then :
-
-else
-  ac_cv_search_strerror=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
-$as_echo "$ac_cv_search_strerror" >&6; }
-ac_res=$ac_cv_search_strerror
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for function prototypes" >&5
-$as_echo_n "checking for function prototypes... " >&6; }
-if test "$ac_cv_prog_cc_c89" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define PROTOTYPES 1" >>confdefs.h
-
-
-$as_echo "#define __PROTOTYPES 1" >>confdefs.h
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test "$ac_cv_prog_cc_stdc" != no; then
-  U= ANSI2KNR=
-else
-  U=_ ANSI2KNR=./ansi2knr
-fi
-# Ensure some checks needed by ansi2knr itself.
-
-for ac_header in string.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default"
-if test "x$ac_cv_header_string_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STRING_H 1
-_ACEOF
-
-fi
-
-done
-
-
-if test "x$U" != "x"; then
-  as_fn_error "Compiler not ANSI compliant" "$LINENO" 5
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="ar"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
-  typedef int charset[2];
-  const charset cs;
-  /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *pcpcc;
-  char **ppc;
-  /* NEC SVR4.0.2 mips cc rejects this.  */
-  struct point {int x, y;};
-  static struct point const zero = {0,0};
-  /* AIX XL C 1.02.0.0 rejects this.
-     It does not let you subtract one const X* pointer from another in
-     an arm of an if-expression whose if-part is not a constant
-     expression */
-  const char *g = "string";
-  pcpcc = &g + (g ? g-g : 0);
-  /* HPUX 7.0 cc rejects these. */
-  ++pcpcc;
-  ppc = (char**) pcpcc;
-  pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
-    char const *s = 0 ? (char *) 0 : (char const *) 0;
-
-    *t++ = 0;
-    if (s) return 0;
-  }
-  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
-    int x[] = {25, 17};
-    const int *foo = &x[0];
-    ++foo;
-  }
-  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
-    typedef const int *iptr;
-    iptr p = 0;
-    ++p;
-  }
-  { /* AIX XL C 1.02.0.0 rejects this saying
-       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
-  }
-  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-    const int foo = 10;
-    if (!foo) return 0;
-  }
-  return !cs[0] && !zero.x;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_const=yes
-else
-  ac_cv_c_const=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-$as_echo "#define const /**/" >>confdefs.h
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
-  enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_sys_largefile_CC=no
-     if test "$GCC" != yes; then
-       ac_save_CC=$CC
-       while :; do
-        # IRIX 6.2 and later do not support large files by default,
-        # so use the C compiler's -n32 option if that helps.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-        if ac_fn_c_try_compile "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext
-        CC="$CC -n32"
-        if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
-        break
-       done
-       CC=$ac_save_CC
-       rm -f conftest.$ac_ext
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
-  if test "$ac_cv_sys_largefile_CC" != no; then
-    CC=$CC$ac_cv_sys_largefile_CC
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_file_offset_bits=unknown
-  break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
-  if test $ac_cv_sys_file_offset_bits = unknown; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_large_files=unknown
-  break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
-  fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
-$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_source+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h> /* for off_t */
-     #include <stdio.h>
-int
-main ()
-{
-int (*fp) (FILE *, off_t, int) = fseeko;
-     return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_sys_largefile_source=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _LARGEFILE_SOURCE 1
-#include <sys/types.h> /* for off_t */
-     #include <stdio.h>
-int
-main ()
-{
-int (*fp) (FILE *, off_t, int) = fseeko;
-     return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_sys_largefile_source=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  ac_cv_sys_largefile_source=unknown
-  break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5
-$as_echo "$ac_cv_sys_largefile_source" >&6; }
-case $ac_cv_sys_largefile_source in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source
-_ACEOF
-;;
-esac
-rm -rf conftest*
-
-# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
-# in glibc 2.1.3, but that breaks too many other things.
-# If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
-if test $ac_cv_sys_largefile_source != unknown; then
-
-$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h
-
-fi
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
-$as_echo_n "checking size of off_t... " >&6; }
-if test "${ac_cv_sizeof_off_t+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_off_t" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (off_t)
-See \`config.log' for more details." "$LINENO" 5; }; }
-   else
-     ac_cv_sizeof_off_t=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5
-$as_echo "$ac_cv_sizeof_off_t" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_OFF_T $ac_cv_sizeof_off_t
-_ACEOF
-
-
-
-# Extract the first word of "dbx", so it can be a program name with args.
-set dummy dbx; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_DBX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $DBX in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_DBX="$DBX" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_DBX="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_DBX" && ac_cv_path_DBX="no"
-  ;;
-esac
-fi
-DBX=$ac_cv_path_DBX
-if test -n "$DBX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DBX" >&5
-$as_echo "$DBX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "gdb", so it can be a program name with args.
-set dummy gdb; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GDB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GDB in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GDB="$GDB" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GDB="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_GDB" && ac_cv_path_GDB="no"
-  ;;
-esac
-fi
-GDB=$ac_cv_path_GDB
-if test -n "$GDB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GDB" >&5
-$as_echo "$GDB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "sdb", so it can be a program name with args.
-set dummy sdb; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_SDB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $SDB in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_SDB="$SDB" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_SDB="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_SDB" && ac_cv_path_SDB="no"
-  ;;
-esac
-fi
-SDB=$ac_cv_path_SDB
-if test -n "$SDB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDB" >&5
-$as_echo "$SDB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-if test $GDB != no ; then
-        DEBUGGER=$GDB
-elif test $DBX != no ; then
-        DEBUGGER=$DBX
-elif test $SDB != no ; then
-        DEBUGGER=$SDB
-else
-        DEBUGGER=no
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in inttypes.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
-if test "x$ac_cv_header_inttypes_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_INTTYPES_H 1
-_ACEOF
-
-fi
-
-done
-
-ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint32_t" = x""yes; then :
-
-$as_echo "#define HAVE_C99_INTTYPES 1" >>confdefs.h
-
-fi
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
-$as_echo_n "checking size of short... " >&6; }
-if test "${ac_cv_sizeof_short+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_short" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (short)
-See \`config.log' for more details." "$LINENO" 5; }; }
-   else
-     ac_cv_sizeof_short=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
-$as_echo "$ac_cv_sizeof_short" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SHORT $ac_cv_sizeof_short
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
-$as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int)
-See \`config.log' for more details." "$LINENO" 5; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
-$as_echo "$ac_cv_sizeof_int" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
-$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
-$as_echo "$ac_cv_sizeof_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
-$as_echo_n "checking size of long long... " >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
-   else
-     ac_cv_sizeof_long_long=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
-$as_echo "$ac_cv_sizeof_long_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
-_ACEOF
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
-$as_echo_n "checking for long long int... " >&6; }
-if test "${ac_cv_type_long_long_int+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-  /* Test preprocessor.  */
-      #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-        error in preprocessor;
-      #endif
-      #if ! (18446744073709551615ULL <= -1ull)
-        error in preprocessor;
-      #endif
-      /* Test literals.  */
-      long long int ll = 9223372036854775807ll;
-      long long int nll = -9223372036854775807LL;
-      unsigned long long int ull = 18446744073709551615ULL;
-      /* Test constant expressions.   */
-      typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                    ? 1 : -1)];
-      typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                    ? 1 : -1)];
-      int i = 63;
-int
-main ()
-{
-/* Test availability of runtime routines for shift and division.  */
-      long long int llmax = 9223372036854775807ll;
-      unsigned long long int ullmax = 18446744073709551615ull;
-      return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-             | (llmax / ll) | (llmax % ll)
-             | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-             | (ullmax / ull) | (ullmax % ull));
-  ;
-  return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-                       if test "$cross_compiling" = yes; then :
-  ac_cv_type_long_long_int=yes
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-              #ifndef LLONG_MAX
-              # define HALF \
-                       (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-              # define LLONG_MAX (HALF - 1 + HALF)
-              #endif
-int
-main ()
-{
-long long int n = 1;
-              int i;
-              for (i = 0; ; i++)
-                {
-                  long long int m = n << i;
-                  if (m >> i != n)
-                    return 1;
-                  if (LLONG_MAX / 2 < m)
-                    break;
-                }
-              return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_type_long_long_int=yes
-else
-  ac_cv_type_long_long_int=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-else
-  ac_cv_type_long_long_int=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
-$as_echo "$ac_cv_type_long_long_int" >&6; }
-  if test $ac_cv_type_long_long_int = yes; then
-
-$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
-
-  fi
-
-
-ac_aux_path_sendmail=/usr/sbin:/usr/lib
-# Extract the first word of "sendmail", so it can be a program name with args.
-set dummy sendmail; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_SENDMAIL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $SENDMAIL in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_SENDMAIL="$SENDMAIL" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:$ac_aux_path_sendmail"
-for as_dir in $as_dummy
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_SENDMAIL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_SENDMAIL" && ac_cv_path_SENDMAIL="/usr/sbin/sendmail"
-  ;;
-esac
-fi
-SENDMAIL=$ac_cv_path_SENDMAIL
-if test -n "$SENDMAIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SENDMAIL" >&5
-$as_echo "$SENDMAIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SENDMAIL "$ac_cv_path_SENDMAIL"
-_ACEOF
-
-
-OPS='$(srcdir)/OPS'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with GPGME support" >&5
-$as_echo_n "checking whether to build with GPGME support... " >&6; }
-# Check whether --enable-gpgme was given.
-if test "${enable_gpgme+set}" = set; then :
-  enableval=$enable_gpgme;        if test x$enableval = xyes; then
-               enable_gpgme=yes
-       fi
-
-fi
-
-
-if test x"$enable_gpgme" = xyes; then
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-# Check whether --with-gpgme-prefix was given.
-if test "${with_gpgme_prefix+set}" = set; then :
-  withval=$with_gpgme_prefix; gpgme_config_prefix="$withval"
-else
-  gpgme_config_prefix=""
-fi
-
-  if test "x$gpgme_config_prefix" != x ; then
-      GPGME_CONFIG="$gpgme_config_prefix/bin/gpgme-config"
-  fi
-  # Extract the first word of "gpgme-config", so it can be a program name with args.
-set dummy gpgme-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GPGME_CONFIG+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GPGME_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GPGME_CONFIG="$GPGME_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GPGME_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_GPGME_CONFIG" && ac_cv_path_GPGME_CONFIG="no"
-  ;;
-esac
-fi
-GPGME_CONFIG=$ac_cv_path_GPGME_CONFIG
-if test -n "$GPGME_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GPGME_CONFIG" >&5
-$as_echo "$GPGME_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-  if test "$GPGME_CONFIG" != "no" ; then
-    gpgme_version=`$GPGME_CONFIG --version`
-  fi
-  gpgme_version_major=`echo $gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'`
-  gpgme_version_minor=`echo $gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/'`
-  gpgme_version_micro=`echo $gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\3/'`
-
-   tmp=1.0.0
-  if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
-     req_gpgme_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
-     min_gpgme_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
-  else
-     req_gpgme_api=0
-     min_gpgme_version="$tmp"
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPGME - version >= $min_gpgme_version" >&5
-$as_echo_n "checking for GPGME - version >= $min_gpgme_version... " >&6; }
-  ok=no
-  if test "$GPGME_CONFIG" != "no" ; then
-    req_major=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'`
-    req_minor=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'`
-    req_micro=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'`
-    if test "$gpgme_version_major" -gt "$req_major"; then
-        ok=yes
-    else
-        if test "$gpgme_version_major" -eq "$req_major"; then
-            if test "$gpgme_version_minor" -gt "$req_minor"; then
-               ok=yes
-            else
-               if test "$gpgme_version_minor" -eq "$req_minor"; then
-                   if test "$gpgme_version_micro" -ge "$req_micro"; then
-                     ok=yes
-                   fi
-               fi
-            fi
-        fi
-    fi
-  fi
-  if test $ok = yes; then
-     # If we have a recent GPGME, we should also check that the
-     # API is compatible.
-     if test "$req_gpgme_api" -gt 0 ; then
-        tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
-        if test "$tmp" -gt 0 ; then
-           if test "$req_gpgme_api" -ne "$tmp" ; then
-             ok=no
-           fi
-        fi
-     fi
-  fi
-  if test $ok = yes; then
-    GPGME_CFLAGS=`$GPGME_CONFIG --cflags`
-    GPGME_LIBS=`$GPGME_CONFIG --libs`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define CRYPT_BACKEND_GPGME 1" >>confdefs.h
-
-  else
-    GPGME_CFLAGS=""
-    GPGME_LIBS=""
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    gpgme_found=no
-  fi
-
-
-
-   if test x"$gpgme_found" = xno; then
-      as_fn_error "*** GPGME not found ***" "$LINENO" 5
-   else
-         tmp=1.1.1
-  if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
-     req_gpgme_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
-     min_gpgme_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
-  else
-     req_gpgme_api=0
-     min_gpgme_version="$tmp"
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPGME - version >= $min_gpgme_version" >&5
-$as_echo_n "checking for GPGME - version >= $min_gpgme_version... " >&6; }
-  ok=no
-  if test "$GPGME_CONFIG" != "no" ; then
-    req_major=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'`
-    req_minor=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'`
-    req_micro=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'`
-    if test "$gpgme_version_major" -gt "$req_major"; then
-        ok=yes
-    else
-        if test "$gpgme_version_major" -eq "$req_major"; then
-            if test "$gpgme_version_minor" -gt "$req_minor"; then
-               ok=yes
-            else
-               if test "$gpgme_version_minor" -eq "$req_minor"; then
-                   if test "$gpgme_version_micro" -ge "$req_micro"; then
-                     ok=yes
-                   fi
-               fi
-            fi
-        fi
-    fi
-  fi
-  if test $ok = yes; then
-     # If we have a recent GPGME, we should also check that the
-     # API is compatible.
-     if test "$req_gpgme_api" -gt 0 ; then
-        tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
-        if test "$tmp" -gt 0 ; then
-           if test "$req_gpgme_api" -ne "$tmp" ; then
-             ok=no
-           fi
-        fi
-     fi
-  fi
-  if test $ok = yes; then
-    GPGME_CFLAGS=`$GPGME_CONFIG --cflags`
-    GPGME_LIBS=`$GPGME_CONFIG --libs`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_GPGME_PKA_TRUST 1" >>confdefs.h
-
-  else
-    GPGME_CFLAGS=""
-    GPGME_LIBS=""
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    :
-  fi
-
-
-
-      #needed to get GPGME_LIBS and al correctly
-         tmp=1.0.0
-  if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
-     req_gpgme_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
-     min_gpgme_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
-  else
-     req_gpgme_api=0
-     min_gpgme_version="$tmp"
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPGME - version >= $min_gpgme_version" >&5
-$as_echo_n "checking for GPGME - version >= $min_gpgme_version... " >&6; }
-  ok=no
-  if test "$GPGME_CONFIG" != "no" ; then
-    req_major=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'`
-    req_minor=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'`
-    req_micro=`echo $min_gpgme_version | \
-               sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'`
-    if test "$gpgme_version_major" -gt "$req_major"; then
-        ok=yes
-    else
-        if test "$gpgme_version_major" -eq "$req_major"; then
-            if test "$gpgme_version_minor" -gt "$req_minor"; then
-               ok=yes
-            else
-               if test "$gpgme_version_minor" -eq "$req_minor"; then
-                   if test "$gpgme_version_micro" -ge "$req_micro"; then
-                     ok=yes
-                   fi
-               fi
-            fi
-        fi
-    fi
-  fi
-  if test $ok = yes; then
-     # If we have a recent GPGME, we should also check that the
-     # API is compatible.
-     if test "$req_gpgme_api" -gt 0 ; then
-        tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
-        if test "$tmp" -gt 0 ; then
-           if test "$req_gpgme_api" -ne "$tmp" ; then
-             ok=no
-           fi
-        fi
-     fi
-  fi
-  if test $ok = yes; then
-    GPGME_CFLAGS=`$GPGME_CONFIG --cflags`
-    GPGME_LIBS=`$GPGME_CONFIG --libs`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define CRYPT_BACKEND_GPGME 1" >>confdefs.h
-
-  else
-    GPGME_CFLAGS=""
-    GPGME_LIBS=""
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    :
-  fi
-
-
-
-      MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS crypt-gpgme.o crypt-mod-pgp-gpgme.o crypt-mod-smime-gpgme.o"
-   fi
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-# Check whether --enable-pgp was given.
-if test "${enable_pgp+set}" = set; then :
-  enableval=$enable_pgp;        if test x$enableval = xno ; then
-                have_pgp=no
-        fi
-
-fi
-
-
-if test x$have_pgp != xno ; then
-
-$as_echo "#define CRYPT_BACKEND_CLASSIC_PGP 1" >>confdefs.h
-
-        PGPAUX_TARGET="pgpring\$(EXEEXT) pgpewrap\$(EXEEXT)"
-        MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS pgp.o pgpinvoke.o pgpkey.o pgplib.o gnupgparse.o pgpmicalg.o pgppacket.o crypt-mod-pgp-classic.o"
-fi
-
-# Check whether --enable-smime was given.
-if test "${enable_smime+set}" = set; then :
-  enableval=$enable_smime;     if test x$enableval = xno ; then
-               have_smime=no
-       fi
-
-fi
-
-
-if test x$have_smime != xno ; then
-
-$as_echo "#define CRYPT_BACKEND_CLASSIC_SMIME 1" >>confdefs.h
-
-       MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS smime.o crypt-mod-smime-classic.o"
-       SMIMEAUX_TARGET="smime_keys"
-fi
-
-
-# Check whether --with-mixmaster was given.
-if test "${with_mixmaster+set}" = set; then :
-  withval=$with_mixmaster; if test "$withval" != no
-   then
-     if test -x "$withval"
-     then
-       MIXMASTER="$withval"
-     else
-       MIXMASTER="mixmaster"
-     fi
-     OPS="$OPS \$(srcdir)/OPS.MIX"
-     MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS remailer.o"
-
-cat >>confdefs.h <<_ACEOF
-#define MIXMASTER "$MIXMASTER"
-_ACEOF
-
-   fi
-fi
-
-
-# We now require all OPS
-OPS="$OPS \$(srcdir)/OPS.PGP \$(srcdir)/OPS.SMIME \$(srcdir)/OPS.CRYPT "
-
-
-
-
-
-# Extract the first word of "ispell", so it can be a program name with args.
-set dummy ispell; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ISPELL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ISPELL in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ISPELL="$ISPELL" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ISPELL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_ISPELL" && ac_cv_path_ISPELL="no"
-  ;;
-esac
-fi
-ISPELL=$ac_cv_path_ISPELL
-if test -n "$ISPELL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ISPELL" >&5
-$as_echo "$ISPELL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test $ISPELL != no; then
-
-cat >>confdefs.h <<_ACEOF
-#define ISPELL "$ISPELL"
-_ACEOF
-
-fi
-
-
-# Check whether --with-slang was given.
-if test "${with_slang+set}" = set; then :
-  withval=$with_slang; { $as_echo "$as_me:${as_lineno-$LINENO}: checking if this is a BSD system" >&5
-$as_echo_n "checking if this is a BSD system... " >&6; }
-if test "${mutt_cv_bsdish+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  mutt_cv_bsdish=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/param.h>
-#include <stdlib.h>
-
-main ()
-{
-#ifdef BSD
-        exit (0);
-#else
-        exit (1);
-#endif
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  mutt_cv_bsdish=yes
-else
-  mutt_cv_bsdish=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_bsdish" >&5
-$as_echo "$mutt_cv_bsdish" >&6; }
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for S-Lang" >&5
-$as_echo_n "checking for S-Lang... " >&6; }
-        if test $withval = yes; then
-                if test -d $srcdir/../slang; then
-                        mutt_cv_slang=$srcdir/../slang/src
-                        CPPFLAGS="$CPPFLAGS -I${mutt_cv_slang}"
-                        LDFLAGS="$LDFLAGS -L${mutt_cv_slang}/objs"
-                else
-                        if test -d $mutt_cv_prefix/include/slang; then
-                                CPPFLAGS="$CPPFLAGS -I$mutt_cv_prefix/include/slang"
-                        elif test -d /usr/include/slang; then
-                                CPPFLAGS="$CPPFLAGS -I/usr/include/slang"
-                        fi
-                        mutt_cv_slang=yes
-                fi
-        else
-                                if test -f $withval/src/slang.h; then
-                        mutt_cv_slang=$withval/src
-                        CPPFLAGS="$CPPFLAGS -I${mutt_cv_slang}"
-                        LDFLAGS="$LDFLAGS -L${mutt_cv_slang}/objs"
-                else
-                                                mutt_cv_slang=$withval
-                        if test -d $withval/include/slang; then
-                                CPPFLAGS="$CPPFLAGS -I${withval}/include/slang"
-                        elif test -d $withval/include; then
-                                CPPFLAGS="$CPPFLAGS -I${withval}/include"
-                        fi
-                        LDFLAGS="$LDFLAGS -L${withval}/lib"
-                fi
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_slang" >&5
-$as_echo "$mutt_cv_slang" >&6; }
-        if test $mutt_cv_bsdish = yes; then
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ltermlib" >&5
-$as_echo_n "checking for main in -ltermlib... " >&6; }
-if test "${ac_cv_lib_termlib_main+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltermlib  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-
-int
-main ()
-{
-return main ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_termlib_main=yes
-else
-  ac_cv_lib_termlib_main=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termlib_main" >&5
-$as_echo "$ac_cv_lib_termlib_main" >&6; }
-if test "x$ac_cv_lib_termlib_main" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBTERMLIB 1
-_ACEOF
-
-  LIBS="-ltermlib $LIBS"
-
-fi
-
-        fi
-
-$as_echo "#define USE_SLANG_CURSES 1" >>confdefs.h
-
-
-$as_echo "#define HAVE_COLOR 1" >>confdefs.h
-
-        MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS resize.o"
-
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SLtt_get_terminfo in -lslang" >&5
-$as_echo_n "checking for SLtt_get_terminfo in -lslang... " >&6; }
-if test "${ac_cv_lib_slang_SLtt_get_terminfo+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lslang -lm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char SLtt_get_terminfo ();
-int
-main ()
-{
-return SLtt_get_terminfo ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_slang_SLtt_get_terminfo=yes
-else
-  ac_cv_lib_slang_SLtt_get_terminfo=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_slang_SLtt_get_terminfo" >&5
-$as_echo "$ac_cv_lib_slang_SLtt_get_terminfo" >&6; }
-if test "x$ac_cv_lib_slang_SLtt_get_terminfo" = x""yes; then :
-  MUTTLIBS="$MUTTLIBS -lslang -lm"
-else
-  as_fn_error "unable to compile.  check config.log" "$LINENO" 5
-fi
-
-
-
-else
-  mutt_cv_curses=/usr
-
-# Check whether --with-curses was given.
-if test "${with_curses+set}" = set; then :
-  withval=$with_curses; if test $withval != yes; then
-                        mutt_cv_curses=$withval
-                fi
-                if test x$mutt_cv_curses != x/usr; then
-                        LDFLAGS="$LDFLAGS -L${mutt_cv_curses}/lib"
-                        CPPFLAGS="$CPPFLAGS -I${mutt_cv_curses}/include"
-                fi
-fi
-
-
-       ac_fn_c_check_func "$LINENO" "initscr" "ac_cv_func_initscr"
-if test "x$ac_cv_func_initscr" = x""yes; then :
-
-else
-
-       cf_ncurses="ncurses"
-       for lib in ncurses ncursesw
-       do
-               as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_waddnwstr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for waddnwstr in -l$lib" >&5
-$as_echo_n "checking for waddnwstr in -l$lib... " >&6; }
-if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$lib  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char waddnwstr ();
-int
-main ()
-{
-return waddnwstr ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Lib
-   if test "x$as_val" = x""yes; then :
-  cf_ncurses="$lib"; break
-fi
-
-       done
-        as_ac_Lib=`$as_echo "ac_cv_lib_$cf_ncurses''_initscr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -l$cf_ncurses" >&5
-$as_echo_n "checking for initscr in -l$cf_ncurses... " >&6; }
-if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$cf_ncurses  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char initscr ();
-int
-main ()
-{
-return initscr ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Lib
-   if test "x$as_val" = x""yes; then :
-  MUTTLIBS="$MUTTLIBS -l$cf_ncurses"
-
-                if test "$cf_ncurses" = ncursesw; then
-                       for ac_header in ncursesw/ncurses.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "ncursesw/ncurses.h" "ac_cv_header_ncursesw_ncurses_h" "$ac_includes_default"
-if test "x$ac_cv_header_ncursesw_ncurses_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_NCURSESW_NCURSES_H 1
-_ACEOF
- cf_cv_ncurses_header="ncursesw/ncurses.h"
-fi
-
-done
-
-               else
-                  for ac_header in ncurses/ncurses.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "ncurses/ncurses.h" "ac_cv_header_ncurses_ncurses_h" "$ac_includes_default"
-if test "x$ac_cv_header_ncurses_ncurses_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_NCURSES_NCURSES_H 1
-_ACEOF
- cf_cv_ncurses_header="ncurses/ncurses.h"
-else
-  for ac_header in ncurses.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "ncurses.h" "ac_cv_header_ncurses_h" "$ac_includes_default"
-if test "x$ac_cv_header_ncurses_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_NCURSES_H 1
-_ACEOF
- cf_cv_ncurses_header="ncurses.h"
-fi
-
-done
-
-fi
-
-done
-
-               fi
-else
-
-ac_fn_c_check_func "$LINENO" "initscr" "ac_cv_func_initscr"
-if test "x$ac_cv_func_initscr" = x""yes; then :
-
-else
-
-case $host_os in #(vi
-freebsd*) #(vi
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgoto in -lmytinfo" >&5
-$as_echo_n "checking for tgoto in -lmytinfo... " >&6; }
-if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lmytinfo  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char tgoto ();
-int
-main ()
-{
-return tgoto ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_mytinfo_tgoto=yes
-else
-  ac_cv_lib_mytinfo_tgoto=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mytinfo_tgoto" >&5
-$as_echo "$ac_cv_lib_mytinfo_tgoto" >&6; }
-if test "x$ac_cv_lib_mytinfo_tgoto" = x""yes; then :
-  LIBS="-lmytinfo $LIBS"
-fi
-
-       ;;
-hpux10.*|hpux11.*)
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lcur_colr" >&5
-$as_echo_n "checking for initscr in -lcur_colr... " >&6; }
-if test "${ac_cv_lib_cur_colr_initscr+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcur_colr  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char initscr ();
-int
-main ()
-{
-return initscr ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_cur_colr_initscr=yes
-else
-  ac_cv_lib_cur_colr_initscr=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cur_colr_initscr" >&5
-$as_echo "$ac_cv_lib_cur_colr_initscr" >&6; }
-if test "x$ac_cv_lib_cur_colr_initscr" = x""yes; then :
-
-               LIBS="-lcur_colr $LIBS"
-               CFLAGS="-I/usr/include/curses_colr $CFLAGS"
-               ac_cv_func_initscr=yes
-
-else
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lHcurses" >&5
-$as_echo_n "checking for initscr in -lHcurses... " >&6; }
-if test "${ac_cv_lib_Hcurses_initscr+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lHcurses  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char initscr ();
-int
-main ()
-{
-return initscr ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_Hcurses_initscr=yes
-else
-  ac_cv_lib_Hcurses_initscr=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Hcurses_initscr" >&5
-$as_echo "$ac_cv_lib_Hcurses_initscr" >&6; }
-if test "x$ac_cv_lib_Hcurses_initscr" = x""yes; then :
-
-               # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
-               LIBS="-lHcurses $LIBS"
-               CFLAGS="-D__HP_CURSES -D_HP_CURSES $CFLAGS"
-               ac_cv_func_initscr=yes
-
-fi
-
-fi
-
-       ;;
-linux*) # Suse Linux does not follow /usr/lib convention
-       LIBS="$LIBS -L/lib"
-       ;;
-esac
-
-if test ".$With5lib" != ".no" ; then
-if test -d /usr/5lib ; then
-       # SunOS 3.x or 4.x
-       CPPFLAGS="$CPPFLAGS -I/usr/5include"
-       LIBS="$LIBS -L/usr/5lib"
-fi
-fi
-
-if test ".$ac_cv_func_initscr" != .yes ; then
-       cf_save_LIBS="$LIBS"
-       cf_term_lib=""
-       cf_curs_lib=""
-
-       # Check for library containing tgoto.  Do this before curses library
-       # because it may be needed to link the test-case for initscr.
-       ac_fn_c_check_func "$LINENO" "tgoto" "ac_cv_func_tgoto"
-if test "x$ac_cv_func_tgoto" = x""yes; then :
-  cf_term_lib=predefined
-else
-
-               for cf_term_lib in termcap termlib unknown
-               do
-                       as_ac_Lib=`$as_echo "ac_cv_lib_$cf_term_lib''_tgoto" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgoto in -l$cf_term_lib" >&5
-$as_echo_n "checking for tgoto in -l$cf_term_lib... " >&6; }
-if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$cf_term_lib  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char tgoto ();
-int
-main ()
-{
-return tgoto ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Lib
-   if test "x$as_val" = x""yes; then :
-  break
-fi
-
-               done
-
-fi
-
-
-       # Check for library containing initscr
-       test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
-       for cf_curs_lib in cursesX curses ncurses xcurses jcurses unknown
-       do
-               as_ac_Lib=`$as_echo "ac_cv_lib_$cf_curs_lib''_initscr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -l$cf_curs_lib" >&5
-$as_echo_n "checking for initscr in -l$cf_curs_lib... " >&6; }
-if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$cf_curs_lib  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char initscr ();
-int
-main ()
-{
-return initscr ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Lib
-   if test "x$as_val" = x""yes; then :
-  break
-fi
-
-       done
-       test $cf_curs_lib = unknown && as_fn_error "no curses library found" "$LINENO" 5
-
-       LIBS="-l$cf_curs_lib $cf_save_LIBS"
-       if test "$cf_term_lib" = unknown ; then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can link with $cf_curs_lib library" >&5
-$as_echo_n "checking if we can link with $cf_curs_lib library... " >&6; }
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <${cf_cv_ncurses_header-curses.h}>
-int
-main ()
-{
-initscr()
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cf_result=yes
-else
-  cf_result=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cf_result" >&5
-$as_echo "$cf_result" >&6; }
-               test $cf_result = no && as_fn_error "Cannot link curses library" "$LINENO" 5
-       elif test "$cf_term_lib" != predefined ; then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
-$as_echo_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries... " >&6; }
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <${cf_cv_ncurses_header-curses.h}>
-int
-main ()
-{
-initscr(); tgoto((char *)0, 0, 0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cf_result=no
-else
-
-                       LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
-                       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <${cf_cv_ncurses_header-curses.h}>
-int
-main ()
-{
-initscr()
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cf_result=yes
-else
-  cf_result=error
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cf_result" >&5
-$as_echo "$cf_result" >&6; }
-       fi
-fi
-
-
-fi
-
-fi
-
-
-fi
-
-
-        old_LIBS="$LIBS"
-        LIBS="$LIBS $MUTTLIBS"
-        for ac_func in start_color typeahead bkgdset curs_set meta use_default_colors resizeterm
-do
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_func declaration" >&5
-$as_echo_n "checking for $ac_func declaration... " >&6; }
-if { as_var=ac_cv_func_decl_$ac_func; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <${cf_cv_ncurses_header-curses.h}>
-int
-main ()
-{
-#ifndef ${ac_func}
-extern int     ${ac_func}();
-#endif
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <${cf_cv_ncurses_header-curses.h}>
-int
-main ()
-{
-#ifndef ${ac_func}
-int    (*p)() = ${ac_func};
-#endif
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-eval "ac_cv_func_decl_$ac_func=yes"
-else
-
-eval "ac_cv_func_decl_$ac_func=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-
-eval "ac_cv_func_decl_$ac_func=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-if eval "test \"`echo '$ac_cv_func_'decl_$ac_func`\" = yes"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-
-ac_tr_func=`echo HAVE_$ac_func | tr '[a-z]' '[A-Z]'`
-
-  cat >>confdefs.h <<_ACEOF
-#define $ac_tr_func 1
-_ACEOF
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-done
-
-        if test "$ac_cv_func_decl_start_color" = yes; then
-
-$as_echo "#define HAVE_COLOR 1" >>confdefs.h
-
-        fi
-        if test "$ac_cv_func_decl_resizeterm" = yes; then
-                MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS resize.o"
-        fi
-        LIBS="$old_LIBS"
-
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-
-for ac_header in stdarg.h sys/ioctl.h ioctl.h sysexits.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/time.h sys/resource.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in unix.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "unix.h" "ac_cv_header_unix_h" "$ac_includes_default"
-if test "x$ac_cv_header_unix_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_UNIX_H 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in setrlimit getsid
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
-$as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <signal.h>
-
-int
-main ()
-{
-return *(signal (0, 0)) (0) == 1;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_type_signal=int
-else
-  ac_cv_type_signal=void
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
-$as_echo "$ac_cv_type_signal" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sig_atomic_t in signal.h" >&5
-$as_echo_n "checking for sig_atomic_t in signal.h... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <signal.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "sig_atomic_t" >/dev/null 2>&1; then :
-
-    ac_cv_type_sig_atomic_t=yes;
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <signal.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "volatile.*sig_atomic_t" >/dev/null 2>&1; then :
-
-                        is_sig_atomic_t_volatile=yes;
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, volatile" >&5
-$as_echo "yes, volatile" >&6; }
-
-else
-
-                        is_sig_atomic_t_volatile=no;
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, non volatile" >&5
-$as_echo "yes, non volatile" >&6; }
-
-fi
-rm -f conftest*
-
-
-else
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "$ac_includes_default"
-if test "x$ac_cv_type_sig_atomic_t" = x""yes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define sig_atomic_t int
-_ACEOF
-
-fi
-
-    is_sig_atomic_t_volatile=no
-
-fi
-rm -f conftest*
-
-if test $is_sig_atomic_t_volatile = 'yes'
-then
-    $as_echo "#define SIG_ATOMIC_VOLATILE_T sig_atomic_t" >>confdefs.h
-
-else
-    $as_echo "#define SIG_ATOMIC_VOLATILE_T volatile sig_atomic_t" >>confdefs.h
-
-fi
-
-ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h.  */
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl_sys_siglist" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SYS_SIGLIST $ac_have_decl
-_ACEOF
-
-
-
-ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = x""yes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define pid_t int
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
-if test "x$ac_cv_type_ssize_t" = x""yes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ssize_t int
-_ACEOF
-
-fi
-
-
-for ac_func in fgetpos memmove setegid srand48 strerror
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-for ac_func in setenv strcasecmp strdup strsep strtok_r wcscasecmp
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
-  case " $LIBOBJS " in
-  *" $ac_func.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
- ;;
-esac
-
-fi
-done
-
-
-for ac_func in strcasestr mkdtemp
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
-  case " $LIBOBJS " in
-  *" $ac_func.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
- ;;
-esac
-
-fi
-done
-
-
-
-ac_fn_c_check_func "$LINENO" "getopt" "ac_cv_func_getopt"
-if test "x$ac_cv_func_getopt" = x""yes; then :
-
-fi
-
-if test $ac_cv_func_getopt = yes; then
-        for ac_header in getopt.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
-if test "x$ac_cv_header_getopt_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETOPT_H 1
-_ACEOF
-
-fi
-
-done
-
-fi
-
-SNPRINTFOBJS=""
-ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf"
-if test "x$ac_cv_func_snprintf" = x""yes; then :
-  mutt_cv_func_snprintf=yes
-else
-  mutt_cv_func_snprintf=no
-fi
-
-ac_fn_c_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf"
-if test "x$ac_cv_func_vsnprintf" = x""yes; then :
-  mutt_cv_func_vsnprintf=yes
-else
-  mutt_cv_func_vsnprintf=no
-fi
-
-if test $mutt_cv_func_snprintf = yes; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system's snprintf is C99 compliant" >&5
-$as_echo_n "checking whether your system's snprintf is C99 compliant... " >&6; }
-if test "${mutt_cv_c99_snprintf+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  mutt_cv_c99_snprintf=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <stdio.h>
-int main()
-{
-  char buf[8];
-  int len = snprintf(buf, 4, "1234567");
-  return (len != 7 || buf[3] != '\0');
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  mutt_cv_c99_snprintf=yes
-else
-  mutt_cv_c99_snprintf=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_c99_snprintf" >&5
-$as_echo "$mutt_cv_c99_snprintf" >&6; }
-else
-        mutt_cv_c99_snprintf=no
-fi
-if test $mutt_cv_func_vsnprintf = yes; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system's vsnprintf is C99 compliant" >&5
-$as_echo_n "checking whether your system's vsnprintf is C99 compliant... " >&6; }
-if test "${mutt_cv_c99_vsnprintf+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  mutt_cv_c99_vsnprintf=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <stdarg.h>
-#include <stdio.h>
-int foo(const char *fmt, ...)
-{
-  char buf[8];
-  int len;
-  va_list ap;
-  va_start(ap, fmt);
-  len = vsnprintf(buf, 4, fmt, ap);
-  va_end(ap);
-  return (len != 7 || buf[3] != '\0');
-}
-
-int main()
-{
-  return foo("%s", "1234567");
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  mutt_cv_c99_vsnprintf=yes
-else
-  mutt_cv_c99_vsnprintf=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_c99_vsnprintf" >&5
-$as_echo "$mutt_cv_c99_vsnprintf" >&6; }
-else
-        mutt_cv_c99_vsnprintf=no
-fi
-if test $mutt_cv_c99_snprintf = yes; then
-
-$as_echo "#define HAVE_SNPRINTF 1" >>confdefs.h
-
-fi
-if test $mutt_cv_c99_vsnprintf = yes; then
-
-$as_echo "#define HAVE_VSNPRINTF 1" >>confdefs.h
-
-fi
-if test $mutt_cv_c99_snprintf = no -o $mutt_cv_c99_vsnprintf = no; then
-        case " $LIBOBJS " in
-  *" snprintf.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS snprintf.$ac_objext"
- ;;
-esac
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
-$as_echo_n "checking for va_copy... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-int
-main ()
-{
-va_list ap1, ap2; va_copy(ap1, ap2);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: va_copy" >&5
-$as_echo "va_copy" >&6; }
-else
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-int
-main ()
-{
-va_list ap1, ap2; __va_copy(ap1, ap2);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-      $as_echo "#define va_copy __va_copy" >>confdefs.h
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: __va_copy" >&5
-$as_echo "__va_copy" >&6; }
-else
-      $as_echo "#define va_copy(dest,src) memcpy(&dest,&src,sizeof(va_list))" >>confdefs.h
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: memcpy" >&5
-$as_echo "memcpy" >&6; }
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-
-for ac_func in ftruncate
-do :
-  ac_fn_c_check_func "$LINENO" "ftruncate" "ac_cv_func_ftruncate"
-if test "x$ac_cv_func_ftruncate" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_FTRUNCATE 1
-_ACEOF
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for chsize in -lx" >&5
-$as_echo_n "checking for chsize in -lx... " >&6; }
-if test "${ac_cv_lib_x_chsize+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lx  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char chsize ();
-int
-main ()
-{
-return chsize ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_x_chsize=yes
-else
-  ac_cv_lib_x_chsize=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_x_chsize" >&5
-$as_echo "$ac_cv_lib_x_chsize" >&6; }
-if test "x$ac_cv_lib_x_chsize" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBX 1
-_ACEOF
-
-  LIBS="-lx $LIBS"
-
-fi
-
-fi
-done
-
-
-for ac_func in strftime
-do :
-  ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
-if test "x$ac_cv_func_strftime" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STRFTIME 1
-_ACEOF
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5
-$as_echo_n "checking for strftime in -lintl... " >&6; }
-if test "${ac_cv_lib_intl_strftime+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lintl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strftime ();
-int
-main ()
-{
-return strftime ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_intl_strftime=yes
-else
-  ac_cv_lib_intl_strftime=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5
-$as_echo "$ac_cv_lib_intl_strftime" >&6; }
-if test "x$ac_cv_lib_intl_strftime" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBINTL 1
-_ACEOF
-
-  LIBS="-lintl $LIBS"
-
-fi
-
-fi
-done
-
-
-for ac_func in fchdir
-do :
-  ac_fn_c_check_func "$LINENO" "fchdir" "ac_cv_func_fchdir"
-if test "x$ac_cv_func_fchdir" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_FCHDIR 1
-_ACEOF
-
-else
-  mutt_cv_fchdir=no
-fi
-done
-
-
-
-# Check whether --with-regex was given.
-if test "${with_regex+set}" = set; then :
-  withval=$with_regex; mutt_cv_regex=yes
-else
-  for ac_func in regcomp
-do :
-  ac_fn_c_check_func "$LINENO" "regcomp" "ac_cv_func_regcomp"
-if test "x$ac_cv_func_regcomp" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_REGCOMP 1
-_ACEOF
- mutt_cv_regex=no
-else
-  mutt_cv_regex=yes
-fi
-done
-
-fi
-
-
-if test $mutt_cv_regex = no ; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system's regexp library is completely broken" >&5
-$as_echo_n "checking whether your system's regexp library is completely broken... " >&6; }
-if test "${mutt_cv_regex_broken+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  mutt_cv_regex_broken=yes
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <unistd.h>
-#include <regex.h>
-main() { regex_t blah ; regmatch_t p; p.rm_eo = p.rm_eo; return regcomp(&blah, "foo.*bar", REG_NOSUB) || regexec (&blah, "foobar", 0, NULL, 0); }
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  mutt_cv_regex_broken=no
-else
-  mutt_cv_regex_broken=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_regex_broken" >&5
-$as_echo "$mutt_cv_regex_broken" >&6; }
-        if test $mutt_cv_regex_broken = yes ; then
-                echo "Using the included GNU regex instead." >&6
-                mutt_cv_regex=yes
-        fi
-fi
-
-if test $mutt_cv_regex = yes; then
-
-$as_echo "#define USE_GNU_REGEX 1" >>confdefs.h
-
-        case " $LIBOBJS " in
-  *" regex.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS regex.$ac_objext"
- ;;
-esac
-
-fi
-
-
-
-# Check whether --with-homespool was given.
-if test "${with_homespool+set}" = set; then :
-  withval=$with_homespool; with_homespool=${withval}
-fi
-
-if test x$with_homespool != x; then
-        if test $with_homespool = yes; then
-                with_homespool=mailbox
-        fi
-
-cat >>confdefs.h <<_ACEOF
-#define MAILPATH "$with_homespool"
-_ACEOF
-
-
-$as_echo "#define HOMESPOOL 1" >>confdefs.h
-
-
-$as_echo "#define USE_DOTLOCK 1" >>confdefs.h
-
-        mutt_cv_setgid=no
-else
-
-# Check whether --with-mailpath was given.
-if test "${with_mailpath+set}" = set; then :
-  withval=$with_mailpath; mutt_cv_mailpath=$withval
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking where new mail is stored" >&5
-$as_echo_n "checking where new mail is stored... " >&6; }
-if test "${mutt_cv_mailpath+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  mutt_cv_mailpath=no
-                        if test -d /var/mail; then
-                                mutt_cv_mailpath=/var/mail
-                        elif test -d /var/spool/mail; then
-                                mutt_cv_mailpath=/var/spool/mail
-                        elif test -d /usr/spool/mail; then
-                                mutt_cv_mailpath=/usr/spool/mail
-                        elif test -d /usr/mail; then
-                                mutt_cv_mailpath=/usr/mail
-                        fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_mailpath" >&5
-$as_echo "$mutt_cv_mailpath" >&6; }
-
-fi
-
-        if test "$mutt_cv_mailpath" = no; then
-                as_fn_error "\"Could not determine where new mail is stored.\"" "$LINENO" 5
-        fi
-
-cat >>confdefs.h <<_ACEOF
-#define MAILPATH "$mutt_cv_mailpath"
-_ACEOF
-
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $mutt_cv_mailpath is world writable" >&5
-$as_echo_n "checking if $mutt_cv_mailpath is world writable... " >&6; }
-if test "${mutt_cv_worldwrite+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  mutt_cv_worldwrite=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdlib.h>
-
-int main (int argc, char **argv)
-{
-        struct stat s;
-
-        stat ("$mutt_cv_mailpath", &s);
-        if (s.st_mode & S_IWOTH) exit (0);
-        exit (1);
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  mutt_cv_worldwrite=yes
-else
-  mutt_cv_worldwrite=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_worldwrite" >&5
-$as_echo "$mutt_cv_worldwrite" >&6; }
-
-        mutt_cv_setgid=no
-        if test $mutt_cv_worldwrite = yes; then
-
-$as_echo "#define USE_DOTLOCK 1" >>confdefs.h
-
-        else
-
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $mutt_cv_mailpath is group writable" >&5
-$as_echo_n "checking if $mutt_cv_mailpath is group writable... " >&6; }
-if test "${mutt_cv_groupwrite+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  mutt_cv_groupwrite=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdlib.h>
-
-int main (int argc, char **argv)
-{
-        struct stat s;
-
-        stat ("$mutt_cv_mailpath", &s);
-        if (s.st_mode & S_IWGRP) exit (0);
-        exit (1);
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  mutt_cv_groupwrite=yes
-else
-  mutt_cv_groupwrite=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_groupwrite" >&5
-$as_echo "$mutt_cv_groupwrite" >&6; }
-
-                if test $mutt_cv_groupwrite = yes; then
-
-$as_echo "#define USE_DOTLOCK 1" >>confdefs.h
-
-
-$as_echo "#define USE_SETGID 1" >>confdefs.h
-
-                        mutt_cv_setgid=yes
-                fi
-        fi
-fi
-
-# Check whether --enable-external_dotlock was given.
-if test "${enable_external_dotlock+set}" = set; then :
-  enableval=$enable_external_dotlock; mutt_cv_external_dotlock="$enableval"
-fi
-
-
-if test "x$mutt_cv_setgid" = "xyes" || test "x$mutt_cv_fchdir" = "xno" \
-        || test "x$mutt_cv_external_dotlock" = "xyes"
-then
-
-$as_echo "#define DL_STANDALONE 1" >>confdefs.h
-
-        DOTLOCK_TARGET="mutt_dotlock\$(EXEEXT)"
-else
-        MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS dotlock.o"
-fi
-
-
-
-if test -z "$datarootdir"; then
-  datarootdir='${prefix}/share'
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to put the documentation" >&5
-$as_echo_n "checking where to put the documentation... " >&6; }
-
-# Check whether --with-docdir was given.
-if test "${with_docdir+set}" = set; then :
-  withval=$with_docdir; mutt_cv_docdir=$withval
-else
-  mutt_cv_docdir='${datarootdir}/doc/mutt'
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_docdir" >&5
-$as_echo "$mutt_cv_docdir" >&6; }
-if test -z "$docdir" -o -n "$with_docdir"
-then
-  docdir=$mutt_cv_docdir
-fi
-
-
-if test x$mutt_cv_setgid = xyes; then
-        DOTLOCK_GROUP='mail'
-        DOTLOCK_PERMISSION=2755
-else
-        DOTLOCK_GROUP=''
-        DOTLOCK_PERMISSION=755
-fi
-
-
-
-
-# Check whether --with-domain was given.
-if test "${with_domain+set}" = set; then :
-  withval=$with_domain; if test $withval != yes; then
-            if test $withval != no; then
-
-cat >>confdefs.h <<_ACEOF
-#define DOMAIN "$withval"
-_ACEOF
-
-            fi
-        fi
-fi
-
-
-need_socket="no"
-
-
-# Check whether --enable-pop was given.
-if test "${enable_pop+set}" = set; then :
-  enableval=$enable_pop;        if test x$enableval = xyes ; then
-
-$as_echo "#define USE_POP 1" >>confdefs.h
-
-                MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS pop.o pop_lib.o pop_auth.o"
-                need_pop="yes"
-                need_socket="yes"
-                need_md5="yes"
-        fi
-
-fi
-
-
-# Check whether --enable-imap was given.
-if test "${enable_imap+set}" = set; then :
-  enableval=$enable_imap;        if test x$enableval = xyes ; then
-
-$as_echo "#define USE_IMAP 1" >>confdefs.h
-
-                LIBIMAP="-Limap -limap"
-                LIBIMAPDEPS="\$(top_srcdir)/imap/imap.h imap/libimap.a"
-                need_imap="yes"
-                need_socket="yes"
-                need_md5="yes"
-        fi
-
-fi
-
- if test x$need_imap = xyes; then
-  BUILD_IMAP_TRUE=
-  BUILD_IMAP_FALSE='#'
-else
-  BUILD_IMAP_TRUE='#'
-  BUILD_IMAP_FALSE=
-fi
-
-
-# Check whether --enable-smtp was given.
-if test "${enable_smtp+set}" = set; then :
-  enableval=$enable_smtp; if test $enableval = yes; then
-
-$as_echo "#define USE_SMTP 1" >>confdefs.h
-
-               MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS smtp.o"
-               need_socket="yes"
-       fi
-fi
-
-
-if test x"$need_imap" = xyes -o x"$need_pop" = xyes ; then
-  MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS bcache.o"
-fi
-
-
-if test "$need_socket" = "yes"
-then
-        for ac_header in sys/select.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_select_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_SELECT_H 1
-_ACEOF
-
-fi
-
-done
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t" >&5
-$as_echo_n "checking for socklen_t... " >&6; }
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/socket.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "socklen_t" >/dev/null 2>&1; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define socklen_t int" >>confdefs.h
-
-fi
-rm -f conftest*
-
-        ac_fn_c_check_func "$LINENO" "gethostent" "ac_cv_func_gethostent"
-if test "x$ac_cv_func_gethostent" = x""yes; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostent in -lnsl" >&5
-$as_echo_n "checking for gethostent in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostent+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostent ();
-int
-main ()
-{
-return gethostent ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_nsl_gethostent=yes
-else
-  ac_cv_lib_nsl_gethostent=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostent" >&5
-$as_echo "$ac_cv_lib_nsl_gethostent" >&6; }
-if test "x$ac_cv_lib_nsl_gethostent" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBNSL 1
-_ACEOF
-
-  LIBS="-lnsl $LIBS"
-
-fi
-
-fi
-
-        ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt"
-if test "x$ac_cv_func_setsockopt" = x""yes; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setsockopt in -lsocket" >&5
-$as_echo_n "checking for setsockopt in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_setsockopt+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char setsockopt ();
-int
-main ()
-{
-return setsockopt ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_socket_setsockopt=yes
-else
-  ac_cv_lib_socket_setsockopt=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_setsockopt" >&5
-$as_echo "$ac_cv_lib_socket_setsockopt" >&6; }
-if test "x$ac_cv_lib_socket_setsockopt" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSOCKET 1
-_ACEOF
-
-  LIBS="-lsocket $LIBS"
-
-fi
-
-fi
-
-        for ac_func in getaddrinfo
-do :
-  ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo"
-if test "x$ac_cv_func_getaddrinfo" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETADDRINFO 1
-_ACEOF
-
-fi
-done
-
-
-$as_echo "#define USE_SOCKET 1" >>confdefs.h
-
-        MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS account.o mutt_socket.o mutt_tunnel.o"
-fi
-
-
-
-# Check whether --with-gss was given.
-if test "${with_gss+set}" = set; then :
-  withval=$with_gss; gss_prefix="$withval"
-else
-  gss_prefix="no"
-fi
-
-if test "$gss_prefix" != "no"
-then
-  if test "$need_imap" = "yes"
-  then
-
-  GSSAPI_PREFIX=$gss_prefix
-  GSSAPI_IMPL="none"
-  saved_CPPFLAGS="$CPPFLAGS"
-  saved_LDFLAGS="$LDFLAGS"
-  saved_LIBS="$LIBS"
-    if test "$GSSAPI_PREFIX" != "yes"
-  then
-    krb5_path="$GSSAPI_PREFIX/bin"
-  else
-    krb5_path="$PATH"
-  fi
-  # Extract the first word of "krb5-config", so it can be a program name with args.
-set dummy krb5-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_KRB5CFGPATH+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $KRB5CFGPATH in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_KRB5CFGPATH="$KRB5CFGPATH" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $krb5_path
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_KRB5CFGPATH="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_KRB5CFGPATH" && ac_cv_path_KRB5CFGPATH="none"
-  ;;
-esac
-fi
-KRB5CFGPATH=$ac_cv_path_KRB5CFGPATH
-if test -n "$KRB5CFGPATH"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KRB5CFGPATH" >&5
-$as_echo "$KRB5CFGPATH" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  if test "$KRB5CFGPATH" != "none"
-  then
-    GSSAPI_CFLAGS="$CPPFLAGS `$KRB5CFGPATH --cflags gssapi`"
-    GSSAPI_LIBS="$MUTTLIBS `$KRB5CFGPATH --libs gssapi`"
-    case "`$KRB5CFGPATH --version`" in
-      "Kerberos 5 "*)  GSSAPI_IMPL="MIT";;
-      ?eimdal*)                GSSAPI_IMPL="Heimdal";;
-      *)               GSSAPI_IMPL="Unknown";;
-   esac
-  else
-        if test "$GSSAPI_PREFIX" != "yes"
-    then
-      GSSAPI_CFLAGS="-I$GSSAPI_PREFIX/include"
-      GSSAPI_LDFLAGS="-L$GSSAPI_PREFIX/lib"
-      CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS"
-      LDFLAGS="$LDFLAGS $GSSAPI_LDFLAGS"
-    fi
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi_krb5" >&5
-$as_echo_n "checking for gss_init_sec_context in -lgssapi_krb5... " >&6; }
-if test "${ac_cv_lib_gssapi_krb5_gss_init_sec_context+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gss_init_sec_context ();
-int
-main ()
-{
-return gss_init_sec_context ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_gssapi_krb5_gss_init_sec_context=yes
-else
-  ac_cv_lib_gssapi_krb5_gss_init_sec_context=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&5
-$as_echo "$ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&6; }
-if test "x$ac_cv_lib_gssapi_krb5_gss_init_sec_context" = x""yes; then :
-
-      GSSAPI_IMPL="MIT",
-      GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
-
-fi
-
-
-        if test "$GSSAPI_IMPL" = "none"
-    then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi" >&5
-$as_echo_n "checking for gss_init_sec_context in -lgssapi... " >&6; }
-if test "${ac_cv_lib_gssapi_gss_init_sec_context+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgssapi -lkrb5 -ldes -lasn1 -lroken -lcrypt -lcom_err $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gss_init_sec_context ();
-int
-main ()
-{
-return gss_init_sec_context ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_gssapi_gss_init_sec_context=yes
-else
-  ac_cv_lib_gssapi_gss_init_sec_context=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_init_sec_context" >&5
-$as_echo "$ac_cv_lib_gssapi_gss_init_sec_context" >&6; }
-if test "x$ac_cv_lib_gssapi_gss_init_sec_context" = x""yes; then :
-
-          GSSAPI_IMPL="Heimdal"
-          GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi -lkrb5 -ldes -lasn1 -lroken"
-          GSSAPI_LIBS="$GSSAPI_LIBS -lcrypt -lcom_err"
-
-fi
-
-    fi
-
-                            if test "$GSSAPI_IMPL" = "none"
-    then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g_order_init in -lgssapi_krb5" >&5
-$as_echo_n "checking for g_order_init in -lgssapi_krb5... " >&6; }
-if test "${ac_cv_lib_gssapi_krb5_g_order_init+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgssapi_krb5 -lkrb5 -lcrypto -lcom_err $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char g_order_init ();
-int
-main ()
-{
-return g_order_init ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_gssapi_krb5_g_order_init=yes
-else
-  ac_cv_lib_gssapi_krb5_g_order_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_g_order_init" >&5
-$as_echo "$ac_cv_lib_gssapi_krb5_g_order_init" >&6; }
-if test "x$ac_cv_lib_gssapi_krb5_g_order_init" = x""yes; then :
-
-        GSSAPI_IMPL="OldMIT",
-        GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi_krb5 -lkrb5 -lcrypto -lcom_err"
-
-fi
-
-    fi
-  fi
-
-  CPPFLAGS="$saved_CPPFLAGS"
-  LDFLAGS="$saved_LDFLAGS"
-  LIBS="$saved_LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking GSSAPI implementation" >&5
-$as_echo_n "checking GSSAPI implementation... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GSSAPI_IMPL" >&5
-$as_echo "$GSSAPI_IMPL" >&6; }
-    if test "$GSSAPI_IMPL" = "none"
-    then
-      cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: GSSAPI libraries not found" >&5
-$as_echo "GSSAPI libraries not found" >&6; }
-    fi
-    if test "$GSSAPI_IMPL" = "Heimdal"
-    then
-
-$as_echo "#define HAVE_HEIMDAL 1" >>confdefs.h
-
-    fi
-    CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS"
-    MUTTLIBS="$MUTTLIBS $GSSAPI_LIBS"
-
-$as_echo "#define USE_GSS 1" >>confdefs.h
-
-    need_gss="yes"
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GSS was requested but IMAP is not enabled" >&5
-$as_echo "$as_me: WARNING: GSS was requested but IMAP is not enabled" >&2;}
-  fi
-fi
- if test x$need_gss = xyes; then
-  USE_GSS_TRUE=
-  USE_GSS_FALSE='#'
-else
-  USE_GSS_TRUE='#'
-  USE_GSS_FALSE=
-fi
-
-
-
-
-# Check whether --with-ssl was given.
-if test "${with_ssl+set}" = set; then :
-  withval=$with_ssl;        if test "$with_ssl" != "no"
-        then
-          if test "$need_socket" != "yes"; then
-           { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SSL support is only useful with POP, IMAP or SMTP support" >&5
-$as_echo "$as_me: WARNING: SSL support is only useful with POP, IMAP or SMTP support" >&2;}
-         else
-            if test "$with_ssl" != "yes"
-            then
-             LDFLAGS="$LDFLAGS -L$withval/lib"
-             CPPFLAGS="$CPPFLAGS -I$withval/include"
-            fi
-            saved_LIBS="$LIBS"
-
-            crypto_libs=""
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5
-$as_echo_n "checking for deflate in -lz... " >&6; }
-if test "${ac_cv_lib_z_deflate+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char deflate ();
-int
-main ()
-{
-return deflate ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_z_deflate=yes
-else
-  ac_cv_lib_z_deflate=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5
-$as_echo "$ac_cv_lib_z_deflate" >&6; }
-if test "x$ac_cv_lib_z_deflate" = x""yes; then :
-  crypto_libs=-lz
-fi
-
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X509_new in -lcrypto" >&5
-$as_echo_n "checking for X509_new in -lcrypto... " >&6; }
-if test "${ac_cv_lib_crypto_X509_new+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcrypto $crypto_libs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char X509_new ();
-int
-main ()
-{
-return X509_new ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_crypto_X509_new=yes
-else
-  ac_cv_lib_crypto_X509_new=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_X509_new" >&5
-$as_echo "$ac_cv_lib_crypto_X509_new" >&6; }
-if test "x$ac_cv_lib_crypto_X509_new" = x""yes; then :
-  crypto_libs="-lcrypto $crypto_libs"
-fi
-
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_new in -lssl" >&5
-$as_echo_n "checking for SSL_new in -lssl... " >&6; }
-if test "${ac_cv_lib_ssl_SSL_new+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssl $crypto_libs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char SSL_new ();
-int
-main ()
-{
-return SSL_new ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ssl_SSL_new=yes
-else
-  ac_cv_lib_ssl_SSL_new=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_new" >&5
-$as_echo "$ac_cv_lib_ssl_SSL_new" >&6; }
-if test "x$ac_cv_lib_ssl_SSL_new" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSSL 1
-_ACEOF
-
-  LIBS="-lssl $LIBS"
-
-else
-  as_fn_error "Unable to find SSL library" "$LINENO" 5
-fi
-
-
-            LIBS="$LIBS $crypto_libs"
-            for ac_func in RAND_status RAND_egd
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-$as_echo "#define USE_SSL 1" >>confdefs.h
-
-
-$as_echo "#define USE_SSL_OPENSSL 1" >>confdefs.h
-
-            LIBS="$saved_LIBS"
-            MUTTLIBS="$MUTTLIBS -lssl $crypto_libs"
-            MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_ssl.o"
-            need_ssl=yes
-          fi
-        fi
-
-fi
-
-
-
-# Check whether --with-gnutls was given.
-if test "${with_gnutls+set}" = set; then :
-  withval=$with_gnutls; gnutls_prefix="$withval"
-else
-  gnutls_prefix="no"
-fi
-
-if test "$gnutls_prefix" != "no" && test x"$need_ssl" != xyes
-then
-  if test "$need_socket" != "yes"
-  then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SSL support is only useful with POP, IMAP or SMTP support" >&5
-$as_echo "$as_me: WARNING: SSL support is only useful with POP, IMAP or SMTP support" >&2;}
-  else
-    if test "$gnutls_prefix" != "yes"
-    then
-      LDFLAGS="$LDFLAGS -L$gnutls_prefix/lib"
-      CPPFLAGS="$CPPFLAGS -I$gnutls_prefix/include"
-    fi
-    saved_LIBS="$LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls_check_version in -lgnutls" >&5
-$as_echo_n "checking for gnutls_check_version in -lgnutls... " >&6; }
-if test "${ac_cv_lib_gnutls_gnutls_check_version+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgnutls  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gnutls_check_version ();
-int
-main ()
-{
-return gnutls_check_version ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_gnutls_gnutls_check_version=yes
-else
-  ac_cv_lib_gnutls_gnutls_check_version=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnutls_gnutls_check_version" >&5
-$as_echo "$ac_cv_lib_gnutls_gnutls_check_version" >&6; }
-if test "x$ac_cv_lib_gnutls_gnutls_check_version" = x""yes; then :
-        ac_fn_c_check_decl "$LINENO" "GNUTLS_VERIFY_DISABLE_TIME_CHECKS" "ac_cv_have_decl_GNUTLS_VERIFY_DISABLE_TIME_CHECKS" "#include <gnutls/x509.h>
-"
-if test "x$ac_cv_have_decl_GNUTLS_VERIFY_DISABLE_TIME_CHECKS" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GNUTLS_VERIFY_DISABLE_TIME_CHECKS $ac_have_decl
-_ACEOF
-
-
-      LIBS="$saved_LIBS"
-      MUTTLIBS="$MUTTLIBS -lgnutls"
-
-
-$as_echo "#define USE_SSL 1" >>confdefs.h
-
-
-$as_echo "#define USE_SSL_GNUTLS 1" >>confdefs.h
-
-
-      MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_ssl_gnutls.o"
-      need_ssl=yes
-else
-  as_fn_error "could not find libgnutls" "$LINENO" 5
-fi
-
-  fi
-fi
-
- if test x$need_ssl = xyes; then
-  USE_SSL_TRUE=
-  USE_SSL_FALSE='#'
-else
-  USE_SSL_TRUE='#'
-  USE_SSL_FALSE=
-fi
-
-
-
-# Check whether --with-sasl was given.
-if test "${with_sasl+set}" = set; then :
-  withval=$with_sasl;
-        if test "$with_sasl" != "no"
-        then
-          if test "$need_socket" != "yes"
-          then
-            as_fn_error "SASL support is only useful with POP or IMAP support" "$LINENO" 5
-          fi
-
-          if test "$with_sasl" != "yes"
-          then
-            CPPFLAGS="$CPPFLAGS -I$with_sasl/include"
-            LDFLAGS="$LDFLAGS -L$with_sasl/lib"
-          fi
-
-          saved_LIBS="$LIBS"
-          LIBS=
-
-          # OpenSolaris provides a SASL2 interface in libsasl
-          sasl_libs="sasl2 sasl"
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sasl_encode64" >&5
-$as_echo_n "checking for library containing sasl_encode64... " >&6; }
-if test "${ac_cv_search_sasl_encode64+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char sasl_encode64 ();
-int
-main ()
-{
-return sasl_encode64 ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' $sasl_libs; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_sasl_encode64=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if test "${ac_cv_search_sasl_encode64+set}" = set; then :
-  break
-fi
-done
-if test "${ac_cv_search_sasl_encode64+set}" = set; then :
-
-else
-  ac_cv_search_sasl_encode64=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sasl_encode64" >&5
-$as_echo "$ac_cv_search_sasl_encode64" >&6; }
-ac_res=$ac_cv_search_sasl_encode64
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-else
-  as_fn_error "could not find sasl lib" "$LINENO" 5
-fi
-
-
-          MUTTLIBS="$MUTTLIBS $LIBS"
-          MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_sasl.o"
-          LIBS="$saved_LIBS"
-
-
-$as_echo "#define USE_SASL 1" >>confdefs.h
-
-          need_sasl=yes
-        fi
-
-fi
-
- if test x$need_sasl = xyes; then
-  USE_SASL_TRUE=
-  USE_SASL_FALSE='#'
-else
-  USE_SASL_TRUE='#'
-  USE_SASL_FALSE=
-fi
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug;  if test x$enableval = xyes ; then
-
-$as_echo "#define DEBUG 1" >>confdefs.h
-
-          fi
-
-fi
-
-
-# Check whether --enable-flock was given.
-if test "${enable_flock+set}" = set; then :
-  enableval=$enable_flock; if test $enableval = yes; then
-
-$as_echo "#define USE_FLOCK 1" >>confdefs.h
-
-        fi
-fi
-
-
-mutt_cv_fcntl=yes
-# Check whether --enable-fcntl was given.
-if test "${enable_fcntl+set}" = set; then :
-  enableval=$enable_fcntl; if test $enableval = no; then mutt_cv_fcntl=no; fi
-fi
-
-
-if test $mutt_cv_fcntl = yes; then
-
-$as_echo "#define USE_FCNTL 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct dirent defines d_ino" >&5
-$as_echo_n "checking whether struct dirent defines d_ino... " >&6; }
-ac_cv_dirent_d_ino=no
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <dirent.h>
-int
-main ()
-{
-struct dirent dp; (void)dp.d_ino
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_dirent_d_ino=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test x$ac_cv_dirent_d_ino = xyes ; then
-
-$as_echo "#define HAVE_DIRENT_D_INO 1" >>confdefs.h
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_dirent_d_ino" >&5
-$as_echo "$ac_cv_dirent_d_ino" >&6; }
-
-mutt_cv_warnings=yes
-# Check whether --enable-warnings was given.
-if test "${enable_warnings+set}" = set; then :
-  enableval=$enable_warnings; if test $enableval = no; then
-        mutt_cv_warnings=no
-fi
-fi
-
-
-if test x$GCC = xyes && test $mutt_cv_warnings = yes; then
-  CFLAGS="-Wall -pedantic -Wno-long-long $CFLAGS"
-fi
-
-# Check whether --enable-nfs-fix was given.
-if test "${enable_nfs_fix+set}" = set; then :
-  enableval=$enable_nfs_fix; if test x$enableval = xyes; then
-
-$as_echo "#define NFS_ATTRIBUTE_HACK 1" >>confdefs.h
-
-        fi
-fi
-
-
-# Check whether --enable-mailtool was given.
-if test "${enable_mailtool+set}" = set; then :
-  enableval=$enable_mailtool; if test x$enableval = xyes; then
-
-$as_echo "#define SUN_ATTACHMENT 1" >>confdefs.h
-
-        fi
-fi
-
-
-# Check whether --enable-locales-fix was given.
-if test "${enable_locales_fix+set}" = set; then :
-  enableval=$enable_locales_fix; if test x$enableval = xyes; then
-
-$as_echo "#define LOCALES_HACK 1" >>confdefs.h
-
-        fi
-fi
-
-
-
-# Check whether --with-exec-shell was given.
-if test "${with_exec_shell+set}" = set; then :
-  withval=$with_exec_shell; if test $withval != yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define EXECSHELL "$withval"
-_ACEOF
-
-         else
-                cat >>confdefs.h <<_ACEOF
-#define EXECSHELL "/bin/sh"
-_ACEOF
-
-        fi
-else
-  cat >>confdefs.h <<_ACEOF
-#define EXECSHELL "/bin/sh"
-_ACEOF
-
-fi
-
-
-# Check whether --enable-exact-address was given.
-if test "${enable_exact_address+set}" = set; then :
-  enableval=$enable_exact_address; if test $enableval = yes; then
-
-$as_echo "#define EXACT_ADDRESS 1" >>confdefs.h
-
-
-        fi
-fi
-
-
-db_found=no
-db_requested=auto
-# Check whether --enable-hcache was given.
-if test "${enable_hcache+set}" = set; then :
-  enableval=$enable_hcache;
-fi
-
-
-# Check whether --with-tokyocabinet was given.
-if test "${with_tokyocabinet+set}" = set; then :
-  withval=$with_tokyocabinet;
-fi
-
-
-# Check whether --with-qdbm was given.
-if test "${with_qdbm+set}" = set; then :
-  withval=$with_qdbm;
-fi
-
-
-# Check whether --with-gdbm was given.
-if test "${with_gdbm+set}" = set; then :
-  withval=$with_gdbm;
-fi
-
-
-# Check whether --with-bdb was given.
-if test "${with_bdb+set}" = set; then :
-  withval=$with_bdb;
-fi
-
-
-db_found=no
-if test x$enable_hcache = xyes
-then
-
-$as_echo "#define USE_HCACHE 1" >>confdefs.h
-
-    MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS hcache.o"
-
-    OLDCPPFLAGS="$CPPFLAGS"
-    OLDLDFLAGS="$LDFLAGS"
-    OLDLIBS="$LIBS"
-
-    need_md5="yes"
-
-    if test -n "$with_tokyocabinet" && test "$with_tokyocabinet" != "no"
-    then
-      db_requested=tc
-    fi
-    if test -n "$with_qdbm" && test "$with_qdbm" != "no"
-    then
-      if test "$db_requested" != "auto"
-      then
-        as_fn_error "more than one header cache engine requested." "$LINENO" 5
-      else
-        db_requested=qdbm
-      fi
-    fi
-    if test -n "$with_gdbm" && test "$with_gdbm" != "no"
-    then
-      if test "$db_requested" != "auto"
-      then
-        as_fn_error "more than one header cache engine requested." "$LINENO" 5
-      else
-        db_requested=gdbm
-      fi
-    fi
-    if test -n "$with_bdb" && test "$with_bdb" != "no"
-    then
-      if test "$db_requested" != "auto"
-      then
-        as_fn_error "more than one header cache engine requested." "$LINENO" 5
-      else
-        db_requested=bdb
-      fi
-    fi
-
-        if test "$with_tokyocabinet" != "no" \
-           && test "$db_requested" = auto -o "$db_requested" = tc
-    then
-      if test -n "$with_tokyocabinet" && test "$with_tokyocabinet" != "yes"
-      then
-        CPPFLAGS="$CPPFLAGS -I$with_tokyocabinet/include"
-        LDFLAGS="$LDFLAGS -L$with_tokyocabinet/lib"
-      fi
-
-      ac_fn_c_check_header_mongrel "$LINENO" "tcbdb.h" "ac_cv_header_tcbdb_h" "$ac_includes_default"
-if test "x$ac_cv_header_tcbdb_h" = x""yes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcbdbopen in -ltokyocabinet" >&5
-$as_echo_n "checking for tcbdbopen in -ltokyocabinet... " >&6; }
-if test "${ac_cv_lib_tokyocabinet_tcbdbopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltokyocabinet  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char tcbdbopen ();
-int
-main ()
-{
-return tcbdbopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_tokyocabinet_tcbdbopen=yes
-else
-  ac_cv_lib_tokyocabinet_tcbdbopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tokyocabinet_tcbdbopen" >&5
-$as_echo "$ac_cv_lib_tokyocabinet_tcbdbopen" >&6; }
-if test "x$ac_cv_lib_tokyocabinet_tcbdbopen" = x""yes; then :
-  MUTTLIBS="$MUTTLIBS -ltokyocabinet"
-
-$as_echo "#define HAVE_TC 1" >>confdefs.h
-
-         db_found=tc
-else
-  CPPFLAGS="$OLDCPPFLAGS"
-         LDFLAGS="$OLDLDFLAGS"
-fi
-
-fi
-
-
-      if test "$db_requested" != auto && test "$db_found" != "$db_requested"
-      then
-        as_fn_error "Tokyo Cabinet could not be used. Check config.log for details." "$LINENO" 5
-      fi
-    fi
-
-        if test "$with_qdbm" != "no" && test $db_found = no \
-           && test "$db_requested" = auto -o "$db_requested" = qdbm
-    then
-      if test -n "$with_qdbm" && test "$with_qdbm" != "yes"
-      then
-        if test -d $with_qdbm/include/qdbm; then
-          CPPFLAGS="$CPPFLAGS -I$with_qdbm/include/qdbm"
-       else
-          CPPFLAGS="$CPPFLAGS -I$with_qdbm/include"
-       fi
-        LDFLAGS="$LDFLAGS -L$with_qdbm/lib"
-      else
-         if test -d /usr/include/qdbm; then
-           CPPFLAGS="$CPPFLAGS -I/usr/include/qdbm"
-        fi
-      fi
-
-      saved_LIBS="$LIBS"
-      for ac_header in villa.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "villa.h" "ac_cv_header_villa_h" "$ac_includes_default"
-if test "x$ac_cv_header_villa_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_VILLA_H 1
-_ACEOF
-
-fi
-
-done
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vlopen in -lqdbm" >&5
-$as_echo_n "checking for vlopen in -lqdbm... " >&6; }
-if test "${ac_cv_lib_qdbm_vlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lqdbm  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char vlopen ();
-int
-main ()
-{
-return vlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_qdbm_vlopen=yes
-else
-  ac_cv_lib_qdbm_vlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_qdbm_vlopen" >&5
-$as_echo "$ac_cv_lib_qdbm_vlopen" >&6; }
-if test "x$ac_cv_lib_qdbm_vlopen" = x""yes; then :
-  MUTTLIBS="$MUTTLIBS -lqdbm"
-
-$as_echo "#define HAVE_QDBM 1" >>confdefs.h
-
-         db_found=qdbm
-else
-  CPPFLAGS="$OLDCPPFLAGS"
-         LDFLAGS="$OLDLDFLAGS"
-fi
-
-      LIBS="$saved_LIBS"
-      if test "$db_requested" != auto && test "$db_found" != "$db_requested"
-      then
-        as_fn_error "QDBM could not be used. Check config.log for details." "$LINENO" 5
-      fi
-    fi
-
-        if test x$with_gdbm != xno && test $db_found = no \
-           && test "$db_requested" = auto -o "$db_requested" = gdbm
-    then
-        if test "$with_gdbm" != "yes"
-        then
-          CPPFLAGS="$CPPFLAGS -I$with_gdbm/include"
-          LDFLAGS="$LDFLAGS -L$with_gdbm/lib"
-        fi
-        saved_LIBS="$LIBS"
-        LIBS="$LIBS -lgdbm"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdbm_open" >&5
-$as_echo_n "checking for gdbm_open... " >&6; }
-if test "${ac_cv_gdbmopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-            ac_cv_gdbmopen=no
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <gdbm.h>
-int
-main ()
-{
-gdbm_open(0,0,0,0,0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_gdbmopen=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gdbmopen" >&5
-$as_echo "$ac_cv_gdbmopen" >&6; }
-        LIBS="$saved_LIBS"
-        if test "$ac_cv_gdbmopen" = yes
-        then
-
-$as_echo "#define HAVE_GDBM 1" >>confdefs.h
-
-          MUTTLIBS="$MUTTLIBS -lgdbm"
-          db_found=gdbm
-        fi
-        if test "$db_requested" != auto && test "$db_found" != "$db_requested"
-        then
-          as_fn_error "GDBM could not be used. Check config.log for details." "$LINENO" 5
-        fi
-    fi
-
-        ac_bdb_prefix="$with_bdb"
-    if test x$ac_bdb_prefix != xno && test $db_found = no
-    then
-        if test x$ac_bdb_prefix = xyes || test x$ac_bdb_prefix = x
-        then
-          ac_bdb_prefix="$mutt_cv_prefix /opt/csw/bdb4 /opt /usr/local /usr"
-        fi
-        for d in $ac_bdb_prefix; do
-            bdbpfx="$bdbpfx $d"
-            for v in BerkeleyDB.4.3 BerkeleyDB.4.2 BerkeleyDB.4.1; do
-                bdbpfx="$bdbpfx $d/$v"
-            done
-        done
-        BDB_VERSIONS="db-4 db4 db-4.6 db4.6 db46 db-4.5 db4.5 db45 db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db ''"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BerkeleyDB > 4.0" >&5
-$as_echo_n "checking for BerkeleyDB > 4.0... " >&6; }
-        for d in $bdbpfx; do
-            BDB_INCLUDE_DIR=""
-            BDB_LIB_DIR=""
-            for v in / $BDB_VERSIONS; do
-                if test -r "$d/include/$v/db.h"; then
-                    BDB_INCLUDE_DIR="$d/include/$v"
-                    for bdblibdir in "$d/lib/$v" "$d/lib"; do
-                        test -d "$bdblibdir" || continue
-                        BDB_LIB_DIR="$bdblibdir"
-                        for l in `echo $BDB_VERSIONS`; do
-                            CPPFLAGS="$OLDCPPFLAGS -I$BDB_INCLUDE_DIR"
-                            LIBS="$OLDLIBS -L$BDB_LIB_DIR -l$l"
-                            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-                                #include <stdlib.h>
-                                #include <db.h>
-
-int
-main ()
-{
-
-                                DB *db = NULL;
-                                db->open(db,NULL,NULL,NULL,0,0,0);
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-                                ac_cv_dbcreate=yes
-                                BDB_LIB="$l"
-                                break
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-                        done
-                        test x$ac_cv_dbcreate = xyes && break 2
-                    done
-                fi
-            done
-            test x$BDB_LIB != x && break
-        done
-        if test x$ac_cv_dbcreate = xyes
-        then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-            CPPFLAGS="$OLDCPPFLAGS -I$BDB_INCLUDE_DIR"
-            LIBS="$OLDLIBS -L$BDB_LIB_DIR -l$BDB_LIB"
-
-$as_echo "#define HAVE_DB4 1" >>confdefs.h
-
-            db_found=bdb
-        else
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-        fi
-    fi
-
-    if test $db_found = no
-    then
-        as_fn_error "You need Tokyo Cabinet, QDBM, GDBM or Berkeley DB4 for hcache" "$LINENO" 5
-    fi
-fi
-
- if test x$db_found != xno; then
-  BUILD_HCACHE_TRUE=
-  BUILD_HCACHE_FALSE='#'
-else
-  BUILD_HCACHE_TRUE='#'
-  BUILD_HCACHE_FALSE=
-fi
-
-
-if test "$need_md5" = "yes"
-then
-  MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS md5.o"
-fi
-
-if test x$db_found != xno ; then
-  MUTT_MD5="mutt_md5$EXEEXT"
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-iconv was given.
-if test "${enable_iconv+set}" = set; then :
-  enableval=$enable_iconv; if test x$enableval = xno ; then
-                am_cv_func_iconv=no
-        fi
-
-fi
-
-
-ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = x""yes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define off_t long int
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = x""yes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-
-
-  for ac_header in $ac_header_list
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-for ac_func in getpagesize
-do :
-  ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETPAGESIZE 1
-_ACEOF
-
-fi
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
-$as_echo_n "checking for working mmap... " >&6; }
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_mmap_fixed_mapped=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-/* malloc might have been renamed as rpl_malloc. */
-#undef malloc
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
-   Here is a matrix of mmap possibilities:
-       mmap private not fixed
-       mmap private fixed at somewhere currently unmapped
-       mmap private fixed at somewhere already mapped
-       mmap shared not fixed
-       mmap shared fixed at somewhere currently unmapped
-       mmap shared fixed at somewhere already mapped
-   For private mappings, we should verify that changes cannot be read()
-   back from the file, nor mmap's back from the file at a different
-   address.  (There have been systems where private was not correctly
-   implemented like the infamous i386 svr4.0, and systems where the
-   VM page cache was not coherent with the file system buffer cache
-   like early versions of FreeBSD and possibly contemporary NetBSD.)
-   For shared mappings, we should conversely verify that changes get
-   propagated back to all the places they're supposed to be.
-
-   Grep wants private fixed already mapped.
-   The main things grep needs to know about mmap are:
-   * does it exist and is it safe to write into the mmap'd area
-   * how to use it (BSD variants)  */
-
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
-char *malloc ();
-#endif
-
-/* This mess was copied from the GNU getpagesize.h.  */
-#ifndef HAVE_GETPAGESIZE
-# ifdef _SC_PAGESIZE
-#  define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-#  ifdef HAVE_SYS_PARAM_H
-#   include <sys/param.h>
-#   ifdef EXEC_PAGESIZE
-#    define getpagesize() EXEC_PAGESIZE
-#   else /* no EXEC_PAGESIZE */
-#    ifdef NBPG
-#     define getpagesize() NBPG * CLSIZE
-#     ifndef CLSIZE
-#      define CLSIZE 1
-#     endif /* no CLSIZE */
-#    else /* no NBPG */
-#     ifdef NBPC
-#      define getpagesize() NBPC
-#     else /* no NBPC */
-#      ifdef PAGESIZE
-#       define getpagesize() PAGESIZE
-#      endif /* PAGESIZE */
-#     endif /* no NBPC */
-#    endif /* no NBPG */
-#   endif /* no EXEC_PAGESIZE */
-#  else /* no HAVE_SYS_PARAM_H */
-#   define getpagesize() 8192  /* punt totally */
-#  endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-int
-main ()
-{
-  char *data, *data2, *data3;
-  const char *cdata2;
-  int i, pagesize;
-  int fd, fd2;
-
-  pagesize = getpagesize ();
-
-  /* First, make a file with some known garbage in it. */
-  data = (char *) malloc (pagesize);
-  if (!data)
-    return 1;
-  for (i = 0; i < pagesize; ++i)
-    *(data + i) = rand ();
-  umask (0);
-  fd = creat ("conftest.mmap", 0600);
-  if (fd < 0)
-    return 2;
-  if (write (fd, data, pagesize) != pagesize)
-    return 3;
-  close (fd);
-
-  /* Next, check that the tail of a page is zero-filled.  File must have
-     non-zero length, otherwise we risk SIGBUS for entire page.  */
-  fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
-  if (fd2 < 0)
-    return 4;
-  cdata2 = "";
-  if (write (fd2, cdata2, 1) != 1)
-    return 5;
-  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
-  if (data2 == MAP_FAILED)
-    return 6;
-  for (i = 0; i < pagesize; ++i)
-    if (*(data2 + i))
-      return 7;
-  close (fd2);
-  if (munmap (data2, pagesize))
-    return 8;
-
-  /* Next, try to mmap the file at a fixed address which already has
-     something else allocated at it.  If we can, also make sure that
-     we see the same garbage.  */
-  fd = open ("conftest.mmap", O_RDWR);
-  if (fd < 0)
-    return 9;
-  if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
-                    MAP_PRIVATE | MAP_FIXED, fd, 0L))
-    return 10;
-  for (i = 0; i < pagesize; ++i)
-    if (*(data + i) != *(data2 + i))
-      return 11;
-
-  /* Finally, make sure that changes to the mapped area do not
-     percolate back to the file as seen by read().  (This is a bug on
-     some variants of i386 svr4.0.)  */
-  for (i = 0; i < pagesize; ++i)
-    *(data2 + i) = *(data2 + i) + 1;
-  data3 = (char *) malloc (pagesize);
-  if (!data3)
-    return 12;
-  if (read (fd, data3, pagesize) != pagesize)
-    return 13;
-  for (i = 0; i < pagesize; ++i)
-    if (*(data + i) != *(data3 + i))
-      return 14;
-  close (fd);
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_mmap_fixed_mapped=yes
-else
-  ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5
-$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; }
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
-
-$as_echo "#define HAVE_MMAP 1" >>confdefs.h
-
-fi
-rm -f conftest.mmap conftest.txt
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5
-$as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; }
-if test "${ac_cv_gnu_library_2_1+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
-  Lucky GNU user
- #endif
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Lucky GNU user" >/dev/null 2>&1; then :
-  ac_cv_gnu_library_2_1=yes
-else
-  ac_cv_gnu_library_2_1=no
-fi
-rm -f conftest*
-
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5
-$as_echo "$ac_cv_gnu_library_2_1" >&6; }
-
-    GLIBC21="$ac_cv_gnu_library_2_1"
-
-
-
-   for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-   for ac_func in feof_unlocked fgets_unlocked getcwd getegid geteuid \
-getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
-strdup strtoul tsearch __argz_count __argz_stringify __argz_next
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-
-
-# Check whether --with-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then :
-  withval=$with_libiconv_prefix;
-    for dir in `echo "$withval" | tr : ' '`; do
-      if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
-      if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
-    done
-
-fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if test "${am_cv_func_iconv+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS -liconv"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-      LIBS="$am_save_LIBS"
-    fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
-  if test "$am_cv_func_iconv" = yes; then
-
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
-$as_echo_n "checking for iconv declaration... " >&6; }
-    if test "${am_cv_proto_iconv+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  am_cv_proto_iconv_arg1=""
-else
-  am_cv_proto_iconv_arg1="const"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
-fi
-
-    am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:-
-         }$am_cv_proto_iconv" >&5
-$as_echo "${ac_t:-
-         }$am_cv_proto_iconv" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define ICONV_CONST $am_cv_proto_iconv_arg1
-_ACEOF
-
-  fi
-  LIBICONV=
-  if test "$am_cv_lib_iconv" = yes; then
-    LIBICONV="-liconv"
-  fi
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
-$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.h>
-int
-main ()
-{
-char* cs = nl_langinfo(CODESET);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_langinfo_codeset=yes
-else
-  am_cv_langinfo_codeset=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
-$as_echo "$am_cv_langinfo_codeset" >&6; }
-  if test $am_cv_langinfo_codeset = yes; then
-
-$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
-
-  fi
-
-   if test $ac_cv_header_locale_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
-$as_echo_n "checking for LC_MESSAGES... " >&6; }
-if test "${am_cv_val_LC_MESSAGES+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-int
-main ()
-{
-return LC_MESSAGES
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  am_cv_val_LC_MESSAGES=yes
-else
-  am_cv_val_LC_MESSAGES=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5
-$as_echo "$am_cv_val_LC_MESSAGES" >&6; }
-    if test $am_cv_val_LC_MESSAGES = yes; then
-
-$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
-
-    fi
-  fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
-        # Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
-  enableval=$enable_nls; USE_NLS=$enableval
-else
-  USE_NLS=yes
-fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-
-
-    BUILD_INCLUDED_LIBINTL=no
-    USE_INCLUDED_LIBINTL=no
-    INTLLIBS=
-
-        if test "$USE_NLS" = "yes"; then
-
-$as_echo "#define ENABLE_NLS 1" >>confdefs.h
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether included gettext is requested" >&5
-$as_echo_n "checking whether included gettext is requested... " >&6; }
-
-# Check whether --with-included-gettext was given.
-if test "${with_included_gettext+set}" = set; then :
-  withval=$with_included_gettext; nls_cv_force_use_gnu_gettext=$withval
-else
-  nls_cv_force_use_gnu_gettext=no
-fi
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $nls_cv_force_use_gnu_gettext" >&5
-$as_echo "$nls_cv_force_use_gnu_gettext" >&6; }
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-                               CATOBJEXT=NONE
-
-
-
-
-       ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
-if test "x$ac_cv_header_libintl_h" = x""yes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
-$as_echo_n "checking for GNU gettext in libc... " >&6; }
-if test "${gt_cv_func_gnugettext1_libc+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_func_gnugettext1_libc=yes
-else
-  gt_cv_func_gnugettext1_libc=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5
-$as_echo "$gt_cv_func_gnugettext1_libc" >&6; }
-
-          if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
-$as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  gt_save_LIBS="$LIBS"
-               LIBS="$LIBS -lintl $LIBICONV"
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gt_cv_func_gnugettext1_libintl=yes
-else
-  gt_cv_func_gnugettext1_libintl=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-               LIBS="$gt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5
-$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; }
-          fi
-
-                                          if test "$gt_cv_func_gnugettext1_libc" = "yes" \
-             || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
-                  && test "$PACKAGE" != gettext; }; then
-
-$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
-
-
-            if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
-                                      INTLLIBS="-lintl $LIBICONV"
-            fi
-
-            gt_save_LIBS="$LIBS"
-            LIBS="$LIBS $INTLLIBS"
-            for ac_func in dcgettext
-do :
-  ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext"
-if test "x$ac_cv_func_dcgettext" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DCGETTEXT 1
-_ACEOF
-
-fi
-done
-
-            LIBS="$gt_save_LIBS"
-
-                    # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$MSGFMT" in
-  /*)
-  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then
-       ac_cv_path_MSGFMT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
-  ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-            # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GMSGFMT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
-  ;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-if test -n "$GMSGFMT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-                    # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$XGETTEXT" in
-  /*)
-  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then
-       ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
-  ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-            CATOBJEXT=.gmo
-          fi
-
-fi
-
-
-
-        if test "$CATOBJEXT" = "NONE"; then
-                         nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-                INTLOBJS="\$(GETTOBJS)"
-        # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$MSGFMT" in
-  /*)
-  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then
-       ac_cv_path_MSGFMT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
-  ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-        # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GMSGFMT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
-  ;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-if test -n "$GMSGFMT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-        # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$XGETTEXT" in
-  /*)
-  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then
-       ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
-  ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-       BUILD_INCLUDED_LIBINTL=yes
-       USE_INCLUDED_LIBINTL=yes
-        CATOBJEXT=.gmo
-       INTLLIBS="\$(top_builddir)/intl/libintl.a $LIBICONV"
-       LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      fi
-
-                  if test "$GMSGFMT" != ":"; then
-                       if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
-         : ;
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: result: found msgfmt program is not GNU msgfmt; ignore it" >&5
-$as_echo "found msgfmt program is not GNU msgfmt; ignore it" >&6; }
-         GMSGFMT=":"
-       fi
-      fi
-
-                  if test "$XGETTEXT" != ":"; then
-                       if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
-         : ;
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
-$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
-         XGETTEXT=":"
-       fi
-      fi
-
-            POSUB=po
-    fi
-    ac_config_commands="$ac_config_commands default-1"
-
-
-
-            if test "$PACKAGE" = gettext; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
-
-                                            for ac_prog in bison
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_INTLBISON+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$INTLBISON"; then
-  ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_INTLBISON="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-INTLBISON=$ac_cv_prog_INTLBISON
-if test -n "$INTLBISON"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLBISON" >&5
-$as_echo "$INTLBISON" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$INTLBISON" && break
-done
-
-    if test -z "$INTLBISON"; then
-      ac_verc_fail=yes
-    else
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of bison" >&5
-$as_echo_n "checking version of bison... " >&6; }
-      ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-      case $ac_prog_version in
-        '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-        1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-           ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-        *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-      esac
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
-$as_echo "$ac_prog_version" >&6; }
-    fi
-    if test $ac_verc_fail = yes; then
-      INTLBISON=:
-    fi
-
-                for lang in $ALL_LINGUAS; do
-      GMOFILES="$GMOFILES $lang.gmo"
-      POFILES="$POFILES $lang.po"
-    done
-
-
-
-
-
-
-
-
-
-
-
-        nls_cv_header_intl=
-    nls_cv_header_libgt=
-
-        DATADIRNAME=share
-
-
-        INSTOBJEXT=.mo
-
-
-        GENCAT=gencat
-
-
-
-   if test "x$CATOBJEXT" != "x"; then
-     if test "x$ALL_LINGUAS" = "x"; then
-       LINGUAS=
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
-$as_echo_n "checking for catalogs to be installed... " >&6; }
-       NEW_LINGUAS=
-       for presentlang in $ALL_LINGUAS; do
-         useit=no
-         for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
-           # Use the presentlang catalog if desiredlang is
-           #   a. equal to presentlang, or
-           #   b. a variant of presentlang (because in this case,
-           #      presentlang can be used as a fallback for messages
-           #      which are not translated in the desiredlang catalog).
-           case "$desiredlang" in
-             "$presentlang"*) useit=yes;;
-           esac
-         done
-         if test $useit = yes; then
-           NEW_LINGUAS="$NEW_LINGUAS $presentlang"
-         fi
-       done
-       LINGUAS=$NEW_LINGUAS
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
-$as_echo "$LINGUAS" >&6; }
-     fi
-
-          if test -n "$LINGUAS"; then
-       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
-     fi
-   fi
-
-            MKINSTALLDIRS=
-   if test -n "$ac_aux_dir"; then
-     MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-   fi
-   if test -z "$MKINSTALLDIRS"; then
-     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-   fi
-
-
-      INTL_LIBTOOL_SUFFIX_PREFIX=
-
-
-
-if test "$am_cv_func_iconv" != "yes"
-then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Configuring without iconv support. See INSTALL for details" >&5
-$as_echo "$as_me: WARNING: Configuring without iconv support. See INSTALL for details" >&2;}
-else
-
-for ac_header in iconv.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default"
-if test "x$ac_cv_header_iconv_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ICONV_H 1
-_ACEOF
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iconv.h defines iconv_t" >&5
-$as_echo_n "checking whether iconv.h defines iconv_t... " >&6; }
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <iconv.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "typedef.*iconv_t" >/dev/null 2>&1; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_ICONV_T_DEF 1" >>confdefs.h
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f conftest*
-
-fi
-
-done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether this iconv is good enough" >&5
-$as_echo_n "checking whether this iconv is good enough... " >&6; }
-if test "${mutt_cv_iconv_good+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  mutt_save_LIBS="$LIBS"
-        LIBS="$LIBS $LIBICONV"
-        if test "$cross_compiling" = yes; then :
-  mutt_cv_iconv_good=yes
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <iconv.h>
-int main()
-{
-  iconv_t cd;
-  char buf[4];
-  char *ob;
-  size_t obl;
-  ob = buf, obl = sizeof(buf);
-  return ((cd = iconv_open("UTF-8", "UTF-8")) != (iconv_t)(-1) &&
-          (iconv(cd, 0, 0, &ob, &obl) ||
-           !(ob == buf && obl == sizeof(buf)) ||
-           iconv_close(cd)));
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  mutt_cv_iconv_good=yes
-else
-  mutt_cv_iconv_good=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-        LIBS="$mutt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_iconv_good" >&5
-$as_echo "$mutt_cv_iconv_good" >&6; }
-if test "$mutt_cv_iconv_good" = no; then
-  as_fn_error "Try using libiconv instead" "$LINENO" 5
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iconv is non-transcribing" >&5
-$as_echo_n "checking whether iconv is non-transcribing... " >&6; }
-if test "${mutt_cv_iconv_nontrans+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  mutt_save_LIBS="$LIBS"
-        LIBS="$LIBS $LIBICONV"
-        if test "$cross_compiling" = yes; then :
-  mutt_cv_iconv_nontrans=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <iconv.h>
-#include <string.h>
-int main()
-{
-  iconv_t cd;
-  const char *ib;
-  char *ob;
-  size_t ibl, obl;
-  const char *s = "\304\211";
-  char t[3];
-  ib = s, ibl = 2, ob = t, obl = 3;
-  return ((cd = iconv_open("UTF-8", "UTF-8")) == (iconv_t)(-1) ||
-          iconv(cd, &ib, &ibl, &ob, &obl));
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  mutt_cv_iconv_nontrans=no
-else
-  mutt_cv_iconv_nontrans=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-        LIBS="$mutt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_iconv_nontrans" >&5
-$as_echo "$mutt_cv_iconv_nontrans" >&6; }
-if test "$mutt_cv_iconv_nontrans" = yes; then
-  $as_echo "#define ICONV_NONTRANS 1" >>confdefs.h
-
-else
-  $as_echo "#define ICONV_NONTRANS 0" >>confdefs.h
-
-fi
-
-CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)/intl"
-
-if test "$BUILD_INCLUDED_LIBINTL" = "yes"; then
-
-$as_echo "#define HAVE_BIND_TEXTDOMAIN_CODESET 1" >>confdefs.h
-
-else
-  mutt_save_LIBS="$LIBS"
-  LIBS="$LIBS $INTLLIBS"
-  for ac_func in bind_textdomain_codeset
-do :
-  ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
-if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_BIND_TEXTDOMAIN_CODESET 1
-_ACEOF
-
-fi
-done
-
-  LIBS="$mutt_save_LIBS"
-fi
-
-fi # libiconv
-
-
-
-# Check whether --with-idn was given.
-if test "${with_idn+set}" = set; then :
-  withval=$with_idn;
-                 if test "$with_idn" != "no" ; then
-                       if test "$with_idn" != "yes" ; then
-                          CPPFLAGS="$CPPFLAGS -I$with_idn/include"
-                          LDFLAGS="$LDFLAGS -L$with_idn/lib"
-                       fi
-                 fi
-
-
-fi
-
-
-if test "x$with_idn" != "xno"; then
-  if test "$am_cv_func_iconv" != "yes"
-  then
-    if test "x$with_idn" != "x"
-    then
-      as_fn_error "IDN requested but iconv is disabled or unavailable" "$LINENO" 5
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing stringprep_check_version" >&5
-$as_echo_n "checking for library containing stringprep_check_version... " >&6; }
-if test "${ac_cv_search_stringprep_check_version+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char stringprep_check_version ();
-int
-main ()
-{
-return stringprep_check_version ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' idn; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_stringprep_check_version=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if test "${ac_cv_search_stringprep_check_version+set}" = set; then :
-  break
-fi
-done
-if test "${ac_cv_search_stringprep_check_version+set}" = set; then :
-
-else
-  ac_cv_search_stringprep_check_version=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_stringprep_check_version" >&5
-$as_echo "$ac_cv_search_stringprep_check_version" >&6; }
-ac_res=$ac_cv_search_stringprep_check_version
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-
-$as_echo "#define HAVE_LIBIDN 1" >>confdefs.h
-
-      MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_idna.o"
-
-fi
-
-    for ac_func in idna_to_unicode_utf8_from_utf8 idna_to_unicode_8z8z
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-    for ac_func in idna_to_ascii_from_utf8 idna_to_ascii_8z
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-    for ac_func in idna_to_ascii_lz idna_to_ascii_from_locale
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-  fi
-fi
-
-
-for ac_header in wchar.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default"
-if test "x$ac_cv_header_wchar_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WCHAR_H 1
-_ACEOF
-
-fi
-
-done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
-$as_echo_n "checking for wchar_t... " >&6; }
-if test "${mutt_cv_wchar_t+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <stddef.h>
-#include <stdlib.h>
-#ifdef HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-
-int
-main ()
-{
- wchar_t wc; return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  mutt_cv_wchar_t=yes
-else
-  mutt_cv_wchar_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_wchar_t" >&5
-$as_echo "$mutt_cv_wchar_t" >&6; }
-
-if test "$mutt_cv_wchar_t" = no; then
-
-$as_echo "#define wchar_t int" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-$as_echo_n "checking for wint_t... " >&6; }
-if test "${mutt_cv_wint_t+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <stddef.h>
-#include <stdlib.h>
-#ifdef HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-
-int
-main ()
-{
- wint_t wc; return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  mutt_cv_wint_t=yes
-else
-  mutt_cv_wint_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_wint_t" >&5
-$as_echo "$mutt_cv_wint_t" >&6; }
-
-if test "$mutt_cv_wint_t" = no; then
-
-$as_echo "#define wint_t int" >>confdefs.h
-
-fi
-
-for ac_header in wctype.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "wctype.h" "ac_cv_header_wctype_h" "$ac_includes_default"
-if test "x$ac_cv_header_wctype_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WCTYPE_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in iswalnum iswalpha iswblank iswcntrl iswdigit
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in iswgraph iswlower iswprint iswpunct iswspace iswupper
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in iswxdigit towupper towlower
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
-$as_echo_n "checking for mbstate_t... " >&6; }
-if test "${mutt_cv_mbstate_t+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <stddef.h>
-#include <stdlib.h>
-#ifdef HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-
-int
-main ()
-{
- mbstate_t s; return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  mutt_cv_mbstate_t=yes
-else
-  mutt_cv_mbstate_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_mbstate_t" >&5
-$as_echo "$mutt_cv_mbstate_t" >&6; }
-
-if test "$mutt_cv_mbstate_t" = no; then
-
-$as_echo "#define mbstate_t int" >>confdefs.h
-
-fi
-
-wc_funcs=maybe
-
-# Check whether --with-wc-funcs was given.
-if test "${with_wc_funcs+set}" = set; then :
-  withval=$with_wc_funcs; wc_funcs=$withval
-fi
-
-
-if test "$wc_funcs" != yes && test "$wc_funcs" != no; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t functions" >&5
-$as_echo_n "checking for wchar_t functions... " >&6; }
-if test "${mutt_cv_wc_funcs+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  mutt_cv_wc_funcs=no
-                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#define _XOPEN_SOURCE 600
-#include <stddef.h>
-#include <stdlib.h>
-#ifdef HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-int
-main ()
-{
-mbrtowc(0, 0, 0, 0); wctomb(0, 0); wcwidth(0);
-        iswprint(0); iswspace(0); towlower(0); towupper(0); iswalnum(0)
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  mutt_cv_wc_funcs=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_wc_funcs" >&5
-$as_echo "$mutt_cv_wc_funcs" >&6; }
-        wc_funcs=$mutt_cv_wc_funcs
-fi
-
-if test $wc_funcs = yes; then
-
-$as_echo "#define HAVE_WC_FUNCS 1" >>confdefs.h
-
-else
-       MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS utf8.o wcwidth.o"
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
-$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${mutt_cv_langinfo_codeset+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.h>
-int
-main ()
-{
-char* cs = nl_langinfo(CODESET);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  mutt_cv_langinfo_codeset=yes
-else
-  mutt_cv_langinfo_codeset=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_langinfo_codeset" >&5
-$as_echo "$mutt_cv_langinfo_codeset" >&6; }
-if test $mutt_cv_langinfo_codeset = yes; then
-
-$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and YESEXPR" >&5
-$as_echo_n "checking for nl_langinfo and YESEXPR... " >&6; }
-if test "${mutt_cv_langinfo_yesexpr+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.h>
-int
-main ()
-{
-char* cs = nl_langinfo(YESEXPR);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  mutt_cv_langinfo_yesexpr=yes
-else
-  mutt_cv_langinfo_yesexpr=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mutt_cv_langinfo_yesexpr" >&5
-$as_echo "$mutt_cv_langinfo_yesexpr" >&6; }
-if test $mutt_cv_langinfo_yesexpr = yes; then
-
-$as_echo "#define HAVE_LANGINFO_YESEXPR 1" >>confdefs.h
-
-fi
-
-have_openjade="no"
-# Extract the first word of "ospcat", so it can be a program name with args.
-set dummy ospcat; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_OSPCAT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $OSPCAT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_OSPCAT="$OSPCAT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_OSPCAT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_OSPCAT" && ac_cv_path_OSPCAT="none"
-  ;;
-esac
-fi
-OSPCAT=$ac_cv_path_OSPCAT
-if test -n "$OSPCAT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OSPCAT" >&5
-$as_echo "$OSPCAT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test "$OSPCAT" != "none"
-then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openjade docbook stylesheets" >&5
-$as_echo_n "checking for openjade docbook stylesheets... " >&6; }
-  dslosfile=`ospcat --public-id="-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN"`
-  DSLROOT=`echo $dslosfile | sed -n -e "s/.*SOIBASE='\([^']*\)\/catalog'.*/\1/p"`
-  # ospcat may spit out an absolute path without an SOIBASE
-  if test -z "$DSLROOT"
-  then
-    DSLROOT=`echo $dslosfile | sed -e 's|<OSFILE>\(.*\)/print/docbook.dsl|\1|'`
-  fi
-  if test -f $DSLROOT/print/docbook.dsl
-  then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: in $DSLROOT" >&5
-$as_echo "in $DSLROOT" >&6; }
-    have_openjade="yes"
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found: PDF documentation will not be built." >&5
-$as_echo "not found: PDF documentation will not be built." >&6; }
-  fi
-fi
-
-
-# Check whether --enable-full_doc was given.
-if test "${enable_full_doc+set}" = set; then :
-  enableval=$enable_full_doc;        if test x$enableval = xno ; then
-                full_doc=no
-        fi
-
-fi
-
-if test x$full_doc != xno ; then
-
-$as_echo "#define MAKEDOC_FULL 1" >>confdefs.h
-
-fi
-
-ac_config_files="$ac_config_files Makefile contrib/Makefile doc/Makefile imap/Makefile intl/Makefile m4/Makefile po/Makefile.in hcachever.sh muttbug.sh doc/instdoc.sh"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${BUILD_IMAP_TRUE}" && test -z "${BUILD_IMAP_FALSE}"; then
-  as_fn_error "conditional \"BUILD_IMAP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_GSS_TRUE}" && test -z "${USE_GSS_FALSE}"; then
-  as_fn_error "conditional \"USE_GSS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_SSL_TRUE}" && test -z "${USE_SSL_FALSE}"; then
-  as_fn_error "conditional \"USE_SSL\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_SASL_TRUE}" && test -z "${USE_SASL_FALSE}"; then
-  as_fn_error "conditional \"USE_SASL\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_HCACHE_TRUE}" && test -z "${BUILD_HCACHE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_HCACHE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-  fi
-  $as_echo "$as_me: error: $1" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.65.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.65,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2009 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "imap/Makefile") CONFIG_FILES="$CONFIG_FILES imap/Makefile" ;;
-    "intl/Makefile") CONFIG_FILES="$CONFIG_FILES intl/Makefile" ;;
-    "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
-    "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
-    "hcachever.sh") CONFIG_FILES="$CONFIG_FILES hcachever.sh" ;;
-    "muttbug.sh") CONFIG_FILES="$CONFIG_FILES muttbug.sh" ;;
-    "doc/instdoc.sh") CONFIG_FILES="$CONFIG_FILES doc/instdoc.sh" ;;
-
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp=
-  trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[    ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
-
-  rm -f "$tmp/stdin"
-  case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-       || as_fn_error "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "default-1":C) for ac_file in $CONFIG_FILES; do
-        # Support "outfile[:infile[:infile...]]"
-        case "$ac_file" in
-          *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-        esac
-        # PO directories have a Makefile.in generated from Makefile.in.in.
-        case "$ac_file" in */Makefile.in)
-          # Adjust a relative srcdir.
-          ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-          ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-          ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-          # In autoconf-2.13 it is called $ac_given_srcdir.
-          # In autoconf-2.50 it is called $srcdir.
-          test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-          case "$ac_given_srcdir" in
-            .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-            /*) top_srcdir="$ac_given_srcdir" ;;
-            *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-          esac
-          if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-            rm -f "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-            sed -e "/^#/d" -e "/^[     ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-            sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-          fi
-          ;;
-        esac
-      done ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/contrib/Makefile.in b/contrib/Makefile.in
deleted file mode 100644 (file)
index 13ee307..0000000
+++ /dev/null
@@ -1,419 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# $Id$
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/curslib.m4 $(top_srcdir)/m4/funcdecl.m4 \
-       $(top_srcdir)/m4/funcs.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gpgme.m4 \
-       $(top_srcdir)/m4/gssapi.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/types.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DBX = @DBX@
-DEBUGGER = @DEBUGGER@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOTLOCK_GROUP = @DOTLOCK_GROUP@
-DOTLOCK_PERMISSION = @DOTLOCK_PERMISSION@
-DOTLOCK_TARGET = @DOTLOCK_TARGET@
-DSLROOT = @DSLROOT@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GDB = @GDB@
-GENCAT = @GENCAT@
-GLIBC21 = @GLIBC21@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GPGME_CFLAGS = @GPGME_CFLAGS@
-GPGME_CONFIG = @GPGME_CONFIG@
-GPGME_LIBS = @GPGME_LIBS@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLBISON = @INTLBISON@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
-ISPELL = @ISPELL@
-KRB5CFGPATH = @KRB5CFGPATH@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBIMAP = @LIBIMAP@
-LIBIMAPDEPS = @LIBIMAPDEPS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MUTTLIBS = @MUTTLIBS@
-MUTT_LIB_OBJECTS = @MUTT_LIB_OBJECTS@
-MUTT_MD5 = @MUTT_MD5@
-OBJEXT = @OBJEXT@
-OPS = @OPS@
-OSPCAT = @OSPCAT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PGPAUX_TARGET = @PGPAUX_TARGET@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-SDB = @SDB@
-SENDMAIL = @SENDMAIL@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMIMEAUX_TARGET = @SMIMEAUX_TARGET@
-STRIP = @STRIP@
-U = @U@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-XGETTEXT = @XGETTEXT@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-subdir = contrib
-SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp5.rc pgp6.rc Tin.rc \
-       sample.muttrc  sample.mailcap sample.muttrc-tlr \
-       colors.default colors.linux smime.rc \
-       ca-bundle.crt smime_keys_test.pl mutt_xtitle
-
-EXTRA_DIST = language.txt language50.txt  \
-       patch.slang-1.2.2.keypad.1      \
-       $(SAMPLES) \
-       iconv/README \
-       iconv/make.sh
-
-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign contrib/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic mostlyclean-am
-
-distclean: distclean-am
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-local
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic dist-hook \
-       distclean distclean-generic distdir dvi dvi-am html html-am \
-       info info-am install install-am install-data install-data-am \
-       install-data-local install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am uninstall uninstall-am uninstall-local
-
-
-install-data-local:
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir)/samples $(DESTDIR)$(docdir)/samples/iconv
-       for f in $(SAMPLES) ; do \
-               $(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir)/samples ;   \
-       done
-       for f in $(srcdir)/iconv/*.rc ; do                                      \
-               $(INSTALL) -m 644 $$f $(DESTDIR)$(docdir)/samples/iconv   ;     \
-       done
-
-uninstall-local:
-       for f in $(SAMPLES) ; do \
-               rm -f $(DESTDIR)$(docdir)/samples/$$f ; \
-       done
-       -rm -rf $(DESTDIR)$(docdir)/samples/iconv
-       -rmdir $(DESTDIR)$(docdir)/samples
-       -rmdir $(DESTDIR)$(docdir)
-dist-hook: Makefile $(DISTFILES)
-       mkdir -p $(distdir)/iconv
-       for file in $(srcdir)/iconv/*.rc ; do                                   \
-               ln $$file $(distdir)/iconv 2> /dev/null                         \
-                       || cp -p $$file $(distdir)/iconv ;                      \
-       done
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/debian/MY-TODO b/debian/MY-TODO
new file mode 100644 (file)
index 0000000..e9494c7
--- /dev/null
@@ -0,0 +1,7 @@
+Only in ../m/debian/mutt/usr/share/doc/mutt: BUGS.IMAP
+Only in ../m/debian/mutt/usr/share/doc/mutt: README.IMAP
+Only in ../m/debian/mutt/usr/share/doc/mutt: TODO.IMAP
+
+Only in debian/mutt/usr/share/doc/mutt/examples: ca-bundle.crt
+Only in debian/mutt/usr/share/doc/mutt/examples: iconv
+Only in debian/mutt/usr/share/doc/mutt/examples: smime_keys_test.pl
diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644 (file)
index 0000000..6e2aaac
--- /dev/null
@@ -0,0 +1,65 @@
+mutt (1.5.20-6) unstable; urgency=low
+  The behavior of the write_bcc option has changed, now write_bcc is only
+  used to decide if an Fcc message should have its Bcc header written;
+  if the message is sent outside using SMTP the Bcc header will never be
+  written, see the description of debian-specific/467432-write_bcc.patch
+  for details
+
+ -- Antonio Radici <antonio@dyne.org>  Tue, 19 Jan 2010 21:57:48 +0000
+
+mutt (1.5.20-1) unstable; urgency=low
+
+  As result of http://bugs.mutt.org/3097 getopt() is now used in a way that
+  behaves consistently on all POSIX systems, unfortunately this has broken
+  the way attachments are added from the command line.
+  Now "--" is mandatory *before* any address if a file is attached from CLI,
+  the mutt manpage correctly documents this behavior.
+
+ -- Antonio Radici <antonio@dyne.org>  Sun, 14 Jun 2009 20:53:18 +0100
+
+mutt (1.5.17-2) unstable; urgency=low
+
+  There is now a "mutt-patched" package that will contain some more
+  experimental patches. For now that is the "sidebar" patch. See
+  README.Patches for details.
+
+ -- Christoph Berg <myon@debian.org>  Tue, 01 Jan 2008 20:03:16 +0100
+
+mutt (1.5.16-2) unstable; urgency=low
+
+  User-visible changes in this version:
+  * The gpgme crypt backend is not yet stable enough, disabled again.
+  * The imap_home_namespace variable was removed upstream.
+
+ -- Christoph Berg <myon@debian.org>  Thu, 28 Jun 2007 20:58:49 +0200
+
+mutt (1.5.14+cvs20070301-1) experimental; urgency=low
+
+  We no longer unset write_bcc in /etc/Muttrc. If your MTA does not strip Bcc:
+  headers, edit /etc/Muttrc. (exim4 and postfix strip them, exim(3) does not.)
+  We also no longer unset use_from and use_domain. Mutt will use the contents
+  of /etc/mailname to determine the domain part of the From: header.
+
+  This release adds ESMTP support to mutt. To use, set smtp_url to your
+  smarthost, e.g. smtps://mail.company.com/.
+
+  The gpgme crypt backend is now enabled.
+
+ -- Christoph Berg <myon@debian.org>  Thu,  1 Mar 2007 23:56:58 +0100
+
+mutt (1.5.6-1) unstable; urgency=low
+
+  In this release the alternates, lists, and subscribe configuration
+  variables have been turned into regular expression lists.
+  Additionaly, alternates is now an option, not a  variable.
+  This means that you should change:
+
+  set alternates="foo|bar"
+
+  into
+
+  alternates "foo|bar"
+
+  in your .muttrc file. See muttrc(5) for details.
+
+ -- Artur R. Czechowski <arturcz@hell.pl>  Sun,  4 Apr 2004 14:04:03 +0200
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..9ac18c8
--- /dev/null
@@ -0,0 +1,81 @@
+l10n support
+~~~~~~~~~~~~
+If you want to see non-ASCII characters on a Debian system, there's no
+use fiddling with the variable "charset", as described in the manual
+page muttrc(5).
+Instead, you'll need to have the Debian package "locales" installed on
+your system and set the LANG or LC_CTYPE environment variable.
+e.g. US users will want to add "export LC_CTYPE=en_US" to their ~/.bashrc.
+If you have a /etc/locale.gen file read carefully the comment and do
+what it says, or it will not work.
+No, linux systems do not need --enable-locales-fix or --without-wc-funcs,
+so don't bother me saying these switches cure your problems.
+
+
+PGP support
+~~~~~~~~~~~
+GnuPG support works out of the box with the default /etc/Muttrc.
+You do not need any of the example files in /usr/share/doc/mutt/
+unless you plan to send signed+encrypted messages to pgp2 users.
+
+
+gpg-2comp
+~~~~~~~~~
+/usr/share/doc/mutt/examples/gpg.rc uses a wrapper program called
+gpg-2comp which is not available as a debian package.
+This program is needed only to sign and encrypt messages with a method
+compatible with PGP 2.x. Users who don't need this feature can use the
+commands provided in the default /etc/Muttrc.
+The pgpewrap and pgpring programs used by some example rc files have
+been installed in /usr/lib/mutt.
+The files /usr/share/doc/mutt/examples/*.rc are just examples and are not
+supposed to be used as is. Actually they are not supposed to be used at
+all, PGP support works out of the box if gnupg is installed.
+
+
+GnuPG passphrase
+~~~~~~~~~~~~~~~~
+The GnuPG passphrase is not asked if the $GPG_AGENT_INFO environment
+variable exists.
+
+
+Scripts
+~~~~~~~
+Look at /usr/lib/mutt/{debian-ldap-query,mailspell}.
+
+
+pgp_encryptself
+~~~~~~~~~~~~~~~
+This mutt 1.0.x configuration option does not exist anymore and this
+will not change. To achieve the same effect you can add something like
+--encrypt-to=your@mail.address to the relevant ~/.muttrc configuration
+lines (pgp_encrypt_only_command and pgp_encrypt_sign_command) or to
+~/.gnupg/options .
+
+
+S/MIME Support
+~~~~~~~~~~~~~~
+See README.SMIME for details.
+
+
+About temporary files and security
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+When using mutt to view an encrypted message, the plain text is saved in
+a temporary file. If you have reasons to worry an attacker may recover
+the deleted file from your hard disk please take appropriate actions to
+prevent this (e.g. use a ramdisk or shred(1) or wipe(1)).
+Also don't forget about the temporary files created by your editor.
+Mutt creates temporary files in a secure way. See #222125 for details.
+
+
+/etc/Muttrc.d/
+~~~~~~~~~~~~~~
+The default /etc/Muttrc will source more configuration directives from
+files in the /etc/Muttrc.d/ directory ending in ".rc".
+The system administrator may use the directory for local customizations
+and packages enhancing mutt may use it to install their configuration
+directives.
+The directory is processed last in /etc/Muttrc, so that settings there
+may override the defaults from the file.
+
+ -- Christoph Berg <myon@debian.org>  Sat, 03 Nov 2007 21:02:26 +0100
diff --git a/debian/README.source b/debian/README.source
new file mode 100644 (file)
index 0000000..8646078
--- /dev/null
@@ -0,0 +1,57 @@
+This package uses quilt to manage all modifications to the upstream
+source.  Changes are stored in the source package as diffs in
+debian/patches and applied during the build.
+
+To configure quilt to use debian/patches instead of patches, you want
+either to export QUILT_PATCHES=debian/patches in your environment
+or use this snippet in your ~/.quiltrc:
+
+    for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do
+        if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then
+                export QUILT_PATCHES=debian/patches
+        fi
+    done
+
+To get the fully patched source after unpacking the source package, cd to
+the root level of the source package and run:
+
+    quilt push -a
+
+The last patch listed in debian/patches/series will become the current
+patch.
+
+To add a new set of changes, first run quilt push -a, and then run:
+
+    quilt new <patch>
+
+where <patch> is a descriptive name for the patch, used as the filename in
+debian/patches.  Then, for every file that will be modified by this patch,
+run:
+
+    quilt add <file>
+
+before editing those files.  You must tell quilt with quilt add what files
+will be part of the patch before making changes or quilt will not work
+properly.  After editing the files, run:
+
+    quilt refresh
+
+to save the results as a patch.
+
+Alternately, if you already have an external patch and you just want to
+add it to the build system, run quilt push -a and then:
+
+    quilt import -P <patch> /path/to/patch
+    quilt push -a
+
+(add -p 0 to quilt import if needed). <patch> as above is the filename to
+use in debian/patches.  The last quilt push -a will apply the patch to
+make sure it works properly.
+
+To remove an existing patch from the list of patches that will be applied,
+run:
+
+    quilt delete <patch>
+
+You may need to run quilt pop -a to unapply patches first before running
+this command.
diff --git a/debian/bug/control b/debian/bug/control
new file mode 100644 (file)
index 0000000..1d19eee
--- /dev/null
@@ -0,0 +1 @@
+package-status: mutt mutt-patched mutt-dbg
diff --git a/debian/bug/script b/debian/bug/script
new file mode 100755 (executable)
index 0000000..d5f4c44
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+echo "Including output of \`mutt -v'..."
+
+LC_ALL=C mutt -v >&3
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..c06fbdc
--- /dev/null
@@ -0,0 +1,1773 @@
+mutt (1.5.20-10) experimental; urgency=low
+
+  * debian/patches: features/imap_fast_trash: Make "move to trash folder" use
+    IMAP COPY, by Paul Miller (jettero).
+
+ -- Christoph Berg <myon@debian.org>  Wed, 25 Aug 2010 11:11:43 +0200
+
+mutt (1.5.20-9) unstable; urgency=low
+
+  * hurd-i386 fixes:
+    + Use libgdbm-dev for this arch until libtokyocabinet-dev is available.
+    + #define PATH_MAX _POSIX_PATH_MAX. (Fixed in upstream hg, though
+      differently.)
+  * /usr/bin/mutt is an alternative now, instead of a diversion in
+    mutt-patched.
+
+ -- Christoph Berg <myon@debian.org>  Sat, 12 Jun 2010 10:33:03 +0200
+
+mutt (1.5.20-8) unstable; urgency=low
+
+  * debian/control:
+    + Flip Maintainer and Uploaders. I'm pretty inactive these days.
+    + Nuke DM-Upload-Allowed.
+  * Explicitely use source format 1.0 due to the quilt magic we are using to
+    built mutt-patched.
+  * Switch to tokyocabinet (Closes: #530670)
+  * Instead of trying to maintain the PATCHES file, put "quilt applied" output
+    there.
+  * debian/patches:
+    + Update upstream/228671-pipe-mime.patch: Fix segfaults with ssh tunnels.
+      Thanks Nikolaus Schulz (Closes: #569279)
+    + Update upstream/528233-readonly-open.patch: Only chmod saved
+      attachments, not existing files. (Closes: #572203)
+    + Add upstream/573823-imap_internal_date: Set internaldate of messages
+      appended to IMAP mailboxes (Closes: #573823)
+    + Add upstream/542344-dont_fold_From_: Do not wrap From_ header
+      (Closes: #542344)
+    + Update: features/compressed-folders: Remove redundant comment in
+      /etc/Muttrc. (Closes: #578096)
+
+ -- Christoph Berg <myon@debian.org>  Tue, 01 Jun 2010 23:22:26 +0200
+
+mutt (1.5.20-7) unstable; urgency=low
+
+  * debian/NEWS: backported a note about the new behavior with attachments
+    on the command line (Closes: 539276)
+  * debian/patches:
+    + upstream/548494-swedish-intl.patch: fixes to Swedish translation 
+      (Closes: 548494)
+    + upstream/553238-german-intl.patch: small fix to the German translation
+      (Closes: 553238)
+    + upstream/553321-ansi-escape-segfault.patch: prevent mutt from segfaulting
+      with large ASCII escape sequences (Closes: 553321)
+    + upstream/557395-muttrc-crypto.patch: small fix to the muttrc man 
+      (Closes: 557395)
+    + upstream/545316-header-color.patch: do not store the color in header cache
+      (Closes: 545316)
+    + upstream/568295-references.patch: preserve the References header if the
+      In-Reply-To is not initially present (Closes: 568295)
+    + upstream/547980-smime_keys-chaining.patch: support certificate chaining in
+      smime_keys (Closes: 547980, 549006)
+    + upstream/528233-readonly-open.patch: open attachments in read-only 
+      (Closes: 528233)
+    + upstream/228671-pipe-mime.patch: don't mess up the terminal while piping
+      attachments (Closes: 228671)
+    + upstream/383769-score-match.patch: match full name with ~f, same as
+      mutt-ng (Closes: 383769)
+    + upstream/547739-manual-typos.patch: typos in manual.txt (Closes: 547739)
+    + upstream/311296-rand-mktemp.patch: more random file creation in /tmp, see
+      CVE CAN-2005-2351 (Closes: 311296)
+    + debian-specific/Muttrc: set time_inc to be 250ms (Closes: 537746)
+  * debian/control: 
+    + bumping Standards-Version to 3.8.4, nothing to be done
+    + adding ${misc:Depends} to make lintian happy
+  * debian/rules: adding a commented rule to enable tokyocabinet if we want
+
+ -- Antonio Radici <antonio@dyne.org>  Mon, 08 Feb 2010 00:27:55 +0000
+
+mutt (1.5.20-6) unstable; urgency=low
+
+  * debian/patches:
+    + debian-specific/467432-write_bcc.patch: do not write Bcc headers 
+      even if write_bcc is set (Closes: 467432, 546884, 467432)
+  
+ -- Antonio Radici <antonio@dyne.org>  Tue, 19 Jan 2010 21:57:48 +0000
+
+mutt (1.5.20-5) unstable; urgency=low
+
+  * debian/patches:
+    + upstream/533370-pgp-inline.patch: fixing the patch from 1.5.20-3, now
+      pgp.c is correctly included (Closes: 533370, 558813)
+    + upstream/537694-segv-imap-headers.patch: fixing a segfault when the IMAP 
+      server sends additional headers and mutt segfaults (Closes: 537694)
+    + upstream/393926-internal-viewer.patch: revert the patch and add the
+      auto_view of text/x-diff (Closes: 546760, 549158)
+    + upstream/548577-gpgme-1.2.patch: do not fail to open pgp signed message
+      with libgpgme >= 1.2 (Closes: 548577)
+
+ -- Antonio Radici <antonio@dyne.org>  Wed, 02 Dec 2009 22:38:00 +0000
+
+mutt (1.5.20-4) unstable; urgency=low
+
+  * Backing out the broken mutt-patched/sidebar-newonly patch 
+    (Closes: 546591, 546592)
+
+ -- Antonio Radici <antonio@dyne.org>  Mon, 14 Sep 2009 18:49:29 +0100
+
+mutt (1.5.20-3) unstable; urgency=low
+
+  [ Adeodato Simó ]
+  * Remove myself from Uploaders.
+
+  [ Antonio Radici ]
+  * debian/patches:
+    + features/ifdef: fixed a typo (Closes: 539974)
+    + features/compressed-folders: removed any reference to DefaultMagic
+      (Closes: 541360)
+    + debian-specific/Muttrc: correctly state that exim4 does not strip Bcc:
+      headers (Closes: 474194)
+    + upstream/544180-italian-yesorno.patch: fixing a problem in the italian
+      translation of a multichoice string (Closes: 544180)
+    + upstream/543467-thread-segfault.patch: patch to prevent mutt from
+      segfaulting when Ctrl+R is hit on malformed messages (Closes: 543467)
+    + upstream/393926-internal-viewer.patch: display any text/* part with the
+      internal viewer (Closes: 393926)
+    + upstream/538128-mh-folder-access.patch: MH dirs are now correctly
+      parsed (Closes: 538128)
+    + upstream/537818-emptycharset.patch: handling empty charsets without
+      segfaulting (Closes: 537818)
+    + upstream/535096-pop-port.patch: allow a user to specify a port for a pop
+      connection, as it was before 1.5.20 (Closes: 535096)
+    + upstream/542910-search-segfault.patch: fixes a bug in search which caused
+      a segfault (Closes: 542910)
+    + upstream/533370-pgp-inline.patch: inline pgp messages now displayed
+      correctly even if pgp_auto_decode is set (Closes: 533370)
+    + upstream/533520-signature-highlight.patch: fixed a problem in signature
+      hightlighting if text_flowed was set to 'yes' (Closes: 533520)
+    + upstream/542817-smimekeys-tmpdir.patch: smime_keys.pl will skip tmpdir 
+      if it contains '=' (Closes: 542817)
+    + upstream/544794-smtp-batch.patch: mutt won't ask for a password if
+      smtp_user and smtp_pass are set in .muttrc (Closes: 544794)
+    + mutt-patched/sidebar-newonly: integrating Steve Kemp's patch to optionally
+      select folders with new mails only (Closes: 532510)
+  * debian/control:
+    + Standards-Version bumped to 3.8.3
+  * debian/extra/lib/mailto-mutt: patch from madduck@ to correctly handle the
+    way mutt is parsing the command line now (Closes: 545876)  
+
+  [ Christoph Berg ]
+  * Recommend default-mta instead of exim4 (Closes: 533442)
+  * Remove redudant hard-coded libgpgme11 from Recommends.
+
+ -- Antonio Radici <antonio@dyne.org>  Sun, 13 Sep 2009 18:34:48 +0100
+
+mutt (1.5.20-2) unstable; urgency=low
+
+  [ Antonio Radici ]
+  * debian/patches/series:
+    + upstream/533209-mutt_perror.patch: better error reporting if a mailbox
+      cannot be opened (Closes: 533209)
+    + upstream/533459-unmailboxes.patch: fixes a segfault with the unmailboxes 
+      command (Closes: 533459)
+    + upstream/533439-mbox-time.patch: do not corrupt the atime/mtime of 
+      mboxes when opened (Closes: 533439)
+    + upstream/531430-imapuser.patch: ask the user for the right information
+      while logging in on IMAP servers (Closes: 531430)
+    + upstream/534543-imap-port.patch: correctly parse the port in an IMAP
+      url (Closes: 534543)
+    + added the right copyright misc/smime_keys-manpage.patch
+    + mutt-patched/sidebar: refreshed
+    + mutt-patched/sidebar-{dotted,sorted} added (Closes: 523774)
+  * debian/control:
+    + Debian policy bumped to 3.8.2
+  * debian/mutt.install and debian/extra/lib/mailto-mutt: 
+    + added the firefox mailto handler (Closes: 406850)
+
+  [ Christoph Berg ]
+  * Remove maildir-mtime patch, upstream has a different implementation
+    (though with different results; Closes: 533471)
+  * Use elinks-lite (with an alternative Build-Dependency on elinks) for
+    rendering the manual. Thanks to Ahmed El-Mahmoudy for the suggestion.
+    (Closes: 533445)
+
+ -- Christoph Berg <myon@debian.org>  Sat, 20 Jun 2009 15:00:50 +0200
+
+mutt (1.5.20-1) unstable; urgency=low
+
+  * New upstream release, includes the following features:
+    + Bounced messages contains From: headers (Closes: 93268)
+    + Attachments displayed based on Content-Disposition (Closes: 199709)
+    + fcc to a mailbox does not raise the 'new' flag (Closes: 209390)
+    + '!' supported as suffix in gpg keys (Closes: 277945)
+    + failed attachment saving shows an error message (Closes: 292350)
+    + inline signed messages sent honouring $send_charset (Closes: 307819)
+    + support for <clear-flag> and <set-flag> in the pager (Closes: 436007)
+    + fcc_attach is a quad option (Closes: 478861)
+    + Content-Description header not included in reply (Closes: 500766)
+    + imap_sync_mailbox fix for a segfault (Closes: 516364)
+    + better threading support with particular Message-ID's (Closes: 520735)
+    + no crash on IMAP folder refresh (Closes: 528465)
+    + undisclosed-recipients not passed in the envelope (Closes: 529090)
+  * debian/patches/series:
+    + commented all references to upstream/*, they should be included in 1.5.20
+    + removed debian-specific/529838-gnutls-autoconf.patch, ditto
+    + removed misc/manpage-typos.patch, ditto 
+    + modified misc/hyphen-as-minus.patch, a big part was integrated upstream
+    + features/trash-folder: do not reupload messages to $trash if IMAP is used
+      (Closes: #448241)
+    + added misc/hg.pmdef.debugtime, see upstream #3263
+  * debian/control: added DM-Upload-Allowed: yes
+
+ -- Antonio Radici <antonio@dyne.org>  Sun, 14 Jun 2009 20:53:18 +0100
+
+mutt (1.5.19-4) unstable; urgency=low
+
+  * debian/rules:
+    + disable tokyocabinet as backend so it won't be used (Closes: 530670)
+    + enable gpgme support (Closes: 263443)
+  * debian/control:
+    + added pkg-config to Build-Depends
+    + add libgpgme11-dev to Build-Depends and libgpgme11 to Depends
+  * patches/debian-specific/529838-gnutls-autoconf.patch:
+    + pkg-config to detect gnutls rather than libgnutls-config (Closes: 529838)
+  * patches/upstream/530661-mandatory-doubledash.patch
+    + document the mandatory usage of -- with the -a option (Closes: 530661)
+  * patches/features/sensible_browser_position
+    + mutt does not segfault when the last mailbox is removed (Closes: 439387)
+  * patches/upstream/375530-index-weirdness.patch
+    + fix index weirdness if mailbox is emptied (Closes: 375530)
+  * patches/upstream/493719-segfault-imap-close.patch
+    + IMAP: only close socket when not already disconnected (Closes: 493719)
+  * patches/upstream/514960-certificate-insecure-algorithm.patch
+    + allow certs generated with insecure algorithms if they are in cache
+      (Closes: 514960)
+  * patches/misc/manpage-typos.patch
+    + fixes some typos in the manpage (Closes: 428017)
+  * patches/upstream/524420-segfault-reconnect-sasl.patch
+    + sasl, mutt segfaults on reconnect to IMAPS server (Closes: 524420)
+  * patches/upstream/350957-postponed-to-bcc.patch
+    + display bcc for postponed message if there is no To (Closes: 350957)
+  * patches/upstream/502628-attach_charset-doc.patch
+    + doc update: clarify what attach_charset does (Closes: 502628)
+  * patches/upstream/504530-stunnel-account_hook-doc.patch 
+    + doc update: mention account-hook in the docs for $tunnel (Closes: 504530)
+  * patches/upstream/530887-dovecot-imap.patch
+    + fixes two problems with subdirs on dovecot (Closes: 530671, 530887)
+
+ -- Antonio Radici <antonio@dyne.org>  Tue, 26 May 2009 23:42:51 +0100
+
+mutt (1.5.19-3) unstable; urgency=low
+
+  * debian/control:
+    + Xs- removed from VCS headers
+    + removed a duplicate "priority" in the binary package
+    + Section: debug for mutt-dbg
+    + debhelper dependency updated to support dh_lintian
+    + Standards-Version bumped to 3.8.1
+    + widened mutt-dbg extended description
+  * debian/compat: bumped to 7
+  * debian/patches
+    + added a small description to all patches missing it
+    + the following patches were refreshed against upstream/1.5.19:
+      * features/{ifdef,maildir-mtime,xtitles,trash-folder,purge-message}
+      * features-old/patch-1.5.4.vk.pgp_verbose_mime
+      * debian-specific/{Md.etc_mailname_gethostbyname.diff
+        debian/specific/{correct_docdir_in_manpage.diff,assumed_charset-compat}
+      * mutt-patched/*
+    + mutt-patched/sidebar: added the new sidebar patch for 1.5.19
+    + misc/hyphen-as-minus: sub hyphen with minus in the mutt manpages 
+      to make lintian happy
+    + misc/smime_keys-manpage.patch: add a missing manpage (Closes: 528672)
+  * debian/rules
+    + re-enabled building of mutt-patched for 1.5.19
+    + replacing the deprecated "dh_clean -k" with dh_prep
+  * debian/mutt-patched.lintian-overrides: mutt can be w/out manpage
+  * debian/mutt.lintian-overrides: excluding arch-dep-package-has-big-usr-share
+    because there are many locales
+  * debian/mutt.preinst: added "set -e" to abort if there are errors
+  * debian/clean: remove aclocal.m4 it will not appear in the .diff.gz
+
+ -- Antonio Radici <antonio@dyne.org>  Sun, 24 May 2009 17:24:18 +0100
+
+mutt (1.5.19-2) experimental; urgency=low
+
+  * Recommends: libsasl2-modules. Technically, we depend on libsasl2-2 which
+    already recommends this package, but not having it installed just confuses
+    too many users.
+  * Use upstream's smime.rc file, hereby fixing S/MIME encryption.
+    (Closes: #315319)
+  * Grab two patches from upstream that should also go into lenny:
+    + Always sort inode list for accessing header cache. (Closes: #508988)
+    + Delete partially downloaded files in message cache. (Closes: #500016)
+  * Add Antonio Radici to Uploaders. Thanks for the BTS triaging!
+
+ -- Christoph Berg <myon@debian.org>  Thu, 05 Feb 2009 23:26:41 +0100
+
+mutt (1.5.19-1) experimental; urgency=low
+
+  * New upstream version.
+    + Header weeding changed in default config; now we ignore * and unignore
+      from: subject to cc date x-mailer x-url user-agent. (Mutt: #286)
+    + $move now defaults to "no" instead of "ask-no".
+  * Upstream dropped changelog.old, so do we.
+  * Temporarily disable building mutt-patched until an updated sidebar patch
+    is available.
+
+ -- Christoph Berg <myon@debian.org>  Thu, 15 Jan 2009 23:47:29 +0100
+
+mutt (1.5.18-4) unstable; urgency=low
+
+  * In order to evade a conflict with the sidebar patch, move the set_xterm_*
+    prototypes from pager.c to mutt_menu.h. No functional change.
+  * Introduce two new patches that revert the conflicting part of the
+    maildir-mtime patch before applying the sidebar patch, and afterwards
+    re-apply the relevant bits. This mitigates the chance of bugs being
+    introduced when manually resolving conflicts with new versions of the
+    sidebar patch. This fixes new mail detection in the mutt-patched package.
+    (Closes: #484537, #484538)
+
+ -- Christoph Berg <myon@debian.org>  Sun, 03 Aug 2008 00:51:58 +0200
+
+mutt (1.5.18-3) unstable; urgency=low
+
+  * Pull patch from upstream to fix multipart decoding. (Closes: #489283)
+  * Add example sidebar config, thanks Stefano Zacchiroli. (Closes: #460452)
+  * (Finally) compile with native Kerberos GSSAPI support. (Closes: #469483)
+  * Add a switch in debian/rules to make building mutt-patched configurable.
+
+ -- Christoph Berg <myon@debian.org>  Sun, 20 Jul 2008 01:35:03 +0200
+
+mutt (1.5.18-2) unstable; urgency=low
+
+  * Updated sidebar patch, does not display (NULL) anymore. (Closes: #483151)
+  * Install reportbug script to inform us about the status of installed
+    mutt packages.
+  * Use dh_lintian (prefix with '-' so we do not need to bump the DH level).
+  * Register mutt as message/rfc822 application in /etc/mailcap.
+    (Closes: #474539)
+  * Refresh some patches to get rid of -p0 in series file.
+  * Bump Standards-Version; add debian/README.source.
+  * Switch Maintainer and Uploader as suggested by Dato.
+
+ -- Christoph Berg <myon@debian.org>  Thu, 12 Jun 2008 23:53:46 +0200
+
+mutt (1.5.18-1) unstable; urgency=low
+
+  * New upstream version.
+    + Query menu format is configurable. (Closes: #66096, Mutt: #170)
+    + Quote attachment filenames starting with '='.
+      (Closes: #351890, Mutt: #1719)
+    + Mention that References: and Date: cannot be changed in editor.
+      (Closes: #191850, Mutt: #1234).
+  * Refreshing patches from upstream:
+    + compressed-folders.
+    + sidebar. (Closes: #470657)
+  * Update doc-base section.
+
+ -- Christoph Berg <myon@debian.org>  Sat, 24 May 2008 19:36:44 +0200
+
+mutt (1.5.17+20080114-1) unstable; urgency=low
+
+  * New upstream snapshot (hg 130aa0517251), and this time build a proper
+    orig.tar.gz tarball.
+    + Fixes message corruption/duplication. (Closes: #459739)
+
+ -- Christoph Berg <myon@debian.org>  Mon, 14 Jan 2008 23:26:14 +0100
+
+mutt (1.5.17-2) unstable; urgency=low
+
+  * Build a mutt-patched package to apply the sidebar patch. Thanks to Dato
+    who had the right idea for the necessary debian/rules magic during the
+    recent debian-qa meeting in Extremadura. (Closes: #277637)
+  * Build a mutt-dbg package, and bump DH level to 5.
+  * Grab current hg tip from upstream (68a9c3e74f9a).
+    + Fixes "mailto:" URL parsing.
+      (Closes: #426148, #426158, #446016, Mutt: #2968, #2980)
+    + 'set folder= =' won't segfault. (Closes: #448728)
+    + Improve DSN docs. (Closes: #436228)
+  * Bump Standards-Version, add Homepage field.
+
+ -- Christoph Berg <myon@debian.org>  Tue, 01 Jan 2008 20:00:33 +0100
+
+mutt (1.5.17-1) unstable; urgency=low
+
+  [ Adeodato Simó ]
+  * Move the packaging back to Bazaar, adjust X-VCS-* accordingly.
+
+  [ Christoph Berg ]
+  * Mention libsasl2-modules-gssapi-mit in README.Debian. (Closes: #433425)
+  * Call autoreconf at build time, drop the autotools-update patch.
+  * Update menu file, add lintian override file.
+  * Refresh patches.
+
+  * New upstream version:
+    + fix segfaults with single byte 8-bit characters in index_format.
+      (Closes: #420598, Mutt: #2882)
+    + properly render subject headers with encoded linefeeds.
+      (Closes: #264014, Mutt: #1810)
+    + only calls gnutls_error_is_fatal when gnutls_record_recv returns a
+      negative value. (Closes: #439775, Mutt: #2954)
+    + Large file support for mutt_pretty_size().
+      (Closes: #352478, #416555, Mutt: #2191)
+    + Do not consider empty pipes for filtering in format strings.
+      (Closes: #447340)
+
+ -- Christoph Berg <myon@debian.org>  Sat, 03 Nov 2007 23:00:04 +0100
+
+mutt (1.5.16-3) unstable; urgency=medium
+
+  * Fix the maildir-mtime patch change in 1.5.14+cvs20070403-1 that broke
+    new mail message count in IMAP folders. (Closes: #421468, #428734, #433275)
+
+ -- Adeodato Simó <dato@net.com.org.es>  Thu, 19 Jul 2007 23:41:02 +0200
+
+mutt (1.5.16-2) unstable; urgency=low
+
+  * Finally a new unstable version :)
+  * Disable gpgme backend again, it needs two "optional" libs we do not want
+    to pull into "standard" now, and it is still somewhat buggy.
+    Reopens: #263443.
+  * Use gdbm instead of bdb for the cache files.
+  * Enable sensible_browser_position patch.
+
+ -- Christoph Berg <myon@debian.org>  Thu, 28 Jun 2007 21:58:47 +0200
+
+mutt (1.5.16-1) experimental; urgency=low
+
+  * New upstream version.
+  * compressed-folders: grab updated patch, thanks Roland.
+
+ -- Christoph Berg <myon@debian.org>  Thu, 14 Jun 2007 10:54:56 +0200
+
+mutt (1.5.15+20070608-1) experimental; urgency=low
+
+  * Muttrc.head: Temporarily set pipe_decode in the \cb urlview macro.
+    Closes: #423640.
+  * Apply patch by pywatson@gmail.com to strdup strings when sorting.
+    Mutt: #2515, Closes: #196545.
+
+ -- Christoph Berg <myon@debian.org>  Fri, 08 Jun 2007 11:19:08 +0200
+
+mutt (1.5.15+20070515-1) experimental; urgency=low
+
+  * New snapshot.
+    + Removed hardcoded pager progress indicator and add %P format code to
+      $pager_status which contains the same information.
+      Mutt: #2087, Closes: #259145.
+  * $smime_verify_opaque_command: fallback to -noverify.
+    Mutt: #2428, Closes: #420014.
+
+ -- Christoph Berg <myon@debian.org>  Thu, 17 May 2007 14:15:48 +0200
+
+mutt (1.5.15+20070412-1) experimental; urgency=low
+
+  * New snapshot:
+    + Avoid altering the argument to mutt_complete() when completion fails.
+      Mutt: #2871, Closes: #367405
+    + Allow reply-hook to use ~h when replying from the index.
+      Mutt: #2866, Closes: #362919
+    + Exit with a nonzero value if sending a message in batch mode fails.
+      Mutt: #2709, Closes: #273137
+    + Make mutt more posixly-correct. Mutt: #1615, Closes: #204904
+
+ -- Christoph Berg <myon@debian.org>  Thu, 12 Apr 2007 17:04:05 +0000
+
+mutt (1.5.14+cvs20070403-1) experimental; urgency=low
+
+  * set ssl_ca_certificates_file="/etc/ssl/certs/ca-certificates.crt".
+  * Use /etc/ssl/certs/ca-certificates.crt as smime_ca_location if there is
+    none in ~/.smime/ (Closes: #255653).
+  * New snapshot:
+    + Make mutt_edit_file display error if editor return is non-zero
+      (Closes: #209244).
+    + Use ~/.muttrc as the default alias_file if no user muttrc exists
+      (Closes: #226500).
+    + Reset list.name before each list response in folder browser
+      (Mutt: #2444, Closes: #377783).
+    + Fix segfault when trying to read header cache if cwd does not exist
+      (Mutt: #2714, Closes: #387560).
+    + Make message cache write to temporary location until file is complete
+      (Closes: #394383).
+    + Use RECENT for first mailbox check if header cache check fails
+      (Closes: #372512).
+  * Patches:
+    + maildir-mtime: refreshed.
+
+ -- Christoph Berg <myon@debian.org>  Tue,  3 Apr 2007 20:54:35 +0200
+
+mutt (1.5.14+cvs20070321-1) experimental; urgency=low
+
+  * Move source package to http://hg.debian.org/hg/pkg-mutt/debian-mutt.
+  * debian/control: Add XS-Vcs fields.
+  * New snapshot:
+    + More space for the "help" string (Closes: #415277).
+    + --buffy-size is a config option, $check_mbox_size (Closes: #379472).
+  * Patches:
+    + gpg.rc: upstream ships without absolute paths, our patch is much simpler
+      now.
+    + compressed-folders: refreshed.
+  * Mention /etc/Muttrc defaults in documentation (Closes: #388667).
+  * debian-ldap-query: Support middle names (Closes: #415653).
+
+ -- Christoph Berg <myon@debian.org>  Wed, 21 Mar 2007 21:54:08 +0100
+
+mutt (1.5.14+cvs20070315-1) experimental; urgency=low
+
+  * New upstream snapshot (now from mercurial).
+    + send_charset supports charset-hook'd charsets (Closes: #152444).
+    + Regex for color patterns can be > 256 chars long (Closes: #229801).
+    + Reduces massive strcat use (Closes: #290701).
+    + Uses realpath of folders in the cache (Closes: #298121).
+    + Wraps help correctly on utf-8 terminals (Closes: #328921).
+    + Fixes typos in muttrc.5 (Closes: #366413).
+    + Requery IMAP capabilities after login (Closes: #384076).
+    + Various mutt.1 updates (Closes: #332803, #355912, #366413, #394256).
+    + The key binding documentation is now auto-generated, thereby documenting
+      some missing functions (Closes: #413144).
+    + Previously fixed: IMAP hangs (Closes: #413715).
+  * Split up Muttrc into separate files in /etc/Muttrc.d/.
+  * charset.rc: iconv-hooks for some commonly misused charsets
+    (Closes: #402027).
+  * Add compatibility alias file_charset for attach_charset (got renamed when
+    the assumed-charset patch went upstream).
+  * Patches:
+    + compressed-folders: synced with upstream.
+    + compressed-folders.ranty-fix: removed, went upstream.
+  * Packaging:
+    + Use quilt.make.
+    + Move patchlist sorting into patchlist.sh.
+
+ -- Christoph Berg <myon@debian.org>  Thu, 15 Mar 2007 14:11:31 +0100
+
+mutt (1.5.14+cvs20070301-1) experimental; urgency=low
+
+  * New upstream snapshot. Hilights:
+    + Now features ESMTP support, yay!
+    + PKA support via gpgme.
+    + Ability to save history.
+  * Enable gpgme backend (Closes: #263443).
+  * Move mail-transport-agent from Depends to Recommends (Closes: #356297).
+  * /etc/Muttrc:
+    + Do not unset write_bcc (Closes: #304718).
+    + Do not unset use_from and use_domain (Closes: #283311, #398699).
+    + Add quotes for compressed folder hooks (Closes: #238034),
+    + mime_lookup application/octet-stream.
+  * Patches:
+    + assumed-charset: removed, applied upstream.
+    + xtitles: Removed a comment on the default of xterm_set_titles (mentioned
+      in #366413).
+  * colors.angdraug: Fix spelling (Closes: #295241).
+  * gpg.rc: add full path for pgpewrap (Closes: #396207).
+  * Update copyright holders.
+
+ -- Christoph Berg <myon@debian.org>  Thu,  1 Mar 2007 22:48:53 +0100
+
+mutt (1.5.13+cvs20070215-1) experimental; urgency=low
+
+  * Update to a CVS snapshot:
+    Closes: #47284: newlines/spaces are removed from custom multiple header
+      lines
+    Closes: #397858: /usr/bin/mutt_dotlock: off-by-one error in mutt_dotlock.c
+    Closes: #400831: logic error in mutt-1.5.13/account.c
+    Closes: #404916: sort-mailbox by spam tag score sorting strangeness
+    Closes: #410678: crash when IMAP server skips messages during a FETCH
+      without a cast.
+
+  * Patches:
+    + Reshuffle patches to move autotools-needing/updating to front.
+    + compressed-folders: refreshed.
+    + autotools-update: updated.
+    + tempfile-race, thread_pattern_in_UPDATING: removed, included upstream.
+
+    New patches:
+    + ifdef: test for presence of features, patch by Cedric Duval.
+    + trash-folder, purge-message: trash folder support, also by Cedric Duval
+      (Closes: #263204).
+
+    Patches shipped but not applied by default:
+    + chdir: change working directory.
+    + indexcolor: color index colums.
+    + w3mface: display X-Face headers using w3mimgdisplay.
+
+  * Create /etc/Muttrc.d/ (Closes: #391961).
+  * Make sure reldate.h is found while building the docs.
+
+ -- Christoph Berg <myon@debian.org>  Fri, 16 Feb 2007 02:04:35 +0100
+
+mutt (1.5.13-2) experimental; urgency=low
+
+  * Adding myself as uploader, thanks Dato.
+  * debian/rules:
+    + Actually support DEB_BUILD_OPTIONS=noopt.
+    + Do not touch stamp-h.in, touch PATCHES in clean.
+  * Patches:
+    + Moved xtitles to features/ and fixed a segfault (Closes: #365683).
+
+ -- Christoph Berg <myon@debian.org>  Mon, 12 Feb 2007 18:37:44 +0100
+
+mutt (1.5.13-1.1etch1) stable; urgency=low
+
+  * Stable update.
+  * Grab patch from upstream:
+    Add imap_close_connection to fully reset IMAP state (Closes: #413715).
+  * Add myself to Uploaders, thanks Dato.
+
+ -- Christoph Berg <myon@debian.org>  Tue, 15 May 2007 09:59:24 +0200
+
+mutt (1.5.13-1.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * Add upstream patch to fix insecure temp file generation
+    (Closes: #396104, CVE-2006-5297, CVE-2006-5298).
+
+ -- Christoph Berg <myon@debian.org>  Tue, 12 Dec 2006 14:49:24 +0100
+
+mutt (1.5.13-1) unstable; urgency=low
+
+  * New upstream release, with a new pattern to match full threads (see
+    NEWS.gz).
+
+ -- Adeodato Simó <dato@net.com.org.es>  Wed, 16 Aug 2006 15:22:53 +0200
+
+mutt (1.5.12-1) unstable; urgency=low
+
+  * New upstream release. Ship upstream's UPDATING file as NEWS.gz in
+    /usr/share/doc/mutt.
+
+ -- Adeodato Simó <dato@net.com.org.es>  Sat, 15 Jul 2006 02:49:50 +0200
+
+mutt (1.5.11+cvs20060403-2) unstable; urgency=high
+
+  * Fix CVE-2006-3242, stack-based buffer overflow when processing an overly
+    long namespace from the IMAP server.  (Closes: #375828)
+
+ -- Adeodato Simó <dato@net.com.org.es>  Fri,  7 Jul 2006 15:01:28 +0200
+
+mutt (1.5.11+cvs20060403-1) unstable; urgency=low
+
+  * Update to CVS 2006-04-03, which finally:
+    + fixes segfault when changing to an IMAP folder and the mailbox name
+      is implicitly INBOX. (Closes: #351337, #353550)
+
+ -- Adeodato Simó <dato@net.com.org.es>  Tue,  4 Apr 2006 06:10:12 +0200
+
+mutt (1.5.11+cvs20060330-1) unstable; urgency=low
+
+  * Update to CVS 2006-03-30, which fixes the following bugs:
+    + IMAP cache works again with Courier. (Closes: #351220)
+    + does not segfault if external query command output contains spaces.
+      (Closes: #351258)
+    + does not segfault when replying from the view-attachments menu when a
+      reply-hook is in use. (Closes: #352357)
+    + default save location for attachments which specify a path in their name
+      is not `dirname $attachment` anymore, but $CWD. (Closes: #301236)
+
+  * Switch to libdb4.4. (Closes: #355433)
+
+ -- Adeodato Simó <dato@net.com.org.es>  Mon,  3 Apr 2006 02:41:15 +0200
+
+mutt (1.5.11+cvs20060126-2) unstable; urgency=medium
+
+  * Make imap_idle default to off, since it does not work with dovecot from
+    stable, which a lot of people use; upstream will make this change before
+    1.5.12. (Closes: #351263, #354902)
+
+  * Ignore DKIM-Signature by default in /etc/Muttrc. (Closes: #354907)
+
+ -- Adeodato Simó <dato@net.com.org.es>  Thu,  2 Mar 2006 22:42:34 +0100
+
+mutt (1.5.11+cvs20060126-1) unstable; urgency=low
+
+  * Update to CVS 2006-01-26; since this includes a huge diff between
+    ChangeLog and ChangeLog.old (moved entries), prepare a new tarball.
+    Some worth-mentioning changes:
+
+    + Mutt can now expand its own variables as it does with envvars; for
+      example, it's now possible to put something like this into a hook:
+      set sendmail="mysmtp -f $from".
+
+    + Support for user-defined variables starting with my_; environment
+      variables take precedence, and expansion does not occur in shell-escape.
+
+    + Pattern group support, as explained (only!) in:
+        <http://does-not-exist.org/mail-archives/mutt-dev/msg05693.html>
+
+    + Loooots of improvments in the IMAP code, including sync speed-ups
+      (through pipelining), hcache stuff (eg. $imap_cachedir), and things
+      like $imap_idle and support for the "old" flag in IMAP folders.
+
+  * Rework the package build system to fit personal preference:
+    + debhelperize debian/rules a bit more.
+    + drop dbs in favor of quilt; reorganize patches a bit.
+
+      (NOTE: quilt means that dropping patches into debian/patches is
+      no longer enough to get them applied; they must be listed in the
+      debian/patches/series file.)
+
+  * Adjustments to debian/control:
+    + use '*' for the bulleted list, instead of 'o'.
+    + build-depend on gawk instead of mawk, to have "nextfile".
+    + drop conflicts and replaces on packages that are not in woody.
+
+  * Updated debian/copyright.
+
+  * Added debian/watch.
+
+ -- Adeodato Simó <dato@net.com.org.es>  Thu,  2 Feb 2006 05:12:18 +0100
+
+mutt (1.5.11-5) unstable; urgency=medium
+
+  * Unbreak Mutt in Turkish locales (tr_TR): include patch from CVS to use the
+    proper strcmp function in several places. Upstream bug #2144, reported in
+    both BTS by Recai Oktas. (Closes: #343655)
+
+  * Apply patch from Nik A. Melchior to fix formatting problem in muttrc(5). 
+    (Closes: #343030)
+
+ -- Adeodato Simó <dato@net.com.org.es>  Fri, 23 Dec 2005 23:18:44 +0100
+
+mutt (1.5.11-4) unstable; urgency=low
+
+  * Update to CVS 2005-11-24 to fix the following bug (yay):
+
+    + does not fail to open messages that contain base64-encoded inline PGP
+      bits (signature, encrypted hunk, or a key). (Closes: #340116)
+
+      Also, do not report success to decrypt an inline PGP message when
+      decryption actually failed.
+
+  * Again, update my e-mail address in debian/control, yada yada.
+
+ -- Adeodato Simó <dato@net.com.org.es>  Fri, 25 Nov 2005 02:50:20 +0100
+
+mutt (1.5.11-3) unstable; urgency=low
+
+  * Update to CVS 2005-11-01, with the following worth-of-mentioning goodies
+    (among others):
+
+    + full read/write >2 GB mbox support.
+    + attachment counting patch merged upstream (%X in index_format); check
+      the "Attachment Searching and Counting" section in the manual for more
+      information.
+
+    And the following bugs are fixed as well:
+
+    + S/MIME keys can be selected from the menu.  (Closes: #318470)
+    + clarified description of pop_checkinterval. (Closes: #320642)
+
+  * Update my e-mail address in debian/control.
+
+ -- Adeodato Simó <dato@the-barrel.org>  Fri, 11 Nov 2005 02:16:11 +0100
+
+mutt (1.5.11-2) unstable; urgency=low (but fixes critical bug not in testing)
+
+  * The fix for coping with mboxes bigger than 2 GB introduced a bug affecting
+    at least powerpc (but not i386) which made mutt write Content-Length: 0 in
+    mboxes due to a un-updated %ld format specifier. This caused for mail to
+    be lost in the next mbox write.
+
+    Apply a patch quickly provided by upstream (thanks, Brendan Cully!) that
+    makes mutt use the right format specifier. (Closes: #330474)
+
+  * Update the compressed folders to the 1.5.11, which includes documentation
+    in XML format.
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Fri, 30 Sep 2005 01:15:28 +0200
+
+mutt (1.5.11-1) unstable; urgency=low
+
+  * New upstream release, fixing the following bugs:
+
+    + ~h can match folded headers. (Closes: #319654)
+    + implements progress indication when uploading messages to an imap
+      folder. (Closes: #228713)
+    + limit pattern is properly displayed when zero messages matched.
+      (Closes: #242398)
+
+    A further CVS pull (2005-09-24) fixes the following bugs:
+
+    + can open mboxes bigger than 2 GB. (Closes: #296940)
+    + does not require GPG_TTY to be set in order to accept using the GnuPG
+      agent: it'll set the variable itself if not present. (Closes: #316388)
+    + does not segfault when replying to a message if content_type is unset.
+      (Closes: #329306)
+    + does not segfault with IMAP folder completion. (Closes: #329442)
+
+    Packaging changes needed:
+
+    + Upstream documentation now comes in XML, so changed Build-Dependency on
+      linuxdoc-tools-text and groff to xsltproc, docbook-xml, docbook-xsl and
+      links. Added patch debian/patches/doc_build_adjustments.diff to force
+      the use of links instead of lynx for generating the text version of the
+      manual, and to not ignore errors from links and xsltproc.
+
+    + Changed --with-sasl2 to its new name --with-sasl in debian/rules;
+      removed extra hunk on debian/patches/patch-1.5.4.Md.sasl2-1arc.
+
+    + Rediffed 080_Md.Muttrc, removed patch.asp.fix-bug-266493.1 (applied
+      upstream).
+
+    + Temporarily removed documentation from the compressed-folders patch,
+      until upstream reacts to the move to XML.
+
+  * Build against libgnutls12 (build-depend on libgnutls-dev instead of
+    libgnutls11-dev). (Closes: #323279)
+
+  * Remove spurious dash in argument to -encrypt in smime_encrypt_command.
+    (Closes: #315319)
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Sun, 25 Sep 2005 23:11:59 +0200
+
+mutt (1.5.10-1) unstable; urgency=low
+
+  * New upstream release, fixing the following bugs:
+    + does not store gpg passphrase when signing or decrypting has failed,
+      since that probably means it was wrong. (Closes: #132548)
+    + does not fail to delete attachments in unencrypted mails. (Closes:
+      #302500)
+
+  * New functionality overview or otherwise noticeable news:
+    + $imap_check_subscribed variable to add the list of subscribed folders to
+      the buffy list.
+    + $braille_friendly variable to make Mutt more usable for blind users.
+    + $imap_login variable in case the login name on the IMAP server is
+      different to the name of the account ($imap_user).
+    + -D command line option to dump current configuration, after all
+      initialization files have been read.
+    + $imap_force_ssl gone.
+    + an empty limit is now interpreted as a request to cancel the current
+      limit.
+
+  * Patches:
+    + 080_Md.paths_mutt.man: adjusted; upstream build system puts now the
+      right paths in mutt.1 using @bindir@. Install mutt.1 instead of mutt.man
+      in debian/rules.
+    + 080_Md.Muttrc: don't set menu_move_off in /etc/Muttrc since the
+      compile-time default is now what we want (pre-1.5.7 compatible).
+    + edit-threads, current-shortcut, incomplete-mbyte: removed, integrated
+      upstream.
+    + maildir-mtime: s/if/ifdef/ to get it to apply.
+    + compressed-folders: updated to 1.5.10.
+
+  * Upstream now builds "complete" documentation, i.e., for all features
+    whether enabled or not. Disable that for Debian. [patch.docs-match-config.h]
+
+  * Build-Depend on autotools-dev and use updated config.{guess,sub} at build
+    time to fix FTBFS on GNU/kFreeBSD. (Closes: #302735)
+
+  * Update Standards-Version to 3.6.2 (no changes required).
+
+  * Set myself as the maintainer, and remove Marco from Uploaders as agreed
+    with him.
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Mon, 15 Aug 2005 15:51:55 +0200
+
+mutt (1.5.9-2sarge2) stable-security; urgency=high
+
+  * Fix buffer overflow in IMAP parsing code 
+
+ -- Moritz Muehlenhoff <jmm@debian.org>  Wed, 28 Jun 2006 17:12:05 +0000
+
+mutt (1.5.9-2sarge1) stable; urgency=low
+
+  * For attachments marked for deletion after the message is sent, don't
+    remove them if the message is finally cancelled, or if the attachments
+    are dropped from the message prior to sending. (Closes: #332972)
+
+ -- Adeodato Simó <dato@net.com.org.es>  Tue, 31 Jan 2006 01:23:28 +0100
+
+mutt (1.5.9-2) unstable; urgency=high
+
+  * Added a missing Build-Depend on mawk. (Closes: #310039)
+  * Updated the Swedish translation.
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Sun, 22 May 2005 17:29:25 +0200
+
+mutt (1.5.9-1) unstable; urgency=medium
+
+  * New upstream release, though the previous upload already included most of
+    it because of the CVS pull. Do another one now (2005-04-03), including the
+    following bits from 1.5.10:
+    + several translation updates (de, id, nl, pl, ru).
+    + a patch by Daniel Jacobowitz to synchronise message flags before moving
+      messages. (Closes: #163616)
+
+  * Also, the header cache patch is now fully integrated upstream, so drop it.
+
+  * Don't set pipe_default in debian/patches/080_Md.Muttrc, and stick to
+    upstream's default (unset). (Closes: #300830)
+
+  * Updated the compressed folders patch to version 1.5.9.
+
+  * Updated patch 080_Md.Muttrc to restore the old behaviour of the index.
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Sun, 03 Apr 2005 20:08:39 +0200
+
+mutt (1.5.8-1) unstable; urgency=low
+
+  * New upstream release, with a CVS pull to get all the translation updates
+    that happen right after a release. New features worth mentioning:
+    + the PGP auto decode patch by Derek Martin has been accepted upstream,
+      so inline PGP messages are automatically verified/decrypted now if
+      $pgp_auto_decode is set. (Closes: #269699)
+    + IDN decoding can be disabled by unseting $use_idn (set by default).
+    + new hook 'send2-hook', which gets executed each time there is a change
+      in a message being composed. This permits, for example, to match against
+      recipients added manually after writing the mail, which wasn't possible
+      with 'send-hook' alone.
+    + Christoph Berg's menu_context patch is also included. Check the
+      $menu_context and $menu_move_off variables.
+
+  * This version also includes the following fixes:
+    + message flags are not lost after editing a message. (Closes: #275060)
+    + IMAP folder paths ending with the delimiter are trimmed so that they
+      don't fail to open with some servers, e.g. Courier. (Closes: #277665)
+    + the correct charset is used when signing a forwarded message.
+      (Closes: #295528)
+    + correctly forget the S/MIME passphrase. (Closes: #300516)
+
+  * Explicitly pass --enable-inodesort to ./configure, since upstream has
+    disabled it by default in this version.
+
+  * Updated the compressed folders patch to version 1.5.8.
+
+  * Dropped the adjust_line and adjust_edited_file patches from
+    extra-patches/mutt-ja-compat, incorporated upstream. Renamed
+    mutt-ja-compat to assumed-charset, since that's the only patch that
+    remains.
+
+  * Lots of patches in the Debian package have been applied upstream, drop
+    them (16 in total). Worth mentioning is the gnutls patch. The
+    maildir_inode_sort patch has been adopted too, with the static functions
+    no longer being nested, which closes: #287744 (FTBFS with gcc-4.0).
+
+  * Implemented a conf.d style directory for mutt: other packages or local
+    admins may now drop configuration snippets in /etc/Muttrc.d/*.rc and have
+    them sourced at the end of the default Muttrc. (Closes: #285574)
+
+  * Updated the header cache patch to version 28. The size of this patch has
+    been drastically reduced, since the generic code and the IMAP support has
+    been incorporated upstream.
+
+  * Updated the compressed folders patch to version 1.5.8.
+
+  * Use mixmaster-filter by default. (Closes: #299060)
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Fri, 25 Mar 2005 21:55:52 +0100
+
+mutt (1.5.6-20040907+3) unstable; urgency=high
+
+  * Upload targeted at sarge to include some must-have fixes.
+
+  * Include small patch to fix imap-related segfaults in ia64, due to a buffer
+    length being declared as int instead of size_t in the gnutls patch. Thanks
+    to David Mosberger for spotting the problem. (Closes: #234783, #285001)
+    [New file: upstream/extra-patches/gnutls.59.size_t-fix]
+
+  * Include (finally!) a patch that really prevents decrypt-save from deleting
+    the message if the supplied password was wrong. (Closes: #275188)
+    [New file: upstream/patches/decrypt-save_non-empty-output]
+
+  * Updated the header-cache patch to version 25, which includes a fix to make
+    it possible for hcache to talk to broken Lotus IMAP servers. (Closes: #282451)
+    [Modified file: upstream/extra-patches/header-cache]
+
+  * The mutt BTS has been closed due to excessive spam in their debbugs
+    installation. Included the patch that substitutes flea and flea.1 by a
+    note that states so.
+    [New file: upstream/patches/empty-muttbug,
+     removed file: debian/patches/080_Md.muttbug]
+
+  * Removed /usr/share/bug/mutt/presubj, now useless.
+
+  * Added Domainkey-Signature to the list of ignored headers.
+    [Modified file: debian/patches/080_Md.Muttrc]
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Fri, 28 Jan 2005 19:02:58 +0100
+
+mutt (1.5.6-20040907+2) unstable; urgency=medium
+
+  * A "Let's procrastinate some important stuff and fix a bunch of mutt bugs
+    instead" release.
+
+  * Include small patch to fix the Swedish translation, which was making
+    impossible to turn off pgp signing and/or encrypting. (Closes: #281265)
+    [New file: upstream/patches/i18n-sv-fix.diff]
+
+  * Make the default Muttrc work out the box for people using gnupg-agent.
+    Wrote and applied a one-line patch to make the %?p? conditional escape
+    work correctly, patch forwarded upstream. (Closes: #277646)
+    [New file: debian/patches/patch.asp.%p-escape-agent-compatible.1]
+
+  * Relocate the definition of the USE_GNUTLS macro, so that it gets passed to
+    the documentation build process too. Otherwise, options that end up in the
+    manual wouldn't match those that are really compiled in. (Closes: #278124)
+    [Modified files: debian/rules, upstream/extra-patches/gnutls.debian]
+
+  * Honour /etc/alternatives/pager in the muttbug script. (Closes: #275448)
+    [Modified file: debian/patches/080_Md.muttbug]
+
+  * Include patch by Nicolas François <nicolas.francois@centraliens.net> to
+    fix typo in muttrc.5. (Closes: #272579)
+    [New file: debian/patches/patch.nf.fix-bug-272579.1]
+
+  * Updated the (formerly unmaintained) current-shortcut patch with a new
+    version by Christoph Berg <cb@df7cb.de>. Now the actual used Fcc will be
+    shown instead of '^' when you folder-hook . 'set record="^"'.
+    [Modified file: upstream/extra-patches/current-shortcut]
+
+  * Updated the header-cache patch to version 24.
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Wed, 17 Nov 2004 15:17:14 +0100
+
+mutt (1.5.6-20040907+1) unstable; urgency=low
+
+  * Updated to CVS snapshot 20040907 (includes updated ja translation).
+
+  * The maildir-mtime patch is now NOT enabled by default, you need to set the
+    maildir_mtime variable in your ~/.muttrc. This variable has been necessary
+    since people with large maildirs over NFS experienced a large performance
+    impact with the mtime patch enabled. (Closes: #253261)
+
+  * Updated the header cache patch to version 21. This fixes a file descriptor
+    leak which could cause problems for people who keep their mutt open for a
+    long time. Also includes support for per-folder cache: setting $header_cache
+    to a directory will enable it, and you should experience some performance
+    gains.
+
+  * Included the current shortcut patch. It's completely unintrusive and
+    allows you to specify ^ as a shortcut for the current folder (e.g., in a
+    Fcc). (Closes: #253104)
+
+  * Updated the autotools stuff. Include in it also stuff from patches, so
+    that --enable-foo options can be used in debian/rules. Put files directly
+    in extra/autotools and cp from there in debian/rules instead of using a
+    patch file (which was too big due to automake1.4/autoconf2.13 => 1.8/2.50
+    migration).
+
+  * debian/rules:
+    + use --enable-compresed --enable-hcache --without-gdbm in configure.
+    + copy autotools files from extra/autotools when unpacking, and emulate
+      the 000_Md.config.h.in patch.
+
+  * debian/patches/:
+    + removed 000_Md.config.h.in, no longer needed since config.h.in is now
+      overwritten from extra/autotools.
+    + added patch.asp.fix-bug-266493.1, which makes mutt not wait for a
+      keypress to handle SIGWINCH in certain situations. (Closes: #123943,
+      #266493)
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Tue, 21 Sep 2004 01:39:22 +0200
+
+mutt (1.5.6-20040818+1) unstable; urgency=low
+
+  * The post-Sarge era officially begins for mutt. This mostly means
+    that patch inclusion policy will untighten a bit.
+
+  * Added the maildir/imap header caching patch by Thomas Glanzmann, see:
+    <http://wwwcip.informatik.uni-erlangen.de/~sithglan/mutt>. For a quick
+    start, read documentation for the $header_cache variable.
+    (Closes: #242762, #255475)
+
+  * Added the maildir-mtime patch by Dale Woolridge, see
+    <http://www.mutt.ca/maildir-mtime.html>. This patch should make happy
+    users that use maildir and have $sort_browser=reverse-date.
+    (Closes: #253261)
+
+  * Reorganized patches location:
+    + patches not written by the mutt maintainers are now in the
+      upstream/extra-patches directory.
+    + each patch in that directory now contains a preamble listing:
+      - the patch author
+      - the patch home page
+      - last time patch was updated
+      - exact URL to the patch file
+      - applied changes, if any
+    + all preambles are available in the doc/README.Patches file, and
+      debian/copyright now points to this file too.
+
+  * Other changes in upstream/extra-patches/:
+    + updated the edit-threads patch.
+    + updated the compressed-folders patch.
+
+  * Updated to CVS snapshot 20040818:
+    + various memory leaks spotted and fixed.
+    + several translations updated: pl, sv, fr, id, nl, de, ca, cs.
+      The Czech translation addresses a bad chosen shorcut in the crypt menu,
+      and thus closes: #140639. Updated German translation closes: #265120.
+    + fix some UI flaws in the new PGP and S/MIME menus which could easily
+      make the user send in clear mail which was meant to be signed and/or
+      encrypted (the (e)ncrypt, (s)ign and (b)oth commands were toggles).
+      Also renamed the (f)orget action to (c)lear for newbie's benefit; accept
+      the (f) key for long time users' benefit.
+    + make mutt not hang if STARTTLS fails to complete the SSL handshake.
+    + try all methods in $imap_authenticators when one of them fails;
+      previously mutt would give up upon the first of them failing.
+
+  * debian/:
+    + scripts/vars: add upstream/extra-patches to SRC_PATCH_DIR.
+    + control: Build-Depend on libdb4.2-dev for the header-cache patch.
+    + rules: call scripts/patch-preamble to create the README.Patches file.
+    + copyright: add pointer to README.Patches, where patch authors are listed.
+
+  * debian/patches/:
+    + updated 000_VERSION to reflect new snapshot date.
+    + removed obsolete #defines from 000_Md.config.h.in. Added #include
+      "debian-config.h" there, which is used by upstream/extra-patches/*.debian.
+    + removed patch.asp.fix-bug-260578.1, included upstream.
+
+  * debian/rules: sort the PATCHES file, which is printed by `mutt -v`.
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Sat, 21 Aug 2004 20:53:39 +0200
+
+mutt (1.5.6-20040803+1) unstable; urgency=low
+
+  * Updated to CVS snapshot 20040803:
+    + fixes the code that closed #213412.
+  * debian/control:
+    + Rebuilt against gnutls11. (Closes: #263067, #263625)
+    + List myself in Uploaders field.
+  * debian/patches/:
+    + updated 000_VERSION to reflect new snapshot date.
+    + removed patch-1.5.6.tt.compat.1.asp.fix.1, which was not meant to be
+      included in the last upload. (Closes: #261951)
+    + update the gnutls patch to include TLS support for POP3 as well. Patch
+      provided by Alexander Neumann <alexander@debian.org>. (Closes: #260638)
+
+ -- Adeodato Simó <asp16@alu.ua.es>  Thu,  5 Aug 2004 18:13:33 +0200
+
+mutt (1.5.6-20040722+1) unstable; urgency=high
+
+  * Updated to CVS snapshot 20040722:
+    + bugfixes:
+      - does not segfault when chdir'ing to a directory without read
+        permission. (Closes: #237426)
+      - does not segfault when applying check-traditional-pgp to multiple
+        messages. (Closes: #257277)
+      - uses the right From address when composing a new message from the
+        pager and $reverse_name is set. (Closes: #249870)
+      - initial IMAP header download does not take quadratic time on the
+        number of messages. (Closes: #213412)
+    + new functionality:
+      - support for spam-scoring filters (see Â§3.24 of the fine manual).
+      - $include_onlyfirst: controls whether or not Mutt includes only the
+        first attachment of the message you are replying.
+      - $hide_thread_subject: when unset, mutt will show the subject for all
+        messages in a thread.
+      - uses List-Post header when doing list-reply. (Initial RFC 2369 support,
+        closes: #49048)
+  * debian/patches/:
+    + updated 000_VERSION to reflect new snapshot date.
+    + updated the following patches to apply cleanly:
+      - 001_patch-1.5.4.rr.compressed.1 [Makefile.in]
+      - 002_patch-1.5.5.1.admcd.gnutls.59 [globals.h]
+      - patch-1.5.3.cd.edit_threads.9.2-1arc [mutt.h]
+    + updated patch-1.5.6.tt.compat.1 (does not close #259145).
+    + removed patch-1.5.3.Md.gpg-agent, issue fixed upstream.
+    + added patch-1.5.6.helmersson.incomplete-mbyte.2 by Anders Helmersson
+      to avoid passing incomplete multibyte sequences to regexec(), which can
+      cause segfaults due to libc6 Bug#261135. (Closes: #254314, #260623)
+      [Yes, this is a sequel, not a dejà-vu.]
+    + added patch.asp.fix-bug-{210679,254294,258621,260578}.1, which fix
+      several minor issues unaddressed by upstream for some time. All patches
+      submitted upstream. (Closes: #210679, #254294, #258621, #260578). 
+  * debian/rules:
+    + be robust to any locale by exporting LC_ALL=C. (Closes: #253048)
+    + touch some autotools files to prevent having them to be built again.
+  * Using "urgency=high" at maintainer's discretion
+  
+ -- Adeodato Simó <asp16@alu.ua.es>  Wed, 21 Jul 2004 19:31:55 +0200
+
+mutt (1.5.6-20040523+2) unstable; urgency=low
+
+  * Renamed patch-1.5.5.1.tt.compat-fix to patch-1.5.5.1.tt.compat.2-fix.
+    (Closes: #253048)
+
+ -- Marco d'Itri <md@linux.it>  Mon,  7 Jun 2004 00:45:40 +0200
+
+mutt (1.5.6-20040523+1) unstable; urgency=low
+
+  * This release is based on the work of Adeodato Simó <asp16@alu.ua.es>.
+  * Updated to CVS snapshot 20040523:
+    + now mutt includes better support for inline/traditional signing and
+      encrypting. See http://www.woolridge.ca/mutt/pgp-menu-traditional.html
+      for details. (Closes: #190204)
+    + sourcing output of a command works again. (Closes: #247007)
+    + corrected .PP usage in flea.1 and mbox.5. (Closes: #237827)
+    + do not eat chars on rfc822-valid From:address lines (i.e., when there
+      is no space between the colon and address; fixes the already archived
+      #226759).
+  * debian/patches/:
+    + added 000_VERSION: reflect CVS snapshot date.
+    + removed 081_nbrown.auth_imap_plain: included upstream.
+    + added patch-1.5.5.1.tt.compat-fix: introduces a fix for the compat
+      patch which prevents mutt from segfaulting when there is binary junk
+      in headers. (Closes: #233315, #247366, #249588)
+    + removed patch-1.5.4.Md.gpg_by_keyid-1arc: no longer needed.
+      (Closes: #250108, #248994)
+    + added 004_ranty.fix-compressed: written some time ago by Manuel Estrada
+      to prevent mutt from deleting a message if saving to a compressed folder
+      fails. In memoriam. (Closes: #210429)
+    + added patch-1.5.6.asp.pgp_getkeys: set pgp_getkeys_command in Muttrc.
+      Currently commented out because of #172960. (Closes: #237691)
+    + 080_Md.Muttrc: make colors respect terminal scheme. (Closes: #86393)
+  * debian/rules: pass --enable-debug to configure. (Closes: #198073)
+
+ -- Marco d'Itri <md@linux.it>  Sun,  6 Jun 2004 01:17:14 +0200
+
+mutt (1.5.6-1) unstable; urgency=low
+
+  * New upstream release. Old configuration files may become incompatible,
+    see NEWS.Debian.gz for details.
+  * Added debian/NEWS.
+  * debian/patches/:
+    - updated patch-1.5.4.Md.gpg_by_keyid-1arc - pgp_export_command uses %r
+      instead %k. (Closes: #223960)
+    - updated 002_patch-1.5.5.1.admcd.gnutls.59 - mutt can save server's
+      certificate. (Closes: #228607, #234623, #236886)
+    - removed 000_VERSION (not needed in this release).
+    - removed 004_patch-1.5.5.1.Md.libgnutls10 - included in
+      002_patch-1.5.5.1.admcd.gnutls.59.
+    - added 081_nbrown.auth_imap_plain - mutt can authenthicate itself to imap
+      server via sasl2 using PLAIN method, thanks to Neil Brown.
+      (Closes: #206078, #214758)
+    - removed patch-1.5.4.helmersson.incomplete_multibyte because it's broken.
+      (Closes: #244549)
+    - removed 003_patch-1.4.admcd.gnutlsdlopen.53, now the mutt binary will
+      be linked with libgnutls. (Closes: #228279, #228323, #230287)
+    - updated patch-1.3.27.bse.xtitles.1 with patch-1.5.5.1.nt.xtitles.3.ab.1.
+  * Update the default MTA: Depend on exim4 | mail-transport-agent.
+    (Closes: #228560)
+  * This release is the work of Artur R. Czechowski.
+
+ -- Marco d'Itri <md@linux.it>  Sun,  2 May 2004 18:02:10 +0200
+
+mutt (1.5.5.1-20040112+1) unstable; urgency=medium
+
+  * Build-Depend on libidn11-dev instead of libidn9-dev
+    and libgnutls10-dev instead of libgnutls7-dev. (Closes: #226910, #227426)
+  * Updated to CVS snapshot 20040112:
+    + fixed manual (Closes: #226936)
+    + fixed pgp_retainable_sigs (Closes: #226424)
+  * New patch patch-1.4.1.tt.compat.1-ter, a part of mutt-ja which allows
+    configuring a default character set to be used for non-MIME messages.
+    (Closes: #222191)
+  * Added a note about temporary files to README.Debian.
+    (Closes: #141143, #222125)
+  * New patch 100_arc.smime_descripitive_messages which adds some
+    error messages to smime_keys.pl. (Closes: #226696)
+  * Conflicts/Replaces mutt-utf8.
+  * New patch 004_patch-1.5.5.1.Md.libgnutls10.
+  * This release is the work of Artur R. Czechowski.
+
+ -- Marco d'Itri <md@linux.it>  Sat, 17 Jan 2004 17:50:16 +0100
+
+mutt (1.5.5.1-20040105+1) unstable; urgency=low
+
+  * New upstream release:
+    + fixed infinite loop during attachment saving. (Closes: #219314, #224654)
+  * Updated to CVS snapshot 20040105:
+    + fixed a lot of crashes/coredumps.
+      (Closes: #141214, #141468, #192341, #197322, #219499, #223663)
+    + honor Reply-To while generating Mail-Followup-To headers.
+      (Closes: #182526)
+    + improved colouring of thread tree. (Closes: #219594)
+    + fixed retrieving mail via preauth imap over ssh. (Closes: #209025)
+  * debian/rules: added extra-clean target to delete *.orig and *.rej files
+    when debian/sys-build.mk make-diff is called.
+  * Modified patches to apply without conflicts:
+    + 001_patch-1.5.4.rr.compressed.1
+    + 003_patch-1.4.admcd.gnutlsbuild.53
+  * Suggests libgnutls7 instead libgnutls5 (Closes: #217716), updated
+    README.Debian.
+  * Added README.SMIME. (Closes: #222903)
+  * smime_keys moved to /usr/bin. (Closes: #222905)
+  * Suggests ca-certificates and openssl.
+  * Killed mutt-utf8.
+  * This release is the work of Artur R. Czechowski.
+
+ -- Marco d'Itri <md@linux.it>  Tue,  6 Jan 2004 15:38:58 +0100
+
+mutt (1.5.4+20031024-1) unstable; urgency=medium
+
+  * New CVS snapshot. (Closes: #133021, #207242, #208430, #213007, #213917)
+  * Fix FTBFS bug in debian/control. (Closes: #216508)
+  * Compiled with libgnutls7. (Closes: #209722)
+  * New patch patch-1.5.4.fw.maildir_inode_sort. (Closes: #212664)
+  * New patch patch-1.5.4.helmersson.incomplete_multibyte.
+    (Closes: #187991, #188605)
+  * New patch patch-1.5.4.Md.gpg_by_keyid. (Closes: #210668)
+  * Removed README.NFS, as it talks about 2.0 and 2.2 kernels.
+  * Removed reference to $AGENT_SOCKET from README.Debian. (Closes: #215412)
+
+ -- Marco d'Itri <md@linux.it>  Fri, 24 Oct 2003 15:06:01 +0200
+
+mutt (1.5.4+20030913-1) unstable; urgency=medium
+
+  * New CVS snapshot. (Closes: #210354, #210423)
+  * Added patch-1.5.3.vk.pgp_verbose_mime. (Closes: #201306)
+
+ -- Marco d'Itri <md@linux.it>  Sat, 13 Sep 2003 15:59:49 +0200
+
+mutt (1.5.4+20030817-1) unstable; urgency=medium
+
+  * New CVS snapshot, packaged with the great help of arturcz@hell.pl
+    (co-maintainer). (Closes: #138966)
+  * Switched to libsasl2. (Closes: #201210)
+  * Removed hcache patch.
+    (Closes: #189999, #194843, #196832, #196978, #197182, #199052)
+  * Updated gnutls patch to 002_patch-1.5.4.admcd.gnutls.56. (Closes: #196117)
+  * Removed libdb4.0-dev from Build-Depends (Closes: #204015)
+  * /etc/Muttrc: call gpg without a path. (Closes: #193756)
+  * locales upgraded to Recommended status.
+  * Added an icon. (Closes: #188726)
+  * Make pgp_import_command nonverbose. (Closes: #195310)
+
+ -- Marco d'Itri <md@linux.it>  Sun, 17 Aug 2003 15:56:55 +0200
+
+mutt (1.5.4-1) unstable; urgency=high
+
+  * New upstream release. (Closes: #142266, #148858, #169740, #178563)
+  * Fixes remotely exploitable buffer overflow in the IMAP code.
+    (Core Security Technologies Advisory CORE-2003-03-04-02.)
+  * Removed again BUFFY_SIZE support, too many people complained.
+    Added a note to README.Debian.
+  * Provides: imap-client. (Closes: #183351)
+  * Always include the whole certificates chain in S/MIME mail to comply
+    with RFC 2315 spirit. (Closes: #182477)
+  * Applied ME's headers caching patch (provided by Nicolas Bougues).
+  * Fixed pgpewrap core dump. (Closes: #170666)
+
+ -- Marco d'Itri <md@linux.it>  Thu, 20 Mar 2003 15:06:13 +0100
+
+mutt (1.5.3-3) unstable; urgency=medium
+
+  * Recompiled to fix missing dependencies information. (Closes: #181167)
+
+ -- Marco d'Itri <md@linux.it>  Sun, 16 Feb 2003 11:46:46 +0100
+
+mutt (1.5.3-2) unstable; urgency=medium
+
+  * Compiled with BUFFY_SIZE. (Closes: #179970)
+  * Stop generating escape codes in the manual. (Closes: #167006)
+  * Set the default editor as specified by policy. (Closes: #177245)
+
+ -- Marco d'Itri <md@linux.it>  Fri, 14 Feb 2003 19:13:15 +0100
+
+mutt (1.5.3-1) unstable; urgency=low
+
+  * New upstream release (Closes: #112865, #165397, #168907, #169018).
+  * Suggests ispell | aspell (Closes: #175324).
+  * Add & and = to the URL coloring regex (Closes: #169646).
+  * Removed message-hook for clearsigned PGP messages (Closes: #168275).
+  * Removed obsolete patch-1.4.0.dw.pgp-traditional.2.
+  * By popular (?) demand, use /etc/mailname and only if it fails fall
+    back to gethostbyname(3) and then to uname(2) (Closes: #167549).
+
+ -- Marco d'Itri <md@linux.it>  Tue, 14 Jan 2003 18:31:01 +0100
+
+mutt (1.4.0-5) unstable; urgency=medium
+
+  * Try a different strategy to find the FQDN. Stop using /etc/mailname.
+    (Closes: #166060).
+  * Suggests: mixmaster (Closes: #166360).
+  * Updated copyright file (Closes: #163783).
+  * *Really* enable --enable-imap-edit-threads (Closes: #162352).
+  * Ignore Microsoft Thread-* header (Closes: #161473).
+  * Do not ask the password if gpg-agent or quintuple-agent are active
+    (Closes: #161508).
+  * Applied patch-1.5-me_editor.1 (Closes: #72318).
+  * Applied patch-1.5.1.tlr.mailboxes-overflow.1 (Closes: #153751).
+  * Applied patch-1.4-me.regex_doc.1 (Closes: #162550).
+  * Removed patch-1.3.15.sw.pgp-outlook.1 in favour of
+    patch-1.4.0.dw.pgp-traditional.2. All "traditional" PGP messages now
+    use text/plain.
+
+ -- Marco d'Itri <md@linux.it>  Tue, 29 Oct 2002 14:38:52 +0100
+
+mutt (1.4.0-4) unstable; urgency=medium
+
+  * Recompile with newer libgnutls5 (Closes: #160114).
+  * Updated contrib/colors.angdraug.
+  * Updated 010_patch-1.4.admcd.gnutls.55.
+
+ -- Marco d'Itri <md@linux.it>  Tue, 17 Sep 2002 16:07:50 +0200
+
+mutt (1.4.0-3) unstable; urgency=medium
+
+  * *Really* compile mutt with --enable-imap-edit-threads (Closes: #154864).
+  * *Really* merge the Maildirs new messages patch (Closes: #151582).
+  * Recompile with libgnutls5 (Closes: #152787, #157120).
+
+ -- Marco d'Itri <md@linux.it>  Sun, 18 Aug 2002 16:59:06 +0200
+
+mutt (1.4.0-2) unstable; urgency=low
+
+  * Update GNUTLS patch and link against gnutls4. (Closes: #152141).
+  * Link mutt-utf8 against libncursesw5 instead of slang1a-utf8.
+  * set pipe_decode=yes in /etc/Muttrc (Closes: #151460).
+  * Compile mutt with --enable-imap-edit-threads (Closes: #150274).
+  * Make debian/scripts/lib work even if $CDPATH is set (Closes: #152678).
+  * Merged patch to fix spurious new message notifications with Maildirs
+    (Closes: #151582).
+
+ -- Marco d'Itri <md@linux.it>  Fri, 12 Jul 2002 03:34:48 +0200
+
+mutt (1.4.0-1) unstable; urgency=medium
+
+  * New upstream release (Closes: #146889, #149348, #148558).
+  * Updated patch edit_threads.9.2 (Closes: #146451).
+  * Priority of mutt-utf8 changed from optional to extra.
+
+ -- Marco d'Itri <md@linux.it>  Mon, 10 Jun 2002 21:26:08 +0200
+
+mutt (1.3.28-2) unstable; urgency=medium
+
+  * Moved into main.
+  * Suggests: libgcrypt1, gnutls3 (Closes: #140970).
+  * Added patch from CVS to fix crash with UTF-8 locales (Closes: #126336).
+
+ -- Marco d'Itri <md@linux.it>  Sat,  6 Apr 2002 18:35:01 +0200
+
+mutt (1.3.28-1) unstable; urgency=medium
+
+  * New upstream release (Closes: #138200).
+  * Updated GNUTLS patch.
+  * Make flea(1) work even if bug(1) is not installed (Closes: #138273).
+  * Added /usr/share/bug/mutt/presubj file (Closes: #138274).
+
+ -- Marco d'Itri <md@linux.it>  Tue, 19 Mar 2002 14:42:39 +0100
+
+mutt (1.3.27-5) unstable; urgency=medium
+
+  * Added build dependancy on linuxdoc-tools-text (Closes: #137890).
+  * Use sensible-pager instead of zless to read the manual (Closes: #136206).
+  * Added example colors scheme contributed by Dmitry Borodaenko.
+
+ -- Marco d'Itri <md@linux.it>  Mon, 11 Mar 2002 19:40:20 +0100
+
+mutt (1.3.27-4) unstable; urgency=high
+
+  * Recompiled against new slang packages (Closes: #133255, #134115).
+  * Added patch-1.3.27.me.aliasdups.1 (Closes: #133559).
+  * Updated GNUTLS patch.
+  * Added missing flea(1) symlink (Closes: #133646).
+
+ -- Marco d'Itri <md@linux.it>  Sun, 17 Feb 2002 03:27:50 +0100
+
+mutt (1.3.27-3) unstable; urgency=high
+
+  * Recompiled against new slang and packages (Closes: #132644).
+  * Title bar is changed on more xterm variants (Closes: #131178).
+  * Removed obsolete advice about shred from README.Debian (Closes: #132786).
+
+ -- Marco d'Itri <md@linux.it>  Sun, 10 Feb 2002 13:26:20 +0100
+
+mutt (1.3.27-2) unstable; urgency=high
+
+  * Updated GNUTLS patch (Closes: #131386, #131424).
+  * Added patch-1.3.27.me.listfrom_doc.1 (Closes: #45706).
+  * Added missing -fPIC (Closes: #131209).
+  * Added missing commas in charset.c (Closes: #130481).
+
+ -- Marco d'Itri <md@linux.it>  Thu, 31 Jan 2002 15:23:34 +0100
+
+mutt (1.3.27-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Small fix to pt_BR translation (Closes: #130416).
+  * Hide gpg status messages (Closes: #127519).
+
+ -- Marco d'Itri <md@linux.it>  Tue, 22 Jan 2002 20:18:21 +0100
+
+mutt (1.3.26-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Removed patch-1.3.25.chip.fast-limited-threads because the patched
+    code has changed.
+
+ -- Marco d'Itri <md@linux.it>  Sat, 19 Jan 2002 19:30:13 +0100
+
+mutt (1.3.25-5) unstable; urgency=high
+
+  * Added build dependancy on groff (Closes: #129605, #129698).
+
+ -- Marco d'Itri <md@linux.it>  Thu, 17 Jan 2002 19:03:29 +0100
+
+mutt (1.3.25-4) unstable; urgency=high
+
+  * Forced build dependancy on newer gnutls-dev (Closes: #129283).
+  * Updated GNUTLS patch (Closes: #129291).
+
+ -- Marco d'Itri <md@linux.it>  Wed, 16 Jan 2002 19:47:45 +0100
+
+mutt (1.3.25-3) unstable; urgency=medium
+
+  * Force documentation rebuilding (Closes: #128758, #129045).
+  * TLS patch update from Andrew McDonald (Closes: #125924, #128718, #129039).
+  * Suggests gnutls0.
+  * Fixed typo in manual (Closes: #128836).
+  * Added patch-1.3.25.chip.fast-limited-threads, which is supposed to
+    speed up limited threaded display (Closes: #128174).
+  * Added patch-1.3.25.tlr.attach_overwrite.1 (Closes: #126122).
+
+ -- Marco d'Itri <md@linux.it>  Sun, 13 Jan 2002 17:18:21 +0100
+
+mutt (1.3.25-2) unstable; urgency=low
+
+  * Force dependancy on slang1-utf8 (Closes: #127938).
+  * Enable again optimization (Closes: #127653, #127682).
+  * Enable {open,close,append}-hook by default again (Closes: #127894).
+
+ -- Marco d'Itri <md@linux.it>  Sun,  6 Jan 2002 19:35:57 +0100
+
+mutt (1.3.25-1) unstable; urgency=high
+
+  * New upstream release, fixes remotely exploitable buffer overflow.
+  * Fixed mutt_dotlock permissions
+    (Closes: #127264, #127265, #127278, #127308, #127312, #127357).
+
+ -- Marco d'Itri <md@linux.it>  Wed,  2 Jan 2002 18:49:54 +0100
+
+mutt (1.3.24-3) unstable; urgency=medium
+
+  * A new mutt-utf8 package is generated (Closes: #99898).
+  * Added patch-1.3.24.de.new_threads.3 to fix segfaults while sorting
+    thread (Closes: #123658).
+  * Added --status-fd option to gpg command line and working $pgp_good_sign
+    variable to default /etc/Muttrc (see #110414 and #123273 for details).
+  * Updated thread editing patch to patch-1.3.24.cd.edit_threads.8.
+  * Added patch-1.3.24.appoct.2 to lookup application/octet-stream files
+    extensions in mime.types.
+  * Fixed coredump processing in flea(1) (Closes: #123081).
+  * Removed obsolete contrib/pgp-macros.
+
+ -- Marco d'Itri <md@linux.it>  Thu, 27 Dec 2001 03:32:16 +0100
+
+mutt (1.3.24-2) unstable; urgency=medium
+
+  * Added better GNUTLS code from Andrew McDonald.
+  * Added again threads editing patch.
+  * Enable {open,close,append}-hook by default again (Closes: #115473).
+  * Removed default $pgp_good_sign from Muttrc (related to #110414).
+
+ -- Marco d'Itri <md@linux.it>  Wed,  5 Dec 2001 02:26:13 +0100
+
+mutt (1.3.24-1) unstable; urgency=high
+
+  * New upstream release (Closes: #74484, #98630, #114938).
+  * Added conflict with gnutls < 0.2.9 (Closes: #121645).
+  * Fixed mailspell script (Closes: #120446).
+  * Removed 000_patch-1.3.22.1.cd.edit_threads-5.1.
+  * Added 000_patch-1.3.23.1.ametzler.pgp_good_sign (Closes: #110414).
+
+ -- Marco d'Itri <md@linux.it>  Fri, 30 Nov 2001 22:52:42 +0100
+
+mutt (1.3.23-4) unstable; urgency=high
+
+  * Added Build Dependandcies on libgcrypt-dev and zlib1g-dev
+    (Closes: #119309).
+  * Added a comment to README.Debian about stunnel (Closes: #115421).
+  * Removed safefilter script (Closes: #118630).
+  * Added the broken-outlook-pgp-clearsigning patch (Closes: #120090).
+
+ -- Marco d'Itri <md@linux.it>  Fri, 30 Nov 2001 20:49:02 +0100
+
+mutt (1.3.23-3) unstable; urgency=high
+
+  * Moved to non-US (Closes: #118294).
+
+ -- Marco d'Itri <md@linux.it>  Mon,  5 Nov 2001 12:06:43 +0100
+
+mutt (1.3.23-2) unstable; urgency=medium
+
+  * Added SSL support using GNUTLS. WARNING: requires the CVS library!
+  * Added unpack target to debian/rules (Closes: #115765).
+  * Fixed account-hook (Closes: #117125).
+  * Added default compression hooks to /etc/Muttrc (Closes: #115473).
+
+ -- Marco d'Itri <md@linux.it>  Sun,  4 Nov 2001 13:59:25 +0100
+
+mutt (1.3.23-1) unstable; urgency=medium
+
+  * New upstream release (Closes: #106864, #106229, #110414)
+    (Closes: #69135, #89195, #92651, #97319, #98627).
+  * Added README.NFS note from the liblockfile maintainer (Closes: #96788).
+  * Fixed gpg operations (Closes: #113458, #114163, #114938).
+  * Fixed compressed folder patch (Closes: #114199).
+  * Highlight https URLs too (Closes: #113791).
+
+ -- Marco d'Itri <md@linux.it>  Wed, 10 Oct 2001 02:30:15 +0200
+
+mutt (1.3.22-2) unstable; urgency=medium
+
+  * Renamed dotlock.1 (Closes: #112545).
+  * Fixed the threads editing patch (Closes: #112554).
+
+ -- Marco d'Itri <md@linux.it>  Wed, 19 Sep 2001 12:18:47 +0200
+
+mutt (1.3.22-1) unstable; urgency=low
+
+  * New upstream release (Closes: ).
+  * Old bugs fixed in the last NMU (Closes: #29884, #101075, #101484)
+    (Closes: #101890, #101890, #102439, #106863, #104469, #105391)
+    (Closes: #110262).
+  * Fixed bashism in vars.build (Closes: #104137).
+  * Updated libssl package name in README.Debian (Closes: #96564).
+  * Added a note about temporary files in README.Debian (Closes: #89277).
+  * Added a note about locales in README.Debian (Closes: #105545).
+  * Included threads editing patch (Closes: #111291).
+  * Fixed paths in mutt.man (Closes: #110462).
+
+ -- Marco d'Itri <md@linux.it>  Sat, 15 Sep 2001 17:33:51 +0200
+
+mutt (1.3.19-1) unstable; urgency=low
+
+  * New upstream release (Closes: #81155, #93830, #95426, #100298, #101075).
+    (Closes: #101451).
+  * Suggests locales instead of i18ndata (Closes: #98814).
+
+ -- Marco d'Itri <md@linux.it>  Tue, 22 May 2001 13:42:34 +0200
+
+mutt (1.3.18-1) unstable; urgency=low
+
+  * New upstream release (Closes: #81155, #92234, #90400, #92860, #95426)
+    (Closes: #88358, #92846, #92847, #91979, #97658, #98014).
+
+ -- Marco d'Itri <md@linux.it>  Tue, 22 May 2001 13:42:34 +0200
+
+mutt (1.3.17-1) unstable; urgency=high
+
+  * New upstream release (Closes: #89011, #82372, #86228, #83187).
+
+ -- Marco d'Itri <md@linux.it>  Sun,  1 Apr 2001 22:09:27 +0200
+
+mutt (1.3.15-2) unstable; urgency=high
+
+  * Built again without linking libiconv.
+
+ -- Marco d'Itri <md@linux.it>  Wed, 14 Feb 2001 23:02:23 +0100
+
+mutt (1.3.15-1) unstable; urgency=low
+
+  * New upstream release (Closes: #81873, #81155, #81640, #76922).
+  * Added more headers to the ignore list.
+  * Removed dh_suidregister (Closes: #84826).
+  * Removed US-ASCII charset-hook (Closes: #81240).
+  * Commented all "color header" lines in the default /etc/Muttrc.
+  * Fixed default colors on white background xterm.
+
+ -- Marco d'Itri <md@linux.it>  Mon, 12 Feb 2001 23:34:41 +0100
+
+mutt (1.3.12-2) unstable; urgency=low
+
+  * Fixed typo in muttbug (Closes: #79230).
+  * Added menu hints (Closes: #80067).
+  * Compiled with libsasl (Closes: #78746).
+
+ -- Marco d'Itri <md@linux.it>  Sun, 24 Dec 2000 12:18:23 +0100
+
+mutt (1.3.12-1) experimental; urgency=low
+
+  * Packaged the development tree (Closes: #60459, #73050, #75885, #77856).
+  * Documented the fact that pgp_encryptself is gone and will not be back
+    (Closes: #47833, #69221).
+
+ -- Marco d'Itri <md@linux.it>  Tue, 28 Nov 2000 02:25:50 +0100
+
+mutt (1.2.5-5) unstable; urgency=low
+
+  * Added support for libc6 2.2 compressed charmaps
+    (Closes: #74975).
+  * Updated README.Debian about SSL support (Closes: #75895).
+  * Added the compressed folder patch (Closes: #76224).
+  * Removed some colorization (Closes: #77976).
+
+ -- Marco d'Itri <md@linux.it>  Mon, 27 Nov 2000 18:46:25 +0100
+
+mutt (1.2.5-4) stable unstable; urgency=high
+
+  * Typo in debian-ldap-query prevented it from running (#74575).
+
+ -- Marco d'Itri <md@linux.it>  Sun, 29 Oct 2000 13:09:42 +0100
+
+mutt (1.2.5-3) stable unstable; urgency=high
+
+  * ====> Removed non GPL-compatible SHA code (patch-1.3.9.tlr.sha.1). <====
+  * ====> Disabled linking with the GPL-incompatible openssl library. <====
+  * Update debian-ldap-query for new libnet-ldap-perl package (Closes: #74575).
+
+ -- Marco d'Itri <md@linux.it>  Thu, 12 Oct 2000 10:28:10 +0200
+
+mutt (1.2.5-2) unstable; urgency=low
+
+  * Disallow suspend by default if mutt is the session leader (Closes: #64169).
+  * Fixed the check for optional crypto libraries (Closes: #68518).
+  * Added build dependency to debhelper (Closes: #68401).
+  * Added some info to README.NFS (Closes: #71163).
+  * Added ispell wrapper.
+
+ -- Marco d'Itri <md@linux.it>  Thu, 21 Sep 2000 19:43:57 +0200
+
+mutt (1.2.5-1) unstable; urgency=low
+
+  * New upstream release (Closes: #67885, #65999, #67420, #65638, #62580).
+    (Closes: #67420).
+  * Fixed charmaps handling for autobuilders (Closes: #67609).\
+  * Added debian-ldap-query script.
+  * mutt_imap_*_.so and pgp* moved to /usr/lib/mutt/.
+  * Added safefilter contributed script.
+
+ -- Marco d'Itri <md@linux.it>  Tue,  1 Aug 2000 18:22:58 +0200
+
+mutt (1.2-1) unstable; urgency=low
+
+  * New upstream release.
+  * Fixed manual.txt.gz path in F1 macro (Closes: #63384).
+
+ -- Marco d'Itri <md@linux.it>  Sun,  7 May 2000 19:51:09 +0200
+
+mutt (1.1.12-1) unstable; urgency=low
+
+  * New upstream release.
+  * Removed duplicated install-docs commands (Closes: #60788).
+
+ -- Marco d'Itri <md@linux.it>  Mon, 20 Mar 2000 22:14:53 +0100
+
+mutt (1.1.9-1) unstable; urgency=low
+
+  * New upstream release (Closes: #60139, #57965, #60139).
+  * pgp_sign_micalg=pgp-sha1 added to the default Muttrc (Closes: #59765).
+
+ -- Marco d'Itri <md@linux.it>  Wed, 15 Mar 2000 10:57:49 +0100
+
+mutt (1.1.5-1) unstable; urgency=low
+
+  * New upstream release (Closes: #56011, #58703).
+
+ -- Marco d'Itri <md@linux.it>  Sat, 26 Feb 2000 15:13:09 +0100
+
+mutt (1.1.4-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Marco d'Itri <md@linux.it>  Wed, 16 Feb 2000 01:14:31 +0100
+
+mutt (1.1.3-1) unstable; urgency=low
+
+  * New upstream release (Closes: #57373, #57155, #57533, #56970).
+  * Fixed Pine.rc (Closes: #57647).
+
+ -- Marco d'Itri <md@linux.it>  Wed, 16 Feb 2000 01:14:20 +0100
+
+mutt (1.1.2-2) unstable; urgency=low
+
+  * README.UPDATE installed in the documentation directory (Closes: 56970).
+  * Patched for run time loading of SSL and Kerberos libraries.
+
+ -- Marco d'Itri <md@linux.it>  Thu, 10 Feb 2000 23:56:21 +0100
+
+mutt (1.1.2-1) unstable; urgency=low
+
+  * New upstream release (Closes: #30639, #28727).
+  * Fixed color problems in xterms.
+
+ -- Marco d'Itri <md@linux.it>  Tue,  1 Feb 2000 12:31:26 +0100
+
+mutt (1.1.1-1) experimental; urgency=low
+
+  * My christmas present: packaged the development tree.
+
+ -- Marco d'Itri <md@linux.it>  Sun, 19 Dec 1999 12:08:53 +0100
+
diff --git a/debian/clean b/debian/clean
new file mode 100644 (file)
index 0000000..0354034
--- /dev/null
@@ -0,0 +1 @@
+aclocal.m4
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..18060d7
--- /dev/null
@@ -0,0 +1,61 @@
+Source: mutt
+Section: mail
+Priority: standard
+Maintainer: Antonio Radici <antonio@dyne.org>
+Uploaders: Christoph Berg <myon@debian.org>
+Build-Depends: automake, debhelper (>> 7), docbook-xml, docbook-xsl,
+ elinks-lite | elinks, gawk, gettext, libgnutls-dev,
+ libgpgme11-dev, libidn11-dev, libkrb5-dev, libncurses5-dev, libncursesw5-dev,
+ libsasl2-dev, pkg-config, quilt, xsltproc, zlib1g-dev,
+ libtokyocabinet-dev [!hurd-i386], libgdbm-dev [hurd-i386]
+Standards-Version: 3.8.4
+Vcs-Git: git://git.debian.org/git/pkg-mutt/mutt.git
+Vcs-Browser: http://git.debian.org/?p=pkg-mutt/mutt.git
+Homepage: http://www.mutt.org/
+
+Package: mutt
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: default-mta | mail-transport-agent, locales, mime-support, libsasl2-modules
+Suggests: urlview, aspell | ispell, gnupg, mixmaster, openssl, ca-certificates
+Provides: mail-reader, imap-client
+Conflicts: mutt-utf8
+Replaces: mutt-utf8
+Description: text-based mailreader supporting MIME, GPG, PGP and threading
+ Mutt is a sophisticated text-based Mail User Agent. Some highlights:
+ .
+  * MIME support (including RFC1522 encoding/decoding of 8-bit message
+    headers and UTF-8 support).
+  * PGP/MIME support (RFC 2015).
+  * Advanced IMAP client supporting SSL encryption and SASL authentication.
+  * POP3 support.
+  * ESMTP support.
+  * Message threading (both strict and non-strict).
+  * Keybindings are configurable, default keybindings are much like ELM;
+    Mush and PINE-like ones are provided as examples.
+  * Handles MMDF, MH and Maildir in addition to regular mbox format.
+  * Messages may be (indefinitely) postponed.
+  * Colour support.
+  * Highly configurable through easy but powerful rc file.
+
+Package: mutt-patched
+Architecture: any
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}, mutt (= ${binary:Version})
+Description: the Mutt Mail User Agent with extra patches
+ Mutt is a sophisticated text-based Mail User Agent.
+ .
+ This package adds the "sidebar" patch that lists mailboxes with new mail
+ in a separate column on screen.
+
+Package: mutt-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}, mutt (= ${binary:Version})
+Description: debugging symbols for mutt
+ Mutt is a sophisticated text-based Mail User Agent.
+ .
+ This package contains the debugging symbols for mutt and mutt-patched; this
+ is supposed to be used when there is a core file which should be analyzed
+ using gdb.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..2feccaf
--- /dev/null
@@ -0,0 +1,89 @@
+This is Debian's prepackaged version of Mutt, a powerful text-mode mail
+user agent.
+
+The current maintainers for this package are:
+    Adeodato Simó <dato@net.com.org.es>
+    Christoph Berg <myon@debian.org>
+
+Previous maintainers were:
+    Stephen Pitts <pitts2@memphisonline.com>
+    J.H.M. Dassen <jdassen@wi.LeidenUniv.nl>
+    Marco d'Itri <md@linux.it>
+
+Original source has been downloaded from ftp://ftp.mutt.org/mutt/:
+
+    URL:<ftp://ftp.mutt.org/mutt/devel/>
+
+The following copyright notices apply to most of the program.  Some
+modules are under different licenses, or in the public domain.
+
+Please note that this is by no means an exhaustive list of all the
+persons who have been contributing to this program.  Please see the
+manual for a (probably still non complete) list of the persons who
+have been helpful with the development of this program.
+
+Copyright (C) 1996-2007 Michael R. Elkins <me@cs.hmc.edu>
+Copyright (C) 1996-2002 Brandon Long <blong@fiction.net>
+Copyright (C) 1997-2008 Thomas Roessler <roessler@does-not-exist.org>
+Copyright (C) 1998-2005 Werner Koch <wk@isil.d.shuttle.de>
+Copyright (C) 1999-2009 Brendan Cully <brendan@kublai.com>
+Copyright (C) 1999-2002 Tommi Komulainen <Tommi.Komulainen@iki.fi>
+Copyright (C) 2000-2004 Edmund Grimley Evans <edmundo@rano.org>
+Copyright (C) 2006-2008 Rocco Rutte <pdmef@gmx.net>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+Contributors:
+    Copyright (C) 2001 Marco d'Itri
+    Copyright (C) 2001-2002 Oliver Ehli
+    Copyright (C) 2004 Brian Fundakowski Feldman
+    Copyright (C) 2004 g10 Code GmbH
+    Copyright (C) 2004 Thomas Glanzmann
+    Copyright (C) 2003 Bjoern Jacke
+    Copyright (C) 2000 Manoj Kasichainula
+    Copyright (C) 2001-2004 Andrew McDonald
+    Copyright (C) 2001 Mike Schiraldi
+    Copyright (C) 2000-2003 Vsevolod Volkov
+    Copyright (C) 2004 Tobias Werth
+    Copyright (C) 2005 Andreas Krennmair <ak@synflood.at>
+    Copyright (C) 2005 Peter J. Holzer <hjp@hjp.net>
+
+intl subdirectory:
+    Copyright (C) 1995-2001 Free Software Foundation, Inc.
+    Contributed by Ulrich Drepper, 1995.
+
+On Debian systems, the complete text of the GNU General Public License
+can be found in `/usr/share/common-licenses/GPL'.
+
+md5c.c:
+    Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
+    rights reserved.
+    License to copy and use this software is granted provided that it
+    is identified as the "RSA Data Security, Inc. MD5 Message-Digest
+    Algorithm" in all material mentioning or referencing this software
+    or this function.
+    License is also granted to make and use derivative works provided
+    that such works are identified as "derived from the RSA Data
+    Security, Inc. MD5 Message-Digest Algorithm" in all material
+    mentioning or referencing the derived work.
+    RSA Data Security, Inc. makes no representations concerning either
+    the merchantability of this software or the suitability of this
+    software for any particular purpose. It is provided "as is"
+    without express or implied warranty of any kind.
+    These notices must be retained in any copies of any part of this
+    documentation and/or software.
+
+The list of authors of the applied patches to this version of mutt can
+be found in `/usr/share/doc/mutt/README.Patches'.
diff --git a/debian/extra/README.SMIME b/debian/extra/README.SMIME
new file mode 100644 (file)
index 0000000..6bd4aa2
--- /dev/null
@@ -0,0 +1,56 @@
+This file describes how to configure mutt to use S/MIME.
+
+This file is almost the same as smime-notes.txt available in mutt upstream
+sources, but it contains a few modifications about Debian-specific issues.
+
+Mutt needs some user interaction to get it ready for S/MIME.
+
+1. Make sure, that openssl (must be) and ca-certificates (recommended)
+   are installed. If not, ask your administrator to do it.
+
+2. Run 'smime_keys init'.
+
+3. If ca-certificates is installed, make a symlink:
+   ln -s /etc/ssl/certs ~/.smime/ca-bundle.crt
+   If not, there are some other packages which contain Root CA certificates,
+   for example: kdelibs-data, libcurl2.
+   This makes you trust anything that was ultimately signed by one of CA
+   included in symlinked crt file.
+
+4. Get yourself a certificate. (You can get one for free from www.thawte.com,
+   or pay for one from VeriSign or one of its competitors). The way the
+   process generally works: the certificate will be installed "into" your web
+   browser.  If you are asked what application you wish to use the
+   certificate with, select Netscape. Strangely enough, "mutt" is usually not
+   an option.
+
+5. Assuming you are using Mozilla, follow the instructions at
+   www.verisignlabs.com/Projects/smime_docs/linux.html to export the
+   certificate into a file called cert.p12. If you don't use Mozilla, you're on
+   your own.
+
+6. Run 'smime_keys add_p12 cert.p12'.
+   * When the script asks for the "Import password", enter the one you
+     provided when you exported the certificate
+   * When it asks for a "PEM pass phrase", make up a new password. Every
+     time you sign or decrypt a message, mutt will ask for the PEM passphrase
+   * Finally, when the script asks for a label, enter an easy-to-remember
+     name for the certificate, such as "me". The script output will include
+     a line like:
+     added private key: /home/raldi/.smime/keys/12345678.0 for raldi@verisignlabs.com
+     The number (including the ".0" at the end) is your keyid. You will
+     need this number in the next step.
+
+7. Edit your .muttrc file and add a lines:
+   set smime_default_key=keyid
+   set smime_sign_as=keyid
+   Probably you also want to change default values for smime_timeout
+   and smime_encrypt_with originally set in global /etc/Muttrc
+
+8. Optionally, you can add following line to your ~/.mailcap to view certificate
+   from mutt:
+   application/x-pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | pager; needsterminal
+
+Last updated: Tue, 23 Dec 2003 22:35:40 +0100
+Artur R. Czechowski <arturcz@hell.pl>
+
diff --git a/debian/extra/lib/debian-ldap-query b/debian/extra/lib/debian-ldap-query
new file mode 100755 (executable)
index 0000000..f4e3ae4
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+# by Ben Collins <bcollins@debian.org>, butchered by Marco d'Itri <md@linux.it>
+# to use, add to ~/.muttrc:
+#  set query_command="/usr/lib/mutt/debian-ldap-query %s"
+
+use strict;
+
+my @attrs = qw(sn mn cn ircnick uid);
+my $base = 'ou=users, dc=debian, dc=org';
+my $server = 'db.debian.org';
+my $port = 389;
+
+die "Usage: $0 <name> [<name>...]\n" if not $ARGV[0];
+
+eval 'require Net::LDAP;';
+if ($@) {
+       $@ =~ s/ in \@INC.*/./;
+       die "Could not load Net::LDAP: $@\n" .
+       "(Warning: this script depends on the libnet-ldap-perl (>=0.22-1) package.)\n"
+}
+
+my $ldap = Net::LDAP->new($server, port => $port) or
+       die "Could not contact LDAP server $server:$port";
+$ldap->bind or die 'Could not bind';
+
+my @results;
+
+foreach my $search (@ARGV) {
+       my $query = join '', map { "($_=*$search*)" } @attrs;
+    my $mesg = $ldap->search(
+               base => $base, filter => "(|$query)", attrs => [ @attrs ]
+       ) or die 'Failed search';
+    foreach my $entry ($mesg->entries) {
+               my $uid   = $entry->get_value('uid')    || next;
+               my $fname = $entry->get_value('cn')     || '';
+               my $mname = $entry->get_value('mn')     || '';
+               $mname .= ' ' if $mname;
+               my $lname = $entry->get_value('sn')     || '';
+               my $nick  = $entry->get_value('ircnick')|| '';
+               push @results, "<$uid\@debian.org>\t$fname $mname$lname\t($nick)\n";
+    }
+}
+
+$ldap->unbind;
+
+print 'Debian Developer query: found ', scalar @results, "\n", @results;
+exit 1 if not @results;
+exit 0;
diff --git a/debian/extra/lib/mailspell b/debian/extra/lib/mailspell
new file mode 100755 (executable)
index 0000000..79e0e03
--- /dev/null
@@ -0,0 +1,77 @@
+#!/usr/bin/perl
+#
+# Wrapper to call ispell on mail messages, ignoring quoted portions
+# and signatures.
+# By Brendan O'Dea <bod@debian.org>, public domain.
+# Usage: set ispell = /usr/lib/mutt/mailspell
+#
+
+use IO::File;
+use POSIX 'tmpnam';
+use File::Copy 'move';
+
+$0 =~ s#.*/##;
+
+my $ISPELL = 'ispell';
+my $DIFF   = 'diff';
+my $ED     = 'ed';
+
+# make sure that we don't inherit SIGCHLD
+$SIG{CHLD} = 'DEFAULT';
+
+# ignore -x ispell option
+shift if $ARGV[0] eq '-x';
+die "Usage: $0 [-x] FILE\n" unless @ARGV == 1;
+
+my $msg = $ARGV[0];
+
+# create temporary files
+my (%orig, %ed);
+
+END {
+    unlink $ed{path}   if $ed{path};
+    unlink $orig{path} if $orig{path};
+}
+
+foreach (\%orig, \%ed) {
+    $_->{path} = tmpnam;
+    $_->{fd} = IO::File->new($_->{path}, O_RDWR|O_CREAT|O_EXCL, 0600)
+               or die "$0: can't create $_->{path} ($!)";
+}
+
+while (<>) {
+    # stop at sigdashes
+    last if /^-- \n/;
+
+    # drop quoted text and attribution
+    $orig{fd}->print($_) unless /^>/ or /^On \w{3}, \w{3} \d{2}, \d{4} at \d/;
+}
+
+$orig{fd}->close;
+
+my $pid = fork;
+die "$0: can't fork ($!)\n" unless defined $pid;
+unless ($pid) {
+    open STDOUT, '>&=' . $ed{fd}->fileno
+               or die "$0: can't dup stdout to ed script ($!)\n";
+    $ed{fd}->close;
+    exec $DIFF, '-e', $orig{path}, $msg;
+    die "$0: can't exec $DIFF ($!)\n";
+}
+
+die "$0: can't reap child ($!)\n" unless wait == $pid;
+system $ISPELL, '-x', $orig{path}
+    and die "$0: problem with $ISPELL ($?)\n";
+
+$ed{fd}->seek(0, SEEK_END);
+$ed{fd}->print("w\nq\n");
+$ed{fd}->seek(0, SEEK_SET);
+
+open STDIN, '<&=' . $ed{fd}->fileno
+    or die "$0: can't dup stdin from ed script ($!)\n";
+
+system $ED, '-s', $orig{path} and die "$0: problem with $ED ($?)\n";
+move $orig{path}, $msg        or  die "$0: can't replace $msg ($!)\n";
+delete $orig{path};
+
+1;
diff --git a/debian/extra/lib/mailto-mutt b/debian/extra/lib/mailto-mutt
new file mode 100755 (executable)
index 0000000..730c021
--- /dev/null
@@ -0,0 +1,118 @@
+#!/bin/sh
+#
+# mailto-mutt -- wrapper to be able to use mutt as mailto handler from firefox
+#
+# To use, surf to Firefox's about:config page and configure the following
+# three values:
+#   network.protocol-handler.external.mailto boolean true
+#   network.protocol-handler.app.mailto string '/path/to/handler'
+#   network.protocol-handler.warn-external.mailto boolean false
+#
+# Copyright Â© martin f. krafft <madduck@madduck.net>
+# Released under the terms of the Artistic Licence 2.0
+# 
+# Revision: $Id: mailto-mutt 498 2007-05-12 12:02:10Z madduck $
+# 
+set -eu
+
+case "${1:-}" in
+  -d) debug=1; shift;;
+  '') exit 0;;
+  *) :;;
+esac
+
+url_unescape()
+{
+  perl -e 'use URI::Escape; while(<>) { print uri_unescape($_); }'
+}
+
+MAILTO="${@%%\?*}"
+ARGS="${@#*\?}"
+[ "$ARGS" = "$MAILTO" ] && unset ARGS
+MAILTO="$(echo "${MAILTO#mailto:}" | url_unescape)"
+
+subject=
+cc=
+bcc=
+body=
+mutt_commands=
+
+IFS_store="$IFS"
+IFS='&'
+
+for arg in ${ARGS:-}; do
+  value="$(echo "${arg#*=}" | url_unescape | sed -e "s,',\',")"
+
+  case "${arg%%=*}" in
+    subject|Subject|SUBJECT) subject="$value";;
+    cc|Cc|CC) cc="$value";;
+    bcc|Bcc|BCC) bcc="$value";;
+    body|Body|BODY) body="$value";;
+    *)
+      mutt_commands="${mutt_commands:+${mutt_commands}
+        }-e\"my_hdr ${arg%%=*}: $value\""
+      ;;
+  esac
+done
+
+IFS="$IFS_store"
+
+break_at_commas()
+{
+  local atom
+  for i; do
+    atom="${atom:+$atom }$i"
+    case "${atom:-}" in
+      *,) echo "${atom%,}"; unset atom;;
+    esac
+  done
+  [ -n "${atom:-}" ] && echo "${atom%,}"
+}
+
+get_addr_args()
+{
+  local type
+  case "$1" in
+    -*) type="$1"; shift;;
+    *) unset type;;
+  esac
+
+  break_at_commas "$@" | while read addr; do
+    echo -n "${type:-}\"$addr\" "
+  done
+}
+
+if [ -n "$mutt_commands" ]; then
+  mutt_args="${mutt_args:+$mutt_args }$mutt_commands"
+fi
+
+if [ -n "$subject" ]; then
+  mutt_args="${mutt_args:+$mutt_args }-s\"$subject\""
+fi
+
+mutt_args="${mutt_args:+$mutt_args }$(get_addr_args -c $cc)"
+mutt_args="${mutt_args:+$mutt_args }$(get_addr_args -b $bcc)"
+mutt_args="${mutt_args:+$mutt_args }-- $(get_addr_args $MAILTO)"
+
+run()
+{
+  if [ ${debug:-0} -eq 1 ]; then
+    echo "$@"
+    [ -t 0 ] && [ -t 1 ] && [ -t 2 ] && $SHELL
+  else
+    eval "$@"
+  fi
+}
+
+if [ -n "$body" ]; then
+  TMPFILE="$(tempfile -p mailto -d /tmp)"
+  trap "rm -f $TMPFILE" 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15
+  echo "$body" > $TMPFILE
+  run x-terminal-emulator -e mutt -i $TMPFILE${mutt_args:+ $mutt_args}
+  ret=$?
+  rm -f $TMPFILE
+  trap - 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15
+  exit $ret
+else
+  run exec x-terminal-emulator -e mutt${mutt_args:+ $mutt_args}
+fi
diff --git a/debian/extra/lib/source-muttrc.d b/debian/extra/lib/source-muttrc.d
new file mode 100755 (executable)
index 0000000..ee177b9
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+for rc in /etc/Muttrc.d/*.rc; do
+    test -r "$rc" && echo "source \"$rc\""
+done
+
+# vi: ft=sh
diff --git a/debian/extra/mutt-patched.rc/sidebar.rc b/debian/extra/mutt-patched.rc/sidebar.rc
new file mode 100644 (file)
index 0000000..b8ae716
--- /dev/null
@@ -0,0 +1,5 @@
+# Configuration for the sidebar patch.
+# See /usr/share/doc/mutt/README.Patches for documentation.
+
+ifdef sidebar_visible set sidebar_visible sidebar_width=20
+
diff --git a/debian/extra/mutt.xpm b/debian/extra/mutt.xpm
new file mode 100644 (file)
index 0000000..ff7bd9d
--- /dev/null
@@ -0,0 +1,49 @@
+/* XPM */
+static char * mutt_xpm[] = {
+"32 32 14 1",
+"      c None",
+".     c #CCCCCC",
+"+     c #000000",
+"@     c #7F7F7F",
+"#     c #B2B2B2",
+"$     c #666667",
+"%     c #FF0000",
+"&     c #7F0000",
+"*     c #999999",
+"=     c #333333",
+"-     c #FF00FF",
+";     c #FFFFFF",
+">     c #7F007F",
+",     c #7F7F00",
+"                                ",
+"                      ==        ",
+"                    ++          ",
+"                   +..@@        ",
+"                  +.,.+         ",
+"       +          +.,.+  +++    ",
+"      +          @+.,.+ +@@     ",
+"    @+           +....+++.@     ",
+"    +.@         @+.......+      ",
+"    +.+         +@....+.+       ",
+"    +.+        @+.....+.+       ",
+"    +.+@       +@........++++   ",
+"    +.@+      @+.........+;;>   ",
+"    +..+++++++%@$#.......+.--   ",
+"    @@.@+&%&+@%%@@.......+>->   ",
+"     +..@+++@.@%%@$@......+++   ",
+"     +.........@%%+@$$....+     ",
+"    @@$.........@%%++@$..$+     ",
+"    +@@..........*%%++@@$+      ",
+"    +@@...........@%%++++       ",
+"    +@$............@+           ",
+"    +@@...#.......@+            ",
+"    @+@.#$+@@@...$++            ",
+"     +..$+@*@+..$+@+            ",
+"    @@.@++++++$.+@*+            ",
+"   @+..+*@@+=+@.+@.+            ",
+"   +@..+++@+++@..++@@+@         ",
+"   +@.....+@@+@.....+@.@        ",
+"   +$.....+@*+$.....+@.+        ",
+"   +@@.$..+@@+@@.$..+@.+        ",
+"   @++++++@++@++++++@++@        ",
+"                                "};
diff --git a/debian/extra/rc/Muttrc.foot b/debian/extra/rc/Muttrc.foot
new file mode 100644 (file)
index 0000000..0c0b8d7
--- /dev/null
@@ -0,0 +1,2 @@
+# See /usr/share/doc/mutt/README.Debian for details.
+source /usr/lib/mutt/source-muttrc.d|
diff --git a/debian/extra/rc/charset.rc b/debian/extra/rc/charset.rc
new file mode 100644 (file)
index 0000000..ebbeb3e
--- /dev/null
@@ -0,0 +1,9 @@
+# Some GB18030 traditional Chinese mails are wrongly labelled GB2312.
+# The first charset is a superset of the second. Let's alias it, so
+# that Mutt displays such mails as if they were correctly labelled.
+charset-hook ^gb2312$ gb18030
+
+# Some mailers send EUC-JP-MS Japanese mails wrongly labelled EUC-JP.
+# The first charset is a superset of the second. Let's also alias it.
+charset-hook ^euc-jp$ euc-jp-ms
+
diff --git a/debian/extra/rc/colors.rc b/debian/extra/rc/colors.rc
new file mode 100644 (file)
index 0000000..5eae80a
--- /dev/null
@@ -0,0 +1,19 @@
+# colors
+color normal   white black
+color attachment brightyellow black
+color hdrdefault cyan black
+color indicator black cyan
+color markers  brightred black
+color quoted   green black
+color signature cyan black
+color status   brightgreen blue
+color tilde    blue black
+color tree     red black
+#color header  brightgreen black ^From:
+#color header  brightcyan black ^To:
+#color header  brightcyan black ^Reply-To:
+#color header  brightcyan black ^Cc:
+#color header  brightblue black ^Subject:
+#color body    brightred black [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+
+#color body    brightblue black (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+
+
diff --git a/debian/extra/rc/compressed-folders.rc b/debian/extra/rc/compressed-folders.rc
new file mode 100644 (file)
index 0000000..d21b725
--- /dev/null
@@ -0,0 +1,8 @@
+# Use folders which match on \\.gz$ or \\.bz2$ as [gb]zipped folders:
+open-hook      \\.gz$ "gzip -cd '%f' > '%t'"
+close-hook     \\.gz$ "gzip -c '%t' > '%f'"
+append-hook    \\.gz$ "gzip -c '%t' >> '%f'"
+open-hook      \\.bz2$ "bzip2 -cd '%f' > '%t'"
+close-hook     \\.bz2$ "bzip2 -c '%t' > '%f'"
+append-hook    \\.bz2$ "bzip2 -c '%t' >> '%f'"
+
diff --git a/debian/extra/samples/colors.angdraug b/debian/extra/samples/colors.angdraug
new file mode 100644 (file)
index 0000000..efba1cb
--- /dev/null
@@ -0,0 +1,91 @@
+# This color scheme aims to highlight as much useful information as
+# possible without spoiling user's visual experience by irritating
+# contrasts. Optimized for dark or transparent background.
+# --Dmitry Borodaenko <angdraug@mail.ru>
+
+# override defaults, make transparency work
+color normal    white default
+color attachment green default #
+color hdrdefault cyan default
+color indicator black cyan
+color markers   brightred default
+color quoted    green default
+color signature brightblue default #
+color status    brightgreen blue
+color tilde     brightblue default #
+color tree      red default
+
+# paint different quote levels
+color  quoted          green   default
+color  quoted1         cyan    default
+color  quoted2         yellow  default
+color  quoted3         red     default
+
+color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # email
+color body brightblue default "(http|ftp)://[\-\.\,/+=&%~_:?\#a-zA-Z0-9]+" # URL
+color body brightgreen default "(^| |[-.[:alnum:]]+:+)~?\(/[-_.'[:alnum:]]+\)+/?" # Unix file path
+color body brightgreen default "(^| +)[[:alpha:]]:[-_.[:alnum:]\]+" # DOS file path
+color body brightmagenta default "(^|[ '\"]+)\\$[[:alpha:]][-_[:alpha:]]+" # variable
+color body brightred default "(^| )[*_]+[-&[:alnum:]]+[*_]( |$)" # bold/underline
+color body yellow default "(^| )[;:8ö][-^o]?[)>(|/\\]+" # smiley
+color body red default "[!?]{3,}" # exclamation
+color body green default "^ *[-+*o] +" # list item
+
+# date formats
+color body cyan default "[0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?"
+color body cyan default "(\(19|20\)?[0-9]{2}/[01]?[0-9]/[0123]?[0-9]|[0123]?[0-9][/.][01]?[0-9][/.]\(19|20\)?[0-9]{2})(( at)? +[0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?)?"
+color body cyan default "((Sun(day)?|Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(sday)?|Fri(day)?|Sat(urday)?),? +)?(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|June?|July?|Aug(ust)?|Sep(ember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)[ .]+[0-9]{1,2}(st|nd|rd|th)?,?( +(19|20)[0-9]{2}(,?( at)? [0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?)?)?"
+color body cyan default "((Sun(day)?|Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(sday)?|Fri(day)?|Sat(urday)?),? +)?[0-9]{1,2}(st|nd|rd|th)?[ .]+(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|June?|July?|Aug(ust)?|Sep(ember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?),?( +(19|20)?[0-9]{2})?(( at)? [0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?)?"
+
+color header   brightgreen default ^From:
+color header   brightcyan default ^To:
+color header   brightcyan default ^Reply-To:
+color header   brightcyan default ^Cc:
+color header   brightblue default ^Subject:
+
+color  header  brightcyan      default "^newsgroups: "
+color   header  yellow  default "^Delivered-To: "
+color   header  green   default "^sender: "
+color   header  green   default "^organi[sz]ation: "
+color   header  green   default "x-editor: "
+color   header  green   default "(x-mailer|user-agent): "
+color   header  green   default "X-Operating-System: "
+color   header  green   default "X-MimeOLE: "
+color   header  green   default "X-Accept-Language: "
+color  header  red     default "^message-id:"
+color  header  red     default "^in-reply-to: "
+color  header  red     default "^references: "
+color  header  cyan    default "^followup-to: "
+color  header  cyan    default "^mail-followup-to: "
+color  header  cyan    default "^reply-to: "
+color  header  magenta default "MIME-Version: "
+color  header  magenta default "Content-Type: "
+color  header  magenta default "Content-Transfer-Encoding: "
+color  header  magenta default "Content-Disposition: "
+color  header  magenta default "Content-Encoding: "
+color  header  magenta default "Content-Language: "
+
+color status brightwhite blue
+
+color index brightblue default '~P' # from me
+color index cyan default '~p' # personal
+color index brightcyan default '~G' # PGP
+color index brightred default '~F' # flagged
+color index green default '~Q' # replied
+color index brightwhite default '~N' # new
+color index red default '~D' # deleted
+
+# threads
+#color index brightyellow default  "~h 'References: +<.+>'"
+#color index yellow       default  "~h 'References: +<.+> +<.+>'"
+#color index brightred    default  "~h 'References: +<.+> +<.+> +<.+>'"
+#color index red          default  "~h 'References: +<.+> +<.+> +<.+> +<.+>'"
+#color index blue         default  "~h 'References: +<.+> +<.+> +<.+> +<.+> +<.+>'"
+#color index green        default  "~h 'References: +<.+> +<.+> +<.+> +<.+> +<.+> +<.+>'"
+
+# spam
+color index magenta default "\(Resent-\)?Message-Id: <>"
+color index magenta default "\(Resent-\)?Message-Id: '<.* .*>'"
+color index magenta default "\(Resent-\)?Message-Id: localhost"
+color index magenta default "! \(Resent-\)?Message-Id: @"
+color index magenta default '~C Undisclosed.*Recipients'
diff --git a/debian/extra/samples/ray.muttrc b/debian/extra/samples/ray.muttrc
new file mode 100644 (file)
index 0000000..e05c22e
--- /dev/null
@@ -0,0 +1,48 @@
+# This configuration file contains the default settings used by old debian
+# packages (< 0.94).
+
+set quote_regexp="^[ \t]*[a-zA-Z\.]*>"  # Default: "^([ \t]*[>|#:}])+"
+
+#
+# More header weeding
+#
+ignore Resent- Precedence In-Reply-To Return-Receipt-To Mailer X400
+ignore Originator X-Loop X-Mailing-List X-Listprocessor X-Face
+ignore X-Received X-Mailer X-Envelope-To X-Sender X-Attribution
+# Usenet headers can occur for Cc-ed messages; they can still be
+# recognized by the Newsgroups header.
+ignore Path Lines NNTP-Posting-Host X-Newsreader X-Submitted-Via
+
+#
+# Key bindings
+#
+
+bind editor     <delete>  delete-char
+
+# Color / video attribute definitions. Not too flashy.
+#
+
+color  hdrdefault      green           black
+color  header          brightyellow    black   "^from:"
+mono   header          bold                    "^from:"
+color  header          brightyellow    black   "^subject:"
+mono   header          bold                    "^subject:"
+color  quoted          green           black
+color  signature       brightred       black
+color  indicator       brightyellow    red
+color  error           brightred       black
+mono   error           bold
+color  status          brightwhite     blue
+color  tree            brightmagenta   black
+color  tilde           brightmagenta   black
+# URL highlighting with the same regexp as urlview.
+color  body            brightyellow    black   (((ht|f)tps?)|mailto):(//)?[^\ "\t]*|www\.[-a-z0-9.]+)[^\ .,;\t>">]
+mono   body            bold                    (((ht|f)tps?)|mailto):(//)?[^\ "\t]*|www\.[-a-z0-9.]+)[^\ .,;\t>">]
+color  body            brightmagenta   black   "[-a-z_0-9.]+@[-a-z_0-9.]+"
+mono   body            bold                    "[-a-z_0-9.]+@[-a-z_0-9.]+"
+color  body            brightyellow    black   "^Good signature"
+mono   body            bold                    "^Good signature"
+color  body            brightwhite     red     "^Bad signature from.*"
+mono   body            bold                    "^Bad signature from.*"
+
+
diff --git a/debian/extra/samples/sidebar.muttrc b/debian/extra/samples/sidebar.muttrc
new file mode 100644 (file)
index 0000000..8bb1574
--- /dev/null
@@ -0,0 +1,74 @@
+# shamelessly copied from
+# http://www.lunar-linux.org/index.php?option=com_content&task=view&id=44
+
+# set up the sidebar, default not visible
+set sidebar_width=12
+set sidebar_visible=no
+set sidebar_delim='|'
+
+# which mailboxes to list in the sidebar
+mailboxes =inbox =ml
+
+# color of folders with new mail
+color sidebar_new yellow default
+
+# ctrl-n, ctrl-p to select next, prev folder
+# ctrl-o to open selected folder
+bind index \CP sidebar-prev
+bind index \CN sidebar-next
+bind index \CO sidebar-open
+bind pager \CP sidebar-prev
+bind pager \CN sidebar-next
+bind pager \CO sidebar-open
+
+# I don't need these. just for documentation purposes. See below.
+# sidebar-scroll-up
+# sidebar-scroll-down
+
+# b toggles sidebar visibility
+macro index b '<enter-command>toggle sidebar_visible<enter>'
+macro pager b '<enter-command>toggle sidebar_visible<enter>'
+
+# Remap bounce-message function to "B"
+bind index B bounce-message
+
+#
+# Mario Holbe suggests:
+# macro index b '<enter-command>toggle sidebar_visible<enter><refresh>'
+# macro pager b '<enter-command>toggle sidebar_visible<enter><redraw-screen>'
+# 
+
+
+# Documentation
+# =============
+#
+# sidebar_width (number)
+# Width of the sidebar.
+# 
+# sidebar_visible (boolean)
+# Whether or not the sidebar is visible.
+# 
+# sidebar_delim (string)
+# Specifies the delimiter between the sidebar and other screens
+# 
+# color sidebar_new [fg] [bg]
+# The foreground (fg) and background (bg) color of folders that contain new
+# mail.
+# 
+# sidebar-prev
+# Mutt's name for the operation that selects the previous folder.
+# 
+# sidebar-next
+# Mutt's name for the operation that selects the next folder.
+# 
+# sidebar-open
+# Mutt's name for the operation that opens the currently selected folder.
+# 
+# sidebar-scroll-up
+# Only useful if you have more folders than lines in your terminal: scrolls one
+# page up through the list of folders.
+# 
+# sidebar-scroll-down
+# Only useful if you have more folders than lines in your terminal: scrolls one
+# page down through the list of folders. 
+#
diff --git a/debian/header.awk b/debian/header.awk
new file mode 100755 (executable)
index 0000000..82cf656
--- /dev/null
@@ -0,0 +1,23 @@
+#! /usr/bin/gawk -f
+
+BEGIN {
+       sep = "============================================================================="
+}
+
+FILENAME ~ /debian$/ {
+       nextfile
+}
+
+/^== END PATCH$/ {
+       print ""
+       nextfile
+}
+
+FNR == 1 {
+       print FILENAME "\n" substr(sep, 0, length(FILENAME)) "\n"
+       next
+}
+
+{
+       print
+}
diff --git a/debian/mutt-dbg.links b/debian/mutt-dbg.links
new file mode 100644 (file)
index 0000000..c803d03
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc/mutt usr/share/doc/mutt-dbg
diff --git a/debian/mutt-patched.install b/debian/mutt-patched.install
new file mode 100644 (file)
index 0000000..00d4950
--- /dev/null
@@ -0,0 +1 @@
+debian/extra/mutt-patched.rc/*.rc etc/Muttrc.d
diff --git a/debian/mutt-patched.links b/debian/mutt-patched.links
new file mode 100644 (file)
index 0000000..d15e658
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc/mutt usr/share/doc/mutt-patched
diff --git a/debian/mutt-patched.lintian-overrides b/debian/mutt-patched.lintian-overrides
new file mode 100644 (file)
index 0000000..6f4ac64
--- /dev/null
@@ -0,0 +1 @@
+mutt-patched: binary-without-manpage usr/bin/mutt
diff --git a/debian/mutt-patched.postinst b/debian/mutt-patched.postinst
new file mode 100644 (file)
index 0000000..90ebb1a
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ] ; then
+       # versions prior to 1.5.20-9 used dpkg-divert instead of update-alternatives
+       if [ "$2" ] && dpkg --compare-versions "$2" lt "1.5.20-9" ; then
+               dpkg-divert --remove --package mutt-patched --rename \
+                       --divert /usr/bin/mutt.org /usr/bin/mutt
+       fi
+
+       update-alternatives --install /usr/bin/mutt mutt /usr/bin/mutt-patched 60
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/mutt-patched.prerm b/debian/mutt-patched.prerm
new file mode 100644 (file)
index 0000000..7117be4
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+       remove|deconfigure)
+               update-alternatives --remove mutt /usr/bin/mutt-patched
+               ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/mutt.dirs b/debian/mutt.dirs
new file mode 100644 (file)
index 0000000..60d4e9a
--- /dev/null
@@ -0,0 +1,2 @@
+etc/Muttrc.d
+usr/share/bug/mutt
diff --git a/debian/mutt.doc-base b/debian/mutt.doc-base
new file mode 100644 (file)
index 0000000..76036a2
--- /dev/null
@@ -0,0 +1,14 @@
+Document: mutt
+Title: The Mutt E-Mail Client Manual
+Author: Various
+Abstract: The documentation for Mutt, a sophisticated text oriented mail
+ user agent ("mail reader").
+Section: Network/Communication
+
+Format: text
+Files: /usr/share/doc/mutt/manual.txt.gz
+
+Format: HTML
+Index: /usr/share/doc/mutt/html/manual.html
+Files: /usr/share/doc/mutt/html/*
+
diff --git a/debian/mutt.docs b/debian/mutt.docs
new file mode 100644 (file)
index 0000000..670b635
--- /dev/null
@@ -0,0 +1,10 @@
+debian/extra/README.SMIME
+debian/tmp/README.Patches
+debian/tmp/usr/share/doc/NEWS
+debian/tmp/usr/share/doc/NEWS.old
+debian/tmp/usr/share/doc/TODO
+debian/tmp/usr/share/doc/README
+debian/tmp/usr/share/doc/README.SSL
+debian/tmp/usr/share/doc/README.SECURITY
+debian/tmp/usr/share/doc/PGP-Notes.txt
+debian/tmp/usr/share/doc/manual.txt
diff --git a/debian/mutt.examples b/debian/mutt.examples
new file mode 100644 (file)
index 0000000..b20617c
--- /dev/null
@@ -0,0 +1,3 @@
+debian/extra/samples/*
+debian/tmp/etc/Muttrc
+debian/tmp/usr/share/doc/samples/*
diff --git a/debian/mutt.install b/debian/mutt.install
new file mode 100644 (file)
index 0000000..6986c81
--- /dev/null
@@ -0,0 +1,18 @@
+debian/tmp/usr/bin/mutt
+debian/tmp/usr/bin/smime_keys
+debian/tmp/usr/bin/mutt_dotlock
+debian/tmp/usr/share/locale/*
+
+debian/extra/lib/mailspell             usr/lib/mutt
+debian/tmp/usr/bin/pgpring             usr/lib/mutt
+debian/tmp/usr/bin/pgpewrap            usr/lib/mutt
+debian/extra/lib/source-muttrc.d       usr/lib/mutt
+debian/extra/lib/debian-ldap-query     usr/lib/mutt
+debian/extra/lib/mailto-mutt            usr/lib/mutt
+
+debian/tmp/Muttrc                      etc
+debian/tmp/gpg.rc                      etc/Muttrc.d
+contrib/smime.rc                       etc/Muttrc.d
+debian/extra/rc/*.rc                   etc/Muttrc.d
+debian/extra/mutt.xpm                  usr/share/pixmaps
+debian/tmp/usr/share/doc/*.html                usr/share/doc/mutt/html
diff --git a/debian/mutt.lintian-overrides b/debian/mutt.lintian-overrides
new file mode 100644 (file)
index 0000000..1131afe
--- /dev/null
@@ -0,0 +1,2 @@
+mutt: setgid-binary usr/bin/mutt_dotlock 2755 root/mail
+mutt: arch-dep-package-has-big-usr-share
diff --git a/debian/mutt.manpages b/debian/mutt.manpages
new file mode 100644 (file)
index 0000000..a1cb131
--- /dev/null
@@ -0,0 +1,6 @@
+debian/tmp/usr/share/man/man1/mutt.1
+debian/tmp/usr/share/man/man1/mutt_dotlock.1
+debian/tmp/usr/share/man/man1/smime_keys.1
+debian/tmp/usr/share/man/man5/muttrc.5
+debian/tmp/usr/share/man/man5/mbox.5
+debian/tmp/usr/share/man/man5/mmdf.5
diff --git a/debian/mutt.menu b/debian/mutt.menu
new file mode 100644 (file)
index 0000000..a82236f
--- /dev/null
@@ -0,0 +1,5 @@
+?package(mutt): title="Mutt" \
+       section="Applications/Network/Communication" hints="Mail" \
+       needs="text" \
+       icon="/usr/share/pixmaps/mutt.xpm" \
+       command="/usr/bin/mutt"
diff --git a/debian/mutt.mime b/debian/mutt.mime
new file mode 100644 (file)
index 0000000..79f40a4
--- /dev/null
@@ -0,0 +1 @@
+message/rfc822; mutt -Rf '%s'; edit=mutt -f '%s'; needsterminal
diff --git a/debian/mutt.postinst b/debian/mutt.postinst
new file mode 100644 (file)
index 0000000..f185315
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ] ; then
+       update-alternatives --install /usr/bin/mutt mutt /usr/bin/mutt-org 50
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/mutt.preinst b/debian/mutt.preinst
new file mode 100644 (file)
index 0000000..91a69a6
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt "1.5.19-2" ; then
+       MD5SUM=$(md5sum /etc/Muttrc.d/smime-paths.rc | cut -d ' ' -f 1)
+       if [ "$MD5SUM" = "185414b78b332a662500719a179778c5" ] ; then
+               echo "Removing obsolete config file /etc/Muttrc.d/smime-paths.rc"
+               rm /etc/Muttrc.d/smime-paths.rc
+       else
+               echo "Not removing modified obsolete config file /etc/Muttrc.d/smime-paths.rc"
+       fi
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/mutt.prerm b/debian/mutt.prerm
new file mode 100644 (file)
index 0000000..61b0c85
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+       remove|deconfigure)
+               update-alternatives --remove mutt /usr/bin/mutt-org
+               ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/patches/debian-specific/467432-write_bcc.patch b/debian/patches/debian-specific/467432-write_bcc.patch
new file mode 100644 (file)
index 0000000..c075cdc
--- /dev/null
@@ -0,0 +1,101 @@
+The purpose of this patch is to alter the behavior of the write_bcc option
+because exim4, the default SMTP in Debian, does not strip the Bcc headers; by
+default write_bcc is set so this could cause a privacy leak.
+
+The behavior that this patch introduces is: never write the Bcc header when the
+message is sent, otherwise, if the message is sent to Fcc, then this optin 
+will be evaluated and the Bcc header will be written based on that.
+
+Background discussion on this is in the following bugs:
+http://bugs.debian.org/304718
+http://bugs.debian.org/467432
+
+This patch is a slightly modified version of the patch provided by 
+Stefan Völkel <stefan@bc-bd.org> in the second bug
+
+--- a/headers.c
++++ b/headers.c
+@@ -52,7 +52,7 @@
+   }
+   
+   mutt_env_to_local (msg->env);
+-  mutt_write_rfc822_header (ofp, msg->env, NULL, 1, 0);
++  mutt_write_rfc822_header (ofp, msg->env, NULL, 1, 0, 1);
+   fputc ('\n', ofp);  /* tie off the header. */
+   /* now copy the body of the message. */
+--- a/init.h
++++ b/init.h
+@@ -3365,14 +3365,9 @@
+   { "write_bcc",      DT_BOOL, R_NONE, OPTWRITEBCC, 1},
+   /*
+   ** .pp
+-  ** Controls whether mutt writes out the ``Bcc:'' header when preparing
+-  ** messages to be sent.  Exim users may wish to unset this. If mutt
+-  ** is set to deliver directly via SMTP (see $$smtp_url), this
+-  ** option does nothing: mutt will never write out the ``Bcc:'' header
+-  ** in this case.
+-  ** .pp
+-  ** \fBNote:\fP On Debian systems, exim4 and postfix strip BCC headers by
+-  ** default. The above warning applies to exim3 users, see /etc/Muttrc.
++  ** Controls whether mutt writes out the Bcc header when saving
++  ** messages to FCC. Bcc headers will never be written to a message
++  ** when sending it. Note: this behavior is Debian specific.
+   */
+   { "write_inc",      DT_NUM,  R_NONE, UL &WriteInc, 10 },
+   /*
+--- a/protos.h
++++ b/protos.h
+@@ -372,7 +372,7 @@
+ int mutt_write_mime_body (BODY *, FILE *);
+ int mutt_write_mime_header (BODY *, FILE *);
+ int mutt_write_one_header (FILE *fp, const char *tag, const char *value, const char *pfx, int wraplen, int flags);
+-int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int, int);
++int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int, int, int);
+ void mutt_write_references (LIST *, FILE *, int);
+ int mutt_yesorno (const char *, int);
+ void mutt_set_header_color(CONTEXT *, HEADER *);
+--- a/send.c
++++ b/send.c
+@@ -994,10 +994,10 @@
+     unset_option (OPTWRITEBCC);
+ #endif
+ #ifdef MIXMASTER
+-  mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, msg->chain ? 1 : 0);
++  mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, msg->chain ? 1 : 0, 0);
+ #endif
+ #ifndef MIXMASTER
+-  mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, 0);
++  mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, 0, 0);
+ #endif
+ #ifdef USE_SMTP
+   if (old_write_bcc)
+--- a/sendlib.c
++++ b/sendlib.c
+@@ -1835,7 +1835,7 @@
+ int mutt_write_rfc822_header (FILE *fp, ENVELOPE *env, BODY *attach,
+-                            int mode, int privacy)
++                            int mode, int privacy, int should_write_bcc)
+ {
+   char buffer[LONG_STRING];
+   char *p, *q;
+@@ -1878,7 +1878,7 @@
+   else if (mode > 0)
+     fputs ("Cc: \n", fp);
+-  if (env->bcc)
++  if (env->bcc && should_write_bcc)
+   {
+     if(mode != 0 || option(OPTWRITEBCC))
+     {
+@@ -2616,7 +2616,7 @@
+   /* post == 1 => postpone message. Set mode = -1 in mutt_write_rfc822_header()
+    * post == 0 => Normal mode. Set mode = 0 in mutt_write_rfc822_header()
+    * */
+-  mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, post ? -post : 0, 0);
++  mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, post ? -post : 0, 0, 1);
+   /* (postponment) if this was a reply of some sort, <msgid> contians the
+    * Message-ID: of message replied to.  Save it using a special X-Mutt-
diff --git a/debian/patches/debian-specific/529838-gnutls-autoconf.patch b/debian/patches/debian-specific/529838-gnutls-autoconf.patch
new file mode 100644 (file)
index 0000000..75d23b6
--- /dev/null
@@ -0,0 +1,20 @@
+More details about this patch are on http://bugs.debian.org/529838
+The bug and the patch were forwarded to upstream, please see 
+http://bugs.mutt.org/3239
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -690,10 +690,10 @@
+   then
+     AC_MSG_WARN([SSL support is only useful with POP, IMAP or SMTP support])
+   else
+-    MUTT_AM_PATH_GNUTLS([$gnutls_prefix],
++    PKG_CHECK_MODULES(GNUTLS, gnutls,
+       [dnl GNUTLS found
+-      CPPFLAGS="$CPPFLAGS $LIBGNUTLS_CFLAGS"
+-      MUTTLIBS="$MUTTLIBS $LIBGNUTLS_LIBS"
++      CPPFLAGS="$CPPFLAGS $GNUTLS_CFLAGS"
++      MUTTLIBS="$MUTTLIBS $GNUTLS_LIBS"
+       AC_DEFINE(USE_SSL,1,[ Define if you want support for SSL. ])
+       AC_DEFINE(USE_SSL_GNUTLS,1,[ Define if you want support for SSL via GNUTLS. ])
diff --git a/debian/patches/debian-specific/Md.etc_mailname_gethostbyname.diff b/debian/patches/debian-specific/Md.etc_mailname_gethostbyname.diff
new file mode 100644 (file)
index 0000000..61d04ce
--- /dev/null
@@ -0,0 +1,71 @@
+If /etc/mailname is present, the hostname inside the file will be
+used, rather than calling gethostbyname() on the actual hostname
+
+--- a/init.c
++++ b/init.c
+@@ -47,6 +47,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <sys/utsname.h>
++#include <netdb.h>
+ #include <errno.h>
+ #include <sys/wait.h>
+@@ -2953,6 +2954,31 @@
+   return 0;
+ }
++int getmailname(char *s, size_t l)
++{
++    FILE *f;
++    char tmp[512];
++    char *p = tmp;
++
++    if ((f = fopen ("/etc/mailname", "r")) == NULL)
++       return (-1);
++
++    if (fgets (tmp, 510, f) != NULL) {
++      while (*p && !ISSPACE(*p) && l > 0) {
++      *s++ = *p++;
++      l--;
++      }
++      if (*(s-1) == '.')
++      s--;
++      *s = 0;
++
++      fclose (f);
++      return 0;
++    }
++    fclose (f);
++    return (-1);
++}
++
+ void mutt_init (int skip_sys_rc, LIST *commands)
+ {
+   struct passwd *pw;
+@@ -3027,10 +3053,25 @@
+     Hostname = mutt_substrdup (utsname.nodename, p);
+     p++;
+     strfcpy (buffer, p, sizeof (buffer)); /* save the domain for below */
++    Fqdn = safe_strdup (utsname.nodename);
+   }
+   else
+     Hostname = safe_strdup (utsname.nodename);
++  /* if /etc/mailname exists use it and ignore everything else */
++  if (getmailname(buffer, sizeof (buffer)) != -1)
++      Fqdn = safe_strdup(buffer);
++
++  /* try gethostbyname(3) if /etc/mailname does not exists */
++  if (!Fqdn) {
++    struct hostent *hp;
++
++    if ((hp = gethostbyname(Hostname)))
++      Fqdn = safe_strdup(hp->h_name);
++  }
++
++  if (Fqdn) {
++  } else
+ #ifndef DOMAIN
+ #define DOMAIN buffer
+   if (!p && getdnsdomainname (buffer, sizeof (buffer)) == -1)
diff --git a/debian/patches/debian-specific/Muttrc b/debian/patches/debian-specific/Muttrc
new file mode 100644 (file)
index 0000000..fd0a798
--- /dev/null
@@ -0,0 +1,81 @@
+# vim:ft=diff
+
+ * 2009-01-15 myon: refreshed for mutt-1.5.19; drop our list of ignored headers
+   in favor of upstream's new unignore list
+
+--- a/doc/Muttrc.head
++++ b/doc/Muttrc.head
+@@ -12,6 +12,34 @@
+ # Display the fields in this order
+ hdr_order date from to cc subject
++# emacs-like bindings
++bind editor    "\e<delete>"    kill-word
++bind editor    "\e<backspace>" kill-word
++
++# map delete-char to a sane value
++bind editor     <delete>  delete-char
++
++# some people actually like these settings
++#set pager_stop
++#bind pager <up> previous-line
++#bind pager <down> next-line
++
++# Specifies how to sort messages in the index menu.
++set sort=threads
++
++# The behavior of this option on the Debian mutt package is
++# not the original one because exim4, the default SMTP on Debian
++# does not strip bcc headers so this can cause privacy problems;
++# see man muttrc for more info
++#unset write_bcc
++# Postfix and qmail use Delivered-To for detecting loops
++unset bounce_delivered
++
++set mixmaster="mixmaster-filter"
++
++# System-wide CA file managed by the ca-certificates package
++set ssl_ca_certificates_file="/etc/ssl/certs/ca-certificates.crt"
++
+ # imitate the old search-body function
+ macro index \eb "<search>~b " "search in message bodies"
+@@ -23,7 +51,7 @@
+ "call urlview to extract URLs out of a message"
+ # Show documentation when pressing F1
+-macro generic,pager <F1> "<shell-escape> less @docdir@/manual.txt<Enter>" "show Mutt documentation"
++macro generic,pager <F1> "<shell-escape> zcat @docdir@/mutt/manual.txt.gz | sensible-pager<enter>" "show Mutt documentation"
+ # show the incoming mailboxes list (just like "mutt -y") and back when pressing "y"
+ macro index,pager y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
+@@ -35,7 +63,7 @@
+ # append-hook \\.gz$ "gzip -c %t >> %f"
+ # If Mutt is unable to determine your site's domain name correctly, you can
+-# set the default here.
++# set the default here. (better: fix /etc/mailname)
+ #
+ # set hostname=cs.hmc.edu
+@@ -47,6 +75,10 @@
+ # be undone with unmime_lookup.
+ mime_lookup application/octet-stream
++# Upgrade the progress counter every 250ms, good for mutt over SSH
++# see http://bugs.debian.org/537746
++set time_inc=250
++
+ ##
+ ## *** DEFAULT SETTINGS FOR THE ATTACHMENTS PATCH ***
+ ##
+@@ -101,6 +133,9 @@
+ attachments   -A message/external-body
+ attachments   -I message/external-body
++# enable mime lookup by extension
++mime_lookup application/octet-stream
++
+ ##
+ ## More settings
+ ##
diff --git a/debian/patches/debian-specific/assumed_charset-compat b/debian/patches/debian-specific/assumed_charset-compat
new file mode 100644 (file)
index 0000000..da2e0c8
--- /dev/null
@@ -0,0 +1,15 @@
+On upstream inclusion of the assumed_charset patch (past 1.5.14), file_charset
+got renamed to attach_charset. We add it back for compatibility.
+
+--- a/init.h
++++ b/init.h
+@@ -211,6 +211,9 @@
+   ** Note: for Japanese users, ``iso-2022-*'' must be put at the head
+   ** of the value as shown above if included.
+   */
++  { "file_charset",   DT_SYN,  R_NONE, UL "attach_charset", 0 },
++  /*
++  */
+   { "attach_format",  DT_STR,  R_NONE, UL &AttachFormat, UL "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] " },
+   /*
+   ** .pp
diff --git a/debian/patches/debian-specific/build_doc_adjustments.diff b/debian/patches/debian-specific/build_doc_adjustments.diff
new file mode 100644 (file)
index 0000000..6bd1b54
--- /dev/null
@@ -0,0 +1,28 @@
+Use elinks(1) to generate the HTML manual page
+
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -100,9 +100,7 @@ uninstall-local:
+ check:
+ manual.txt: manual.html
+-      -LC_ALL=C lynx -dump -nolist -with_backspaces manual.html > $@ || \
+-      LC_ALL=C w3m -dump manual.html > $@ || \
+-      LC_ALL=C elinks -dump -no-numbering -no-references manual.html | sed -e 's,\\001, ,g' > $@
++      LC_ALL=C elinks -dump -dump-charset utf8 -no-numbering -no-references $< > $@
+ Muttrc: stamp-doc-rc
+@@ -114,10 +112,10 @@ stamp-doc-rc: $(top_srcdir)/init.h maked
+       touch stamp-doc-rc
+ manual.html: $(srcdir)/html.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css
+-      -xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml
++      xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml
+ stamp-doc-chunked: $(srcdir)/chunk.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css
+-      -xsltproc --nonet $(srcdir)/chunk.xsl manual.xml
++      xsltproc --nonet $(srcdir)/chunk.xsl manual.xml
+       touch stamp-doc-chunked
+ $(CHUNKED_DOCFILES): stamp-doc-chunked
diff --git a/debian/patches/debian-specific/correct_docdir_in_man_page.diff b/debian/patches/debian-specific/correct_docdir_in_man_page.diff
new file mode 100644 (file)
index 0000000..0021a8d
--- /dev/null
@@ -0,0 +1,13 @@
+Fix the link so it points to the correct docdir and gzipped manuall
+
+--- a/doc/mutt.man
++++ b/doc/mutt.man
+@@ -185,7 +185,7 @@
+ System mapping between MIME types and file extensions.
+ .IP "@bindir@/mutt_dotlock"
+ The privileged dotlocking program.
+-.IP "@docdir@/manual.txt"
++.IP "/usr/share/doc/mutt/manual.txt.gz"
+ The Mutt manual.
+ .SH BUGS
+ .PP
diff --git a/debian/patches/debian-specific/document_debian_defaults b/debian/patches/debian-specific/document_debian_defaults
new file mode 100644 (file)
index 0000000..7240bef
--- /dev/null
@@ -0,0 +1,78 @@
+Some customization of the option which are straying from the default
+only on Debian systems
+
+Index: mutt/init.h
+===================================================================
+--- mutt.orig/init.h   2009-06-25 12:36:35.000000000 +0200
++++ mutt/init.h        2009-06-25 12:36:36.000000000 +0200
+@@ -312,6 +312,9 @@
+   ** .pp
+   ** When this variable is \fIset\fP, mutt will include Delivered-To headers when
+   ** bouncing messages.  Postfix users may wish to \fIunset\fP this variable.
++  ** .pp
++  ** \fBNote:\fP On Debian systems, this option is unset by default in
++  ** /etc/Muttrc.
+   */
+   { "braille_friendly", DT_BOOL, R_NONE, OPTBRAILLEFRIENDLY, 0 },
+   /*
+@@ -1032,6 +1035,9 @@
+   ** one is not used.
+   ** .pp
+   ** Also see $$use_domain and $$hidden_host.
++  ** .pp
++  ** \fBNote:\fP On Debian systems, the default for this variable is obtained
++  ** from /etc/mailname when Mutt starts.
+   */
+   { "ignore_linear_white_space",    DT_BOOL, R_NONE, OPTIGNORELWS, 0 },
+   /*
+@@ -1554,6 +1560,9 @@
+   ** system.  It is used with various sets of parameters to gather the
+   ** list of known remailers, and to finally send a message through the
+   ** mixmaster chain.
++  ** .pp
++  ** \fBNote:\fP On Debian systems, this option is set by default to
++  ** ``mixmaster-filter'' in /etc/Muttrc.
+   */
+ #endif
+   { "move",           DT_QUAD, R_NONE, OPT_MOVE, M_NO },
+@@ -2570,6 +2579,10 @@
+   ** This variable contains the name of either a directory, or a file which
+   ** contains trusted certificates for use with OpenSSL.
+   ** (S/MIME only)
++  ** .pp
++  ** \fBNote:\fP On Debian systems, this defaults to the first existing file in
++  ** the following list: ~/.smime/ca-certificates.crt ~/.smime/ca-bundle.crt
++  ** /etc/ssl/certs/ca-certificates.crt.
+   */
+   { "smime_certificates",     DT_PATH, R_NONE, UL &SmimeCertificates, 0 },
+   /*
+@@ -2776,6 +2789,9 @@
+   ** .ts
+   ** set smtp_authenticators="digest-md5:cram-md5"
+   ** .te
++  ** .pp
++  ** \fBNote:\fP On Debian systems, this variable defaults to the example
++  ** mentioned. This file is managed by the ``ca-certificates'' package.
+   */
+ # endif /* USE_SASL */
+   { "smtp_pass",      DT_STR,  R_NONE, UL &SmtpPass, UL 0 },
+@@ -2823,6 +2839,9 @@
+   ** .pp
+   ** You may optionally use the ``reverse-'' prefix to specify reverse sorting
+   ** order (example: ``\fCset sort=reverse-date-sent\fP'').
++  ** .pp
++  ** \fBNote:\fP On Debian systems, this option is set by default to
++  ** ``threads'' in /etc/Muttrc.
+   */
+   { "sort_alias",     DT_SORT|DT_SORT_ALIAS,  R_NONE, UL &SortAlias, SORT_ALIAS },
+   /*
+@@ -3348,6 +3367,9 @@
+   ** is set to deliver directly via SMTP (see $$smtp_url), this
+   ** option does nothing: mutt will never write out the ``Bcc:'' header
+   ** in this case.
++  ** .pp
++  ** \fBNote:\fP On Debian systems, exim4 and postfix strip BCC headers by
++  ** default. The above warning applies to exim3 users, see /etc/Muttrc.
+   */
+   { "write_inc",      DT_NUM,  R_NONE, UL &WriteInc, 10 },
+   /*
diff --git a/debian/patches/debian-specific/dont_document_not_present_features.diff b/debian/patches/debian-specific/dont_document_not_present_features.diff
new file mode 100644 (file)
index 0000000..a453ec3
--- /dev/null
@@ -0,0 +1,25 @@
+As the patch says, this will add an include so only documented options
+for Debian will be used
+
+--- a/init.h
++++ b/init.h
+@@ -19,7 +19,7 @@
+ #ifdef _MAKEDOC
+ # include "config.h"
+-# include "doc/makedoc-defs.h"
++/* # include "makedoc-defs.h" include only documented options for Debian */
+ #else
+ # include "sort.h"
+ #endif
+--- a/functions.h
++++ b/functions.h
+@@ -35,7 +35,7 @@
+ #ifdef _MAKEDOC
+ # include "config.h"
+-# include "doc/makedoc-defs.h"
++/* # include "doc/makedoc-defs.h" include only documented options for Debian */
+ #endif
+ struct binding_t OpGeneric[] = { /* map: generic */
diff --git a/debian/patches/debian-specific/use_usr_bin_editor.diff b/debian/patches/debian-specific/use_usr_bin_editor.diff
new file mode 100644 (file)
index 0000000..5c51a58
--- /dev/null
@@ -0,0 +1,25 @@
+Even if EDITOR is not set, mutt will always use /usr/bin/editor (which 
+is set by update-alternatives), rather than falling back to vi
+
+--- a/init.c
++++ b/init.c
+@@ -3115,7 +3115,7 @@
+   {
+     p = getenv ("EDITOR");
+     if (!p)
+-      p = "vi";
++      p = "/usr/bin/editor";
+   }
+   Editor = safe_strdup (p);
+   Visual = safe_strdup (p);
+--- a/init.h
++++ b/init.h
+@@ -686,7 +686,7 @@
+   ** .pp
+   ** This variable specifies which editor is used by mutt.
+   ** It defaults to the value of the \fC$$$VISUAL\fP, or \fC$$$EDITOR\fP, environment
+-  ** variable, or to the string ``vi'' if neither of those are set.
++  ** variable, or to the string ``/usr/bin/editor'' if neither of those are set.
+   */
+   { "encode_from",    DT_BOOL, R_NONE, OPTENCODEFROM, 0 },
+   /*
diff --git a/debian/patches/features-old/patch-1.5.4.vk.pgp_verbose_mime b/debian/patches/features-old/patch-1.5.4.vk.pgp_verbose_mime
new file mode 100644 (file)
index 0000000..cb91b5f
--- /dev/null
@@ -0,0 +1,51 @@
+Enable pgp_mime_signature_filename and pgp_mime_signature_description
+
+Index: mutt/globals.h
+===================================================================
+--- mutt.orig/globals.h        2009-06-25 12:35:48.000000000 +0200
++++ mutt/globals.h     2009-06-25 12:36:22.000000000 +0200
+@@ -242,6 +242,8 @@
+ WHERE char *PgpListSecringCommand;
+ WHERE char *PgpListPubringCommand;
+ WHERE char *PgpGetkeysCommand;
++WHERE char *PgpMimeSignatureFilename;
++WHERE char *PgpMimeSignatureDescription;
+ /*-- formerly in smime.h --*/
+ WHERE char *SmimeDefaultKey;
+Index: mutt/init.h
+===================================================================
+--- mutt.orig/init.h   2009-06-25 12:35:48.000000000 +0200
++++ mutt/init.h        2009-06-25 12:36:22.000000000 +0200
+@@ -2541,6 +2541,18 @@
+   ** a line quoted text if it also matches $$smileys. This mostly
+   ** happens at the beginning of a line.
+   */
++  { "pgp_mime_signature_filename", DT_STR, R_NONE, UL &PgpMimeSignatureFilename, UL "signature.asc"},
++  /*
++  ** .pp
++  ** This option sets the filename used for signature parts in PGP/MIME
++  ** signed messages.
++  */
++  { "pgp_mime_signature_description", DT_STR, R_NONE, UL &PgpMimeSignatureDescription, UL "Digital signature"},
++  /*
++  ** .pp
++  ** This option sets the Content-Description used for signature parts in
++  ** PGP/MIME signed messages.
++  */
+Index: mutt/pgp.c
+===================================================================
+--- mutt.orig/pgp.c    2009-06-25 12:35:36.000000000 +0200
++++ mutt/pgp.c 2009-06-25 12:36:22.000000000 +0200
+@@ -1131,6 +1131,8 @@
+   t->disposition = DISPINLINE;
+   t->encoding = ENC7BIT;
+   t->unlink = 1; /* ok to remove this file after sending. */
++  mutt_set_parameter ("name", PgpMimeSignatureFilename, &t->parameter);
++  t->description = safe_strdup (PgpMimeSignatureDescription);
+   return (a);
+ }
diff --git a/debian/patches/features/compressed-folders b/debian/patches/features/compressed-folders
new file mode 100644 (file)
index 0000000..274aec2
--- /dev/null
@@ -0,0 +1,1152 @@
+# vi: ft=diff
+This is the compressed folders patch by Roland Rosenfeld
+<roland@spinnaker.de>.
+
+The home page for this patch is:
+
+  http://www.spinnaker.de/mutt/compressed/
+
+* Patch last synced with upstream:
+  - Date: 2008-05-20
+  - File: http://www.spinnaker.de/mutt/compressed/patch-1.5.18.rr.compressed.1.gz
+
+* Changes made:
+  - 2008-05-20 myon: refreshed to remove hunks in auto* files
+  - 2009-09-15 myon: refreshed for mutt-1.5.19
+                     status.c:103: add sizeof (tmp) to mutt_pretty_mailbox
+  - 2009-09-15 scotton: removed doc/Muttrc for mutt-1.5.19 (only patch doc/Muttrc.head)
+  - 2009-09-11 antonio: removed DefaultMagic, see 541360
+  - 2010-05-31 myon: remove commented paragraph "Use folders..." in
+                     doc/Muttrc.head, see #578096
+
+== END PATCH
+--- /dev/null
++++ b/compress.c
+@@ -0,0 +1,496 @@
++/*
++ * Copyright (C) 1997 Alain Penders <Alain@Finale-Dev.com>
++ *
++ *     This program is free software; you can redistribute it and/or modify
++ *     it under the terms of the GNU General Public License as published by
++ *     the Free Software Foundation; either version 2 of the License, or
++ *     (at your option) any later version.
++ *
++ *     This program is distributed in the hope that it will be useful,
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ *     You should have received a copy of the GNU General Public License
++ *     along with this program; if not, write to the Free Software
++ *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++#if HAVE_CONFIG_H
++# include "config.h"
++#endif
++
++#include "mutt.h"
++
++#ifdef USE_COMPRESSED
++
++#include "mx.h"
++#include "mailbox.h"
++#include "mutt_curses.h"
++
++#include <errno.h>
++#include <string.h>
++#include <unistd.h>
++#include <sys/stat.h>
++
++typedef struct
++{
++  const char *close;  /* close-hook  command */
++  const char *open;   /* open-hook   command */
++  const char *append; /* append-hook command */
++  off_t size;         /* size of real folder */
++} COMPRESS_INFO;
++
++
++/*
++ * ctx - context to lock
++ * excl - exclusive lock?
++ * retry - should retry if unable to lock?
++ */
++int mbox_lock_compressed (CONTEXT *ctx, FILE *fp, int excl, int retry)
++{
++  int r;
++
++  if ((r = mx_lock_file (ctx->realpath, fileno (fp), excl, 1, retry)) == 0)
++    ctx->locked = 1;
++  else if (retry && !excl)
++  {
++    ctx->readonly = 1;
++    return 0;
++  }
++
++  return (r);
++}
++
++void mbox_unlock_compressed (CONTEXT *ctx, FILE *fp)
++{
++  if (ctx->locked)
++  {
++    fflush (fp);
++
++    mx_unlock_file (ctx->realpath, fileno (fp), 1);
++    ctx->locked = 0;
++  }
++}
++
++static int is_new (const char *path)
++{
++  return (access (path, W_OK) != 0 && errno == ENOENT) ? 1 : 0;
++}
++
++static const char* find_compress_hook (int type, const char *path)
++{
++  const char* c = mutt_find_hook (type, path);
++  return (!c || !*c) ? NULL : c;
++}
++
++int mutt_can_read_compressed (const char *path)
++{
++  return find_compress_hook (M_OPENHOOK, path) ? 1 : 0;
++}
++
++/*
++ * if the file is new, we really do not append, but create, and so use
++ * close-hook, and not append-hook
++ */
++static const char* get_append_command (const char *path, const CONTEXT* ctx)
++{
++  COMPRESS_INFO *ci = (COMPRESS_INFO *) ctx->compressinfo;
++  return (is_new (path)) ? ci->close : ci->append;
++}
++
++int mutt_can_append_compressed (const char *path)
++{
++  int magic;
++
++  if (is_new (path))
++  {
++    char *dir_path = safe_strdup(path);
++    char *aux = strrchr(dir_path, '/');
++    int dir_valid = 1;
++    if (aux)
++    {
++      *aux='\0';
++      if (access(dir_path, W_OK|X_OK))
++        dir_valid = 0;
++    }
++    safe_free((void**)&dir_path);
++    return dir_valid && (find_compress_hook (M_CLOSEHOOK, path) ? 1 : 0);
++  }
++
++  magic = mx_get_magic (path);
++
++  if (magic != 0 && magic != M_COMPRESSED)
++    return 0;
++
++  return (find_compress_hook (M_APPENDHOOK, path)
++        || (find_compress_hook (M_OPENHOOK, path)
++            && find_compress_hook (M_CLOSEHOOK, path))) ? 1 : 0;
++}
++
++/* open a compressed mailbox */
++static COMPRESS_INFO *set_compress_info (CONTEXT *ctx)
++{
++  COMPRESS_INFO *ci;
++
++  /* Now lets uncompress this thing */
++  ci = safe_malloc (sizeof (COMPRESS_INFO));
++  ctx->compressinfo = (void*) ci;
++  ci->append = find_compress_hook (M_APPENDHOOK, ctx->path);
++  ci->open = find_compress_hook (M_OPENHOOK, ctx->path);
++  ci->close = find_compress_hook (M_CLOSEHOOK, ctx->path);
++  return ci;
++}
++
++static void set_path (CONTEXT* ctx)
++{
++  char tmppath[_POSIX_PATH_MAX];
++
++  /* Setup the right paths */
++  ctx->realpath = ctx->path;
++
++  /* Uncompress to /tmp */
++  mutt_mktemp (tmppath);
++  ctx->path = safe_malloc (strlen (tmppath) + 1);
++  strcpy (ctx->path, tmppath);
++}
++
++static int get_size (const char* path)
++{
++  struct stat sb;
++  if (stat (path, &sb) != 0)
++    return 0;
++  return (sb.st_size);
++}
++
++static void store_size (CONTEXT* ctx)
++{
++  COMPRESS_INFO *ci = (COMPRESS_INFO *) ctx->compressinfo;
++  ci->size = get_size (ctx->realpath);
++}
++
++static const char *
++compresshook_format_str (char *dest, size_t destlen, size_t col, char op,
++                       const char *src, const char *fmt,
++                       const char *ifstring, const char *elsestring,
++                       unsigned long data, format_flag flags)
++{
++  char tmp[SHORT_STRING];
++
++  CONTEXT *ctx = (CONTEXT *) data;
++  switch (op)
++  {
++  case 'f':
++    snprintf (tmp, sizeof (tmp), "%%%ss", fmt);
++    snprintf (dest, destlen, tmp, ctx->realpath);
++    break;
++  case 't':
++    snprintf (tmp, sizeof (tmp), "%%%ss", fmt);
++    snprintf (dest, destlen, tmp, ctx->path);
++    break;
++  }
++  return (src);
++}
++
++/*
++ * check that the command has both %f and %t
++ * 0 means OK, -1 means error
++ */
++int mutt_test_compress_command (const char* cmd)
++{
++  return (strstr (cmd, "%f") && strstr (cmd, "%t")) ? 0 : -1;
++}
++
++static char *get_compression_cmd (const char* cmd, const CONTEXT* ctx)
++{
++  char expanded[_POSIX_PATH_MAX];
++  mutt_FormatString (expanded, sizeof (expanded), 0, cmd,
++                   compresshook_format_str, (unsigned long) ctx, 0);
++  return safe_strdup (expanded);
++}
++
++int mutt_check_mailbox_compressed (CONTEXT* ctx)
++{
++  COMPRESS_INFO *ci = (COMPRESS_INFO *) ctx->compressinfo;
++  if (ci->size != get_size (ctx->realpath))
++  {
++    FREE (&ctx->compressinfo);
++    FREE (&ctx->realpath);
++    mutt_error _("Mailbox was corrupted!");
++    return (-1);
++  }
++  return (0);
++}
++
++int mutt_open_read_compressed (CONTEXT *ctx)
++{
++  char *cmd;
++  FILE *fp;
++  int rc;
++
++  COMPRESS_INFO *ci = set_compress_info (ctx);
++  if (!ci->open) {
++    ctx->magic = 0;
++    FREE (&ctx->compressinfo);
++    return (-1);
++  }
++  if (!ci->close || access (ctx->path, W_OK) != 0)
++    ctx->readonly = 1;
++
++  set_path (ctx);
++  store_size (ctx);
++
++  if (!ctx->quiet)
++    mutt_message (_("Decompressing %s..."), ctx->realpath);
++
++  cmd = get_compression_cmd (ci->open, ctx);
++  if (cmd == NULL)
++    return (-1);
++  dprint (2, (debugfile, "DecompressCmd: '%s'\n", cmd));
++
++  if ((fp = fopen (ctx->realpath, "r")) == NULL)
++  {
++    mutt_perror (ctx->realpath);
++    FREE (&cmd);
++    return (-1);
++  }
++  mutt_block_signals ();
++  if (mbox_lock_compressed (ctx, fp, 0, 1) == -1)
++  {
++    fclose (fp);
++    mutt_unblock_signals ();
++    mutt_error _("Unable to lock mailbox!");
++    FREE (&cmd);
++    return (-1);
++  }
++
++  endwin ();
++  fflush (stdout);
++  fprintf (stderr, _("Decompressing %s...\n"),ctx->realpath);
++  rc = mutt_system (cmd);
++  mbox_unlock_compressed (ctx, fp);
++  mutt_unblock_signals ();
++  fclose (fp);
++
++  if (rc)
++  {
++    mutt_any_key_to_continue (NULL);
++    ctx->magic = 0;
++    FREE (&ctx->compressinfo);
++    mutt_error (_("Error executing: %s : unable to open the mailbox!\n"), cmd);
++  }
++  FREE (&cmd);
++  if (rc)
++    return (-1);
++
++  if (mutt_check_mailbox_compressed (ctx))
++    return (-1);
++
++  ctx->magic = mx_get_magic (ctx->path);
++
++  return (0);
++}
++
++void restore_path (CONTEXT* ctx)
++{
++  FREE (&ctx->path);
++  ctx->path = ctx->realpath;
++}
++
++/* remove the temporary mailbox */
++void remove_file (CONTEXT* ctx)
++{
++  if (ctx->magic == M_MBOX || ctx->magic == M_MMDF)
++    remove (ctx->path);
++}
++
++int mutt_open_append_compressed (CONTEXT *ctx)
++{
++  FILE *fh;
++  COMPRESS_INFO *ci = set_compress_info (ctx);
++
++  if (!get_append_command (ctx->path, ctx))
++  {
++    if (ci->open && ci->close)
++      return (mutt_open_read_compressed (ctx));
++
++    ctx->magic = 0;
++    FREE (&ctx->compressinfo);
++    return (-1);
++  }
++
++  set_path (ctx);
++
++  if (!is_new (ctx->realpath))
++      if ((fh = fopen (ctx->path, "w")))
++      fclose (fh);
++  /* No error checking - the parent function will catch it */
++
++  return (0);
++}
++
++/* close a compressed mailbox */
++void mutt_fast_close_compressed (CONTEXT *ctx)
++{
++  dprint (2, (debugfile, "mutt_fast_close_compressed called on '%s'\n",
++            ctx->path));
++
++  if (ctx->compressinfo)
++  {
++    if (ctx->fp)
++      fclose (ctx->fp);
++    ctx->fp = NULL;
++    /* if the folder was removed, remove the gzipped folder too */
++    if ((ctx->magic > 0)
++      && (access (ctx->path, F_OK) != 0)
++      && ! option (OPTSAVEEMPTY))
++      remove (ctx->realpath);
++    else
++      remove_file (ctx);
++
++    restore_path (ctx);
++    FREE (&ctx->compressinfo);
++  }
++}
++
++/* return 0 on success, -1 on failure */
++int mutt_sync_compressed (CONTEXT* ctx)
++{
++  char *cmd;
++  int rc = 0;
++  FILE *fp;
++  COMPRESS_INFO *ci = (COMPRESS_INFO *) ctx->compressinfo;
++
++  if (!ctx->quiet)
++    mutt_message (_("Compressing %s..."), ctx->realpath);
++
++  cmd = get_compression_cmd (ci->close, ctx);
++  if (cmd == NULL)
++    return (-1);
++
++  if ((fp = fopen (ctx->realpath, "a")) == NULL)
++  {
++    mutt_perror (ctx->realpath);
++    FREE (&cmd);
++    return (-1);
++  }
++  mutt_block_signals ();
++  if (mbox_lock_compressed (ctx, fp, 1, 1) == -1)
++  {
++    fclose (fp);
++    mutt_unblock_signals ();
++    mutt_error _("Unable to lock mailbox!");
++    store_size (ctx);
++    FREE (&cmd);
++    return (-1);
++  }
++
++  dprint (2, (debugfile, "CompressCommand: '%s'\n", cmd));
++
++  endwin ();
++  fflush (stdout);
++  fprintf (stderr, _("Compressing %s...\n"), ctx->realpath);
++  if (mutt_system (cmd))
++  {
++    mutt_any_key_to_continue (NULL);
++    mutt_error (_("%s: Error compressing mailbox! Original mailbox deleted, uncompressed one kept!\n"), ctx->path);
++    rc = -1;
++  }
++
++  mbox_unlock_compressed (ctx, fp);
++  mutt_unblock_signals ();
++  fclose (fp);
++
++  FREE (&cmd);
++
++  store_size (ctx);
++
++  return (rc);
++}
++
++int mutt_slow_close_compressed (CONTEXT *ctx)
++{
++  FILE *fp;
++  const char *append;
++  char *cmd;
++  COMPRESS_INFO *ci = (COMPRESS_INFO *) ctx->compressinfo;
++
++  dprint (2, (debugfile, "mutt_slow_close_compressed called on '%s'\n",
++            ctx->path));
++
++  if (! (ctx->append
++       && ((append = get_append_command (ctx->realpath, ctx))
++           || (append = ci->close))))
++  {
++    /* if we can not or should not append, we only have to remove the */
++    /* compressed info, because sync was already called               */
++    mutt_fast_close_compressed (ctx);
++    return (0);
++  }
++
++  if (ctx->fp)
++    fclose (ctx->fp);
++  ctx->fp = NULL;
++
++  if (!ctx->quiet)
++  {
++    if (append == ci->close)
++      mutt_message (_("Compressing %s..."), ctx->realpath);
++    else
++      mutt_message (_("Compressed-appending to %s..."), ctx->realpath);
++  }
++
++  cmd = get_compression_cmd (append, ctx);
++  if (cmd == NULL)
++    return (-1);
++
++  if ((fp = fopen (ctx->realpath, "a")) == NULL)
++  {
++    mutt_perror (ctx->realpath);
++    FREE (&cmd);
++    return (-1);
++  }
++  mutt_block_signals ();
++  if (mbox_lock_compressed (ctx, fp, 1, 1) == -1)
++  {
++    fclose (fp);
++    mutt_unblock_signals ();
++    mutt_error _("Unable to lock mailbox!");
++    FREE (&cmd);
++    return (-1);
++  }
++
++  dprint (2, (debugfile, "CompressCmd: '%s'\n", cmd));
++
++  endwin ();
++  fflush (stdout);
++
++  if (append == ci->close)
++    fprintf (stderr, _("Compressing %s...\n"), ctx->realpath);
++  else
++    fprintf (stderr, _("Compressed-appending to %s...\n"), ctx->realpath);
++
++  if (mutt_system (cmd))
++  {
++    mutt_any_key_to_continue (NULL);
++    mutt_error (_(" %s: Error compressing mailbox!  Uncompressed one kept!\n"),
++              ctx->path);
++    FREE (&cmd);
++    mbox_unlock_compressed (ctx, fp);
++    mutt_unblock_signals ();
++    fclose (fp);
++    return (-1);
++  }
++
++  mbox_unlock_compressed (ctx, fp);
++  mutt_unblock_signals ();
++  fclose (fp);
++  remove_file (ctx);
++  restore_path (ctx);
++  FREE (&cmd);
++  FREE (&ctx->compressinfo);
++
++  return (0);
++}
++
++#endif /* USE_COMPRESSED */
+--- /dev/null
++++ b/compress.h
+@@ -0,0 +1,27 @@
++/*
++ * Copyright (C) 1997 Alain Penders <Alain@Finale-Dev.com>
++ *
++ *     This program is free software; you can redistribute it and/or modify
++ *     it under the terms of the GNU General Public License as published by
++ *     the Free Software Foundation; either version 2 of the License, or
++ *     (at your option) any later version.
++ *
++ *     This program is distributed in the hope that it will be useful,
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ *     You should have received a copy of the GNU General Public License
++ *     along with this program; if not, write to the Free Software
++ *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */
++
++int mutt_can_read_compressed (const char *);
++int mutt_can_append_compressed (const char *);
++int mutt_open_read_compressed (CONTEXT *);
++int mutt_open_append_compressed (CONTEXT *);
++int mutt_slow_close_compressed (CONTEXT *);
++int mutt_sync_compressed (CONTEXT *);
++int mutt_test_compress_command (const char *);
++int mutt_check_mailbox_compressed (CONTEXT *);
++void mutt_fast_close_compressed (CONTEXT *);
+--- a/configure.ac
++++ b/configure.ac
+@@ -805,6 +805,11 @@
+                 AC_DEFINE(LOCALES_HACK,1,[ Define if the result of isprint() is unreliable. ])
+         fi])
++AC_ARG_ENABLE(compressed, AC_HELP_STRING([--enable-compressed], [Enable compressed folders support]),
++      [if test x$enableval = xyes; then
++                AC_DEFINE(USE_COMPRESSED,1, [ Define to support compressed folders. ])
++        fi])
++
+ AC_ARG_WITH(exec-shell, AC_HELP_STRING([--with-exec-shell=SHELL], [Specify alternate shell (ONLY if /bin/sh is broken)]),
+         [if test $withval != yes; then
+                 AC_DEFINE_UNQUOTED(EXECSHELL, "$withval",
+--- a/curs_main.c
++++ b/curs_main.c
+@@ -1135,6 +1135,11 @@
+         {
+         int check;
++#ifdef USE_COMPRESSED
++        if (Context->compressinfo && Context->realpath)
++          mutt_str_replace (&LastFolder, Context->realpath);
++        else
++#endif
+         mutt_str_replace (&LastFolder, Context->path);
+         oldcount = Context ? Context->msgcount : 0;
+--- a/doc/manual.xml.head
++++ b/doc/manual.xml.head
+@@ -5678,6 +5678,205 @@
+ </chapter>
++<sect1 id="compressedfolders">
++<title>Compressed folders Support (OPTIONAL)</title>
++
++<para>
++If Mutt was compiled with compressed folders support (by running the
++<emphasis>configure</emphasis> script with the
++<emphasis>--enable-compressed</emphasis> flag), Mutt can open folders
++stored in an arbitrary format, provided that the user has a script to
++convert from/to this format to one of the accepted.
++
++The most common use is to open compressed archived folders e.g. with
++gzip.
++
++In addition, the user can provide a script that gets a folder in an
++accepted format and appends its context to the folder in the
++user-defined format, which may be faster than converting the entire
++folder to the accepted format, appending to it and converting back to
++the user-defined format.
++
++There are three hooks defined (<link
++linkend="open-hook">open-hook</link>, <link
++linkend="close-hook">close-hook</link> and <link
++linkend="append-hook">append-hook</link>) which define commands to
++uncompress and compress a folder and to append messages to an existing
++compressed folder respectively.
++
++For example:
++
++<screen>
++open-hook \\.gz$ "gzip -cd %f &gt; %t"
++close-hook \\.gz$ "gzip -c %t &gt; %f"
++append-hook \\.gz$ "gzip -c %t &gt;&gt; %f"
++</screen>
++
++You do not have to specify all of the commands. If you omit <link
++linkend="append-hook">append-hook</link>, the folder will be open and
++closed again each time you will add to it. If you omit <link
++linkend="close-hook">close-hook</link> (or give empty command) , the
++folder will be open in the mode. If you specify <link
++linkend="append-hook">append-hook</link> though you'll be able to
++append to the folder.
++
++Note that Mutt will only try to use hooks if the file is not in one of
++the accepted formats. In particular, if the file is empty, mutt
++supposes it is not compressed. This is important because it allows the
++use of programs that do not have well defined extensions. Just use
++&quot;.&quot; as a regexp. But this may be surprising if your
++compressing script produces empty files. In this situation, unset
++<link linkend="save-empty">&dollar;save&lowbar;empty</link>, so that
++the compressed file will be removed if you delete all of the messages.
++</para>
++
++<sect2 id="open-hook">
++<title>Open a compressed mailbox for reading</title>
++
++<para>
++Usage: <literal>open-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
++
++The <emphasis>command</emphasis> is the command that can be used for
++opening the folders whose names match <emphasis>regexp</emphasis>.
++
++The <emphasis>command</emphasis> string is the printf-like format
++string, and it should accept two parameters: &percnt;f, which is
++replaced with the (compressed) folder name, and &percnt;t which is
++replaced with the name of the temporary folder to which to write.
++
++&percnt;f and &percnt;t can be repeated any number of times in the
++command string, and all of the entries are replaced with the
++appropriate folder name. In addition, &percnt;&percnt; is replaced by
++&percnt;, as in printf, and any other &percnt;anything is left as is.
++
++The <emphasis>command</emphasis> should <emphasis
++role="bold">not</emphasis> remove the original compressed file.  The
++<emphasis>command</emphasis> should return non-zero exit status if it
++fails, so mutt knows something's wrong.
++
++Example:
++
++<screen>
++open-hook \\.gz$ "gzip -cd %f &gt; %t"
++</screen>
++
++If the <emphasis>command</emphasis> is empty, this operation is
++disabled for this file type.
++</para>
++</sect2>
++
++<sect2 id="close-hook">
++<title>Write a compressed mailbox</title>
++
++<para>
++Usage: <literal>close-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
++
++This is used to close the folder that was open with the <link
++linkend="open-hook">open-hook</link> command after some changes were
++made to it.
++
++The <emphasis>command</emphasis> string is the command that can be
++used for closing the folders whose names match
++<emphasis>regexp</emphasis>. It has the same format as in the <link
++linkend="open-hook">open-hook</link> command. Temporary folder in this
++case is the folder previously produced by the <link
++linkend="open-hook">open-hook</link> command.
++
++The <emphasis>command</emphasis> should <emphasis
++role="bold">not</emphasis> remove the decompressed file. The
++<emphasis>command</emphasis> should return non-zero exit status if it
++fails, so mutt knows something's wrong.
++
++Example:
++
++<screen>
++close-hook \\.gz$ "gzip -c %t &gt; %f"
++</screen>
++
++If the <emphasis>command</emphasis> is empty, this operation is
++disabled for this file type, and the file can only be open in the
++read-only mode.
++
++<link linkend="close-hook">close-hook</link> is not called when you
++exit from the folder if the folder was not changed.
++</para>
++</sect2>
++
++<sect2 id="append-hook">
++<title>Append a message to a compressed mailbox</title>
++
++<para>
++Usage: <literal>append-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
++
++This command is used for saving to an existing compressed folder.  The
++<emphasis>command</emphasis> is the command that can be used for
++appending to the folders whose names match
++<emphasis>regexp</emphasis>. It has the same format as in the <link
++linkend="open-hook">open-hook</link> command.  The temporary folder in
++this case contains the messages that are being appended.
++
++The <emphasis>command</emphasis> should <emphasis
++role="bold">not</emphasis> remove the decompressed file. The
++<emphasis>command</emphasis> should return non-zero exit status if it
++fails, so mutt knows something's wrong.
++
++Example:
++
++<screen>
++append-hook \\.gz$ "gzip -c %t &gt;&gt; %f"
++</screen>
++
++When <link linkend="append-hook">append-hook</link> is used, the folder
++is not opened, which saves time, but this means that we can not find
++out what the folder type is. Thus the default (<link
++linkend="mbox-type">&dollar;mbox&lowbar;type</link>) type is always
++supposed (i.e.  this is the format used for the temporary folder).
++
++If the file does not exist when you save to it, <link
++linkend="close-hook">close-hook</link> is called, and not <link
++linkend="append-hook">append-hook</link>. <link
++linkend="append-hook">append-hook</link> is only for appending to
++existing folders.
++
++If the <emphasis>command</emphasis> is empty, this operation is
++disabled for this file type. In this case, the folder will be open and
++closed again (using <link linkend="open-hook">open-hook</link> and
++<link linkend="close-hook">close-hook</link>respectively) each time you
++will add to it.
++</para>
++</sect2>
++
++<sect2>
++<title>Encrypted folders</title>
++
++<para>
++The compressed folders support can also be used to handle encrypted
++folders. If you want to encrypt a folder with PGP, you may want to use
++the following hooks:
++
++<screen>
++open-hook  \\.pgp$ "pgp -f &lt; %f &gt; %t"
++close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId &lt; %t &gt; %f"
++</screen>
++
++Please note, that PGP does not support appending to an encrypted
++folder, so there is no append-hook defined.
++
++If you are using GnuPG instead of PGP, you may use the following hooks
++instead:
++
++<screen>
++open-hook  \\.gpg$ "gpg --decrypt &lt; %f &gt; %t"
++close-hook \\.gpg$ "gpg --encrypt --recipient YourGpgUserIdOrKeyId &lt; %t &gt; %f"
++</screen>
++
++<emphasis role="bold">Note:</emphasis> the folder is temporary stored
++decrypted in the /tmp directory, where it can be read by your system
++administrator. So think about the security aspects of this.
++</para>
++</sect2>
++</sect1>
++
+ <chapter id="mimesupport">
+ <title>Mutt's MIME Support</title>
+--- a/doc/muttrc.man.head
++++ b/doc/muttrc.man.head
+@@ -345,6 +345,24 @@
+ to a certain recipient.  The meaning of "key ID" is to be taken
+ broadly: This can be a different e-mail address, a numerical key ID,
+ or even just an arbitrary search string.
++.PP
++.nf
++\fBopen-hook\fP \fIregexp\fP "\fIcommand\fP"
++\fBclose-hook\fP \fIregexp\fP "\fIcommand\fP"
++\fBappend-hook\fP \fIregexp\fP "\fIcommand\fP"
++.fi
++.IP
++These commands provide a way to handle compressed folders. The given
++\fBregexp\fP specifies which folders are taken as compressed (e.g.
++"\fI\\\\.gz$\fP"). The commands tell Mutt how to uncompress a folder
++(\fBopen-hook\fP), compress a folder (\fBclose-hook\fP) or append a
++compressed mail to a compressed folder (\fBappend-hook\fP). The
++\fIcommand\fP string is the
++.BR printf (3)
++like format string, and it should accept two parameters: \fB%f\fP,
++which is replaced with the (compressed) folder name, and \fB%t\fP
++which is replaced with the name of the temporary folder to which to
++write.
+ .TP
+ \fBpush\fP \fIstring\fP
+ This command adds the named \fIstring\fP to the keyboard buffer.
+--- a/hook.c
++++ b/hook.c
+@@ -24,6 +24,10 @@
+ #include "mailbox.h"
+ #include "mutt_crypt.h"
++#ifdef USE_COMPRESSED
++#include "compress.h"
++#endif
++
+ #include <limits.h>
+ #include <string.h>
+ #include <stdlib.h>
+@@ -92,6 +96,16 @@
+     memset (&pattern, 0, sizeof (pattern));
+     pattern.data = safe_strdup (path);
+   }
++#ifdef USE_COMPRESSED
++  else if (data & (M_APPENDHOOK | M_OPENHOOK | M_CLOSEHOOK))
++  {
++    if (mutt_test_compress_command (command.data))
++    {
++      strfcpy (err->data, _("badly formatted command string"), err->dsize);
++      return (-1);
++    }
++  }
++#endif
+   else if (DefaultHook && !(data & (M_CHARSETHOOK | M_ICONVHOOK | M_ACCOUNTHOOK))
+            && (!WithCrypto || !(data & M_CRYPTHOOK))
+       )
+--- a/init.h
++++ b/init.h
+@@ -3504,6 +3504,11 @@
+   { "fcc-hook",               mutt_parse_hook,        M_FCCHOOK },
+   { "fcc-save-hook",  mutt_parse_hook,        M_FCCHOOK | M_SAVEHOOK },
+   { "folder-hook",    mutt_parse_hook,        M_FOLDERHOOK },
++#ifdef USE_COMPRESSED
++  { "open-hook",      mutt_parse_hook,        M_OPENHOOK },
++  { "close-hook",     mutt_parse_hook,        M_CLOSEHOOK },
++  { "append-hook",    mutt_parse_hook,        M_APPENDHOOK },
++#endif
+   { "group",          parse_group,            0 },
+   { "ungroup",                parse_ungroup,          0 },
+   { "hdr_order",      parse_list,             UL &HeaderOrderList },
+--- a/main.c
++++ b/main.c
+@@ -402,6 +402,12 @@
+ #else
+       "-LOCALES_HACK  "
+ #endif
++
++#ifdef USE_COMPRESSED
++      "+COMPRESSED  "
++#else
++      "-COMPRESSED  "
++#endif
+             
+ #ifdef HAVE_WC_FUNCS
+       "+HAVE_WC_FUNCS  "
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,7 +18,7 @@
+ bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
+ mutt_SOURCES = \
+       addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \
+-      crypt.c cryptglue.c \
++      crypt.c cryptglue.c compress.c \
+       commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \
+       edit.c enter.c flags.c init.c filter.c from.c \
+       getdomain.c group.c \
+@@ -57,7 +57,7 @@
+       bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h
+ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
+-      configure account.h \
++      configure account.h compress.h \
+       attach.h buffy.h charset.h copy.h crypthash.h dotlock.h functions.h gen_defs \
+       globals.h hash.h history.h init.h keymap.h mutt_crypt.h \
+       mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \
+--- a/mbox.c
++++ b/mbox.c
+@@ -29,6 +29,10 @@
+ #include "copy.h"
+ #include "mutt_curses.h"
++#ifdef USE_COMPRESSED
++#include "compress.h"
++#endif
++
+ #include <sys/stat.h>
+ #include <dirent.h>
+ #include <string.h>
+@@ -1048,6 +1052,12 @@
+ int mbox_close_mailbox (CONTEXT *ctx)
+ {
+   mx_unlock_file (ctx->path, fileno (ctx->fp), 1);
++
++#ifdef USE_COMPRESSED
++  if (ctx->compressinfo)
++    mutt_slow_close_compressed (ctx);
++#endif
++
+   mutt_unblock_signals ();
+   mx_fastclose_mailbox (ctx);
+   return 0;
+--- a/mutt.h
++++ b/mutt.h
+@@ -146,6 +146,11 @@
+ #define M_ACCOUNTHOOK (1<<9)
+ #define M_REPLYHOOK   (1<<10)
+ #define M_SEND2HOOK     (1<<11)
++#ifdef USE_COMPRESSED
++#define M_OPENHOOK    (1<<12)
++#define M_APPENDHOOK  (1<<13)
++#define M_CLOSEHOOK   (1<<14)
++#endif
+ /* tree characters for linearize_tree and print_enriched_string */
+ #define M_TREE_LLCORNER               1
+@@ -882,6 +887,11 @@
+   int flagged;                        /* how many flagged messages */
+   int msgnotreadyet;          /* which msg "new" in pager, -1 if none */
++#ifdef USE_COMPRESSED
++  void *compressinfo;         /* compressed mbox module private data */
++  char *realpath;             /* path to compressed mailbox */
++#endif /* USE_COMPRESSED */
++
+   short magic;                        /* mailbox type */
+   unsigned char rights[(RIGHTSMAX + 7)/8];    /* ACL bits */
+--- a/mx.c
++++ b/mx.c
+@@ -30,6 +30,10 @@
+ #include "keymap.h"
+ #include "url.h"
++#ifdef USE_COMPRESSED
++#include "compress.h"
++#endif
++
+ #ifdef USE_IMAP
+ #include "imap.h"
+ #endif
+@@ -415,6 +419,10 @@
+     return (-1);
+   }
++#ifdef USE_COMPRESSED
++  if (magic == 0 && mutt_can_read_compressed (path))
++    return M_COMPRESSED;
++#endif
+   return (magic);
+ }
+@@ -454,6 +462,13 @@
+ {
+   struct stat sb;
++#ifdef USE_COMPRESSED
++  /* special case for appending to compressed folders -
++   * even if we can not open them for reading */
++  if (mutt_can_append_compressed (ctx->path))
++    mutt_open_append_compressed (ctx);
++#endif
++
+   ctx->append = 1;
+ #ifdef USE_IMAP
+@@ -617,7 +632,12 @@
+   }
+   ctx->magic = mx_get_magic (path);
+-  
++
++#ifdef USE_COMPRESSED
++  if (ctx->magic == M_COMPRESSED)
++    mutt_open_read_compressed (ctx);
++#endif
++
+   if(ctx->magic == 0)
+     mutt_error (_("%s is not a mailbox."), path);
+@@ -718,6 +738,10 @@
+     mutt_free_header (&ctx->hdrs[i]);
+   FREE (&ctx->hdrs);
+   FREE (&ctx->v2r);
++#ifdef USE_COMPRESSED
++  if (ctx->compressinfo)
++    mutt_fast_close_compressed (ctx);
++#endif
+   FREE (&ctx->path);
+   FREE (&ctx->pattern);
+   if (ctx->limit_pattern) 
+@@ -770,6 +794,12 @@
+   
+   if (tmp && tmp->new == 0)
+     mutt_update_mailbox (tmp);
++
++#ifdef USE_COMPRESSED
++  if (rc == 0 && ctx->compressinfo)
++    return mutt_sync_compressed (ctx);
++#endif
++
+   return rc;
+ }
+@@ -1033,6 +1063,11 @@
+       !mutt_is_spool(ctx->path) && !option (OPTSAVEEMPTY))
+     mx_unlink_empty (ctx->path);
++#ifdef USE_COMPRESSED
++  if (ctx->compressinfo && mutt_slow_close_compressed (ctx))
++    return (-1);
++#endif
++
+   mx_fastclose_mailbox (ctx);
+   return 0;
+@@ -1355,6 +1390,11 @@
+ {
+   int rc;
++#ifdef USE_COMPRESSED
++  if (ctx->compressinfo)
++    return mutt_check_mailbox_compressed (ctx);
++#endif
++
+   if (ctx)
+   {
+     if (ctx->locked) lock = 0;
+--- a/mx.h
++++ b/mx.h
+@@ -40,6 +40,9 @@
+ #ifdef USE_POP
+   , M_POP
+ #endif
++#ifdef USE_COMPRESSED
++  , M_COMPRESSED
++#endif
+ };
+ WHERE short DefaultMagic INITVAL (M_MBOX);
+--- a/po/de.po
++++ b/po/de.po
+@@ -2005,6 +2005,10 @@
+ msgid "Bad history file format (line %d)"
+ msgstr "Falsches Format der Datei früherer Eingaben (Zeile %d)"
++#: hook.c:96
++msgid "badly formatted command string"
++msgstr "Hook enthält nicht die Muster %f und %t"
++
+ #: hook.c:251
+ #, c-format
+ msgid "unhook: Can't do unhook * from within a hook."
+@@ -2766,7 +2770,7 @@
+ msgid "Mailbox is corrupt!"
+ msgstr "Mailbox fehlerhaft!"
+-#: mbox.c:678
++#: mbox.c:678 compress.c:203 mbox.c:661
+ msgid "Mailbox was corrupted!"
+ msgstr "Mailbox wurde zerstört!"
+@@ -2774,10 +2778,11 @@
+ msgid "Fatal error!  Could not reopen mailbox!"
+ msgstr "Fataler Fehler, konnte Mailbox nicht erneut Ã¶ffnen!"
+-#: mbox.c:746
++#: mbox.c:746 compress.c:264 compress.c:246 compress.c:367 compress.c:443 mbox.c:706
+ msgid "Unable to lock mailbox!"
+ msgstr "Kann Mailbox nicht für exklusiven Zugriff sperren!"
++
+ #. this means ctx->changed or ctx->deleted was set, but no
+ #. * messages were found to be changed or deleted.  This should
+ #. * never happen, is we presume it is a bug in mutt.
+@@ -5378,3 +5383,32 @@
+ #~ msgid "Authentication method is unknown."
+ #~ msgstr "Authentifizierungsmethode unbekannt."
++
++#: compress.c:228 compress.c:253
++#, c-format
++msgid "Decompressing %s...\n"
++msgstr "Entpacke %s...\n"
++
++#: compress.c:350 compress.c:377 compress.c:423 compress.c:454
++#, c-format
++msgid "Compressing %s...\n"
++msgstr "Komprimiere %s...\n"
++
++#: compress.c:381
++#, c-format
++msgid ""
++"%s: Error compressing mailbox! Original mailbox deleted, uncompressed one "
++"kept!\n"
++msgstr ""
++"%s: Fehler beim Komprimieren der Mailbox! Ursprüngliche Mailbox gelöscht, "
++"entpackte gespeichert!\n"
++
++#: compress.c:425 compress.c:456
++#, c-format
++msgid "Compressed-appending to %s...\n"
++msgstr "Hänge komprimiert an %s... an\n"
++
++#: compress.c:461
++#, c-format
++msgid " %s: Error compressing mailbox!  Uncompressed one kept!\n"
++msgstr " %s: Fehler beim packen der Mailbox! Entpackte Mailbox gespeichert!\n"
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -8,6 +8,7 @@
+ color.c
+ commands.c
+ compose.c
++compress.c
+ crypt-gpgme.c
+ crypt.c
+ cryptglue.c
+--- a/status.c
++++ b/status.c
+@@ -96,6 +96,14 @@
+     case 'f':
+       snprintf (fmt, sizeof(fmt), "%%%ss", prefix);
++#ifdef USE_COMPRESSED
++      if (Context && Context->compressinfo && Context->realpath)
++      {
++       strfcpy (tmp, Context->realpath, sizeof (tmp));
++       mutt_pretty_mailbox (tmp, sizeof (tmp));
++      }
++      else
++#endif
+       if (Context && Context->path)
+       {
+       strfcpy (tmp, Context->path, sizeof (tmp));
diff --git a/debian/patches/features/compressed-folders.debian b/debian/patches/features/compressed-folders.debian
new file mode 100644 (file)
index 0000000..91ce929
--- /dev/null
@@ -0,0 +1,9 @@
+to enable the use of compressed folders
+
+--- a/config-debian.h
++++ b/config-debian.h
+@@ -0,0 +1,4 @@
++#ifndef USE_COMPRESSED
++#error "You forgot to update debian/patches/autotools-update."
++#error "Run sh debian/update-autotools.sh"
++#endif
diff --git a/debian/patches/features/ifdef b/debian/patches/features/ifdef
new file mode 100644 (file)
index 0000000..28913b5
--- /dev/null
@@ -0,0 +1,145 @@
+# vim:ft=diff:
+This is the ifdef patch by Cedric Duval <cedricduval@free.fr>.
+
+This command allows to test if a feature has been compiled in before actually
+attempting to configure / use it.
+
+Syntax:
+
+ifdef <item> <command>
+
+where <item> can be the name of a variable, function, or command.
+
+Examples:
+
+ifdef  imap-fetch-mail  'source ~/.mutt/imap_setup'
+ifdef  trash  set trash=~/Mail/trash
+
+* Patch last synced with upstream:
+  - Date: 2007-02-15
+  - File:
+    http://cedricduval.free.fr/mutt/patches/download/patch-1.5.4.cd.ifdef.1
+
+* Changes made:
+  - Updated to 1.5.13
+  - Also look for commands
+  - Use mutt_strcmp in favor of ascii_strncasecmp to compare strings.
+
+== END PATCH
+--- a/init.c
++++ b/init.c
+@@ -635,6 +635,65 @@ static int remove_from_rx_list (RX_LIST
+   return (rv);
+ }
++static int parse_ifdef (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err)
++{
++  int i, j, res = 0;
++  BUFFER token;
++
++  memset (&token, 0, sizeof (token));
++  mutt_extract_token (tmp, s, 0);
++
++  /* is the item defined as a variable? */
++  res = (mutt_option_index (tmp->data) != -1);
++
++  /* a function? */
++  if (!res)
++    for (i = 0; !res && i < MENU_MAX; i++)
++    {
++      struct binding_t *b = km_get_table (Menus[i].value);
++
++      if (!b)
++      continue;
++
++      for (j = 0; b[j].name; j++)
++      if (!mutt_strcmp (tmp->data, b[j].name))
++      {
++        res = 1;
++        break;
++      }
++    }
++
++  /* a command? */
++  if (!res)
++    for (i = 0; Commands[i].name; i++)
++    {
++      if (!mutt_strcmp (tmp->data, Commands[i].name))
++      {
++      res = 1;
++      break;
++      }
++    }
++
++  if (!MoreArgs (s))
++  {
++    snprintf (err->data, err->dsize, _("ifdef: too few arguments"));
++    return (-1);
++  }
++  mutt_extract_token (tmp, s, M_TOKEN_SPACE);
++
++  if (res)
++  {
++    if (mutt_parse_rc_line (tmp->data, &token, err) == -1)
++    {
++      mutt_error ("Erreur: %s", err->data);
++      FREE (&token.data);
++      return (-1);
++    }
++    FREE (&token.data);
++  }
++  return 0;
++}
++
+ static int parse_unignore (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err)
+ {
+   do
+--- a/init.h
++++ b/init.h
+@@ -3413,6 +3413,7 @@ static int parse_lists (BUFFER *, BUFFER
+ static int parse_unlists (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_alias (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_unalias (BUFFER *, BUFFER *, unsigned long, BUFFER *);
++static int parse_ifdef (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_ignore (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_unignore (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_source (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+@@ -3463,6 +3464,7 @@ struct command_t Commands[] = {
+   { "group",          parse_group,            0 },
+   { "ungroup",                parse_ungroup,          0 },
+   { "hdr_order",      parse_list,             UL &HeaderOrderList },
++  { "ifdef",          parse_ifdef,            0 },
+ #ifdef HAVE_ICONV
+   { "iconv-hook",     mutt_parse_hook,        M_ICONVHOOK },
+ #endif
+--- a/doc/manual.xml.head
++++ b/doc/manual.xml.head
+@@ -4087,6 +4087,28 @@ considered to be an executable program f
+ </sect1>
++<sect1 id="ifdef">
++
++<title>Configuring features conditionally</title>
++
++<para>
++Usage: <literal>ifdef</literal> <emphasis>item</emphasis> <emphasis>command</emphasis>
++</para>
++
++<para>
++This command allows to test if a feature has been compiled in, before
++actually executing the command. Item can be either the name of a
++function, variable, or command. Example:
++</para>
++
++<para>
++<screen>
++ifdef imap_keepalive 'source ~/.mutt/imap_setup'
++</screen>
++</para>
++
++</sect1>
++
+ <sect1 id="unhook">
+ <title>Removing Hooks</title>
diff --git a/debian/patches/features/imap_fast_trash b/debian/patches/features/imap_fast_trash
new file mode 100644 (file)
index 0000000..def2bc2
--- /dev/null
@@ -0,0 +1,93 @@
+http://marc.info/?l=mutt-dev&m=128045511126422
+
+Make "move to trash folder" use IMAP COPY.
+
+by Paul Miller (jettero)
+
+diff --git a/imap/imap.c b/imap/imap.c
+index f08b4ea..47a8035 100644
+--- a/imap/imap.c
++++ b/imap/imap.c
+@@ -2028,3 +2028,54 @@ int imap_complete(char* dest, size_t dlen, char* path) {
+   return -1;
+ }
++
++int imap_fast_trash() {
++
++    if( Context->magic == M_IMAP && mx_is_imap(TrashPath) ) {
++        IMAP_MBOX mx;
++        IMAP_DATA *idata = (IMAP_DATA *) Context->data;
++        char mbox[LONG_STRING];
++        char mmbox[LONG_STRING];
++        int rc;
++        dprint(1, (debugfile, "[itf] trashcan seems to be on imap.\n"));
++
++        if ( imap_parse_path(TrashPath, &mx) == 0 ) {
++            if( mutt_account_match(&(idata->conn->account), &(mx.account)) ) {
++                dprint(1, (debugfile, "[itf] trashcan seems to be on the same account.\n"));
++
++                imap_fix_path (idata, mx.mbox, mbox, sizeof (mbox));
++                if (!*mbox)
++                    strfcpy (mbox, "INBOX", sizeof (mbox));
++                imap_munge_mbox_name (mmbox, sizeof (mmbox), mbox);
++
++                rc = imap_exec_msgset (idata, "UID COPY", mmbox, M_DELETED, 0, 0);
++                if (!rc) {
++                    dprint (1, (debugfile, "imap_copy_messages: No messages del-tagged\n"));
++                    rc = -1;
++                    goto old_way;
++
++                } else if (rc < 0) {
++                    dprint (1, (debugfile, "could not queue copy\n"));
++                    goto old_way;
++
++                } else {
++                    mutt_message (_("Copying %d messages to %s..."), rc, mbox);
++                    return 0;
++                }
++
++            } else {
++                dprint(1, (debugfile, "[itf] trashcan seems to be on a different account.\n"));
++            }
++
++            old_way:
++            FREE (&mx.mbox); /* we probably only need to free this when the parse works */
++
++        } else {
++            dprint(1, (debugfile, "[itf] failed to parse TrashPath.\n" ));
++        }
++
++        dprint(1, (debugfile, "[itf] giving up and trying old fasioned way.\n" ));
++    }
++
++    return 1;
++}
+diff --git a/imap/imap.h b/imap/imap.h
+index 74d7e13..99cd454 100644
+--- a/imap/imap.h
++++ b/imap/imap.h
+@@ -72,4 +72,7 @@ void imap_keepalive (void);
+ int imap_account_match (const ACCOUNT* a1, const ACCOUNT* a2);
++/* trash */
++int imap_fast_trash();
++
+ #endif
+diff --git a/mx.c b/mx.c
+index 78aafcc..38c4e7f 100644
+--- a/mx.c
++++ b/mx.c
+@@ -828,6 +828,11 @@ static int trash_append (CONTEXT *ctx)
+       && stc.st_dev == st.st_dev && stc.st_rdev == st.st_rdev)
+       return 0;  /* we are in the trash folder: simple sync */
++    #ifdef USE_IMAP
++    if( !imap_fast_trash() )
++        return 0;
++    #endif
++
+     if ((ctx_trash = mx_open_mailbox (TrashPath, M_APPEND, NULL)) != NULL)
+     {
+       for (i = 0 ; i < ctx->msgcount ; i++)
diff --git a/debian/patches/features/purge-message b/debian/patches/features/purge-message
new file mode 100644 (file)
index 0000000..d16c0f2
--- /dev/null
@@ -0,0 +1,227 @@
+# vim:ft=diff:
+This is the purge message patch by Cedric Duval <cedricduval@free.fr>.
+
+(requires trash folder patch)
+
+This patch adds the purge-message function, which, unlike delete-message, will
+bypass the trash folder and really delete the mail.
+
+You can bind this function to <esc>D, for instance, by adding the following
+lines to your muttrc:
+
+bind index \eD purge-message
+bind pager \eD purge-message
+
+Please be very careful with this function, and try to use it as less as
+possible. The risk resides in getting into the habit of always using
+purge-message instead of delete-message, which would really defeat the purpose
+of having a trash folder feature.
+
+* Patch last synced with upstream:
+  - Date: 2007-02-15
+  - File: http://cedricduval.free.fr/mutt/patches/download/patch-1.5.5.1.cd.purge_message.3.4
+
+* Changes made:
+  - Updated to 1.5.13
+  - Fixed indentation of "purged" in mutt.h.
+
+== END PATCH
+Index: mutt/OPS
+===================================================================
+--- mutt.orig/OPS      2009-06-25 12:35:37.000000000 +0200
++++ mutt/OPS   2009-06-25 12:36:14.000000000 +0200
+@@ -141,6 +141,7 @@
+ OP_PREV_LINE "scroll up one line"
+ OP_PREV_PAGE "move to the previous page"
+ OP_PRINT "print the current entry"
++OP_PURGE_MESSAGE "really delete the current entry, bypassing the trash folder"
+ OP_QUERY "query external program for addresses"
+ OP_QUERY_APPEND "append new query results to current results"
+ OP_QUIT "save changes to mailbox and quit"
+Index: mutt/curs_main.c
+===================================================================
+--- mutt.orig/curs_main.c      2009-06-25 12:35:44.000000000 +0200
++++ mutt/curs_main.c   2009-06-25 12:36:14.000000000 +0200
+@@ -1823,6 +1823,7 @@
+       MAYBE_REDRAW (menu->redraw);
+       break;
++      case OP_PURGE_MESSAGE:
+       case OP_DELETE:
+       CHECK_MSGCOUNT;
+@@ -1833,6 +1834,7 @@
+       if (tag)
+       {
+         mutt_tag_set_flag (M_DELETE, 1);
++        mutt_tag_set_flag (M_PURGED, (op != OP_PURGE_MESSAGE) ? 0 : 1);
+         if (option (OPTDELETEUNTAG))
+           mutt_tag_set_flag (M_TAG, 0);
+         menu->redraw = REDRAW_INDEX;
+@@ -1840,6 +1842,8 @@
+       else
+       {
+         mutt_set_flag (Context, CURHDR, M_DELETE, 1);
++        mutt_set_flag (Context, CURHDR, M_PURGED,
++                       (op != OP_PURGE_MESSAGE) ? 0 : 1);
+         if (option (OPTDELETEUNTAG))
+           mutt_set_flag (Context, CURHDR, M_TAG, 0);
+         if (option (OPTRESOLVE))
+@@ -2136,11 +2140,13 @@
+       if (tag)
+       {
+         mutt_tag_set_flag (M_DELETE, 0);
++        mutt_tag_set_flag (M_PURGED, 0);
+         menu->redraw = REDRAW_INDEX;
+       }
+       else
+       {
+         mutt_set_flag (Context, CURHDR, M_DELETE, 0);
++        mutt_set_flag (Context, CURHDR, M_PURGED, 0);
+         if (option (OPTRESOLVE) && menu->current < Context->vcount - 1)
+         {
+           menu->current++;
+@@ -2161,9 +2167,11 @@
+       CHECK_ACL(M_ACL_DELETE, _("undelete message(s)"));
+       rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0,
+-                                 op == OP_UNDELETE_THREAD ? 0 : 1);
++                                 op == OP_UNDELETE_THREAD ? 0 : 1)
++        + mutt_thread_set_flag (CURHDR, M_PURGED, 0,
++                                op == OP_UNDELETE_THREAD ? 0 : 1);
+-      if (rc != -1)
++      if (rc > -1)
+       {
+         if (option (OPTRESOLVE))
+         {
+Index: mutt/flags.c
+===================================================================
+--- mutt.orig/flags.c  2009-06-25 12:35:48.000000000 +0200
++++ mutt/flags.c       2009-06-25 12:36:14.000000000 +0200
+@@ -104,6 +104,16 @@
+       }
+       break;
++    case M_PURGED:
++      if (bf)
++      {
++      if (!h->purged)
++        h->purged = 1;
++      }
++      else if (h->purged)
++      h->purged = 0;
++      break;
++
+     case M_NEW:
+       if (!mutt_bit_isset(ctx->rights,M_ACL_SEEN))
+Index: mutt/functions.h
+===================================================================
+--- mutt.orig/functions.h      2009-06-25 12:35:37.000000000 +0200
++++ mutt/functions.h   2009-06-25 12:36:14.000000000 +0200
+@@ -120,6 +120,7 @@
+   { "toggle-write",           OP_TOGGLE_WRITE,                "%" },
+   { "next-thread",            OP_MAIN_NEXT_THREAD,            "\016" },
+   { "next-subthread",         OP_MAIN_NEXT_SUBTHREAD,         "\033n" },
++  { "purge-message",          OP_PURGE_MESSAGE,               NULL },
+   { "query",                  OP_QUERY,                       "Q" },
+   { "quit",                   OP_QUIT,                        "q" },
+   { "reply",                  OP_REPLY,                       "r" },
+@@ -209,6 +210,7 @@
+   { "print-message",  OP_PRINT,                       "p" },
+   { "previous-thread",        OP_MAIN_PREV_THREAD,            "\020" },
+   { "previous-subthread",OP_MAIN_PREV_SUBTHREAD,      "\033p" },
++  { "purge-message",  OP_PURGE_MESSAGE,               NULL },
+   { "quit",           OP_QUIT,                        "Q" },
+   { "exit",           OP_EXIT,                        "q" },
+   { "reply",          OP_REPLY,                       "r" },
+Index: mutt/mutt.h
+===================================================================
+--- mutt.orig/mutt.h   2009-06-25 12:35:48.000000000 +0200
++++ mutt/mutt.h        2009-06-25 12:36:14.000000000 +0200
+@@ -188,6 +188,7 @@
+   M_UNDELETE,
+   M_DELETED,
+   M_APPENDED,
++  M_PURGED,
+   M_FLAG,
+   M_TAG,
+   M_UNTAG,
+@@ -704,6 +705,7 @@
+   unsigned int flagged : 1;           /* marked important? */
+   unsigned int tagged : 1;
+   unsigned int appended : 1;          /* has been saved */
++  unsigned int purged : 1;            /* bypassing the trash folder */
+   unsigned int deleted : 1;
+   unsigned int changed : 1;
+   unsigned int attach_del : 1;                /* has an attachment marked for deletion */
+Index: mutt/mx.c
+===================================================================
+--- mutt.orig/mx.c     2009-06-25 12:36:10.000000000 +0200
++++ mutt/mx.c  2009-06-25 12:36:14.000000000 +0200
+@@ -803,6 +803,7 @@
+     {
+       for (i = 0 ; i < ctx->msgcount ; i++)
+       if (ctx->hdrs[i]->deleted && !ctx->hdrs[i]->appended
++          && !ctx->hdrs[i]->purged
+           && mutt_append_message (ctx_trash, ctx, ctx->hdrs[i], 0, 0) == -1)
+         {
+           mx_close_mailbox (ctx_trash, NULL);
+Index: mutt/pager.c
+===================================================================
+--- mutt.orig/pager.c  2009-06-25 12:35:44.000000000 +0200
++++ mutt/pager.c       2009-06-25 12:36:14.000000000 +0200
+@@ -2316,12 +2316,15 @@
+       MAYBE_REDRAW (redraw);
+       break;
++      case OP_PURGE_MESSAGE:
+       case OP_DELETE:
+       CHECK_MODE(IsHeader (extra));
+       CHECK_READONLY;
+       CHECK_ACL(M_ACL_DELETE, _("delete message"));
+       mutt_set_flag (Context, extra->hdr, M_DELETE, 1);
++      mutt_set_flag (Context, extra->hdr, M_PURGED,
++                     ch != OP_PURGE_MESSAGE ? 0 : 1);
+         if (option (OPTDELETEUNTAG))
+         mutt_set_flag (Context, extra->hdr, M_TAG, 0);
+       redraw = REDRAW_STATUS | REDRAW_INDEX;
+@@ -2648,6 +2651,7 @@
+       CHECK_ACL(M_ACL_DELETE, _("undelete message"));
+       mutt_set_flag (Context, extra->hdr, M_DELETE, 0);
++      mutt_set_flag (Context, extra->hdr, M_PURGED, 0);
+       redraw = REDRAW_STATUS | REDRAW_INDEX;
+       if (option (OPTRESOLVE))
+       {
+@@ -2663,9 +2667,11 @@
+       CHECK_ACL(M_ACL_DELETE, _("undelete message(s)"));
+       r = mutt_thread_set_flag (extra->hdr, M_DELETE, 0,
++                                ch == OP_UNDELETE_THREAD ? 0 : 1)
++        + mutt_thread_set_flag (extra->hdr, M_PURGED, 0,
+                                 ch == OP_UNDELETE_THREAD ? 0 : 1);
+-      if (r != -1)
++      if (r > -1)
+       {
+         if (option (OPTRESOLVE))
+         {
+Index: mutt/pattern.c
+===================================================================
+--- mutt.orig/pattern.c        2009-06-25 12:35:37.000000000 +0200
++++ mutt/pattern.c     2009-06-25 12:36:14.000000000 +0200
+@@ -1347,8 +1347,10 @@
+       {
+       switch (op)
+       {
+-        case M_DELETE:
+         case M_UNDELETE:
++          mutt_set_flag (Context, Context->hdrs[Context->v2r[i]], M_PURGED,
++                         0);
++        case M_DELETE:
+           mutt_set_flag (Context, Context->hdrs[Context->v2r[i]], M_DELETE, 
+                         (op == M_DELETE));
+           break;
diff --git a/debian/patches/features/sensible_browser_position b/debian/patches/features/sensible_browser_position
new file mode 100644 (file)
index 0000000..744353a
--- /dev/null
@@ -0,0 +1,109 @@
+# vi: ft=diff
+This is the sensible browser position patch by Haakon Riiser.
+
+  * Found in: <20050309162127.GA5656@s>
+    http://lists.df7cb.de/mutt/message/20050309.162127.a244a894.en.html
+
+== END PATCH
+Index: mutt/menu.c
+===================================================================
+--- mutt.orig/menu.c   2009-06-25 12:35:36.000000000 +0200
++++ mutt/menu.c        2009-06-25 12:36:19.000000000 +0200
+@@ -853,8 +853,17 @@
+ int mutt_menuLoop (MUTTMENU *menu)
+ {
++  static int last_position = -1;
+   int i = OP_NULL;
++  if ( menu->max && menu->is_mailbox_list ) {
++    if ( last_position > (menu->max-1) ) {
++      last_position = -1;
++    } else if (last_position >= 0) {
++      menu->current = last_position;
++    }
++  }
++
+   FOREVER
+   {
+     if (option (OPTMENUCALLER))
+@@ -1082,6 +1091,8 @@
+       break;
+       default:
++        if (menu->is_mailbox_list)
++          last_position = menu->current;
+       return (i);
+     }
+   }
+Index: mutt/browser.c
+===================================================================
+--- mutt.orig/browser.c        2009-06-25 12:35:37.000000000 +0200
++++ mutt/browser.c     2009-06-25 12:36:19.000000000 +0200
+@@ -55,6 +55,7 @@
+   int num;
+ } FOLDER;
++static char OldLastDir[_POSIX_PATH_MAX] = "";
+ static char LastDir[_POSIX_PATH_MAX] = "";
+ static char LastDirBackup[_POSIX_PATH_MAX] = "";
+@@ -519,9 +520,13 @@
+   menu->tagged = 0;
+   
+   if (buffy)
++  {
++    menu->is_mailbox_list = 1;
+     snprintf (title, titlelen, _("Mailboxes [%d]"), mutt_buffy_check (0));
++  }
+   else
+   {
++    menu->is_mailbox_list = 0;
+     strfcpy (path, LastDir, sizeof (path));
+     mutt_pretty_mailbox (path, sizeof (path));
+ #ifdef USE_IMAP
+@@ -530,8 +535,22 @@
+             path, NONULL (Mask.pattern));
+   else
+ #endif
+-    snprintf (title, titlelen, _("Directory [%s], File mask: %s"),
+-            path, NONULL(Mask.pattern));
++     {
++       char *p = strrchr (OldLastDir, '/');
++       if (p && p - OldLastDir == mutt_strlen (LastDir) &&
++          mutt_strncmp (LastDir, OldLastDir, p - OldLastDir) == 0)
++       {
++        /* If we get here, it means that LastDir is the parent directory of
++         * OldLastDir.  I.e., we're returning from a subdirectory, and we want
++         * to position the cursor on the directory we're returning from. */
++        int i;
++        for (i = 0; i < state->entrymax; i++)
++          if (mutt_strcmp (state->entry[i].name, p + 1) == 0)
++            menu->current = i;
++       }
++       snprintf (title, titlelen, _("Directory [%s], File mask: %s"),
++                path, NONULL(Mask.pattern));
++     }
+   }
+   menu->redraw = REDRAW_FULL;
+ }
+@@ -714,7 +733,6 @@
+ #endif
+           )
+         {
+-          char OldLastDir[_POSIX_PATH_MAX];
+           /* save the old directory */
+           strfcpy (OldLastDir, LastDir, sizeof (OldLastDir));
+Index: mutt/mutt_menu.h
+===================================================================
+--- mutt.orig/mutt_menu.h      2009-06-25 12:35:44.000000000 +0200
++++ mutt/mutt_menu.h   2009-06-25 12:36:19.000000000 +0200
+@@ -49,6 +49,7 @@
+   int offset; /* which screen row to start the index */
+   int pagelen;        /* number of entries per screen */
+   int tagprefix;
++  int is_mailbox_list;
+   /* Setting dialog != NULL overrides normal menu behaviour. 
+    * In dialog mode menubar is hidden and prompt keys are checked before
diff --git a/debian/patches/features/trash-folder b/debian/patches/features/trash-folder
new file mode 100644 (file)
index 0000000..b871175
--- /dev/null
@@ -0,0 +1,301 @@
+# vim:ft=diff:
+This is the trash folder patch by Cedric Duval <cedricduval@free.fr>.
+
+With this patch, if the trash variable is set to a path (unset by default), the
+deleted mails will be moved to a trash folder instead of being irremediably
+purged when syncing the mailbox.
+
+For instance, set trash="~/Mail/trash" will cause every deleted mail to go to
+this folder.
+
+Note that the append to the trash folder doesn't occur until the resync is
+done. This allows you to change your mind and undo deletes, and thus the moves
+to the trash folder are unnecessary.
+
+Notes
+
+    * You might also want to have a look at the purge message feature below
+      which is related to this patch.
+    * IMAP is now supported. To retain the previous behavior, add this to your
+      muttrc:
+      folder-hook ^imap:// 'unset trash'
+
+FAQ
+
+Every once in a while, someone asks what are the advantages of this patch over
+a macro based solution. Here's an attempt to answer this question:
+
+    * The folder history doesn't clutter up with unwanted trash entries.
+    * Delayed move to the trash allows to change one's mind.
+    * No need to treat the case of "normal folders" and trash folders
+      separately with folder-hooks, and to create two sets of macros (one for
+      the index, one for the pager).
+    * Works not only with delete-message, but also with every deletion
+      functions like delete-pattern, delete-thread or delete-subthread.
+
+To sum up, it's more integrated and transparent to the user.
+
+* Patch last synced with upstream:
+  - Date: 2007-02-15
+  - File: http://cedricduval.free.fr/mutt/patches/download/patch-1.5.5.1.cd.trash_folder.3.4
+
+* Changes made:
+  - Updated to 1.5.13:
+    - structure of _mutt_save_message changed (commands.c)
+    - context of option (OPTCONFIRMAPPEND) changed (muttlib.c)
+  - Fixed indentation of "appended" in mutt.h.
+
+== END PATCH
+Index: mutt/commands.c
+===================================================================
+--- mutt.orig/commands.c       2009-06-25 12:35:37.000000000 +0200
++++ mutt/commands.c    2009-06-25 12:35:48.000000000 +0200
+@@ -716,6 +716,7 @@
+     if (option (OPTDELETEUNTAG))
+       mutt_set_flag (Context, h, M_TAG, 0);
+   }
++  mutt_set_flag (Context, h, M_APPENDED, 1);
+   
+   return 0;
+ }
+Index: mutt/flags.c
+===================================================================
+--- mutt.orig/flags.c  2009-06-25 12:35:37.000000000 +0200
++++ mutt/flags.c       2009-06-25 12:35:48.000000000 +0200
+@@ -65,7 +65,13 @@
+       {
+       h->deleted = 0;
+         update = 1;
+-      if (upd_ctx) ctx->deleted--;
++      if (upd_ctx)
++      {
++        ctx->deleted--;
++        if (h->appended)
++          ctx->appended--;
++      }
++      h->appended = 0; /* when undeleting, also reset the appended flag */
+ #ifdef USE_IMAP
+         /* see my comment above */
+       if (ctx->magic == M_IMAP) 
+@@ -87,6 +93,17 @@
+       }
+       break;
++    case M_APPENDED:
++      if (bf)
++      {
++      if (!h->appended)
++      {
++        h->appended = 1;
++        if (upd_ctx) ctx->appended++;
++      }
++      }
++      break;
++
+     case M_NEW:
+       if (!mutt_bit_isset(ctx->rights,M_ACL_SEEN))
+Index: mutt/globals.h
+===================================================================
+--- mutt.orig/globals.h        2009-06-25 12:35:44.000000000 +0200
++++ mutt/globals.h     2009-06-25 12:35:48.000000000 +0200
+@@ -139,6 +139,7 @@
+ WHERE char *Status;
+ WHERE char *Tempdir;
+ WHERE char *Tochars;
++WHERE char *TrashPath;
+ WHERE char *Username;
+ WHERE char *Visual;
+ WHERE char *XtermTitle;
+Index: mutt/imap/message.c
+===================================================================
+--- mutt.orig/imap/message.c   2009-06-25 12:35:37.000000000 +0200
++++ mutt/imap/message.c        2009-06-25 12:35:48.000000000 +0200
+@@ -867,6 +867,7 @@
+         if (ctx->hdrs[n]->tagged)
+         {
+           mutt_set_flag (ctx, ctx->hdrs[n], M_DELETE, 1);
++        mutt_set_flag (ctx, ctx->hdrs[n], M_APPENDED, 1);
+           if (option (OPTDELETEUNTAG))
+             mutt_set_flag (ctx, ctx->hdrs[n], M_TAG, 0);
+         }
+@@ -874,6 +875,7 @@
+     else
+     {
+       mutt_set_flag (ctx, h, M_DELETE, 1);
++      mutt_set_flag (ctx, h, M_APPENDED, 1);
+       if (option (OPTDELETEUNTAG))
+         mutt_set_flag (ctx, h, M_TAG, 0);
+     }
+Index: mutt/init.h
+===================================================================
+--- mutt.orig/init.h   2009-06-25 12:35:44.000000000 +0200
++++ mutt/init.h        2009-06-25 12:35:48.000000000 +0200
+@@ -3180,6 +3180,16 @@
+   ** by \fIyou\fP.  The sixth character is used to indicate when a mail
+   ** was sent to a mailing-list you subscribe to.
+   */
++  { "trash",          DT_PATH, R_NONE, UL &TrashPath, 0 },
++  /*
++  ** .pp
++  ** If set, this variable specifies the path of the trash folder where the
++  ** mails marked for deletion will be moved, instead of being irremediably
++  ** purged.
++  ** .pp
++  ** NOTE: When you delete a message in the trash folder, it is really
++  ** deleted, so that you have a way to clean the trash.
++  */
+ #ifdef USE_SOCKET
+   { "tunnel",            DT_STR, R_NONE, UL &Tunnel, UL 0 },
+   /*
+Index: mutt/mutt.h
+===================================================================
+--- mutt.orig/mutt.h   2009-06-25 12:35:44.000000000 +0200
++++ mutt/mutt.h        2009-06-25 12:35:48.000000000 +0200
+@@ -187,6 +187,7 @@
+   M_DELETE,
+   M_UNDELETE,
+   M_DELETED,
++  M_APPENDED,
+   M_FLAG,
+   M_TAG,
+   M_UNTAG,
+@@ -702,6 +703,7 @@
+   unsigned int mime : 1;              /* has a MIME-Version header? */
+   unsigned int flagged : 1;           /* marked important? */
+   unsigned int tagged : 1;
++  unsigned int appended : 1;          /* has been saved */
+   unsigned int deleted : 1;
+   unsigned int changed : 1;
+   unsigned int attach_del : 1;                /* has an attachment marked for deletion */
+@@ -874,6 +876,7 @@
+   int new;                    /* how many new messages? */
+   int unread;                 /* how many unread messages? */
+   int deleted;                        /* how many deleted messages */
++  int appended;                 /* how many saved messages? */
+   int flagged;                        /* how many flagged messages */
+   int msgnotreadyet;          /* which msg "new" in pager, -1 if none */
+Index: mutt/muttlib.c
+===================================================================
+--- mutt.orig/muttlib.c        2009-06-25 12:35:37.000000000 +0200
++++ mutt/muttlib.c     2009-06-25 12:35:48.000000000 +0200
+@@ -1460,7 +1460,9 @@
+   if (magic > 0 && !mx_access (s, W_OK))
+   {
+-    if (option (OPTCONFIRMAPPEND))
++    if (option (OPTCONFIRMAPPEND) &&
++      (!TrashPath || (mutt_strcmp (s, TrashPath) != 0)))
++      /* if we're appending to the trash, there's no point in asking */
+     {
+       snprintf (tmp, sizeof (tmp), _("Append messages to %s?"), s);
+       if ((rc = mutt_yesorno (tmp, M_YES)) == M_NO)
+Index: mutt/mx.c
+===================================================================
+--- mutt.orig/mx.c     2009-06-25 12:35:37.000000000 +0200
++++ mutt/mx.c  2009-06-25 12:35:48.000000000 +0200
+@@ -773,6 +773,53 @@
+   return rc;
+ }
++/* move deleted mails to the trash folder */
++static int trash_append (CONTEXT *ctx)
++{
++    CONTEXT *ctx_trash;
++    int i = 0;
++    struct stat st, stc;
++
++    if (!TrashPath || !ctx->deleted ||
++      (ctx->magic == M_MAILDIR && option (OPTMAILDIRTRASH)))
++      return 0;
++
++    for (;i < ctx->msgcount && (!ctx->hdrs[i]->deleted ||
++                              ctx->hdrs[i]->appended); i++);
++    if (i == ctx->msgcount)
++      return 0; /* nothing to be done */
++
++    if (mutt_save_confirm (TrashPath, &st) != 0)
++    {
++      mutt_error _("message(s) not deleted");
++      return -1;
++    }
++
++    if (lstat (ctx->path, &stc) == 0 && stc.st_ino == st.st_ino
++      && stc.st_dev == st.st_dev && stc.st_rdev == st.st_rdev)
++      return 0;  /* we are in the trash folder: simple sync */
++
++    if ((ctx_trash = mx_open_mailbox (TrashPath, M_APPEND, NULL)) != NULL)
++    {
++      for (i = 0 ; i < ctx->msgcount ; i++)
++      if (ctx->hdrs[i]->deleted && !ctx->hdrs[i]->appended
++          && mutt_append_message (ctx_trash, ctx, ctx->hdrs[i], 0, 0) == -1)
++        {
++          mx_close_mailbox (ctx_trash, NULL);
++          return -1;
++        }
++
++      mx_close_mailbox (ctx_trash, NULL);
++    }
++    else
++    {
++      mutt_error _("Can't open trash folder");
++      return -1;
++    }
++
++    return 0;
++}
++
+ /* save changes and close mailbox */
+ int mx_close_mailbox (CONTEXT *ctx, int *index_hint)
+ {
+@@ -909,6 +956,7 @@
+         if (mutt_append_message (&f, ctx, ctx->hdrs[i], 0, CH_UPDATE_LEN) == 0)
+         {
+           mutt_set_flag (ctx, ctx->hdrs[i], M_DELETE, 1);
++          mutt_set_flag (ctx, ctx->hdrs[i], M_APPENDED, 1);
+         }
+         else
+         {
+@@ -931,6 +979,14 @@
+     return 0;
+   }
+   
++  /* copy mails to the trash before expunging */
++  if (purge && ctx->deleted && mutt_strcmp(ctx->path, TrashPath))
++    if (trash_append (ctx) != 0)
++    {
++      ctx->closing = 0;
++      return -1;
++    }
++
+ #ifdef USE_IMAP
+   /* allow IMAP to preserve the deleted flag across sessions */
+   if (ctx->magic == M_IMAP)
+@@ -1130,6 +1186,12 @@
+   msgcount = ctx->msgcount;
+   deleted = ctx->deleted;
++  if (purge && ctx->deleted && mutt_strcmp(ctx->path, TrashPath))
++  {
++    if (trash_append (ctx) == -1)
++      return -1;
++  }
++
+ #ifdef USE_IMAP
+   if (ctx->magic == M_IMAP)
+     rc = imap_sync_mailbox (ctx, purge, index_hint);
+Index: mutt/postpone.c
+===================================================================
+--- mutt.orig/postpone.c       2009-06-25 12:35:37.000000000 +0200
++++ mutt/postpone.c    2009-06-25 12:35:48.000000000 +0200
+@@ -276,6 +276,9 @@
+   /* finished with this message, so delete it. */
+   mutt_set_flag (PostContext, h, M_DELETE, 1);
++  /* and consider it saved, so that it won't be moved to the trash folder */
++  mutt_set_flag (PostContext, h, M_APPENDED, 1);
++
+   /* update the count for the status display */
+   PostCount = PostContext->msgcount - PostContext->deleted;
diff --git a/debian/patches/features/xtitles b/debian/patches/features/xtitles
new file mode 100644 (file)
index 0000000..b42acc1
--- /dev/null
@@ -0,0 +1,182 @@
+# vi: ft=diff
+This is the xterm title patch as found on the mutt mailing lists.
+
+* Changes made:
+  - 2007-01-27 myon: using %P caused a segfault, updated status.c to catch
+    menu==NULL.
+  - 2007-02-20 myon: make the note about the xterm_set_titles defaults a
+    comment.
+  - 2008-08-02 myon: move set_xterm_* prototypes into the proper header file
+    (cleaner code, no functional change, evades conflict with sidebar patch)
+
+== END PATCH
+Index: mutt/curs_main.c
+===================================================================
+--- mutt.orig/curs_main.c      2009-06-25 12:35:37.000000000 +0200
++++ mutt/curs_main.c   2009-06-25 12:35:44.000000000 +0200
+@@ -110,6 +110,19 @@
+ extern size_t UngetCount;
++#define ASCII_CTRL_G                  0x07
++#define ASCII_CTRL_OPEN_SQUARE_BRAKET 0x1b
++
++void set_xterm_title_bar(char *title)
++{
++  fprintf(stderr ,"%c]2;%s%c", ASCII_CTRL_OPEN_SQUARE_BRAKET, title, ASCII_CTRL_G);
++}
++
++void set_xterm_icon_name(char *name)
++{
++  fprintf(stderr, "%c]1;%s%c", ASCII_CTRL_OPEN_SQUARE_BRAKET, name, ASCII_CTRL_G);
++}
++
+ void index_make_entry (char *s, size_t l, MUTTMENU *menu, int num)
+ {
+   format_flag flag = M_FORMAT_MAKEPRINT | M_FORMAT_ARROWCURSOR | M_FORMAT_INDEX;
+@@ -566,6 +579,13 @@
+       SETCOLOR (MT_COLOR_NORMAL);
+         BKGDSET (MT_COLOR_NORMAL);
+       menu->redraw &= ~REDRAW_STATUS;
++      if (option(OPTXTERMSETTITLES))
++      {
++        menu_status_line (buf, sizeof (buf), menu, NONULL (XtermTitle));
++        set_xterm_title_bar(buf);
++        menu_status_line (buf, sizeof (buf), menu, NONULL (XtermIcon));
++        set_xterm_icon_name(buf);
++      }
+       }
+       menu->redraw = 0;
+Index: mutt/globals.h
+===================================================================
+--- mutt.orig/globals.h        2009-06-25 12:35:37.000000000 +0200
++++ mutt/globals.h     2009-06-25 12:35:44.000000000 +0200
+@@ -141,6 +141,8 @@
+ WHERE char *Tochars;
+ WHERE char *Username;
+ WHERE char *Visual;
++WHERE char *XtermTitle;
++WHERE char *XtermIcon;
+ WHERE char *CurrentFolder;
+ WHERE char *LastFolder;
+Index: mutt/init.c
+===================================================================
+--- mutt.orig/init.c   2009-06-25 12:35:42.000000000 +0200
++++ mutt/init.c        2009-06-25 12:35:44.000000000 +0200
+@@ -1892,6 +1892,26 @@
+       toggle_option (MuttVars[idx].data);
+       else
+       set_option (MuttVars[idx].data);
++
++      /* sanity check for xterm */
++      if ((mutt_strcmp (MuttVars[idx].option, "xterm_set_titles") == 0)
++              && option (OPTXTERMSETTITLES))
++      {
++      char *ep = getenv ("TERM");
++      /* Make sure that the terminal can take the control codes */
++      if (ep == NULL) unset_option (MuttVars[idx].data);
++      else if (mutt_strncasecmp (ep, "xterm", 5) &&
++               mutt_strncasecmp (ep, "color-xterm", 11) &&
++               mutt_strncasecmp (ep, "eterm", 5) &&
++               mutt_strncasecmp (ep, "kterm", 5) &&
++               mutt_strncasecmp (ep, "nxterm", 6) &&
++               mutt_strncasecmp (ep, "putty", 5) &&
++               mutt_strncasecmp (ep, "screen", 6) &&
++               mutt_strncasecmp (ep, "cygwin", 6) &&
++               mutt_strncasecmp (ep, "rxvt", 4) )
++        unset_option (MuttVars[idx].  data);
++
++      }
+     }
+     else if (myvar || DTYPE (MuttVars[idx].type) == DT_STR ||
+            DTYPE (MuttVars[idx].type) == DT_PATH ||
+Index: mutt/init.h
+===================================================================
+--- mutt.orig/init.h   2009-06-25 12:35:42.000000000 +0200
++++ mutt/init.h        2009-06-25 12:35:44.000000000 +0200
+@@ -3337,6 +3337,27 @@
+   ** Also see the $$read_inc, $$net_inc and $$time_inc variables and the
+   ** ``$tuning'' section of the manual for performance considerations.
+   */
++  {"xterm_icon",       DT_STR,   R_BOTH, UL &XtermIcon,  UL "M%?n?AIL&ail?"},
++  /*
++  ** .pp
++  ** Controls the format of the icon title, as long as xterm_set_titles
++  ** is enabled. This string is identical in formatting to the one used by
++  ** ``$$status_format''.
++  */
++  {"xterm_set_titles", DT_BOOL,  R_BOTH, OPTXTERMSETTITLES, 0},
++  /* The default must be off to force in the validity checking. */
++  /*
++  ** .pp
++  ** Controls whether mutt sets the xterm title bar and icon name
++  ** (as long as you are in an appropriate terminal).
++  */
++  {"xterm_title",      DT_STR,   R_BOTH, UL &XtermTitle, UL "Mutt with %?m?%m messages&no messages?%?n? [%n NEW]?"},
++  /*
++  ** .pp
++  ** Controls the format of the title bar of the xterm provided that
++  ** xterm_set_titles has been set. This string is identical in formatting
++  ** to the one used by ``$$status_format''.
++  */
+   /*--*/
+   { NULL, 0, 0, 0, 0 }
+ };
+Index: mutt/mutt.h
+===================================================================
+--- mutt.orig/mutt.h   2009-06-25 12:35:37.000000000 +0200
++++ mutt/mutt.h        2009-06-25 12:35:44.000000000 +0200
+@@ -446,6 +446,7 @@
+   OPTWRAPSEARCH,
+   OPTWRITEBCC,                /* write out a bcc header? */
+   OPTXMAILER,
++  OPTXTERMSETTITLES,
+   OPTCRYPTUSEGPGME,
+   OPTCRYPTUSEPKA,
+Index: mutt/pager.c
+===================================================================
+--- mutt.orig/pager.c  2009-06-25 12:35:37.000000000 +0200
++++ mutt/pager.c       2009-06-25 12:35:44.000000000 +0200
+@@ -1784,6 +1784,13 @@
+       }
+       BKGDSET (MT_COLOR_NORMAL);
+       SETCOLOR (MT_COLOR_NORMAL);
++      if (option(OPTXTERMSETTITLES))
++      {
++      menu_status_line (buffer, sizeof (buffer), index, NONULL (XtermTitle));
++      set_xterm_title_bar(buffer);
++      menu_status_line (buffer, sizeof (buffer), index, NONULL (XtermIcon));
++      set_xterm_icon_name(buffer);
++      }
+     }
+     if ((redraw & REDRAW_INDEX) && index)
+Index: mutt/status.c
+===================================================================
+--- mutt.orig/status.c 2009-06-25 12:35:37.000000000 +0200
++++ mutt/status.c      2009-06-25 12:35:44.000000000 +0200
+@@ -195,6 +195,8 @@
+       break;
+     case 'P':
++      if (!menu)
++      break;
+       if (menu->top + menu->pagelen >= menu->max)
+       cp = menu->top ? "end" : "all";
+       else
+Index: mutt/mutt_menu.h
+===================================================================
+--- mutt.orig/mutt_menu.h      2009-06-25 12:35:37.000000000 +0200
++++ mutt/mutt_menu.h   2009-06-25 12:35:44.000000000 +0200
+@@ -103,6 +103,8 @@
+ void menu_current_bottom (MUTTMENU *);
+ void menu_check_recenter (MUTTMENU *);
+ void menu_status_line (char *, size_t, MUTTMENU *, const char *);
++void set_xterm_title_bar (char *title);
++void set_xterm_icon_name (char *name);
+ MUTTMENU *mutt_new_menu (int);
+ void mutt_menuDestroy (MUTTMENU **);
diff --git a/debian/patches/misc/am-maintainer-mode b/debian/patches/misc/am-maintainer-mode
new file mode 100644 (file)
index 0000000..7a6024d
--- /dev/null
@@ -0,0 +1,15 @@
+Adds AM_MAINTAINER_MODE to configure.ac so the timestamp of the
+automake files won't be updated
+
+Index: debian-mutt-sidebar/configure.ac
+===================================================================
+--- debian-mutt-sidebar.orig/configure.ac      2007-08-11 16:42:36.000000000 +0200
++++ debian-mutt-sidebar/configure.ac   2007-08-11 16:42:49.000000000 +0200
+@@ -9,6 +9,7 @@ AM_CONFIG_HEADER([config.h])
+ mutt_cv_version=`cat $srcdir/VERSION`
+ AM_INIT_AUTOMAKE(mutt, $mutt_cv_version)
++AM_MAINTAINER_MODE
+ AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
+ AC_GNU_SOURCE
diff --git a/debian/patches/misc/define-pgp_getkeys_command.diff b/debian/patches/misc/define-pgp_getkeys_command.diff
new file mode 100644 (file)
index 0000000..17f503c
--- /dev/null
@@ -0,0 +1,13 @@
+disabling pgp_getkeys_command until upstream fixes it
+
+--- a/contrib/gpg.rc
++++ b/contrib/gpg.rc
+@@ -72,6 +72,8 @@ set pgp_list_secring_command="gpg --no-v
+ # fetch keys
+ # set pgp_getkeys_command="pkspxycwrap %r"
++# This will work when #172960 will be fixed upstream
++# set pgp_getkeys_command="gpg --recv-keys %r"
+ # pattern for good signature - may need to be adapted to locale!
diff --git a/debian/patches/misc/gpg.rc-paths b/debian/patches/misc/gpg.rc-paths
new file mode 100644 (file)
index 0000000..b27b7a6
--- /dev/null
@@ -0,0 +1,20 @@
+use the correct path of pgpewrap
+
+Index: debian-mutt/contrib/gpg.rc
+===================================================================
+--- debian-mutt.orig/contrib/gpg.rc    2007-03-20 22:20:31.000000000 +0100
++++ debian-mutt/contrib/gpg.rc 2007-03-20 22:25:55.000000000 +0100
+@@ -49,11 +49,11 @@ set pgp_clearsign_command="gpg --no-verb
+ # create a pgp/mime encrypted attachment
+ # set pgp_encrypt_only_command="pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
+-set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
++set pgp_encrypt_only_command="/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
+ # create a pgp/mime encrypted and signed attachment
+ # set pgp_encrypt_sign_command="pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
+-set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
++set pgp_encrypt_sign_command="/usr/lib/mutt/pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
+ # import a key into the public key ring
+ set pgp_import_command="gpg --no-verbose --import %f"
diff --git a/debian/patches/misc/hg.pmdef.debugtime b/debian/patches/misc/hg.pmdef.debugtime
new file mode 100644 (file)
index 0000000..a5b3ae9
--- /dev/null
@@ -0,0 +1,57 @@
+see http://bugs.mutt.org/3263, this patch adds time/date to
+the entries in .muttdebug so it will be easier to correlate them
+to external events logged in tcpdump streams or logfiles
+
+--- a/init.c
++++ b/init.c
+@@ -2846,8 +2846,8 @@
+   {
+     t = time (0);
+     setbuf (debugfile, NULL); /* don't buffer the debugging output! */
+-    fprintf (debugfile, "Mutt %s started at %s.\nDebugging at level %d.\n\n",
+-           MUTT_VERSION, asctime (localtime (&t)), debuglevel);
++    dprint(1,(debugfile,"Mutt/%s (%s) debugging at level %d\n",
++            MUTT_VERSION, ReleaseDate, debuglevel));
+   }
+ }
+ #endif
+--- a/lib.c
++++ b/lib.c
+@@ -1007,6 +1007,24 @@
+   return sysexits_h[i].str;
+ }
++void mutt_debug (FILE *fp, const char *fmt, ...)
++{
++  va_list ap;
++  time_t now = time (NULL);
++  static char buf[23] = "";
++  static time_t last = 0;
++
++  if (now > last)
++  {
++    strftime (buf, sizeof (buf), "%Y-%m-%d %H:%M:%S", localtime (&now));
++    last = now;
++  }
++  fprintf (fp, "[%s] ", buf);
++  va_start (ap, fmt);
++  vfprintf (fp, fmt, ap);
++  va_end (ap);
++}
++
+ int mutt_atos (const char *str, short *dst)
+ {
+   int rc;
+--- a/lib.h
++++ b/lib.h
+@@ -126,7 +126,9 @@
+ MUTT_LIB_WHERE FILE *debugfile MUTT_LIB_INITVAL(0);
+ MUTT_LIB_WHERE int debuglevel MUTT_LIB_INITVAL(0);
+-#  define dprint(N,X) do { if(debuglevel>=N && debugfile) fprintf X; } while (0)
++void mutt_debug (FILE *, const char *, ...);
++
++#  define dprint(N,X) do { if(debuglevel>=N && debugfile) mutt_debug X; } while (0)
+ # else
diff --git a/debian/patches/misc/hyphen-as-minus.patch b/debian/patches/misc/hyphen-as-minus.patch
new file mode 100644 (file)
index 0000000..2b87530
--- /dev/null
@@ -0,0 +1,36 @@
+patch to escape all hyphen so they will be interpreted as minus
+signs and lintian will not complain
+
+--- a/doc/mutt.man
++++ b/doc/mutt.man
+@@ -23,7 +23,7 @@
+ .SH SYNOPSIS
+ .PP
+ .B mutt
+-[-nRyzZ] 
++[\-nRyzZ]
+ [\-e \fIcmd\fP] [\-F \fIfile\fP] [\-m \fItype\fP] [\-f \fIfile\fP]
+ .PP
+ .B mutt 
+@@ -59,10 +59,10 @@
+ [\-n] [\-e \fIcmd\fP] [\-F \fIfile\fP] \-Q \fIquery\fP
+ .PP
+ .B mutt 
+--v[v]
++\-v[v]
+ .PP
+ .B mutt 
+--D
++\-D
+ .SH DESCRIPTION
+ .PP
+ Mutt is a small but very powerful text based program for reading and sending electronic
+@@ -81,7 +81,7 @@
+ .IP "-a \fIfile\fP [...]"
+ Attach a file to your message using MIME.
+ When attaching single or multiple files, separating filenames and recipient addresses with
+-"\-\-" is mandatory, e.g. \fBmutt -a image.jpg \-\- addr1\fP or
++"\-\-" is mandatory, e.g. \fBmutt \-a image.jpg \-\- addr1\fP or
+ \fBmutt \-a img.jpg *.png \-\- addr1 addr2\fP.
+ The \-a option must be placed at the end of command line options.
+ .IP "-b \fIaddress\fP"
diff --git a/debian/patches/misc/manpage-typos.patch b/debian/patches/misc/manpage-typos.patch
new file mode 100644 (file)
index 0000000..38ccade
--- /dev/null
@@ -0,0 +1,46 @@
+Fixes some errors in the manpage, see http://bugs.debian.org/428017
+
+--- a/init.h
++++ b/init.h
+@@ -760,7 +760,7 @@
+   ** If the GECOS field contains a string like ``lastname, firstname'' then you
+   ** should set it to ``\fC.*\fP''.
+   ** .pp
+-  ** This can be useful if you see the following behavior: you address a e-mail
++  ** This can be useful if you see the following behavior: you address an e-mail
+   ** to user ID ``stevef'' whose full name is ``Steve Franklin''.  If mutt expands
+   ** ``stevef'' to ``"Franklin" stevef@foo.bar'' then you should set the $$gecos_mask to
+   ** a regular expression that will match the whole name so mutt will expand
+@@ -1869,7 +1869,7 @@
+   { "pgp_clearsign_command",  DT_STR, R_NONE, UL &PgpClearSignCommand, 0 },
+   /*
+   ** .pp
+-  ** This format is used to create a old-style ``clearsigned'' PGP
++  ** This format is used to create an old-style ``clearsigned'' PGP
+   ** message.  Note that the use of this format is \fBstrongly\fP
+   ** \fBdeprecated\fP.
+   ** .pp
+@@ -2218,20 +2218,20 @@
+   { "ssl_use_sslv2", DT_BOOL, R_NONE, OPTSSLV2, 1 },
+   /*
+   ** .pp
+-  ** This variables specifies whether to attempt to use SSLv2 in the
++  ** This variable specifies whether to attempt to use SSLv2 in the
+   ** SSL authentication process.
+   */
+ # endif /* defined USE_SSL_OPENSSL */
+   { "ssl_use_sslv3", DT_BOOL, R_NONE, OPTSSLV3, 1 },
+   /*
+   ** .pp
+-  ** This variables specifies whether to attempt to use SSLv3 in the
++  ** This variable specifies whether to attempt to use SSLv3 in the
+   ** SSL authentication process.
+   */
+   { "ssl_use_tlsv1", DT_BOOL, R_NONE, OPTTLSV1, 1 },
+   /*
+   ** .pp
+-  ** This variables specifies whether to attempt to use TLSv1 in the
++  ** This variable specifies whether to attempt to use TLSv1 in the
+   ** SSL authentication process.
+   */
+ # ifdef USE_SSL_GNUTLS
diff --git a/debian/patches/misc/smime.rc b/debian/patches/misc/smime.rc
new file mode 100644 (file)
index 0000000..f22c872
--- /dev/null
@@ -0,0 +1,49 @@
+add CA's provided by ca-certificates to the ones distributed by
+the default installation of mutt
+
+--- a/contrib/smime.rc
++++ b/contrib/smime.rc
+@@ -4,33 +4,34 @@
+ # If you compiled mutt with support for both PGP and S/MIME, PGP
+ # will be the default method unless the following option is set
+-set smime_is_default
++#set smime_is_default
+ # Uncoment this if you don't want to set labels for certificates you add.
+ # unset smime_ask_cert_label
+ # Passphrase expiration
+-set smime_timeout=300
++#set smime_timeout=300
+ # Global crypto options -- these affect PGP operations as well.
+-set crypt_autosign = yes
+-set crypt_replyencrypt = yes
+-set crypt_replysign = yes
+-set crypt_replysignencrypted = yes
+-set crypt_verify_sig = yes
++#set crypt_autosign = yes
++#set crypt_replyencrypt = yes
++#set crypt_replysign = yes
++#set crypt_replysignencrypted = yes
++#set crypt_verify_sig = yes
+ # Section A: Key Management.
+ # The (default) keyfile for signing/decrypting.  Uncomment the following
+ # line and replace the keyid with your own.
+-set smime_default_key="12345678.0"
++#set smime_default_key="12345678.0"
+ # Uncommen to make mutt ask what key to use when trying to decrypt a message.
+ # It will use the default key above (if that was set) else.
+ # unset smime_decrypt_use_default_key
+ # Path to a file or directory with trusted certificates
+-set smime_ca_location="~/.smime/ca-bundle.crt"
++#set smime_ca_location="~/.smime/ca-bundle.crt"
++set smime_ca_location=`for f in $HOME/.smime/ca-certificates.crt $HOME/.smime/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt ; do if [ -e $f ] ; then echo $f ; exit ; fi ; done`
+ # Path to where all known certificates go. (must exist!)
+ set smime_certificates="~/.smime/certificates"
diff --git a/debian/patches/misc/smime_keys-manpage.patch b/debian/patches/misc/smime_keys-manpage.patch
new file mode 100644 (file)
index 0000000..e159d44
--- /dev/null
@@ -0,0 +1,133 @@
+add a missing manpage for smime_keys
+see upstream CR #3272
+
+Index: mutt/doc/Makefile.am
+===================================================================
+--- mutt.orig/doc/Makefile.am  2009-06-25 12:35:40.000000000 +0200
++++ mutt/doc/Makefile.am       2009-06-25 12:36:48.000000000 +0200
+@@ -10,6 +10,7 @@
+ noinst_PROGRAMS = makedoc
+ EXTRA_DIST = dotlock.man              \
++        smime_keys.man                  \
+       muttbug.man                     \
+       mutt.man                        \
+       PGP-Notes.txt                   \
+@@ -45,13 +46,14 @@
+ all: makedoc-all
+-makedoc-all: mutt.1 muttrc.man manual.html stamp-doc-rc stamp-doc-chunked manual.txt
++makedoc-all: mutt.1 smime_keys.1 muttrc.man manual.html stamp-doc-rc stamp-doc-chunked manual.txt
+ install-data-local: makedoc-all instdoc
+       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1
+       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man5
+       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
+       ./instdoc mutt.1 $(DESTDIR)$(mandir)/man1/mutt.1
++      ./instdoc smime_keys.1 $(DESTDIR)$(mandir)/man1/smime_keys.1
+       ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/flea.1
+       ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/muttbug.1
+       test x@DOTLOCK_TARGET@ = x || ./instdoc $(srcdir)/dotlock.man \
+@@ -80,7 +82,7 @@
+       fi
+ uninstall-local:
+-      for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 ; do \
++      for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 smime_keys.1; do \
+               rm -f $(DESTDIR)$(mandir)/man1/$$f ; \
+       done
+       for f in muttrc.5 mbox.5 mmdf.5 ; do \
+@@ -142,7 +144,7 @@
+       rm -rf vars.tmp.1 vars.tmp.2
+ clean-local:
+-      rm -f *~ *.html *.orig *.rej  stamp-doc-* *.ps mutt.1 muttrc.man
++      rm -f *~ *.html *.orig *.rej  stamp-doc-* *.ps mutt.1 smime_keys.1 muttrc.man
+       rm -f *.aux *.log *.tex *.out
+ DISTCLEANFILES=manual.txt manual.html manual.xml manual.pdf html \
+@@ -166,6 +168,9 @@
+ mutt.1: $(srcdir)/mutt.man
+       $(EDIT) $(srcdir)/mutt.man > $@
++smime_keys.1: $(srcdir)/smime_keys.man
++      $(EDIT) $(srcdir)/smime_keys.man > $@
++
+ stamp-doc-xml: makedoc$(EXEEXT) $(top_srcdir)/init.h \
+                manual.xml.head $(top_srcdir)/functions.h $(top_srcdir)/OPS* manual.xml.tail \
+                $(srcdir)/gen-map-doc $(top_srcdir)/VERSION $(top_srcdir)/ChangeLog
+Index: mutt/doc/smime_keys.man
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ mutt/doc/smime_keys.man    2009-06-25 12:36:48.000000000 +0200
+@@ -0,0 +1,69 @@
++.\" -*-nroff-*-
++.\"
++.\"
++.\"     Copyright (C) 2001,2002 Oliver Ehli <elmy@acm.org>
++.\"     Copyright (C) 2001 Mike Schiraldi <raldi@research.netsol.com>
++.\"     Copyright (C) 2003 Bjoern Jacke <bjoern@j3e.de>
++.\"
++.\"     This program is free software; you can redistribute it and/or modify
++.\"     it under the terms of the GNU General Public License as published by
++.\"     the Free Software Foundation; either version 2 of the License, or
++.\"     (at your option) any later version.
++.\"
++.\"     This program is distributed in the hope that it will be useful,
++.\"     but WITHOUT ANY WARRANTY; without even the implied warranty of
++.\"     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++.\"     GNU General Public License for more details.
++.\"
++.\"     You should have received a copy of the GNU General Public License
++.\"     along with this program; if not, write to the Free Software
++.\"     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
++.\"
++.TH smime_keys 1 "May 2009" Unix "User Manuals"
++.SH "NAME"
++smime_keys \- Utility to add S/MIME certificate to the internal database used by mutt
++.SH SYNOPSIS
++.PP
++.B smime_keys
++<operation>  [file(s) | keyID [file(s)]]
++.SH "DESCRIPTION"
++The purpose of this tool is to manipulate the internal database of S/MIME certificates
++used by mutt to sign mail messages which will be sent or to verify mail messages received
++and signed with S/MIME
++.SH OPTIONS
++.PP
++.IP \fBinit\fP
++no files needed, inits directory structure.
++.IP \fBlist\fP
++lists the certificates stored in database.
++.IP \fBlabel\fP
++keyID required. changes/removes/adds label.
++.IP \fBremove\fP
++keyID required.
++.IP \fBverify\fP
++1=keyID and optionally 2=CRL
++Verifies the certificate chain, and optionally wether
++this certificate is included in supplied CRL (PEM format).
++Note: to verify all certificates at the same time,
++replace keyID with "all"
++.IP \fBadd_cert\fP
++certificate required.
++.IP \fBadd_chain\fP
++three files reqd: 1=Key, 2=certificate
++plus 3=intermediate certificate(s).
++.IP \fBadd_p12\fP
++one file reqd. Adds keypair to database.
++file is PKCS12 (e.g. export from netscape).
++.IP \fBadd_pem\fP
++one file reqd. Adds keypair to database.
++(file was converted from e.g. PKCS12).
++.IP \fBadd_root\fP
++one file reqd. Adds PEM root certificate to the location
++specified within muttrc (smime_verify_* command)
++.SH NO WARRANTIES
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++.PP
++Mutt Home Page: http://www.mutt.org/
diff --git a/debian/patches/mutt-patched/nntp b/debian/patches/mutt-patched/nntp
new file mode 100644 (file)
index 0000000..0f8c62e
--- /dev/null
@@ -0,0 +1,7607 @@
+WARNING: Run the following script before configure:
+
+aclocal -I m4
+autoheader
+automake --foreign
+autoconf
+
+-- 
+Vsevolod Volkov <vvv@mutt.org.ua>
+
+
+diff -udprP mutt-1.5.20.orig/ChangeLog.nntp mutt-1.5.20/ChangeLog.nntp
+--- mutt-1.5.20.orig/ChangeLog.nntp    1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.20/ChangeLog.nntp 2009-06-15 21:56:06.000000000 +0300
+@@ -0,0 +1,369 @@
++* Tue Jun 15 2009 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.20
++
++* Tue Mar 20 2009 Vsevolod Volkov <vvv@mutt.org.ua>
++- save Date: header of recorded outgoing articles
++
++* Tue Jan  6 2009 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.19
++
++* Mon May 19 2008 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.18
++- fixed SIGSEGV when followup or forward to newsgroup
++
++* Sun Nov  4 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.17
++
++* Tue Jul  3 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- fixed arguments of nntp_format_str()
++
++* Fri Jun 15 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- fixed error selecting news group
++
++* Tue Jun 12 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.16
++
++* Wed Apr 11 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- fixed posting error if $smtp_url is set
++- added support of print-style sequence %R (x-comment-to)
++
++* Sun Apr  8 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.15
++- nntp://... url changed to news://...
++- added indicator of fetching descriptions progress
++
++* Tue Feb 28 2007 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.14
++
++* Tue Aug 15 2006 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.13
++
++* Mon Jul 17 2006 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.12
++- fixed reading empty .newsrc
++
++* Sat Sep 17 2005 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.11
++
++* Sat Aug 13 2005 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.10
++
++* Sun Mar 13 2005 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.9
++
++* Sun Feb 13 2005 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.8
++
++* Sat Feb  5 2005 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.7
++- function mutt_update_list_file() moved to newsrc.c and changed algorithm
++
++* Thu Jul  8 2004 Vsevolod Volkov <vvv@mutt.org.ua>
++- fixed error in nntp_logout_all()
++
++* Sat Apr  3 2004 Vsevolod Volkov <vvv@mutt.org.ua>
++- fixed debug output in mutt_newsrc_update()
++- added optional support of LISTGROUP command
++- fixed typo in nntp_parse_xref()
++
++* Tue Feb  3 2004 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.6
++
++* Thu Dec 18 2003 Vsevolod Volkov <vvv@mutt.org.ua>
++- fixed compose menu
++
++* Thu Nov  6 2003 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.5.1
++
++* Wed Nov  5 2003 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.5
++- added space after newsgroup name in .newsrc file
++
++* Sun May 18 2003 Vsevolod Volkov <vvv@mutt.org.ua>
++- nntp patch: fixed SIGSEGV when posting article
++
++* Sat Mar 22 2003 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.4
++
++* Sat Dec 21 2002 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.3
++- replace safe_free calls by the FREE macro
++
++* Fri Dec  6 2002 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.2
++- nntp authentication can be passed after any command
++
++* Sat May  4 2002 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.5.1
++
++* Thu May  2 2002 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.99
++
++* Wed Mar 13 2002 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.28
++- fixed SIGSEGV in <get-message>, <get-parent>, <get-children>,
++  <reconstruct-thread> functions
++- fixed message about nntp reconnect
++- fixed <attach-news-message> function using browser
++- added support of Followup-To: poster
++- added %n (new articles) in group_index_format
++- posting articles without inews by default
++
++* Wed Jan 23 2002 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.27
++
++* Fri Jan 18 2002 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.26
++
++* Thu Jan  3 2002 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.25
++- accelerated speed of access to news->newsgroups hash (by <gul@gul.kiev.ua>)
++- added default content disposition
++
++* Mon Dec  3 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.24
++
++* Fri Nov  9 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.23.2
++- fixed segfault if mutt_conn_find() returns null
++
++* Wed Oct 31 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.23.1
++- added support of LISTGROUP command
++- added support for servers with broken overview
++- disabled <flag-message> function on news server
++- fixed error storing bad authentication information
++
++* Wed Oct 10 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.23
++- fixed typo in buffy.c
++- added substitution of %s parameter in $inews variable
++
++* Fri Aug 31 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.22.1
++- update to 1.3.22
++
++* Thu Aug 23 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.21
++
++* Wed Jul 25 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.20
++- removed 'server-hook', use 'account-hook' instead
++- fixed error opening NNTP server without newsgroup using -f option
++
++* Fri Jun  8 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.19
++
++* Sat May  5 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.18
++- fixed typo in nntp_attempt_features()
++- changed algorithm of XGTITLE command testing
++- disabled writing of NNTP password in debug file
++- fixed reading and writing of long newsrc lines
++- changed checking of last line while reading lines from server
++- fixed possible buffer overrun in nntp_parse_newsrc_line()
++- removed checking of XHDR command
++- compare NNTP return codes without trailing space
++
++* Thu Mar 29 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.17
++- support for 'LIST NEWSGROUPS' command to read descriptions
++
++* Fri Mar  2 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.16
++
++* Wed Feb 14 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.15
++
++* Sun Jan 28 2001 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.14
++- show number of tagged messages patch from Felix von Leitner <leitner@fefe.de>
++
++* Sun Dec 31 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.13
++
++* Sat Dec 30 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- Fixed problem if last article in group is deleted
++
++* Fri Dec 22 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- Fixed checking of XGTITLE command on some servers
++
++* Mon Dec 18 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- Added \r in AUTHINFO commands
++
++* Mon Nov 27 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.12
++
++* Wed Nov  1 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.11
++- fixed error opening newsgroup from mutt started with -g or -G
++
++* Thu Oct 12 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.10
++- hotkey 'G' (get-message) replaced with '^G'
++
++* Thu Sep 21 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.9
++- changed delay displaying error messages from 1 to 2 seconds
++- fixed error compiling with nntp and without imap
++
++* Wed Sep  6 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- fixed catchup in index
++- fixed nntp_open_mailbox()
++
++* Sat Sep  2 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- functions <edit> and <delete-entry> disabled
++- format of news mailbox names changed to url form
++- option nntp_attempts removed
++- option reconnect_news renamed to nntp_reconnect
++- default value of nntp_poll changed from 30 to 60
++- error handling improved
++
++* Wed Aug 30 2000 Vsevolod Volkov <vvv@mutt.org.ua>
++- update to 1.3.8
++- new option show_only_unread
++- add newsgroup completion
++
++* Fri Aug  4 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.3.7
++
++* Sat Jul 29 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.3.6
++
++* Sun Jul  9 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.3.5
++- authentication code update
++- fix for changing to newsgroup from mailbox with read messages
++- socket code optimization
++
++* Wed Jun 21 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.3.4
++
++* Wed Jun 14 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- don't substitute current newsgroup with deleted new messages
++
++* Mon Jun 12 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.3.3
++- fix for substitution of newsgroup after reconnection
++- fix for loading newsgroups with very long names
++- fix for loading more than 32768 newsgroups
++
++* Wed May 24 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.3.2
++
++* Sat May 20 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.3.1
++
++* Fri May 12 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.3
++
++* Thu May 11 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.2
++
++* Thu May  4 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.14
++
++* Sun Apr 23 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.12
++
++* Fri Apr  7 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- add substitution of newsgroup with new messages by default
++
++* Wed Apr  5 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- add attach message from newsgroup
++- add one-line help in newsreader mode
++- disable 'change-dir' command in newsgroups browser
++- add -G option
++
++* Tue Apr  4 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- get default newsserver name from file /etc/nntpserver
++- use case insensitive server names
++- add print-style sequence %s to $newsrc
++- add -g option
++
++* Sat Apr  1 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- remove 'X-FTN-Origin' header processing
++
++* Thu Mar 30 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.11
++- update to 1.1.10
++
++* Thu Mar 23 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- fix mutt_select_newsserver()
++- remove 'toggle-mode' function
++- add 'change-newsgroup' function
++
++* Wed Mar 22 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- fix server-hook
++
++* Tue Mar 21 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- fix error 'bounce' function after 'post'
++- add 'forward to newsgroup' function
++
++* Mon Mar 20 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- 'forward' function works in newsreader mode
++- add 'post' and 'followup' functions to pager and attachment menu
++- fix active descriptions and allowed flag reload
++
++* Tue Mar 14 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.9
++- remove deleted newsgroups from list
++
++* Mon Mar 13 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update .newsrc in browser
++
++* Sun Mar 12 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- reload .newsrc if externally modified
++- fix active cache update
++
++* Sun Mar  5 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.8
++
++* Sat Mar  4 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- patch *.update_list_file is not required
++- count lines when loading descriptions
++- remove cache of unsubscribed newsgroups
++
++* Thu Mar  2 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- load list of newsgroups from cache faster
++
++* Wed Mar  1 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.7
++
++* Tue Feb 29 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- fix unread messages in browser
++- fix newsrc_gen_entries()
++
++* Mon Feb 28 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- fix mutt_newsgroup_stat()
++- fix nntp_delete_cache()
++- fix nntp_get_status()
++- fix check_children()
++- fix nntp_fetch_headers()
++
++* Fri Feb 25 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.5
++
++* Thu Feb 24 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- fix updating new messages in cache
++
++* Mon Feb 21 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- change default cache filenames
++- fix updating new messages in cache
++
++* Fri Feb 18 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- fix segmentation fault in news groups browser
++
++* Tue Feb 15 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.4
++
++* Thu Feb 10 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.3
++
++* Sun Jan 30 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- add X-Comment-To editing
++- add my_hdr support for Newsgroups:, Followup-To: and X-Comment-To: headers
++- add variables $ask_followup_to and $ask_x_comment_to
++
++* Fri Jan 28 2000 Vsevolod Volkov <vvv@mutt.kiev.ua>
++- update to 1.1.2
+diff -udprP mutt-1.5.20.orig/OPS mutt-1.5.20/OPS
+--- mutt-1.5.20.orig/OPS       2009-05-13 08:01:13.000000000 +0300
++++ mutt-1.5.20/OPS    2009-06-15 21:05:24.000000000 +0300
+@@ -8,14 +8,16 @@ OP_BOUNCE_MESSAGE "remail a message to a
+ OP_BROWSER_NEW_FILE "select a new file in this directory"
+ OP_BROWSER_VIEW_FILE "view file"
+ OP_BROWSER_TELL "display the currently selected file's name"
+-OP_BROWSER_SUBSCRIBE "subscribe to current mailbox (IMAP only)"
+-OP_BROWSER_UNSUBSCRIBE "unsubscribe from current mailbox (IMAP only)"
++OP_BROWSER_SUBSCRIBE "subscribe to current mbox (IMAP/NNTP only)"
++OP_BROWSER_UNSUBSCRIBE "unsubscribe from current mbox (IMAP/NNTP only)"
+ OP_BROWSER_TOGGLE_LSUB "toggle view all/subscribed mailboxes (IMAP only)"
+ OP_BUFFY_LIST "list mailboxes with new mail"
++OP_CATCHUP "mark all articles in newsgroup as read"
+ OP_CHANGE_DIRECTORY "change directories"
+ OP_CHECK_NEW "check mailboxes for new mail"
+ OP_COMPOSE_ATTACH_FILE "attach file(s) to this message"
+ OP_COMPOSE_ATTACH_MESSAGE "attach message(s) to this message"
++OP_COMPOSE_ATTACH_NEWS_MESSAGE "attach newsmessage(s) to this message"
+ OP_COMPOSE_EDIT_BCC "edit the BCC list"
+ OP_COMPOSE_EDIT_CC "edit the CC list"
+ OP_COMPOSE_EDIT_DESCRIPTION "edit attachment description"
+@@ -26,7 +28,10 @@ OP_COMPOSE_EDIT_FROM "edit the from fiel
+ OP_COMPOSE_EDIT_HEADERS "edit the message with headers"
+ OP_COMPOSE_EDIT_MESSAGE "edit the message"
+ OP_COMPOSE_EDIT_MIME "edit attachment using mailcap entry"
++OP_COMPOSE_EDIT_NEWSGROUPS "edit the newsgroups list"
+ OP_COMPOSE_EDIT_REPLY_TO "edit the Reply-To field"
++OP_COMPOSE_EDIT_FOLLOWUP_TO "edit the Followup-To field"
++OP_COMPOSE_EDIT_X_COMMENT_TO "edit the X-Comment-To field"
+ OP_COMPOSE_EDIT_SUBJECT "edit the subject of this message"
+ OP_COMPOSE_EDIT_TO "edit the TO list"
+ OP_CREATE_MAILBOX "create a new mailbox (IMAP only)"
+@@ -85,8 +90,13 @@ OP_EXIT "exit this menu"
+ OP_FILTER "filter attachment through a shell command"
+ OP_FIRST_ENTRY "move to the first entry"
+ OP_FLAG_MESSAGE "toggle a message's 'important' flag"
++OP_FOLLOWUP "followup to newsgroup"
++OP_FORWARD_TO_GROUP "forward to newsgroup"
+ OP_FORWARD_MESSAGE "forward a message with comments"
+ OP_GENERIC_SELECT_ENTRY "select the current entry"
++OP_GET_CHILDREN "get all children of the current message"
++OP_GET_MESSAGE "get message with Message-Id"
++OP_GET_PARENT "get parent of the current message"
+ OP_GROUP_REPLY "reply to all recipients"
+ OP_HALF_DOWN "scroll down 1/2 page"
+ OP_HALF_UP "scroll up 1/2 page"
+@@ -94,11 +104,14 @@ OP_HELP "this screen"
+ OP_JUMP "jump to an index number"
+ OP_LAST_ENTRY "move to the last entry"
+ OP_LIST_REPLY "reply to specified mailing list"
++OP_LOAD_ACTIVE "load active file from NNTP server"
+ OP_MACRO "execute a macro"
+ OP_MAIL "compose a new mail message"
+ OP_MAIN_BREAK_THREAD "break the thread in two"
+ OP_MAIN_CHANGE_FOLDER "open a different folder"
+ OP_MAIN_CHANGE_FOLDER_READONLY "open a different folder in read only mode"
++OP_MAIN_CHANGE_GROUP "open a different newsgroup"
++OP_MAIN_CHANGE_GROUP_READONLY "open a different newsgroup in read only mode"
+ OP_MAIN_CLEAR_FLAG "clear a status flag from a message"
+ OP_MAIN_DELETE_PATTERN "delete messages matching a pattern"
+ OP_MAIN_IMAP_FETCH "force retrieval of mail from IMAP server"
+@@ -137,6 +150,7 @@ OP_PAGER_HIDE_QUOTED "toggle display of 
+ OP_PAGER_SKIP_QUOTED "skip beyond quoted text"
+ OP_PAGER_TOP "jump to the top of the message"
+ OP_PIPE "pipe message/attachment to a shell command"
++OP_POST "post message to newsgroup"
+ OP_PREV_ENTRY "move to the previous entry"
+ OP_PREV_LINE "scroll up one line"
+ OP_PREV_PAGE "move to the previous page"
+@@ -145,6 +159,7 @@ OP_QUERY "query external program for add
+ OP_QUERY_APPEND "append new query results to current results"
+ OP_QUIT "save changes to mailbox and quit"
+ OP_RECALL_MESSAGE "recall a postponed message"
++OP_RECONSTRUCT_THREAD "reconstruct thread containing current message"
+ OP_REDRAW "clear and redraw the screen"
+ OP_REFORMAT_WINCH "{internal}"
+ OP_RENAME_MAILBOX "rename the current mailbox (IMAP only)"
+@@ -159,18 +174,22 @@ OP_SEARCH_TOGGLE "toggle search pattern 
+ OP_SHELL_ESCAPE "invoke a command in a subshell"
+ OP_SORT "sort messages"
+ OP_SORT_REVERSE "sort messages in reverse order"
++OP_SUBSCRIBE_PATTERN "subscribe to newsgroups matching a pattern"
+ OP_TAG "tag the current entry"
+ OP_TAG_PREFIX "apply next function to tagged messages"
+ OP_TAG_PREFIX_COND "apply next function ONLY to tagged messages"
+ OP_TAG_SUBTHREAD "tag the current subthread"
+ OP_TAG_THREAD "tag the current thread"
+ OP_TOGGLE_NEW "toggle a message's 'new' flag"
++OP_TOGGLE_READ "toggle view of read messages"
+ OP_TOGGLE_WRITE "toggle whether the mailbox will be rewritten"
+ OP_TOGGLE_MAILBOXES "toggle whether to browse mailboxes or all files"
+ OP_TOP_PAGE "move to the top of the page"
++OP_UNCATCHUP "mark all articles in newsgroup as unread"
+ OP_UNDELETE "undelete the current entry"
+ OP_UNDELETE_THREAD "undelete all messages in thread"
+ OP_UNDELETE_SUBTHREAD "undelete all messages in subthread"
++OP_UNSUBSCRIBE_PATTERN "unsubscribe from newsgroups matching a pattern"
+ OP_VERSION "show the Mutt version number and date"
+ OP_VIEW_ATTACH "view attachment using mailcap entry if necessary"
+ OP_VIEW_ATTACHMENTS "show MIME attachments"
+diff -udprP mutt-1.5.20.orig/account.c mutt-1.5.20/account.c
+--- mutt-1.5.20.orig/account.c 2008-11-11 21:55:46.000000000 +0200
++++ mutt-1.5.20/account.c      2009-06-15 21:05:24.000000000 +0300
+@@ -51,6 +51,11 @@ int mutt_account_match (const ACCOUNT* a
+     user = PopUser;
+ #endif
+   
++#ifdef USE_NNTP
++  if (a1->type == M_ACCT_TYPE_NNTP && NntpUser)
++    user = NntpUser;
++#endif
++
+   if (a1->flags & a2->flags & M_ACCT_USER)
+     return (!strcmp (a1->user, a2->user));
+   if (a1->flags & M_ACCT_USER)
+@@ -130,6 +135,16 @@ void mutt_account_tourl (ACCOUNT* accoun
+   }
+ #endif
++#ifdef USE_NNTP
++  if (account->type == M_ACCT_TYPE_NNTP)
++  {
++    if (account->flags & M_ACCT_SSL)
++      url->scheme = U_NNTPS;
++    else
++      url->scheme = U_NNTP;
++  }
++#endif
++
+   url->host = account->host;
+   if (account->flags & M_ACCT_PORT)
+     url->port = account->port;
+@@ -155,6 +170,10 @@ int mutt_account_getuser (ACCOUNT* accou
+   else if ((account->type == M_ACCT_TYPE_POP) && PopUser)
+     strfcpy (account->user, PopUser, sizeof (account->user));
+ #endif
++#ifdef USE_NNTP
++  else if ((account->type == M_ACCT_TYPE_NNTP) && NntpUser)
++    strfcpy (account->user, NntpUser, sizeof (account->user));
++#endif
+   /* prompt (defaults to unix username), copy into account->user */
+   else
+   {
+@@ -215,6 +234,10 @@ int mutt_account_getpass (ACCOUNT* accou
+   else if ((account->type == M_ACCT_TYPE_SMTP) && SmtpPass)
+     strfcpy (account->pass, SmtpPass, sizeof (account->pass));
+ #endif
++#ifdef USE_NNTP
++  else if ((account->type == M_ACCT_TYPE_NNTP) && NntpPass)
++    strfcpy (account->pass, NntpPass, sizeof (account->pass));
++#endif
+   else
+   {
+     snprintf (prompt, sizeof (prompt), _("Password for %s@%s: "),
+diff -udprP mutt-1.5.20.orig/account.h mutt-1.5.20/account.h
+--- mutt-1.5.20.orig/account.h 2008-11-11 21:55:46.000000000 +0200
++++ mutt-1.5.20/account.h      2009-06-15 21:05:24.000000000 +0300
+@@ -29,7 +29,8 @@ enum
+   M_ACCT_TYPE_NONE = 0,
+   M_ACCT_TYPE_IMAP,
+   M_ACCT_TYPE_POP,
+-  M_ACCT_TYPE_SMTP
++  M_ACCT_TYPE_SMTP,
++  M_ACCT_TYPE_NNTP
+ };
+ /* account flags */
+diff -udprP mutt-1.5.20.orig/attach.h mutt-1.5.20/attach.h
+--- mutt-1.5.20.orig/attach.h  2008-11-11 21:55:46.000000000 +0200
++++ mutt-1.5.20/attach.h       2009-06-15 21:05:24.000000000 +0300
+@@ -50,7 +50,7 @@ void mutt_print_attachment_list (FILE *f
+ void mutt_attach_bounce (FILE *, HEADER *, ATTACHPTR **, short, BODY *);
+ void mutt_attach_resend (FILE *, HEADER *, ATTACHPTR **, short, BODY *);
+-void mutt_attach_forward (FILE *, HEADER *, ATTACHPTR **, short, BODY *);
++void mutt_attach_forward (FILE *, HEADER *, ATTACHPTR **, short, BODY *, int);
+ void mutt_attach_reply (FILE *, HEADER *, ATTACHPTR **, short, BODY *, int);
+ #endif /* _ATTACH_H_ */
+diff -udprP mutt-1.5.20.orig/browser.c mutt-1.5.20/browser.c
+--- mutt-1.5.20.orig/browser.c 2009-06-11 20:52:54.000000000 +0300
++++ mutt-1.5.20/browser.c      2009-06-15 21:05:24.000000000 +0300
+@@ -32,6 +32,9 @@
+ #ifdef USE_IMAP
+ #include "imap.h"
+ #endif
++#ifdef USE_NNTP
++#include "nntp.h"
++#endif
+ #include <stdlib.h>
+ #include <dirent.h>
+@@ -49,6 +52,19 @@ static struct mapping_t FolderHelp[] = {
+   { NULL,      0 }
+ };
++#ifdef USE_NNTP
++static struct mapping_t FolderNewsHelp[] = {
++  { N_("Exit"),        OP_EXIT },
++  { N_("List"),        OP_TOGGLE_MAILBOXES },
++  { N_("Subscribe"),   OP_BROWSER_SUBSCRIBE },
++  { N_("Unsubscribe"), OP_BROWSER_UNSUBSCRIBE },
++  { N_("Catchup"),     OP_CATCHUP },
++  { N_("Mask"),        OP_ENTER_MASK },
++  { N_("Help"),        OP_HELP },
++  { NULL }
++};
++#endif
++
+ typedef struct folder_t
+ {
+   struct folder_file *ff;
+@@ -114,9 +130,17 @@ static void browser_sort (struct browser
+     case SORT_ORDER:
+       return;
+     case SORT_DATE:
++#ifdef USE_NNTP
++      if (option (OPTNEWS))
++      return;
++#endif
+       f = browser_compare_date;
+       break;
+     case SORT_SIZE:
++#ifdef USE_NNTP
++      if (option (OPTNEWS))
++      return;
++#endif
+       f = browser_compare_size;
+       break;
+     case SORT_SUBJECT:
+@@ -307,8 +331,106 @@ folder_format_str (char *dest, size_t de
+   return (src);
+ }
++#ifdef USE_NNTP
++static const char *
++newsgroup_format_str (char *dest, size_t destlen, size_t col, char op, const char *src,
++                     const char *fmt, const char *ifstring, const char *elsestring,
++                     unsigned long data, format_flag flags)
++{
++  char fn[SHORT_STRING], tmp[SHORT_STRING];
++  FOLDER *folder = (FOLDER *) data;
++
++  switch (op)
++  {
++    case 'C':
++      snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
++      snprintf (dest, destlen, tmp, folder->num + 1);
++      break;
++      
++    case 'f':
++      strncpy (fn, folder->ff->name, sizeof(fn) - 1);
++      snprintf (tmp, sizeof (tmp), "%%%ss", fmt);
++      snprintf (dest, destlen, tmp, fn);
++      break;
++
++    case 'N':
++      snprintf (tmp, sizeof (tmp), "%%%sc", fmt);
++      if (folder->ff->nd->subscribed)
++      snprintf (dest, destlen, tmp, ' ');
++      else
++      snprintf (dest, destlen, tmp, folder->ff->new ? 'N' : 'u');
++      break;
++
++    case 'M':
++      snprintf (tmp, sizeof (tmp), "%%%sc", fmt);
++      if (folder->ff->nd->deleted)
++      snprintf (dest, destlen, tmp, 'D');
++      else
++      snprintf (dest, destlen, tmp, folder->ff->nd->allowed ? ' ' : '-');
++      break;
++
++    case 's':
++      if (flags & M_FORMAT_OPTIONAL)
++      {
++      if (folder->ff->nd->unread != 0)
++        mutt_FormatString (dest, destlen, col, ifstring, newsgroup_format_str,
++              data, flags);
++      else
++        mutt_FormatString (dest, destlen, col, elsestring, newsgroup_format_str,
++              data, flags);
++      }
++      else if (Context && Context->data == folder->ff->nd)
++      {
++      snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
++      snprintf (dest, destlen, tmp, Context->unread);
++      }
++      else
++      {
++      snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
++      snprintf (dest, destlen, tmp, folder->ff->nd->unread);
++      }
++      break;
++
++    case 'n':
++      if (Context && Context->data == folder->ff->nd)
++      {
++      snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
++      snprintf (dest, destlen, tmp, Context->new);
++      }
++      else if (option (OPTMARKOLD) &&
++              folder->ff->nd->lastCached >= folder->ff->nd->firstMessage &&
++              folder->ff->nd->lastCached <= folder->ff->nd->lastMessage)
++      {
++      snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
++      snprintf (dest, destlen, tmp, folder->ff->nd->lastMessage - folder->ff->nd->lastCached);
++      }
++      else
++      {
++      snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
++      snprintf (dest, destlen, tmp, folder->ff->nd->unread);
++      }
++      break;
++
++    case 'd':
++      if (folder->ff->nd->desc != NULL)
++      {
++      snprintf (tmp, sizeof (tmp), "%%%ss", fmt);
++      snprintf (dest, destlen, tmp, folder->ff->nd->desc);
++      }
++      else
++      {
++      snprintf (tmp, sizeof (tmp), "%%%ss", fmt);
++      snprintf (dest, destlen, tmp, "");
++      }
++      break;
++  }
++  return (src);
++}
++#endif /* USE_NNTP */
++
+ static void add_folder (MUTTMENU *m, struct browser_state *state,
+-                      const char *name, const struct stat *s, int new)
++                      const char *name, const struct stat *s,
++                      void *data, int new)
+ {
+   if (state->entrylen == state->entrymax)
+   {
+@@ -337,6 +459,10 @@ static void add_folder (MUTTMENU *m, str
+ #ifdef USE_IMAP
+   (state->entry)[state->entrylen].imap = 0;
+ #endif
++#ifdef USE_NNTP
++  if (option (OPTNEWS))
++    (state->entry)[state->entrylen].nd = (NNTP_DATA *) data;
++#endif
+   (state->entrylen)++;
+ }
+@@ -352,9 +478,35 @@ static void init_state (struct browser_s
+     menu->data = state->entry;
+ }
++/* get list of all files/newsgroups with mask */
+ static int examine_directory (MUTTMENU *menu, struct browser_state *state,
+                             char *d, const char *prefix)
+ {
++#ifdef USE_NNTP
++  if (option (OPTNEWS))
++  {
++    LIST *tmp;
++    NNTP_DATA *data;
++    NNTP_SERVER *news = CurrentNewsSrv;
++
++/*  mutt_buffy_check (0); */
++    init_state (state, menu);
++
++    for (tmp = news->list; tmp; tmp = tmp->next)
++    {
++      if (!(data = (NNTP_DATA *)tmp->data))
++      continue;
++      if (prefix && *prefix && strncmp (prefix, data->group,
++          strlen (prefix)) != 0)
++      continue;
++      if (!((regexec (Mask.rx, data->group, 0, NULL, 0) == 0) ^ Mask.not))
++      continue;
++      add_folder (menu, state, data->group, NULL, data, data->new);
++    }
++  }
++  else
++#endif /* USE_NNTP */
++  {
+   struct stat s;
+   DIR *dp;
+   struct dirent *de;
+@@ -415,17 +567,40 @@ static int examine_directory (MUTTMENU *
+     tmp = Incoming;
+     while (tmp && mutt_strcmp (buffer, tmp->path))
+       tmp = tmp->next;
+-    add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0);
++    add_folder (menu, state, de->d_name, &s, NULL, (tmp) ? tmp->new : 0);
++  }
++  closedir (dp);
+   }
+-  closedir (dp);  
+   browser_sort (state);
+   return 0;
+ }
++/* get list of mailboxes/subscribed newsgroups */
+ static int examine_mailboxes (MUTTMENU *menu, struct browser_state *state)
+ {
+   struct stat s;
+   char buffer[LONG_STRING];
++
++#ifdef USE_NNTP
++  if (option (OPTNEWS))
++  {
++    LIST *tmp;
++    NNTP_DATA *data;
++    NNTP_SERVER *news = CurrentNewsSrv;
++
++/*  mutt_buffy_check (0); */
++    init_state (state, menu);
++
++    for (tmp = news->list; tmp; tmp = tmp->next)
++    {
++      if ((data = (NNTP_DATA *) tmp->data) != NULL && (data->new ||
++        (data->subscribed && (!option (OPTSHOWONLYUNREAD) || data->unread))))
++        add_folder (menu, state, data->group, NULL, data, data->new);
++    }
++  }
++  else
++#endif
++  {
+   BUFFY *tmp = Incoming;
+ #ifdef USE_IMAP
+   struct mailbox_state mbox;
+@@ -443,14 +618,21 @@ static int examine_mailboxes (MUTTMENU *
+     if (mx_is_imap (tmp->path))
+     {
+       imap_mailbox_state (tmp->path, &mbox);
+-      add_folder (menu, state, tmp->path, NULL, mbox.new);
++      add_folder (menu, state, tmp->path, NULL, NULL, mbox.new);
+       continue;
+     }
+ #endif
+ #ifdef USE_POP
+     if (mx_is_pop (tmp->path))
+     {
+-      add_folder (menu, state, tmp->path, NULL, tmp->new);
++      add_folder (menu, state, tmp->path, NULL, NULL, tmp->new);
++      continue;
++    }
++#endif
++#ifdef USE_NNTP
++    if (mx_is_nntp (tmp->path))
++    {
++      add_folder (menu, state, tmp->path, NULL, NULL, tmp->new);
+       continue;
+     }
+ #endif
+@@ -479,15 +661,20 @@ static int examine_mailboxes (MUTTMENU *
+     strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
+     mutt_pretty_mailbox (buffer, sizeof (buffer));
+-    add_folder (menu, state, buffer, &s, tmp->new);
++    add_folder (menu, state, buffer, &s, NULL, tmp->new);
+   }
+   while ((tmp = tmp->next));
++  }
+   browser_sort (state);
+   return 0;
+ }
+ static int select_file_search (MUTTMENU *menu, regex_t *re, int n)
+ {
++#ifdef USE_NNTP
++  if (option (OPTNEWS))
++    return (regexec (re, ((struct folder_file *) menu->data)[n].desc, 0, NULL, 0));
++#endif
+   return (regexec (re, ((struct folder_file *) menu->data)[n].name, 0, NULL, 0));
+ }
+@@ -498,6 +685,12 @@ static void folder_entry (char *s, size_
+   folder.ff = &((struct folder_file *) menu->data)[num];
+   folder.num = num;
+   
++#ifdef USE_NNTP
++  if (option (OPTNEWS))
++    mutt_FormatString (s, slen, 0, NONULL(GroupFormat), newsgroup_format_str, 
++      (unsigned long) &folder, M_FORMAT_ARROWCURSOR);
++  else
++#endif
+   mutt_FormatString (s, slen, 0, NONULL(FolderFormat), folder_format_str, 
+       (unsigned long) &folder, M_FORMAT_ARROWCURSOR);
+ }
+@@ -518,6 +711,17 @@ static void init_menu (struct browser_st
+   menu->tagged = 0;
+   
++#ifdef USE_NNTP
++  if (option (OPTNEWS))
++  {
++    if (buffy)
++      snprintf (title, titlelen, _("Subscribed newsgroups"));
++    else
++      snprintf (title, titlelen, _("Newsgroups on server [%s]"),
++              CurrentNewsSrv->conn->account.host);
++  }
++  else
++#endif
+   if (buffy)
+     snprintf (title, titlelen, _("Mailboxes [%d]"), mutt_buffy_check (0));
+   else
+@@ -573,6 +777,31 @@ void _mutt_select_file (char *f, size_t 
+   if (!folder)
+     strfcpy (LastDirBackup, LastDir, sizeof (LastDirBackup));
++#ifdef USE_NNTP
++  if (option (OPTNEWS))
++  {
++    if (*f)
++      strfcpy (prefix, f, sizeof (prefix));
++    else
++    {
++      LIST *list;
++
++      /* default state for news reader mode is browse subscribed newsgroups */
++      buffy = 0;
++      for (list = CurrentNewsSrv->list; list; list = list->next)
++      {
++      NNTP_DATA *data = (NNTP_DATA *) list->data;
++
++      if (data && data->subscribed)
++      {
++        buffy = 1;
++        break;
++      }
++      }
++    }
++  }
++  else
++#endif
+   if (*f)
+   {
+     mutt_expand_path (f, flen);
+@@ -669,6 +898,9 @@ void _mutt_select_file (char *f, size_t 
+     menu->tag = file_tag;
+   menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_FOLDER,
++#ifdef USE_NNTP
++    (option (OPTNEWS)) ? FolderNewsHelp :
++#endif
+     FolderHelp);
+   init_menu (&state, menu, title, sizeof (title), buffy);
+@@ -807,7 +1039,11 @@ void _mutt_select_file (char *f, size_t 
+         }
+       }
++#ifdef USE_NNTP
++      if (buffy || option (OPTNEWS)) /* news have not path */
++#else
+       if (buffy)
++#endif
+       {
+         strfcpy (f, state.entry[menu->current].name, flen);
+         mutt_expand_path (f, flen);
+@@ -865,14 +1101,6 @@ void _mutt_select_file (char *f, size_t 
+         break;
+ #ifdef USE_IMAP
+-      case OP_BROWSER_SUBSCRIBE:
+-      imap_subscribe (state.entry[menu->current].name, 1);
+-      break;
+-
+-      case OP_BROWSER_UNSUBSCRIBE:
+-      imap_subscribe (state.entry[menu->current].name, 0);
+-      break;
+-
+       case OP_BROWSER_TOGGLE_LSUB:
+       if (option (OPTIMAPLSUB))
+         unset_option (OPTIMAPLSUB);
+@@ -973,6 +1201,11 @@ void _mutt_select_file (char *f, size_t 
+       
+       case OP_CHANGE_DIRECTORY:
++#ifdef USE_NNTP
++      if (option (OPTNEWS))
++        break;
++#endif
++
+       strfcpy (buf, LastDir, sizeof (buf));
+ #ifdef USE_IMAP
+       if (!state.imap_browse)
+@@ -1239,6 +1472,190 @@ void _mutt_select_file (char *f, size_t 
+         else
+           mutt_error _("Error trying to view file");
+       }
++      break;
++
++#ifdef USE_NNTP
++      case OP_CATCHUP:
++      case OP_UNCATCHUP:
++      if (option (OPTNEWS))
++      {
++        struct folder_file *f = &state.entry[menu->current];
++        NNTP_DATA *nd;
++
++        if (i == OP_CATCHUP)
++          nd = mutt_newsgroup_catchup (CurrentNewsSrv, f->name);
++        else
++          nd = mutt_newsgroup_uncatchup (CurrentNewsSrv, f->name);
++
++        if (nd)
++        {
++/*        FOLDER folder;
++          struct folder_file ff;
++          char buffer[_POSIX_PATH_MAX + SHORT_STRING];
++
++          folder.ff = &ff;
++          folder.ff->name = f->name;
++          folder.ff->st = NULL;
++          folder.ff->is_new = nd->new;
++          folder.ff->nd = nd;
++          FREE (&f->desc);
++          mutt_FormatString (buffer, sizeof (buffer), 0, NONULL(GroupFormat),
++                newsgroup_format_str, (unsigned long) &folder,
++                M_FORMAT_ARROWCURSOR);
++          f->desc = safe_strdup (buffer); */
++          if (menu->current + 1 < menu->max)
++            menu->current++;
++          menu->redraw = REDRAW_MOTION_RESYNCH;
++        }
++      }
++      break;
++
++      case OP_LOAD_ACTIVE:
++      if (!option (OPTNEWS))
++        break;
++
++      {
++        LIST *tmp;
++        NNTP_DATA *data;
++
++        for (tmp = CurrentNewsSrv->list; tmp; tmp = tmp->next)
++        {
++          if ((data = (NNTP_DATA *)tmp->data))
++            data->deleted = 1;
++        }
++      }
++      nntp_get_active (CurrentNewsSrv);
++
++      destroy_state (&state);
++      if (buffy)
++        examine_mailboxes (menu, &state);
++      else
++        examine_directory (menu, &state, NULL, NULL);
++      init_menu (&state, menu, title, sizeof (title), buffy);
++      break;
++#endif /* USE_NNTP */
++
++#if defined USE_IMAP || defined USE_NNTP
++      case OP_BROWSER_SUBSCRIBE:
++      case OP_BROWSER_UNSUBSCRIBE:
++#endif
++#ifdef USE_NNTP
++      case OP_SUBSCRIBE_PATTERN:
++      case OP_UNSUBSCRIBE_PATTERN:
++        if (option (OPTNEWS))
++      {
++        regex_t *rx = (regex_t *) safe_malloc (sizeof (regex_t));
++        char *s = buf;
++        int j = menu->current;
++        NNTP_DATA *nd;
++        NNTP_SERVER *news = CurrentNewsSrv;
++
++        if (i == OP_SUBSCRIBE_PATTERN || i == OP_UNSUBSCRIBE_PATTERN)
++        {
++          char tmp[STRING];
++          int err;
++
++          buf[0] = 0;
++          if (i == OP_SUBSCRIBE_PATTERN)
++            snprintf (tmp, sizeof (tmp), _("Subscribe pattern: "));
++          else
++            snprintf (tmp, sizeof (tmp), _("Unsubscribe pattern: "));
++          if (mutt_get_field (tmp, buf, sizeof (buf), 0) != 0 || !buf[0])
++          {
++            FREE (&rx);
++            break;
++          }
++
++          if ((err = REGCOMP (rx, s, REG_NOSUB)) != 0)
++          {
++            regerror (err, rx, buf, sizeof (buf));
++            regfree (rx);
++            FREE (&rx);
++            mutt_error ("%s", buf);
++            break;
++          }
++          menu->redraw = REDRAW_FULL;
++          j = 0;
++        }
++        else if (!state.entrylen)
++        {
++          mutt_error _("No newsgroups match the mask");
++          break;
++        }
++
++        for ( ; j < state.entrylen; j++)
++        {
++          struct folder_file *f = &state.entry[j];
++
++          if (i == OP_BROWSER_SUBSCRIBE || i == OP_BROWSER_UNSUBSCRIBE ||
++                regexec (rx, f->name, 0, NULL, 0) == 0)
++          {
++            if (i == OP_BROWSER_SUBSCRIBE || i == OP_SUBSCRIBE_PATTERN)
++              nd = mutt_newsgroup_subscribe (news, f->name);
++            else
++              nd = mutt_newsgroup_unsubscribe (news, f->name);
++/*          if (nd)
++            {
++              FOLDER folder;
++              char buffer[_POSIX_PATH_MAX + SHORT_STRING];
++
++              folder.name = f->name;
++              folder.f = NULL;
++              folder.new = nd->new;
++              folder.nd = nd;
++              FREE (&f->desc);
++              mutt_FormatString (buffer, sizeof (buffer), 0, NONULL(GroupFormat),
++                      newsgroup_format_str, (unsigned long) &folder,
++                      M_FORMAT_ARROWCURSOR);
++              f->desc = safe_strdup (buffer);
++            } */
++          }
++          if (i == OP_BROWSER_SUBSCRIBE || i == OP_BROWSER_UNSUBSCRIBE)
++          {
++            if (menu->current + 1 < menu->max)
++              menu->current++;
++            menu->redraw = REDRAW_MOTION_RESYNCH;
++            break;
++          }
++        }
++        if (i == OP_SUBSCRIBE_PATTERN)
++        {
++          LIST *grouplist = NULL;
++
++          if (news)
++            grouplist = news->list;
++          for (; grouplist; grouplist = grouplist->next)
++          {
++            nd = (NNTP_DATA *) grouplist->data;
++            if (nd && nd->group && !nd->subscribed)
++            {
++              if (regexec (rx, nd->group, 0, NULL, 0) == 0)
++              {
++                mutt_newsgroup_subscribe (news, nd->group);
++                add_folder (menu, &state, nd->group, NULL, nd, nd->new);
++              }
++            }
++          }
++          init_menu (&state, menu, title, sizeof (title), buffy);
++        }
++        mutt_newsrc_update (news);
++        nntp_clear_cacheindex (news);
++        if (i != OP_BROWSER_SUBSCRIBE && i != OP_BROWSER_UNSUBSCRIBE)
++          regfree (rx);
++        FREE (&rx);
++      }
++#ifdef USE_IMAP
++      else
++#endif /* USE_IMAP && USE_NNTP */
++#endif /* USE_NNTP */
++#ifdef USE_IMAP
++      {
++        if (i == OP_BROWSER_SUBSCRIBE)
++          imap_subscribe (state.entry[menu->current].name, 1);
++        else
++          imap_subscribe (state.entry[menu->current].name, 0);
++      }
++#endif /* USE_IMAP */
+     }
+   }
+   
+diff -udprP mutt-1.5.20.orig/browser.h mutt-1.5.20/browser.h
+--- mutt-1.5.20.orig/browser.h 2009-01-05 00:34:12.000000000 +0200
++++ mutt-1.5.20/browser.h      2009-06-15 21:05:24.000000000 +0300
+@@ -19,6 +19,10 @@
+ #ifndef _BROWSER_H
+ #define _BROWSER_H 1
++#ifdef USE_NNTP
++#include "nntp.h"
++#endif
++
+ struct folder_file
+ {
+   mode_t mode;
+@@ -37,6 +41,9 @@ struct folder_file
+   unsigned selectable : 1;
+   unsigned inferiors : 1;
+ #endif
++#ifdef USE_NNTP
++  NNTP_DATA *nd;
++#endif
+   unsigned tagged : 1;
+ };
+diff -udprP mutt-1.5.20.orig/buffy.c mutt-1.5.20/buffy.c
+--- mutt-1.5.20.orig/buffy.c   2009-06-02 20:16:26.000000000 +0300
++++ mutt-1.5.20/buffy.c        2009-06-15 21:05:24.000000000 +0300
+@@ -320,6 +320,9 @@ int mutt_buffy_check (int force)
+ #ifdef USE_POP
+   if (!Context || Context->magic != M_POP)
+ #endif
++#ifdef USE_NNTP
++  if (!Context || Context->magic != M_NNTP)
++#endif
+   /* check device ID and serial number instead of comparing paths */
+   if (!Context || !Context->path || stat (Context->path, &contex_sb) != 0)
+   {
+@@ -343,6 +346,11 @@ int mutt_buffy_check (int force)
+       tmp->magic = M_POP;
+     else
+ #endif
++#ifdef USE_NNTP
++    if ((tmp->magic == M_NNTP) || mx_is_nntp (tmp->path))
++      tmp->magic = M_NNTP;
++    else
++#endif
+     if (stat (tmp->path, &sb) != 0 || (S_ISREG(sb.st_mode) && sb.st_size == 0) ||
+       (!tmp->magic && (tmp->magic = mx_get_magic (tmp->path)) <= 0))
+     {
+@@ -360,25 +368,21 @@ int mutt_buffy_check (int force)
+     /* check to see if the folder is the currently selected folder
+      * before polling */
+     if (!Context || !Context->path ||
+-#if defined USE_IMAP || defined USE_POP
+-      ((
++       (
++         (0
+ #ifdef USE_IMAP
+-      tmp->magic == M_IMAP
++          || tmp->magic == M_IMAP
+ #endif
+ #ifdef USE_POP
+-#ifdef USE_IMAP
+-      ||
+-#endif
+-      tmp->magic == M_POP
+-#endif
+-      ) ? mutt_strcmp (tmp->path, Context->path) :
++          || tmp->magic == M_POP
+ #endif
+-       (sb.st_dev != contex_sb.st_dev || sb.st_ino != contex_sb.st_ino)
+-#if defined USE_IMAP || defined USE_POP        
+-          )
++#ifdef USE_NNTP
++          || tmp->magic == M_NNTP
+ #endif
+-      )
+-      
++         ) ? mutt_strcmp (tmp->path, Context->path) :
++             (sb.st_dev != contex_sb.st_dev || sb.st_ino != contex_sb.st_ino)
++       )
++       )
+     {
+       switch (tmp->magic)
+       {
+diff -udprP mutt-1.5.20.orig/complete.c mutt-1.5.20/complete.c
+--- mutt-1.5.20.orig/complete.c        2009-01-05 00:38:16.000000000 +0200
++++ mutt-1.5.20/complete.c     2009-06-15 21:05:24.000000000 +0300
+@@ -25,6 +25,9 @@
+ #include "mailbox.h"
+ #include "imap.h"
+ #endif
++#ifdef USE_NNTP
++#include "nntp.h"
++#endif
+ #include <dirent.h>
+ #include <string.h>
+@@ -48,9 +51,71 @@ int mutt_complete (char *s, size_t slen)
+   char filepart[_POSIX_PATH_MAX];
+ #ifdef USE_IMAP
+   char imap_path[LONG_STRING];
++#endif
+   dprint (2, (debugfile, "mutt_complete: completing %s\n", s));
++#ifdef USE_NNTP
++  if (option (OPTNEWS))
++  {
++    LIST *l = CurrentNewsSrv->list;
++
++    strfcpy (filepart, s, sizeof (filepart));
++
++    /*
++     * special case to handle when there is no filepart yet.
++     * find the first subscribed newsgroup
++     */
++    if ((len = mutt_strlen (filepart)) == 0)
++    {
++      for (; l; l = l->next)
++      {
++      NNTP_DATA *data = (NNTP_DATA *)l->data;
++
++      if (data && data->subscribed)
++      {
++        strfcpy (filepart, data->group, sizeof (filepart));
++        init++;
++        l = l->next;
++        break;
++      }
++      }
++    }
++
++    for (; l; l = l->next)
++    {
++      NNTP_DATA *data = (NNTP_DATA *)l->data;
++
++      if (data && data->subscribed &&
++        mutt_strncmp (data->group, filepart, len) == 0)
++      {
++      if (init)
++      {
++        for (i = 0; filepart[i] && data->group[i]; i++)
++        {
++          if (filepart[i] != data->group[i])
++          {
++            filepart[i] = 0;
++            break;
++          }
++        }
++        filepart[i] = 0;
++      }
++      else
++      {
++        strfcpy (filepart, data->group, sizeof (filepart));
++        init = 1;
++      }
++      }
++    }
++
++    strcpy (s, filepart);
++
++    return (init ? 0 : -1);
++  }
++#endif
++
++#ifdef USE_IMAP
+   /* we can use '/' as a delimiter, imap_complete rewrites it */
+   if (*s == '=' || *s == '+' || *s == '!')
+   {
+diff -udprP mutt-1.5.20.orig/compose.c mutt-1.5.20/compose.c
+--- mutt-1.5.20.orig/compose.c 2009-03-31 09:52:43.000000000 +0300
++++ mutt-1.5.20/compose.c      2009-06-15 21:05:24.000000000 +0300
+@@ -32,10 +32,15 @@
+ #include "mailbox.h"
+ #include "sort.h"
+ #include "charset.h"
++#include "mx.h"
+ #ifdef MIXMASTER
+ #include "remailer.h"
+ #endif
++  
++#ifdef USE_NNTP
++#include "nntp.h"
++#endif
+ #include <errno.h>
+ #include <string.h>
+@@ -60,18 +65,21 @@ enum
+   HDR_REPLYTO,
+   HDR_FCC,
+-#ifdef MIXMASTER
+-  HDR_MIX,
+-#endif
+   HDR_CRYPT,
+   HDR_CRYPTINFO,
++#ifdef USE_NNTP
++  HDR_NEWSGROUPS,
++  HDR_FOLLOWUPTO,
++  HDR_XCOMMENTTO,
++#endif
++
+   HDR_ATTACH  = (HDR_FCC + 5) /* where to start printing the attachments */
+ };
+-#define HDR_XOFFSET 10
+-#define TITLE_FMT "%10s" /* Used for Prompts, which are ASCII */
++#define HDR_XOFFSET 14
++#define TITLE_FMT "%14s" /* Used for Prompts, which are ASCII */
+ #define W (COLS - HDR_XOFFSET)
+ static char *Prompts[] =
+@@ -83,6 +91,16 @@ static char *Prompts[] =
+   "Subject: ",
+   "Reply-To: ",
+   "Fcc: "
++#ifdef USE_NNTP
++#ifdef MIXMASTER
++  ,""
++#endif
++  ,""
++  ,""
++  ,"Newsgroups: "
++  ,"Followup-To: "
++  ,"X-Comment-To: "
++#endif
+ };
+ static struct mapping_t ComposeHelp[] = {
+@@ -97,6 +115,19 @@ static struct mapping_t ComposeHelp[] = 
+   { NULL,     0 }
+ };
++#ifdef USE_NNTP
++static struct mapping_t ComposeNewsHelp[] = {
++  { N_("Send"),    OP_COMPOSE_SEND_MESSAGE },
++  { N_("Abort"),   OP_EXIT },
++  { "Newsgroups",  OP_COMPOSE_EDIT_NEWSGROUPS },
++  { "Subj",        OP_COMPOSE_EDIT_SUBJECT },
++  { N_("Attach file"),  OP_COMPOSE_ATTACH_FILE },
++  { N_("Descrip"), OP_COMPOSE_EDIT_DESCRIPTION },
++  { N_("Help"),    OP_HELP },
++  { NULL }
++};
++#endif
++
+ static void snd_entry (char *b, size_t blen, MUTTMENU *menu, int num)
+ {
+     mutt_FormatString (b, blen, 0, NONULL (AttachFormat), mutt_attach_fmt,
+@@ -115,16 +146,16 @@ static void redraw_crypt_lines (HEADER *
+   if ((WithCrypto & APPLICATION_PGP) && (WithCrypto & APPLICATION_SMIME))
+   {     
+     if (!msg->security)
+-      mvaddstr (HDR_CRYPT, 0,     "Security: ");
++      mvaddstr (HDR_CRYPT, 0,     "    Security: ");
+     else if (msg->security & APPLICATION_SMIME)
+-      mvaddstr (HDR_CRYPT, 0,     "  S/MIME: ");
++      mvaddstr (HDR_CRYPT, 0,     "      S/MIME: ");
+     else if (msg->security & APPLICATION_PGP)
+-      mvaddstr (HDR_CRYPT, 0,     "     PGP: ");
++      mvaddstr (HDR_CRYPT, 0,     "         PGP: ");
+   }
+   else if ((WithCrypto & APPLICATION_SMIME))
+-    mvaddstr (HDR_CRYPT, 0,     "  S/MIME: ");
++    mvaddstr (HDR_CRYPT, 0,     "      S/MIME: ");
+   else if ((WithCrypto & APPLICATION_PGP))
+-    mvaddstr (HDR_CRYPT, 0,     "     PGP: ");
++    mvaddstr (HDR_CRYPT, 0,     "         PGP: ");
+   else
+     return;
+@@ -252,9 +283,28 @@ static void draw_envelope_addr (int line
+ static void draw_envelope (HEADER *msg, char *fcc)
+ {
+   draw_envelope_addr (HDR_FROM, msg->env->from);
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND))
++  {
++#endif
+   draw_envelope_addr (HDR_TO, msg->env->to);
+   draw_envelope_addr (HDR_CC, msg->env->cc);
+   draw_envelope_addr (HDR_BCC, msg->env->bcc);
++#ifdef USE_NNTP
++  }
++  else
++  {
++    mvprintw (HDR_TO, 0, TITLE_FMT , Prompts[HDR_NEWSGROUPS - 1]);
++    mutt_paddstr (W, NONULL (msg->env->newsgroups));
++    mvprintw (HDR_CC, 0, TITLE_FMT , Prompts[HDR_FOLLOWUPTO - 1]);
++    mutt_paddstr (W, NONULL (msg->env->followup_to));
++    if (option (OPTXCOMMENTTO))
++    {
++      mvprintw (HDR_BCC, 0, TITLE_FMT , Prompts[HDR_XCOMMENTTO - 1]);
++      mutt_paddstr (W, NONULL (msg->env->x_comment_to));
++    }
++  }
++#endif
+   mvprintw (HDR_SUBJECT, 0, TITLE_FMT, Prompts[HDR_SUBJECT - 1]);
+   mutt_paddstr (W, NONULL (msg->env->subject));
+   draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);
+@@ -507,6 +557,12 @@ int mutt_compose_menu (HEADER *msg,   /*
+   /* Sort, SortAux could be changed in mutt_index_menu() */
+   int oldSort, oldSortAux;
+   struct stat st;
++#ifdef USE_NNTP
++  int news = 0;               /* is it a news article ? */
++
++  if (option (OPTNEWSSEND))
++    news++;
++#endif
+   mutt_attach_init (msg->content);
+   idx = mutt_gen_attach_list (msg->content, -1, idx, &idxlen, &idxmax, 0, 1);
+@@ -517,10 +573,18 @@ int mutt_compose_menu (HEADER *msg,   /*
+   menu->make_entry = snd_entry;
+   menu->tag = mutt_tag_attach;
+   menu->data = idx;
++#ifdef USE_NNTP
++  if (news)
++  menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_COMPOSE, ComposeNewsHelp);
++  else
++#endif
+   menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_COMPOSE, ComposeHelp);
+   
+   while (loop)
+   {
++#ifdef USE_NNTP
++    unset_option (OPTNEWS);   /* for any case */
++#endif
+     switch (op = mutt_menuLoop (menu))
+     {
+       case OP_REDRAW:
+@@ -533,17 +597,87 @@ int mutt_compose_menu (HEADER *msg,   /*
+         mutt_message_hook (NULL, msg, M_SEND2HOOK);
+       break;
+       case OP_COMPOSE_EDIT_TO:
++#ifdef USE_NNTP
++      if (news)
++        break;
++#endif
+       menu->redraw = edit_address_list (HDR_TO, &msg->env->to);
+         mutt_message_hook (NULL, msg, M_SEND2HOOK);
+         break;
+       case OP_COMPOSE_EDIT_BCC:
++#ifdef USE_NNTP
++      if (news)
++        break;
++#endif
+       menu->redraw = edit_address_list (HDR_BCC, &msg->env->bcc);
+         mutt_message_hook (NULL, msg, M_SEND2HOOK);
+       break;
+       case OP_COMPOSE_EDIT_CC:
++#ifdef USE_NNTP
++      if (news)
++        break;
++#endif
+       menu->redraw = edit_address_list (HDR_CC, &msg->env->cc);
+         mutt_message_hook (NULL, msg, M_SEND2HOOK);   
+         break;
++#ifdef USE_NNTP
++      case OP_COMPOSE_EDIT_NEWSGROUPS:
++      if (news)
++      {
++        if (msg->env->newsgroups)
++          strfcpy (buf, msg->env->newsgroups, sizeof (buf));
++        else
++          buf[0] = 0;
++        if (mutt_get_field ("Newsgroups: ", buf, sizeof (buf), 0) == 0 && buf[0])
++        {
++          FREE (&msg->env->newsgroups);
++          mutt_remove_trailing_ws (buf);
++          msg->env->newsgroups = safe_strdup (mutt_skip_whitespace (buf));
++          move (HDR_TO, HDR_XOFFSET);
++          clrtoeol ();
++          if (msg->env->newsgroups)
++            printw ("%-*.*s", W, W, msg->env->newsgroups);
++        }
++      }
++      break;
++
++      case OP_COMPOSE_EDIT_FOLLOWUP_TO:
++      if (news)
++      {
++        buf[0] = 0;
++        if (msg->env->followup_to)
++          strfcpy (buf, msg->env->followup_to, sizeof (buf));
++        if (mutt_get_field ("Followup-To: ", buf, sizeof (buf), 0) == 0 && buf[0])
++        {
++          FREE (&msg->env->followup_to);
++          mutt_remove_trailing_ws (buf);
++          msg->env->followup_to = safe_strdup (mutt_skip_whitespace (buf));
++          move (HDR_CC, HDR_XOFFSET);
++          clrtoeol();
++          if (msg->env->followup_to)
++            printw ("%-*.*s", W, W, msg->env->followup_to);
++        }
++      }
++      break;
++
++      case OP_COMPOSE_EDIT_X_COMMENT_TO:
++      if (news && option (OPTXCOMMENTTO))
++      {
++        buf[0] = 0;
++        if (msg->env->x_comment_to)
++          strfcpy (buf, msg->env->x_comment_to, sizeof (buf));
++        if (mutt_get_field ("X-Comment-To: ", buf, sizeof (buf), 0) == 0 && buf[0])
++        {
++          FREE (&msg->env->x_comment_to);
++          msg->env->x_comment_to = safe_strdup (buf);
++          move (HDR_BCC, HDR_XOFFSET);
++          clrtoeol();
++          if (msg->env->x_comment_to)
++            printw ("%-*.*s", W, W, msg->env->x_comment_to);
++        }
++      }
++      break;
++#endif
+       case OP_COMPOSE_EDIT_SUBJECT:
+       if (msg->env->subject)
+         strfcpy (buf, msg->env->subject, sizeof (buf));
+@@ -706,6 +840,9 @@ int mutt_compose_menu (HEADER *msg,   /*
+         break;
+       case OP_COMPOSE_ATTACH_MESSAGE:
++#ifdef USE_NNTP
++      case OP_COMPOSE_ATTACH_NEWS_MESSAGE:
++#endif
+       {
+         char *prompt;
+         HEADER *h;
+@@ -713,7 +850,22 @@ int mutt_compose_menu (HEADER *msg,   /*
+         fname[0] = 0;
+         prompt = _("Open mailbox to attach message from");
++#ifdef USE_NNTP
++        unset_option (OPTNEWS);
++        if (op == OP_COMPOSE_ATTACH_NEWS_MESSAGE)
++        {
++          if (!(CurrentNewsSrv = mutt_select_newsserver (NewsServer)))
++            break;
++
++          prompt = _("Open newsgroup to attach message from");
++          set_option (OPTNEWS);
++        }
++#endif
++
+         if (Context)
++#ifdef USE_NNTP
++        if ((op == OP_COMPOSE_ATTACH_MESSAGE) ^ (Context->magic == M_NNTP))
++#endif
+         {
+           strfcpy (fname, NONULL (Context->path), sizeof (fname));
+           mutt_pretty_mailbox (fname, sizeof (fname));
+@@ -722,6 +874,11 @@ int mutt_compose_menu (HEADER *msg,   /*
+         if (mutt_enter_fname (prompt, fname, sizeof (fname), &menu->redraw, 1) == -1 || !fname[0])
+           break;
++#ifdef USE_NNTP
++        if (option (OPTNEWS))
++          nntp_expand_path (fname, sizeof (fname), &CurrentNewsSrv->conn->account);
++        else
++#endif
+         mutt_expand_path (fname, sizeof (fname));
+ #ifdef USE_IMAP
+           if (!mx_is_imap (fname))
+@@ -729,6 +886,9 @@ int mutt_compose_menu (HEADER *msg,   /*
+ #ifdef USE_POP
+           if (!mx_is_pop (fname))
+ #endif
++#ifdef USE_NNTP
++          if (!mx_is_nntp (fname) && !option (OPTNEWS))
++#endif
+         /* check to make sure the file exists and is readable */
+         if (access (fname, R_OK) == -1)
+         {
+diff -udprP mutt-1.5.20.orig/config.h.in mutt-1.5.20/config.h.in
+--- mutt-1.5.20.orig/config.h.in       2009-06-09 09:51:15.000000000 +0300
++++ mutt-1.5.20/config.h.in    2009-06-15 21:05:24.000000000 +0300
+@@ -37,6 +37,9 @@
+    significant more memory when defined. */
+ #undef EXACT_ADDRESS
++/* Compiling with newsreading support with NNTP */
++#undef USE_NNTP
++
+ /* program to use for shell commands */
+ #undef EXECSHELL
+diff -udprP mutt-1.5.20.orig/configure.ac mutt-1.5.20/configure.ac
+--- mutt-1.5.20.orig/configure.ac      2009-06-09 09:50:33.000000000 +0300
++++ mutt-1.5.20/configure.ac   2009-06-15 21:05:24.000000000 +0300
+@@ -599,6 +599,14 @@ if test x"$need_imap" = xyes -o x"$need_
+   MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS bcache.o"
+ fi
++AC_ARG_ENABLE(nntp, [  --enable-nntp              Enable NNTP support],
++[     if test x$enableval = xyes ; then
++              AC_DEFINE(USE_NNTP,1,[ Define if you want support for the NNTP protocol. ])
++              MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS nntp.o newsrc.o"
++              need_socket="yes"
++      fi
++])
++
+ dnl -- end socket dependencies --
+ if test "$need_socket" = "yes"
+diff -udprP mutt-1.5.20.orig/curs_main.c mutt-1.5.20/curs_main.c
+--- mutt-1.5.20.orig/curs_main.c       2009-06-14 05:48:36.000000000 +0300
++++ mutt-1.5.20/curs_main.c    2009-06-15 21:47:09.000000000 +0300
+@@ -22,6 +22,7 @@
+ #include "mutt.h"
+ #include "mutt_curses.h"
++#include "mx.h"
+ #include "mutt_menu.h"
+ #include "mailbox.h"
+ #include "mapping.h"
+@@ -38,6 +39,10 @@
+ #include "mutt_crypt.h"
++#ifdef USE_NNTP
++#include "nntp.h"
++#endif
++
+ #include <ctype.h>
+ #include <stdlib.h>
+@@ -413,12 +418,27 @@ static struct mapping_t IndexHelp[] = {
+   { NULL,      0 }
+ };
++#ifdef USE_NNTP
++struct mapping_t IndexNewsHelp[] = {
++  { N_("Quit"),     OP_QUIT },
++  { N_("Del"),      OP_DELETE },
++  { N_("Undel"),    OP_UNDELETE },
++  { N_("Save"),     OP_SAVE },
++  { N_("Post"),     OP_POST },
++  { N_("Followup"), OP_FOLLOWUP },
++  { N_("Catchup"),  OP_CATCHUP },
++  { N_("Help"),     OP_HELP },
++  { NULL }
++};
++#endif
++
+ /* This function handles the message index window as well as commands returned
+  * from the pager (MENU_PAGER).
+  */
+ int mutt_index_menu (void)
+ {
+   char buf[LONG_STRING], helpstr[LONG_STRING];
++  int flags;
+   int op = OP_NULL;
+   int done = 0;                /* controls when to exit the "event" loop */
+   int i = 0, j;
+@@ -439,7 +459,11 @@ int mutt_index_menu (void)
+   menu->make_entry = index_make_entry;
+   menu->color = index_color;
+   menu->current = ci_first_message ();
+-  menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_MAIN, IndexHelp);
++  menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_MAIN,
++#ifdef USE_NNTP
++      (Context && (Context->magic == M_NNTP)) ? IndexNewsHelp :
++#endif
++      IndexHelp);
+   if (!attach_msg)
+     mutt_buffy_check(1); /* force the buffy check after we enter the folder */
+@@ -690,6 +714,9 @@ int mutt_index_menu (void)
+     imap_disallow_reopen (Context);
+ #endif
++#ifdef USE_NNTP
++    unset_option (OPTNEWS);   /* for any case */
++#endif
+     switch (op)
+     {
+@@ -740,6 +767,120 @@ int mutt_index_menu (void)
+       menu_current_bottom (menu);
+       break;
++#ifdef USE_NNTP
++      case OP_GET_MESSAGE:
++      case OP_GET_PARENT:
++      CHECK_MSGCOUNT;
++      if (Context->magic == M_NNTP)
++      {
++        HEADER *h;
++
++        if (op == OP_GET_MESSAGE)
++        {
++          buf[0] = 0;
++          if (mutt_get_field (_("Enter Message-Id: "), buf, sizeof (buf), 0) != 0
++                || !buf[0])
++            break;
++        }
++        else
++        {
++          LIST *ref = CURHDR->env->references;
++          if (!ref)
++          {
++            mutt_error _("Article has no parent reference!");
++            break;
++          }
++          strfcpy (buf, ref->data, sizeof (buf));
++        }
++        if (!Context->id_hash)
++          Context->id_hash = mutt_make_id_hash (Context);
++        if ((h = hash_find (Context->id_hash, buf)))
++        {
++          if (h->virtual != -1)
++          {
++            menu->current = h->virtual;
++            menu->redraw = REDRAW_MOTION_RESYNCH;
++          }
++          else if (h->collapsed)
++          {
++            mutt_uncollapse_thread (Context, h);
++            mutt_set_virtual (Context);
++            menu->current = h->virtual;
++            menu->redraw = REDRAW_MOTION_RESYNCH;
++          }
++          else
++            mutt_error _("Message not visible in limited view.");
++        }
++        else
++        {
++          if (nntp_check_msgid (Context, buf) == 0)
++          {
++            h = Context->hdrs[Context->msgcount-1];
++            mutt_sort_headers (Context, 0);
++            menu->current = h->virtual;
++            menu->redraw = REDRAW_FULL;
++          }
++          else
++            mutt_error (_("Article %s not found on server"), buf); 
++        }
++      }
++      break;
++
++      case OP_GET_CHILDREN:
++      case OP_RECONSTRUCT_THREAD:
++      CHECK_MSGCOUNT;
++      if (Context->magic == M_NNTP)
++      {
++        HEADER *h;
++        int old = CURHDR->index, i;
++
++        if (!CURHDR->env->message_id)
++        {
++          mutt_error _("No Message-Id. Unable to perform operation");
++          break;
++        }
++
++        if (!Context->id_hash)
++          Context->id_hash = mutt_make_id_hash (Context);
++        strfcpy (buf, CURHDR->env->message_id, sizeof (buf));
++
++        if (op == OP_RECONSTRUCT_THREAD)
++        {
++          LIST *ref = CURHDR->env->references;
++          while (ref)
++          {
++            nntp_check_msgid (Context, ref->data);
++            /* the last msgid in References is the root message */
++            if (!ref->next)
++              strfcpy (buf, ref->data, sizeof (buf));
++            ref = ref->next;
++          }
++        }
++        mutt_message _("Check for children of message...");
++        if (nntp_check_children (Context, buf) == 0)
++        {
++          mutt_sort_headers (Context, (op == OP_RECONSTRUCT_THREAD));
++          h = hash_find (Context->id_hash, buf);
++          /* if the root message was retrieved, move to it */
++          if (h)
++            menu->current = h->virtual;
++          else /* try to restore old position */
++            for (i = 0; i < Context->msgcount; i++)
++              if (Context->hdrs[i]->index == old)
++              {
++                menu->current = Context->hdrs[i]->virtual;
++                /* As an added courtesy, recenter the menu
++                 * with the current entry at the middle of the screen */
++                menu_check_recenter (menu);
++                menu_current_middle (menu);
++              }
++        }
++        menu->redraw = REDRAW_FULL;
++        mutt_clear_error ();
++      }
++      break;
++#endif
++
+       case OP_JUMP:
+       CHECK_MSGCOUNT;
+@@ -836,11 +977,33 @@ int mutt_index_menu (void)
+         break;
+       case OP_MAIN_LIMIT:
++      case OP_TOGGLE_READ:
+       CHECK_IN_MAILBOX;
+       menu->oldcurrent = (Context->vcount && menu->current >= 0 && menu->current < Context->vcount) ?
+               CURHDR->index : -1;
+-      if (mutt_pattern_func (M_LIMIT, _("Limit to messages matching: ")) == 0)
++      if (op == OP_TOGGLE_READ)
++      {
++        char buf[LONG_STRING];
++
++        if (!Context->pattern || strncmp (Context->pattern, "!~R!~D~s", 8) != 0)
++        {
++          snprintf (buf, sizeof (buf), "!~R!~D~s%s",
++                    Context->pattern ? Context->pattern : ".*");
++          set_option (OPTHIDEREAD);
++        }
++        else
++        {
++          strfcpy (buf, Context->pattern + 8, sizeof(buf));
++          if (!*buf || strncmp (buf, ".*", 2) == 0)
++            snprintf (buf, sizeof(buf), "~A");
++          unset_option (OPTHIDEREAD);
++        }
++        FREE (&Context->pattern);
++        Context->pattern = safe_strdup (buf);
++      }
++      if ((op == OP_TOGGLE_READ && mutt_pattern_func (M_LIMIT, NULL) == 0) ||
++          mutt_pattern_func (M_LIMIT, _("Limit to messages matching: ")) == 0)
+       {
+         if (menu->oldcurrent >= 0)
+         {
+@@ -1057,15 +1220,22 @@ int mutt_index_menu (void)
+       case OP_MAIN_CHANGE_FOLDER:
+       case OP_MAIN_NEXT_UNREAD_MAILBOX:
+-
+-      if (attach_msg)
+-        op = OP_MAIN_CHANGE_FOLDER_READONLY;
+-
+-      /* fallback to the readonly case */
+-
+       case OP_MAIN_CHANGE_FOLDER_READONLY:
++#ifdef USE_NNTP
++      case OP_MAIN_CHANGE_GROUP:
++      case OP_MAIN_CHANGE_GROUP_READONLY:
++      unset_option (OPTNEWS);
++#endif
++      if (attach_msg || option (OPTREADONLY) ||
++#ifdef USE_NNTP
++          op == OP_MAIN_CHANGE_GROUP_READONLY ||
++#endif
++          op == OP_MAIN_CHANGE_FOLDER_READONLY)
++        flags = M_READONLY;
++      else
++        flags = 0;
+-        if ((op == OP_MAIN_CHANGE_FOLDER_READONLY) || option (OPTREADONLY))
++      if (flags)
+           cp = _("Open mailbox in read-only mode");
+         else
+           cp = _("Open mailbox");
+@@ -1084,6 +1254,21 @@ int mutt_index_menu (void)
+       }
+       else
+       {
++#ifdef USE_NNTP
++        if (op == OP_MAIN_CHANGE_GROUP ||
++            op == OP_MAIN_CHANGE_GROUP_READONLY)
++        {
++          set_option (OPTNEWS);
++          if (!(CurrentNewsSrv = mutt_select_newsserver (NewsServer)))
++            break;
++          if (flags)
++            cp = _("Open newsgroup in read-only mode");
++          else
++            cp = _("Open newsgroup");
++          nntp_buffy (buf);
++        }
++        else
++#endif
+         mutt_buffy (buf, sizeof (buf));
+         if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1)
+@@ -1103,6 +1288,14 @@ int mutt_index_menu (void)
+         }
+       }
++#ifdef USE_NNTP
++      if (option (OPTNEWS))
++      {
++        unset_option (OPTNEWS);
++        nntp_expand_path (buf, sizeof (buf), &CurrentNewsSrv->conn->account);
++      }
++      else
++#endif
+       mutt_expand_path (buf, sizeof (buf));
+       if (mx_get_magic (buf) <= 0)
+       {
+@@ -1140,15 +1333,18 @@ int mutt_index_menu (void)
+       CurrentMenu = MENU_MAIN;
+       mutt_folder_hook (buf);
+-      if ((Context = mx_open_mailbox (buf,
+-                                      (option (OPTREADONLY) || op == OP_MAIN_CHANGE_FOLDER_READONLY) ?
+-                                      M_READONLY : 0, NULL)) != NULL)
++      if ((Context = mx_open_mailbox (buf, flags, NULL)) != NULL)
+       {
+         menu->current = ci_first_message ();
+       }
+       else
+         menu->current = 0;
++#ifdef USE_NNTP
++      /* mutt_buffy_check() must be done with mail-reader mode! */
++      menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_MAIN,
++        (Context && (Context->magic == M_NNTP)) ? IndexNewsHelp : IndexHelp);
++#endif
+       mutt_clear_error ();
+       mutt_buffy_check(1); /* force the buffy check after we have changed
+                             the folder */
+@@ -1519,6 +1715,15 @@ int mutt_index_menu (void)
+       CHECK_READONLY;
+       CHECK_ACL(M_ACL_WRITE, _("flag message"));
++#ifdef USE_NNTP
++      if (Context->magic == M_NNTP)
++      {
++        mutt_flushinp ();
++        mutt_error _("Can't change 'important' flag on NNTP server.");
++        break;
++      }
++#endif
++
+         if (tag)
+         {
+         for (j = 0; j < Context->vcount; j++)
+@@ -1866,6 +2071,17 @@ int mutt_index_menu (void)
+       }
+       break;
++#ifdef USE_NNTP
++      case OP_CATCHUP:
++      if (Context && Context->magic == M_NNTP)
++      {
++        if (mutt_newsgroup_catchup (CurrentNewsSrv,
++              ((NNTP_DATA *)Context->data)->group))
++          menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
++      }
++      break;
++#endif
++
+       case OP_DISPLAY_ADDRESS:
+       CHECK_MSGCOUNT;
+@@ -1993,6 +2209,15 @@ int mutt_index_menu (void)
+         menu->redraw = (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS;
+       }
+ #endif
++  
++#ifdef USE_NNTP
++      if (Context->magic == M_NNTP)
++      {
++        mutt_flushinp ();
++        mutt_error _("Can't edit message on newsserver.");
++        break;
++      }
++#endif
+       MAYBE_REDRAW (menu->redraw);
+       break;
+@@ -2065,6 +2290,41 @@ int mutt_index_menu (void)
+         menu->redraw = REDRAW_FULL;
+         break;
++#ifdef USE_NNTP
++      case OP_FOLLOWUP:
++      case OP_FORWARD_TO_GROUP:
++
++      CHECK_MSGCOUNT;
++      CHECK_VISIBLE;
++
++      case OP_POST:
++
++      CHECK_ATTACH;
++      if (op != OP_FOLLOWUP || !CURHDR->env->followup_to ||
++          mutt_strcasecmp (CURHDR->env->followup_to, "poster") ||
++          query_quadoption (OPT_FOLLOWUPTOPOSTER,_("Reply by mail as poster prefers?")) != M_YES)
++      {
++        if (Context && Context->magic == M_NNTP &&
++            !((NNTP_DATA *)Context->data)->allowed &&
++            query_quadoption (OPT_TOMODERATED, _("Posting to this group not allowed, may be moderated. Continue?")) != M_YES)
++          break;
++        if (op == OP_POST)
++          ci_send_message (SENDNEWS, NULL, NULL, Context, NULL);
++        else
++        {
++          CHECK_MSGCOUNT;
++          if (op == OP_FOLLOWUP)
++            ci_send_message (SENDNEWS|SENDREPLY, NULL, NULL, Context,
++                             tag ? NULL : CURHDR);
++          else
++            ci_send_message (SENDNEWS|SENDFORWARD, NULL, NULL, Context,
++                             tag ? NULL : CURHDR);
++        }
++        menu->redraw = REDRAW_FULL;
++        break;
++      }
++#endif
++
+       case OP_REPLY:
+       CHECK_ATTACH;
+@@ -2140,6 +2400,12 @@ int mutt_index_menu (void)
+       CHECK_READONLY;
+       CHECK_ACL(M_ACL_DELETE, _("undelete message(s)"));
++#ifdef USE_NNTP
++      /* Close all open NNTP connections */
++      if (!attach_msg)
++        nntp_logout_all ();
++#endif
++
+       rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0,
+                                  op == OP_UNDELETE_THREAD ? 0 : 1);
+diff -udprP mutt-1.5.20.orig/doc/manual.xml.head mutt-1.5.20/doc/manual.xml.head
+--- mutt-1.5.20.orig/doc/manual.xml.head       2009-05-30 20:20:08.000000000 +0300
++++ mutt-1.5.20/doc/manual.xml.head    2009-06-15 21:05:24.000000000 +0300
+@@ -1568,6 +1568,22 @@ fo-table</literal> for details.
+ </sect2>
++<sect2>
++<title>Reading news via NNTP</title>
++
++<para>
++If compiled with <emphasis>--enable-nntp</emphasis> option, Mutt can
++read news from newsserver via NNTP.  You can open a newsgroup with
++function ``change-newsgroup'' (default: ``i'').  Default newsserver
++can be obtained from <emphasis>NNTPSERVER</emphasis> environment
++variable.  Like other news readers, info about subscribed newsgroups
++is saved in file by <link linkend="newsrc">&dollar;newsrc</link>
++variable.  Article headers are cached and can be loaded from file when
++newsgroup entered instead loading from newsserver.
++</para>
++
++</sect2>
++
+ </sect1>
+ <sect1 id="forwarding-mail">
+diff -udprP mutt-1.5.20.orig/doc/mutt.man mutt-1.5.20/doc/mutt.man
+--- mutt-1.5.20.orig/doc/mutt.man      2009-06-07 03:32:44.000000000 +0300
++++ mutt-1.5.20/doc/mutt.man   2009-06-15 21:07:47.000000000 +0300
+@@ -23,8 +23,8 @@ mutt \- The Mutt Mail User Agent
+ .SH SYNOPSIS
+ .PP
+ .B mutt
+-[-nRyzZ] 
+-[\-e \fIcmd\fP] [\-F \fIfile\fP] [\-m \fItype\fP] [\-f \fIfile\fP]
++[-GnRyzZ] 
++[\-e \fIcmd\fP] [\-F \fIfile\fP] [\-g \fIserver\fP] [\-m \fItype\fP] [\-f \fIfile\fP]
+ .PP
+ .B mutt 
+ [\-nx] 
+@@ -101,6 +101,10 @@ files.
+ Specify which mailbox to load.
+ .IP "-F \fImuttrc\fP"
+ Specify an initialization file to read instead of ~/.muttrc
++.IP "-g \fIserver\fP"
++Start Mutt with a listing of subscribed newsgroups at specified newsserver.
++.IP "-G"
++Start Mutt with a listing of subscribed newsgroups.
+ .IP "-h"
+ Display help.
+ .IP "-H \fIdraft\fP"
+diff -udprP mutt-1.5.20.orig/functions.h mutt-1.5.20/functions.h
+--- mutt-1.5.20.orig/functions.h       2009-04-30 08:36:17.000000000 +0300
++++ mutt-1.5.20/functions.h    2009-06-15 21:05:24.000000000 +0300
+@@ -88,6 +88,10 @@ struct binding_t OpMain[] = { /* map: in
+   { "break-thread",           OP_MAIN_BREAK_THREAD,           "#" },
+   { "change-folder",          OP_MAIN_CHANGE_FOLDER,          "c" },
+   { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" },
++#ifdef USE_NNTP
++  { "change-newsgroup",               OP_MAIN_CHANGE_GROUP,           "i" },
++  { "change-newsgroup-readonly",OP_MAIN_CHANGE_GROUP_READONLY,        "\033i" },
++#endif
+   { "next-unread-mailbox",    OP_MAIN_NEXT_UNREAD_MAILBOX,    NULL },
+   { "collapse-thread",                OP_MAIN_COLLAPSE_THREAD,        "\033v" },
+   { "collapse-all",           OP_MAIN_COLLAPSE_ALL,           "\033V" },
+@@ -101,7 +105,15 @@ struct binding_t OpMain[] = { /* map: in
+   { "edit",                   OP_EDIT_MESSAGE,                "e" },
+   { "edit-type",              OP_EDIT_TYPE,                   "\005" },
+   { "forward-message",                OP_FORWARD_MESSAGE,             "f" },
+-  { "flag-message",           OP_FLAG_MESSAGE,                "F" },
++#ifdef USE_NNTP
++  { "forward-to-group",               OP_FORWARD_TO_GROUP,            "\033F" },
++  { "followup-message",               OP_FOLLOWUP,                    "F" },
++  { "get-children",           OP_GET_CHILDREN,                NULL },
++  { "get-message",            OP_GET_MESSAGE,                 "\007" },
++  { "get-parent",             OP_GET_PARENT,                  "\033G" },
++  { "reconstruct-thread",     OP_RECONSTRUCT_THREAD,          NULL },
++#endif
++  { "flag-message",           OP_FLAG_MESSAGE,                "\033f" },
+   { "group-reply",            OP_GROUP_REPLY,                 "g" },
+ #ifdef USE_POP
+   { "fetch-mail",             OP_MAIN_FETCH_MAIL,             "G" },
+@@ -127,6 +139,9 @@ struct binding_t OpMain[] = { /* map: in
+   { "sort-mailbox",           OP_SORT,                        "o" },
+   { "sort-reverse",           OP_SORT_REVERSE,                "O" },
+   { "print-message",          OP_PRINT,                       "p" },
++#ifdef USE_NNTP
++  { "post-message",           OP_POST,                        "P" },
++#endif
+   { "previous-thread",                OP_MAIN_PREV_THREAD,            "\020" },
+   { "previous-subthread",     OP_MAIN_PREV_SUBTHREAD,         "\033p" },
+   { "recall-message",         OP_RECALL_MESSAGE,              "R" },
+@@ -146,6 +161,10 @@ struct binding_t OpMain[] = { /* map: in
+   { "show-version",           OP_VERSION,                     "V" },
+   { "set-flag",                       OP_MAIN_SET_FLAG,               "w" },
+   { "clear-flag",             OP_MAIN_CLEAR_FLAG,             "W" },
++  { "toggle-read",            OP_TOGGLE_READ,                 "X" },
++#ifdef USE_NNTP
++  { "catchup",                        OP_CATCHUP,                     "y" },
++#endif
+   { "display-message",                OP_DISPLAY_MESSAGE,             M_ENTER_S },
+   { "buffy-list",             OP_BUFFY_LIST,                  "." },
+   { "sync-mailbox",           OP_MAIN_SYNC_FOLDER,            "$" },
+@@ -157,7 +176,7 @@ struct binding_t OpMain[] = { /* map: in
+   { "previous-new-then-unread",       OP_MAIN_PREV_NEW_THEN_UNREAD,   "\033\t" },
+   { "next-unread",            OP_MAIN_NEXT_UNREAD,            NULL },
+   { "previous-unread",                OP_MAIN_PREV_UNREAD,            NULL },
+-  { "parent-message",         OP_MAIN_PARENT_MESSAGE,         "P" },
++  { "parent-message",         OP_MAIN_PARENT_MESSAGE,         NULL },
+   { "extract-keys",           OP_EXTRACT_KEYS,                "\013" },
+@@ -177,6 +196,10 @@ struct binding_t OpPager[] = { /* map: p
+   { "bounce-message", OP_BOUNCE_MESSAGE,              "b" },
+   { "change-folder",  OP_MAIN_CHANGE_FOLDER,          "c" },
+   { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" },
++#ifdef USE_NNTP
++  { "change-newsgroup",               OP_MAIN_CHANGE_GROUP,           "i" },
++  { "change-newsgroup-readonly",OP_MAIN_CHANGE_GROUP_READONLY,        "\033i" },
++#endif
+   { "next-unread-mailbox",    OP_MAIN_NEXT_UNREAD_MAILBOX, NULL },
+   { "copy-message",   OP_COPY_MESSAGE,                "C" },
+   { "decode-copy",    OP_DECODE_COPY,                 "\033C" },
+@@ -187,8 +210,12 @@ struct binding_t OpPager[] = { /* map: p
+   { "clear-flag",       OP_MAIN_CLEAR_FLAG,           "W" },
+   { "edit",           OP_EDIT_MESSAGE,                "e" },
+   { "edit-type",      OP_EDIT_TYPE,                   "\005" },
++#ifdef USE_NNTP
++  { "followup-message",       OP_FOLLOWUP,                    "F" },
++  { "forward-to-group",       OP_FORWARD_TO_GROUP,            "\033F" },
++#endif
+   { "forward-message",        OP_FORWARD_MESSAGE,             "f" },
+-  { "flag-message",   OP_FLAG_MESSAGE,                "F" },
++  { "flag-message",   OP_FLAG_MESSAGE,                "\033f" },
+   { "group-reply",    OP_GROUP_REPLY,                 "g" },
+ #ifdef USE_IMAP
+   { "imap-fetch-mail",  OP_MAIN_IMAP_FETCH,           NULL },
+@@ -207,6 +234,9 @@ struct binding_t OpPager[] = { /* map: p
+   { "next-thread",    OP_MAIN_NEXT_THREAD,            "\016" },
+   { "next-subthread", OP_MAIN_NEXT_SUBTHREAD,         "\033n" },
+   { "print-message",  OP_PRINT,                       "p" },
++#ifdef USE_NNTP
++  { "post-message",   OP_POST,                        "P" },
++#endif
+   { "previous-thread",        OP_MAIN_PREV_THREAD,            "\020" },
+   { "previous-subthread",OP_MAIN_PREV_SUBTHREAD,      "\033p" },
+   { "quit",           OP_QUIT,                        "Q" },
+@@ -254,7 +284,7 @@ struct binding_t OpPager[] = { /* map: p
+   { "half-down",      OP_HALF_DOWN,                   NULL },
+   { "previous-line",  OP_PREV_LINE,                   NULL },
+   { "bottom",         OP_PAGER_BOTTOM,                NULL },
+-  { "parent-message", OP_MAIN_PARENT_MESSAGE,         "P" },
++  { "parent-message", OP_MAIN_PARENT_MESSAGE,         NULL },
+@@ -275,6 +305,10 @@ struct binding_t OpAttach[] = { /* map: 
+   { "bounce-message", OP_BOUNCE_MESSAGE,              "b" },
+   { "display-toggle-weed",    OP_DISPLAY_HEADERS,     "h" },
+   { "edit-type",      OP_EDIT_TYPE,                   "\005" },
++#ifdef USE_NNTP
++  { "followup-message",       OP_FOLLOWUP,                    "F" },
++  { "forward-to-group",       OP_FORWARD_TO_GROUP,            "\033F" },
++#endif
+   { "print-entry",    OP_PRINT,                       "p" },
+   { "save-entry",     OP_SAVE,                        "s" },
+   { "pipe-entry",     OP_PIPE,                        "|" },
+@@ -300,6 +334,7 @@ struct binding_t OpAttach[] = { /* map: 
+ struct binding_t OpCompose[] = { /* map: compose */
+   { "attach-file",    OP_COMPOSE_ATTACH_FILE,         "a" },
+   { "attach-message", OP_COMPOSE_ATTACH_MESSAGE,      "A" },
++  { "attach-news-message",OP_COMPOSE_ATTACH_NEWS_MESSAGE,"\033a" },
+   { "edit-bcc",               OP_COMPOSE_EDIT_BCC,            "b" },
+   { "edit-cc",                OP_COMPOSE_EDIT_CC,             "c" },
+   { "copy-file",      OP_SAVE,                        "C" },
+@@ -319,6 +354,11 @@ struct binding_t OpCompose[] = { /* map:
+   { "print-entry",    OP_PRINT,                       "l" },
+   { "edit-mime",      OP_COMPOSE_EDIT_MIME,           "m" },
+   { "new-mime",               OP_COMPOSE_NEW_MIME,            "n" },
++#ifdef USE_NNTP
++  { "edit-newsgroups",        OP_COMPOSE_EDIT_NEWSGROUPS,     "N" },
++  { "edit-followup-to",       OP_COMPOSE_EDIT_FOLLOWUP_TO,    "o" },
++  { "edit-x-comment-to",OP_COMPOSE_EDIT_X_COMMENT_TO, "x" },
++#endif
+   { "postpone-message",       OP_COMPOSE_POSTPONE_MESSAGE,    "P" },
+   { "edit-reply-to",  OP_COMPOSE_EDIT_REPLY_TO,       "r" },
+   { "rename-file",    OP_COMPOSE_RENAME_FILE,         "R" },
+@@ -370,14 +410,25 @@ struct binding_t OpBrowser[] = { /* map:
+   { "select-new",     OP_BROWSER_NEW_FILE,    "N" },
+   { "check-new",      OP_CHECK_NEW,           NULL },
+   { "toggle-mailboxes", OP_TOGGLE_MAILBOXES,  "\t" },
++#ifdef USE_NNTP
++  { "reload-active",  OP_LOAD_ACTIVE,         "g" },
++  { "subscribe-pattern", OP_SUBSCRIBE_PATTERN,        "S" },
++  { "unsubscribe-pattern", OP_UNSUBSCRIBE_PATTERN, "U" },
++  { "catchup",                OP_CATCHUP,             "y" },
++  { "uncatchup",      OP_UNCATCHUP,           "Y" },
++#endif
+   { "view-file",      OP_BROWSER_VIEW_FILE,   " " },
+   { "buffy-list",     OP_BUFFY_LIST,          "." },
+ #ifdef USE_IMAP
+   { "create-mailbox",   OP_CREATE_MAILBOX,      "C" },
+   { "delete-mailbox",   OP_DELETE_MAILBOX,      "d" },
+   { "rename-mailbox",   OP_RENAME_MAILBOX,      "r" },
++#endif
++#if defined USE_IMAP || defined USE_NNTP
+   { "subscribe",      OP_BROWSER_SUBSCRIBE,   "s" },
+   { "unsubscribe",    OP_BROWSER_UNSUBSCRIBE, "u" },
++#endif
++#ifdef USE_IMAP
+   { "toggle-subscribed", OP_BROWSER_TOGGLE_LSUB, "T" },
+ #endif
+   { NULL,             0,                      NULL }
+diff -udprP mutt-1.5.20.orig/globals.h mutt-1.5.20/globals.h
+--- mutt-1.5.20.orig/globals.h 2009-06-03 23:48:31.000000000 +0300
++++ mutt-1.5.20/globals.h      2009-06-15 21:05:24.000000000 +0300
+@@ -95,6 +95,15 @@ WHERE char *MixEntryFormat;
+ #endif
+ WHERE char *Muttrc INITVAL (NULL);
++#ifdef USE_NNTP
++WHERE char *NewsCacheDir;
++WHERE char *GroupFormat;
++WHERE char *Inews;
++WHERE char *NewsServer;
++WHERE char *NntpUser;
++WHERE char *NntpPass;
++WHERE char *NewsRc;
++#endif
+ WHERE char *Outbox;
+ WHERE char *Pager;
+ WHERE char *PagerFmt;
+@@ -188,6 +197,11 @@ extern unsigned char QuadOptions[];
+ WHERE unsigned short Counter INITVAL (0);
++#ifdef USE_NNTP
++WHERE short NewsPollTimeout;
++WHERE short NntpContext;
++#endif
++
+ WHERE short ConnectTimeout;
+ WHERE short HistSize;
+ WHERE short MenuContext;
+diff -udprP mutt-1.5.20.orig/hash.c mutt-1.5.20/hash.c
+--- mutt-1.5.20.orig/hash.c    2009-03-31 09:52:43.000000000 +0300
++++ mutt-1.5.20/hash.c 2009-06-15 21:19:59.000000000 +0300
+@@ -57,6 +57,7 @@ HASH *hash_create (int nelem, int lower)
+   if (nelem == 0)
+     nelem = 2;
+   table->nelem = nelem;
++  table->curnelem = 0;
+   table->table = safe_calloc (nelem, sizeof (struct hash_elem *));
+   if (lower)
+   {
+@@ -71,6 +72,29 @@ HASH *hash_create (int nelem, int lower)
+   return table;
+ }
++HASH *hash_resize (HASH *ptr, int nelem, int lower)
++{
++  HASH *table;
++  struct hash_elem *elem, *tmp;
++  int i;
++
++  table = hash_create (nelem, lower);
++
++  for (i = 0; i < ptr->nelem; i++)
++  {
++    for (elem = ptr->table[i]; elem; )
++    {
++      tmp = elem;
++      elem = elem->next;
++      hash_insert (table, tmp->key, tmp->data, 1);
++      FREE (&tmp);
++    }
++  }
++  FREE (&ptr->table);
++  FREE (&ptr);
++  return table;
++}
++
+ /* table        hash table to update
+  * key          key to hash on
+  * data         data to associate with `key'
+@@ -90,6 +114,7 @@ int hash_insert (HASH * table, const cha
+   {
+     ptr->next = table->table[h];
+     table->table[h] = ptr;
++    table->curnelem++;
+   }
+   else
+   {
+@@ -112,6 +137,7 @@ int hash_insert (HASH * table, const cha
+     else
+       table->table[h] = ptr;
+     ptr->next = tmp;
++    table->curnelem++;
+   }
+   return h;
+ }
+@@ -142,6 +168,7 @@ void hash_delete_hash (HASH * table, int
+       if (destroy)
+       destroy (ptr->data);
+       FREE (&ptr);
++      table->curnelem--;
+       
+       ptr = *last;
+     }
+diff -udprP mutt-1.5.20.orig/hash.h mutt-1.5.20/hash.h
+--- mutt-1.5.20.orig/hash.h    2009-03-31 09:52:43.000000000 +0300
++++ mutt-1.5.20/hash.h 2009-06-15 21:05:24.000000000 +0300
+@@ -28,7 +28,7 @@ struct hash_elem
+ typedef struct
+ {
+-  int nelem;
++  int nelem, curnelem;
+   struct hash_elem **table;
+   unsigned int (*hash_string)(const unsigned char *, unsigned int);
+   int (*cmp_string)(const char *, const char *);
+@@ -41,6 +41,7 @@ HASH;
+ HASH *hash_create (int nelem, int lower);
+ int hash_insert (HASH * table, const char *key, void *data, int allow_dup);
++HASH *hash_resize (HASH * table, int nelem, int lower);
+ void *hash_find_hash (const HASH * table, int hash, const char *key);
+ void hash_delete_hash (HASH * table, int hash, const char *key, const void *data,
+                      void (*destroy) (void *));
+diff -udprP mutt-1.5.20.orig/hdrline.c mutt-1.5.20/hdrline.c
+--- mutt-1.5.20.orig/hdrline.c 2009-04-13 19:24:55.000000000 +0300
++++ mutt-1.5.20/hdrline.c      2009-06-15 21:05:24.000000000 +0300
+@@ -211,6 +211,7 @@ int mutt_user_is_recipient (HEADER *h)
+  * %E = number of messages in current thread
+  * %f = entire from line
+  * %F = like %n, unless from self
++ * %g = newsgroup name (if compiled with nntp support)
+  * %i = message-id
+  * %l = number of lines in the message
+  * %L = like %F, except `lists' are displayed first
+@@ -219,12 +220,14 @@ int mutt_user_is_recipient (HEADER *h)
+  * %N = score
+  * %O = like %L, except using address instead of name
+  * %P = progress indicator for builtin pager
++ * %R = `x-comment-to:' field (if present and compiled with nntp support)
+  * %s = subject
+  * %S = short message status (e.g., N/O/D/!/r/-)
+  * %t = `to:' field (recipients)
+  * %T = $to_chars
+  * %u = user (login) name of author
+  * %v = first name of author, unless from self
++ * %W = where user is (organization)
+  * %X = number of MIME attachments
+  * %y = `x-label:' field (if present)
+  * %Y = `x-label:' field (if present, tree unfolded, and != parent's x-label)
+@@ -457,6 +460,12 @@ hdr_format_str (char *dest,
+       break;
++#ifdef USE_NNTP
++    case 'g':
++      mutt_format_s (dest, destlen, prefix, hdr->env->newsgroups ? hdr->env->newsgroups : "");
++      break;
++#endif
++
+     case 'i':
+       mutt_format_s (dest, destlen, prefix, hdr->env->message_id ? hdr->env->message_id : "<no.id>");
+       break;
+@@ -548,6 +557,15 @@ hdr_format_str (char *dest,
+       strfcpy(dest, NONULL(hfi->pager_progress), destlen);
+       break;
++#ifdef USE_NNTP
++    case 'R':
++      if (!optional)
++      mutt_format_s (dest, destlen, prefix, hdr->env->x_comment_to ? hdr->env->x_comment_to : "");
++      else if (!hdr->env->x_comment_to)
++      optional = 0;
++      break;
++#endif
++
+     case 's':
+       
+       if (flags & M_FORMAT_TREE && !hdr->collapsed)
+@@ -637,6 +655,13 @@ hdr_format_str (char *dest,
+       mutt_format_s (dest, destlen, prefix, buf2);
+       break;
++    case 'W':
++      if (!optional)
++      mutt_format_s (dest, destlen, prefix, hdr->env->organization ? hdr->env->organization : "");
++      else if (!hdr->env->organization)
++      optional = 0;
++      break;
++
+     case 'Z':
+     
+       ch = ' ';
+diff -udprP mutt-1.5.20.orig/headers.c mutt-1.5.20/headers.c
+--- mutt-1.5.20.orig/headers.c 2009-04-30 08:36:17.000000000 +0300
++++ mutt-1.5.20/headers.c      2009-06-15 21:17:07.000000000 +0300
+@@ -114,6 +114,9 @@ void mutt_edit_headers (const char *edit
+      $edit_headers set, we remove References: as they're likely invalid;
+      we can simply compare strings as we don't generate References for
+      multiple Message-Ids in IRT anyways */
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND))
++#endif
+   if (!n->in_reply_to || (msg->env->in_reply_to &&
+                         mutt_strcmp (n->in_reply_to->data,
+                                      msg->env->in_reply_to->data) != 0))
+diff -udprP mutt-1.5.20.orig/init.c mutt-1.5.20/init.c
+--- mutt-1.5.20.orig/init.c    2009-06-01 19:29:32.000000000 +0300
++++ mutt-1.5.20/init.c 2009-06-15 21:05:24.000000000 +0300
+@@ -2966,6 +2966,28 @@ void mutt_init (int skip_sys_rc, LIST *c
+   else
+     Fqdn = safe_strdup(NONULL(Hostname));
++#ifdef USE_NNTP
++  {
++    FILE *f;
++    char *i;
++
++    if ((f = safe_fopen (SYSCONFDIR "/nntpserver", "r")))
++    {
++      buffer[0] = '\0';
++      fgets (buffer, sizeof (buffer), f);
++      p = &buffer;
++      SKIPWS (p);
++      i = p;
++      while (*i && (*i != ' ') && (*i != '\t') && (*i != '\r') && (*i != '\n')) i++;
++      *i = '\0';
++      NewsServer = safe_strdup (p);
++      fclose (f);
++    }
++  }
++  if ((p = getenv ("NNTPSERVER")))
++    NewsServer = safe_strdup (p);
++#endif
++
+   if ((p = getenv ("MAIL")))
+     Spoolfile = safe_strdup (p);
+   else if ((p = getenv ("MAILDIR")))
+diff -udprP mutt-1.5.20.orig/init.h mutt-1.5.20/init.h
+--- mutt-1.5.20.orig/init.h    2009-06-14 00:35:21.000000000 +0300
++++ mutt-1.5.20/init.h 2009-06-15 21:15:03.000000000 +0300
+@@ -176,6 +176,20 @@ struct option_t MuttVars[] = {
+   ** If \fIset\fP, Mutt will prompt you for carbon-copy (Cc) recipients before
+   ** editing the body of an outgoing message.
+   */
++#ifdef USE_NNTP
++  { "ask_follow_up",  DT_BOOL, R_NONE, OPTASKFOLLOWUP, 0 },
++  /*
++  ** .pp
++  ** If set, Mutt will prompt you for follow-up groups before editing
++  ** the body of an outgoing message.
++  */
++  { "ask_x_comment_to",       DT_BOOL, R_NONE, OPTASKXCOMMENTTO, 0 },
++  /*
++  ** .pp
++  ** If set, Mutt will prompt you for x-comment-to field before editing
++  ** the body of an outgoing message.
++  */
++#endif
+   { "assumed_charset", DT_STR, R_NONE, UL &AssumedCharset, UL 0},
+   /*
+   ** .pp
+@@ -322,6 +336,14 @@ struct option_t MuttVars[] = {
+   ** follow these menus.  The option is \fIunset\fP by default because many
+   ** visual terminals don't permit making the cursor invisible.
+   */
++#ifdef USE_NNTP
++  { "catchup_newsgroup", DT_QUAD, R_NONE, OPT_CATCHUP, M_ASKYES },
++  /*
++  ** .pp
++  ** If this variable is \fIset\fP, Mutt will mark all articles in newsgroup
++  ** as read when you quit the newsgroup (catchup newsgroup).
++  */
++#endif
+ #if defined(USE_SSL)
+   { "certificate_file",       DT_PATH, R_NONE, UL &SslCertFile, UL "~/.mutt_certificates" },
+   /*
+@@ -797,6 +819,16 @@ struct option_t MuttVars[] = {
+   ** sent to both the list and your address, resulting in two copies
+   ** of the same email for you.
+   */
++#ifdef USE_NNTP
++  { "followup_to_poster", DT_QUAD, R_NONE, OPT_FOLLOWUPTOPOSTER, M_ASKYES },
++  /*
++  ** .pp
++  ** If this variable is \fIset\fP and the keyword "poster" is present in
++  ** \fIFollowup-To\fP header, follow-up to newsgroup function is not
++  ** permitted.  The message will be mailed to the submitter of the
++  ** message via mail.
++  */
++#endif
+   { "force_name",     DT_BOOL, R_NONE, OPTFORCENAME, 0 },
+   /*
+   ** .pp
+@@ -879,6 +911,27 @@ struct option_t MuttVars[] = {
+   ** a regular expression that will match the whole name so mutt will expand
+   ** ``Franklin'' to ``Franklin, Steve''.
+   */
++#ifdef USE_NNTP
++  { "group_index_format", DT_STR, R_BOTH, UL &GroupFormat, UL "%4C %M%N %5s  %-45.45f %d" },
++  /*
++  ** .pp
++  ** This variable allows you to customize the newsgroup browser display to
++  ** your personal taste.  This string is similar to ``$index_format'', but
++  ** has its own set of printf()-like sequences:
++  ** .pp
++  ** .ts
++  ** %C      current newsgroup number
++  ** %d      description of newsgroup (becomes from server)
++  ** %f      newsgroup name
++  ** %M      - if newsgroup not allowed for direct post (moderated for example)
++  ** %N      N if newsgroup is new, u if unsubscribed, blank otherwise
++  ** %n      number of new articles in newsgroup
++  ** %s      number of unread articles in newsgroup
++  ** %>X     right justify the rest of the string and pad with character "X"
++  ** %|X     pad to the end of the line with character "X"
++  ** .te
++  */
++#endif
+   { "hdr_format",     DT_SYN,  R_NONE, UL "index_format", 0 },
+   /*
+   */
+@@ -1255,6 +1308,7 @@ struct option_t MuttVars[] = {
+   ** .dt %E .dd number of messages in current thread
+   ** .dt %f .dd sender (address + real name), either From: or Return-Path:
+   ** .dt %F .dd author name, or recipient name if the message is from you
++  ** .dt %g .dd newsgroup name (if compiled with nntp support)
+   ** .dt %H .dd spam attribute(s) of this message
+   ** .dt %i .dd message-id of the current message
+   ** .dt %l .dd number of lines in the message (does not work with maildir,
+@@ -1270,12 +1324,14 @@ struct option_t MuttVars[] = {
+   **            stashed the message: list name or recipient name
+   **            if not sent to a list
+   ** .dt %P .dd progress indicator for the builtin pager (how much of the file has been displayed)
++  ** .dt %R .dd `x-comment-to:' field (if present and compiled with nntp support)
+   ** .dt %s .dd subject of the message
+   ** .dt %S .dd status of the message (``N''/``D''/``d''/``!''/``r''/\(as)
+   ** .dt %t .dd ``To:'' field (recipients)
+   ** .dt %T .dd the appropriate character from the $$to_chars string
+   ** .dt %u .dd user (login) name of the author
+   ** .dt %v .dd first name of the author, or the recipient if the message is from you
++  ** .dt %W .dd name of organization of author (`organization:' field)
+   ** .dt %X .dd number of attachments
+   **            (please see the ``$attachments'' section for possible speed effects)
+   ** .dt %y .dd ``X-Label:'' field, if present
+@@ -1310,6 +1366,21 @@ struct option_t MuttVars[] = {
+   ** Note that these expandos are supported in
+   ** ``$save-hook'', ``$fcc-hook'' and ``$fcc-save-hook'', too.
+   */
++#ifdef USE_NNTP
++  { "inews",          DT_PATH, R_NONE, UL &Inews, UL "" },
++  /*
++  ** .pp
++  ** If set, specifies the program and arguments used to deliver news posted
++  ** by Mutt.  Otherwise, mutt posts article using current connection to
++  ** news server.  The following printf-style sequence is understood:
++  ** .pp
++  ** .ts
++  ** %s      newsserver name
++  ** .te
++  ** .pp
++  ** Example: set inews="/usr/local/bin/inews -hS"
++  */
++#endif
+   { "ispell",         DT_PATH, R_NONE, UL &Ispell, UL ISPELL },
+   /*
+   ** .pp
+@@ -1533,6 +1604,15 @@ struct option_t MuttVars[] = {
+   ** menu, attachments which cannot be decoded in a reasonable manner will
+   ** be attached to the newly composed message if this option is \fIset\fP.
+   */
++#ifdef USE_NNTP
++  { "mime_subject",   DT_BOOL, R_NONE, OPTMIMESUBJECT, 1 },
++  /*
++  ** .pp
++  ** If \fIunset\fP, 8-bit ``subject:'' line in article header will not be
++  ** encoded according to RFC2047 to base64.  This is useful when message
++  ** is Usenet article, because MIME for news is nonstandard feature.
++  */
++#endif
+ #ifdef MIXMASTER
+   { "mix_entry_format", DT_STR,  R_NONE, UL &MixEntryFormat, UL "%4n %c %-16s %a" },
+   /*
+@@ -1580,6 +1660,77 @@ struct option_t MuttVars[] = {
+    ** See also $$read_inc, $$write_inc and $$net_inc.
+    */
+ #endif
++#ifdef USE_NNTP
++  { "news_cache_dir", DT_PATH, R_NONE, UL &NewsCacheDir, UL "~/.mutt" },
++  /*
++  ** .pp
++  ** This variable pointing to directory where Mutt will save cached news
++  ** articles headers in. If \fIunset\fP, headers will not be saved at all
++  ** and will be reloaded each time when you enter to newsgroup.
++  */
++  { "news_server",    DT_STR,  R_NONE, UL &NewsServer, 0 },
++  /*
++  ** .pp
++  ** This variable specifies domain name or address of NNTP server. It
++  ** defaults to the newsserver specified in the environment variable
++  ** $$$NNTPSERVER or contained in the file /etc/nntpserver.  You can also
++  ** specify username and an alternative port for each newsserver, ie:
++  ** .pp
++  ** [news[s]://][username[:password]@]newsserver[:port]
++  */
++  { "newsrc",         DT_PATH, R_NONE, UL &NewsRc, UL "~/.newsrc" },
++  /*
++  ** .pp
++  ** The file, containing info about subscribed newsgroups - names and
++  ** indexes of read articles.  The following printf-style sequence
++  ** is understood:
++  ** .pp
++  ** .ts
++  ** %s      newsserver name
++  ** .te
++  */
++  { "nntp_context",   DT_NUM,  R_NONE, UL &NntpContext, 1000 },
++  /*
++  ** .pp
++  ** This variable defines number of articles which will be in index when
++  ** newsgroup entered.  If active newsgroup have more articles than this
++  ** number, oldest articles will be ignored.  Also controls how many
++  ** articles headers will be saved in cache when you quit newsgroup.
++  */
++  { "nntp_load_description", DT_BOOL, R_NONE, OPTLOADDESC, 1 },
++  /*
++  ** .pp
++  ** This variable controls whether or not descriptions for each newsgroup
++  ** must be loaded when newsgroup is added to list (first time list
++  ** loading or new newsgroup adding).
++  */
++  { "nntp_user",      DT_STR,  R_NONE, UL &NntpUser, UL "" },
++  /*
++  ** .pp
++  ** Your login name on the NNTP server.  If \fIunset\fP and NNTP server requires
++  ** authentification, Mutt will prompt you for your account name when you
++  ** connect to newsserver.
++  */
++  { "nntp_pass",      DT_STR,  R_NONE, UL &NntpPass, UL "" },
++  /*
++  ** .pp
++  ** Your password for NNTP account.
++  */
++  { "nntp_poll",      DT_NUM,  R_NONE, UL &NewsPollTimeout, 60 },
++  /*
++  ** .pp
++  ** The time in seconds until any operations on newsgroup except post new
++  ** article will cause recheck for new news.  If set to 0, Mutt will
++  ** recheck newsgroup on each operation in index (stepping, read article,
++  ** etc.).
++  */
++  { "nntp_reconnect", DT_QUAD, R_NONE, OPT_NNTPRECONNECT, M_ASKYES },
++  /*
++  ** .pp
++  ** Controls whether or not Mutt will try to reconnect to newsserver when
++  ** connection lost.
++  */
++#endif
+   { "pager",          DT_PATH, R_NONE, UL &Pager, UL "builtin" },
+   /*
+   ** .pp
+@@ -2079,6 +2230,16 @@ struct option_t MuttVars[] = {
+   { "post_indent_str",  DT_SYN,  R_NONE, UL "post_indent_string", 0 },
+   /*
+   */
++#ifdef USE_NNTP
++  { "post_moderated", DT_QUAD, R_NONE, OPT_TOMODERATED, M_ASKYES },
++  /*
++  ** .pp
++  ** If set to \fIyes\fP, Mutt will post article to newsgroup that have
++  ** not permissions to posting (e.g. moderated).  \fBNote:\fP if newsserver
++  ** does not support posting to that newsgroup or totally read-only, that
++  ** posting will not have an effect.
++  */
++#endif
+   { "postpone",               DT_QUAD, R_NONE, OPT_POSTPONE, M_ASKYES },
+   /*
+   ** .pp
+@@ -2479,6 +2640,28 @@ struct option_t MuttVars[] = {
+   ** Command to use when spawning a subshell.  By default, the user's login
+   ** shell from \fC/etc/passwd\fP is used.
+   */
++#ifdef USE_NNTP
++  { "save_unsubscribed",DT_BOOL, R_NONE, OPTSAVEUNSUB, 0 },
++  /*
++  ** .pp
++  ** When \fIset\fP, info about unsubscribed newsgroups will be saved into
++  ** ``newsrc'' file and into cache.
++  */
++  { "show_new_news",  DT_BOOL, R_NONE, OPTSHOWNEWNEWS, 1 },
++  /*
++  ** .pp
++  ** If \fIset\fP, newsserver will be asked for new newsgroups on entering
++  ** the browser.  Otherwise, it will be done only once for a newsserver.
++  ** Also controls whether or not number of new articles of subscribed
++  ** newsgroups will be then checked.
++  */
++  { "show_only_unread",  DT_BOOL, R_NONE, OPTSHOWONLYUNREAD, 0 },
++  /*
++  ** .pp
++  ** If \fIset\fP, only subscribed newsgroups that contain unread articles
++  ** will be displayed in browser.
++  */
++#endif
+   { "sig_dashes",     DT_BOOL, R_NONE, OPTSIGDASHES, 1 },
+   /*
+   ** .pp
+@@ -3337,6 +3520,14 @@ struct option_t MuttVars[] = {
+   ** Also see the $$read_inc, $$net_inc and $$time_inc variables and the
+   ** ``$tuning'' section of the manual for performance considerations.
+   */
++#ifdef USE_NNTP
++  { "x_comment_to",   DT_BOOL, R_NONE, OPTXCOMMENTTO, 0 },
++  /*
++  ** .pp
++  ** If \fIset\fP, Mutt will add ``X-Comment-To:'' field (that contains full
++  ** name of original article author) to article that followuped to newsgroup.
++  */
++#endif
+   /*--*/
+   { NULL, 0, 0, 0, 0 }
+ };
+diff -udprP mutt-1.5.20.orig/keymap.c mutt-1.5.20/keymap.c
+--- mutt-1.5.20.orig/keymap.c  2008-11-29 23:09:10.000000000 +0200
++++ mutt-1.5.20/keymap.c       2009-06-15 21:05:24.000000000 +0300
+@@ -654,7 +654,6 @@ void km_init (void)
+   km_bindkey ("<enter>", MENU_MAIN, OP_DISPLAY_MESSAGE);
+   km_bindkey ("x", MENU_PAGER, OP_EXIT);
+-  km_bindkey ("i", MENU_PAGER, OP_EXIT);
+   km_bindkey ("<backspace>", MENU_PAGER, OP_PREV_LINE);
+   km_bindkey ("<pagedown>", MENU_PAGER, OP_NEXT_PAGE);
+   km_bindkey ("<pageup>", MENU_PAGER, OP_PREV_PAGE);
+diff -udprP mutt-1.5.20.orig/mailbox.h mutt-1.5.20/mailbox.h
+--- mutt-1.5.20.orig/mailbox.h 2009-04-30 08:36:17.000000000 +0300
++++ mutt-1.5.20/mailbox.h      2009-06-15 21:05:24.000000000 +0300
+@@ -74,6 +74,9 @@ int mx_is_imap (const char *);
+ #ifdef USE_POP
+ int mx_is_pop (const char *);
+ #endif
++#ifdef USE_NNTP
++int mx_is_nntp (const char *);
++#endif
+ int mx_access (const char*, int);
+ int mx_check_empty (const char *);
+diff -udprP mutt-1.5.20.orig/main.c mutt-1.5.20/main.c
+--- mutt-1.5.20.orig/main.c    2009-06-01 19:29:32.000000000 +0300
++++ mutt-1.5.20/main.c 2009-06-15 21:05:24.000000000 +0300
+@@ -60,6 +60,10 @@
+ #include <stringprep.h>
+ #endif
++#ifdef USE_NNTP
++#include "nntp.h"
++#endif
++
+ static const char *ReachingUs = N_("\
+ To contact the developers, please mail to <mutt-dev@mutt.org>.\n\
+ To report a bug, please visit http://bugs.mutt.org/.\n");
+@@ -133,6 +137,8 @@ options:\n\
+ "  -e <command>\tspecify a command to be executed after initialization\n\
+   -f <file>\tspecify which mailbox to read\n\
+   -F <file>\tspecify an alternate muttrc file\n\
++  -g <server>\tspecify a newsserver (if compiled with NNTP)\n\
++  -G\t\tselect a newsgroup (if compiled with NNTP)\n\
+   -H <file>\tspecify a draft file to read header and body from\n\
+   -i <file>\tspecify a file which Mutt should include in the body\n\
+   -m <type>\tspecify a default mailbox type\n\
+@@ -255,6 +261,12 @@ static void show_version (void)
+       "-USE_POP  "
+ #endif
++#ifdef USE_NNTP
++      "+USE_NNTP  "
++#else
++      "-USE_NNTP  "
++#endif
++
+ #ifdef USE_IMAP
+         "+USE_IMAP  "
+ #else
+@@ -522,6 +534,9 @@ static void start_curses (void)
+ #define M_NOSYSRC (1<<2)      /* -n */
+ #define M_RO      (1<<3)      /* -R */
+ #define M_SELECT  (1<<4)      /* -y */
++#ifdef USE_NNTP
++#define M_NEWS    (1<<5)      /* -g and -G */
++#endif
+ int main (int argc, char **argv)
+ {
+@@ -594,7 +609,11 @@ int main (int argc, char **argv)
+         argv[nargc++] = argv[optind];
+     }
++#ifdef USE_NNTP
++    if ((i = getopt (argc, argv, "+A:a:b:F:f:c:Dd:e:g:GH:s:i:hm:npQ:RvxyzZ")) != EOF)
++#else
+     if ((i = getopt (argc, argv, "+A:a:b:F:f:c:Dd:e:H:s:i:hm:npQ:RvxyzZ")) != EOF)
++#endif
+       switch (i)
+       {
+       case 'A':
+@@ -691,6 +710,20 @@ int main (int argc, char **argv)
+       flags |= M_SELECT;
+       break;
++#ifdef USE_NNTP
++      case 'g': /* Specify a newsserver */
++      {
++        char buf[LONG_STRING];
++
++        snprintf (buf, sizeof (buf), "set news_server=%s", optarg);
++        commands = mutt_add_list (commands, buf);
++      }
++
++      case 'G': /* List of newsgroups */
++      flags |= M_SELECT | M_NEWS;
++      break;
++#endif
++
+       case 'z':
+       flags |= M_IGNORE;
+       break;
+@@ -978,6 +1011,18 @@ int main (int argc, char **argv)
+     }
+     else if (flags & M_SELECT)
+     {
++#ifdef USE_NNTP
++      if (flags & M_NEWS)
++      {
++      set_option (OPTNEWS);
++      if(!(CurrentNewsSrv = mutt_select_newsserver (NewsServer)))
++      {
++        mutt_endwin (Errorbuf);
++        exit (1);
++      }
++      }
++      else
++#endif
+       if (!Incoming) {
+       mutt_endwin _("No incoming mailboxes defined.");
+       exit (1);
+@@ -993,6 +1038,15 @@ int main (int argc, char **argv)
+     if (!folder[0])
+       strfcpy (folder, NONULL(Spoolfile), sizeof (folder));
++
++#ifdef USE_NNTP
++    if (option (OPTNEWS))
++    {
++      unset_option (OPTNEWS);
++      nntp_expand_path (folder, sizeof (folder), &CurrentNewsSrv->conn->account);
++    }
++    else
++#endif
+     mutt_expand_path (folder, sizeof (folder));
+     mutt_str_replace (&CurrentFolder, folder);
+diff -udprP mutt-1.5.20.orig/mutt.h mutt-1.5.20/mutt.h
+--- mutt-1.5.20.orig/mutt.h    2009-06-13 01:15:42.000000000 +0300
++++ mutt-1.5.20/mutt.h 2009-06-15 21:05:24.000000000 +0300
+@@ -229,6 +229,9 @@ enum
+   M_PGP_KEY,
+   M_XLABEL,
+   M_MIMEATTACH,
++#ifdef USE_NNTP
++  M_NEWSGROUPS,
++#endif
+   
+   /* Options for Mailcap lookup */
+   M_EDIT,
+@@ -285,6 +288,12 @@ enum
+ #endif
+   OPT_SUBJECT,
+   OPT_VERIFYSIG,      /* verify PGP signatures */
++#ifdef USE_NNTP
++  OPT_TOMODERATED,
++  OPT_NNTPRECONNECT,
++  OPT_CATCHUP,
++  OPT_FOLLOWUPTOPOSTER,
++#endif /* USE_NNTP */
+     
+   /* THIS MUST BE THE LAST VALUE. */
+   OPT_MAX
+@@ -300,6 +309,7 @@ enum
+ #define SENDMAILX     (1<<6)
+ #define SENDKEY               (1<<7)
+ #define SENDRESEND    (1<<8)
++#define SENDNEWS      (1<<9)
+ /* flags to _mutt_select_file() */
+ #define M_SEL_BUFFY   (1<<0)
+@@ -319,6 +329,8 @@ enum
+   OPTASCIICHARS,
+   OPTASKBCC,
+   OPTASKCC,
++  OPTASKFOLLOWUP,
++  OPTASKXCOMMENTTO,
+   OPTATTACHSPLIT,
+   OPTAUTOEDIT,
+   OPTAUTOTAG,
+@@ -396,6 +408,9 @@ enum
+   OPTMETOO,
+   OPTMHPURGE,
+   OPTMIMEFORWDECODE,
++#ifdef USE_NNTP
++  OPTMIMESUBJECT,     /* encode subject line with RFC2047 */
++#endif
+   OPTNARROWTREE,
+   OPTPAGERSTOP,
+   OPTPIPEDECODE,
+@@ -477,6 +492,16 @@ enum
+   OPTPGPAUTOINLINE,
+   OPTPGPREPLYINLINE,
++  /* news options */
++
++#ifdef USE_NNTP
++  OPTSHOWNEWNEWS,
++  OPTSHOWONLYUNREAD,
++  OPTSAVEUNSUB,
++  OPTLOADDESC,
++  OPTXCOMMENTTO,
++#endif /* USE_NNTP */
++
+   /* pseudo options */
+   OPTAUXSORT,         /* (pseudo) using auxillary sort function */
+@@ -497,6 +522,7 @@ enum
+   OPTSORTSUBTHREADS,  /* (pseudo) used when $sort_aux changes */
+   OPTNEEDRESCORE,     /* (pseudo) set when the `score' command is used */
+   OPTATTACHMSG,               /* (pseudo) used by attach-message */
++  OPTHIDEREAD,                /* (pseudo) whether or not hide read messages */
+   OPTKEEPQUIET,               /* (pseudo) shut up the message and refresh
+                        *          functions while we are executing an
+                        *          external program.
+@@ -507,6 +533,12 @@ enum
+   OPTDONTHANDLEPGPKEYS,       /* (pseudo) used to extract PGP keys */
+   OPTUNBUFFEREDINPUT,   /* (pseudo) don't use key buffer */
++#ifdef USE_NNTP
++  OPTNEWS,            /* (pseudo) used to change reader mode */
++  OPTNEWSSEND,                /* (pseudo) used to change behavior when posting */
++  OPTNEWSCACHE,               /* (pseudo) used to indicate if news cache exist */
++#endif
++
+   OPTMAX
+ };
+@@ -585,6 +617,13 @@ typedef struct envelope
+   char *supersedes;
+   char *date;
+   char *x_label;
++  char *organization;
++#ifdef USE_NNTP
++  char *newsgroups;
++  char *xref;
++  char *followup_to;
++  char *x_comment_to;
++#endif
+   BUFFER *spam;
+   LIST *references;           /* message references (in reverse order) */
+   LIST *in_reply_to;          /* in-reply-to header content */
+@@ -751,6 +790,9 @@ typedef struct header
+   ENVELOPE *env;              /* envelope information */
+   BODY *content;              /* list of MIME parts */
+   char *path;
++#ifdef USE_NNTP
++  int article_num;
++#endif
+   
+   char *tree;                 /* character string to print thread tree */
+   struct thread *thread;
+@@ -766,7 +808,7 @@ typedef struct header
+   int refno;                  /* message number on server */
+ #endif
+-#if defined USE_POP || defined USE_IMAP
++#if defined USE_POP || defined USE_IMAP || defined USE_NNTP
+   void *data;                 /* driver-specific data */
+ #endif
+   
+diff -udprP mutt-1.5.20.orig/muttlib.c mutt-1.5.20/muttlib.c
+--- mutt-1.5.20.orig/muttlib.c 2009-05-19 03:11:35.000000000 +0300
++++ mutt-1.5.20/muttlib.c      2009-06-15 21:05:24.000000000 +0300
+@@ -301,7 +301,7 @@ void mutt_free_header (HEADER **h)
+ #ifdef MIXMASTER
+   mutt_free_list (&(*h)->chain);
+ #endif
+-#if defined USE_POP || defined USE_IMAP
++#if defined USE_POP || defined USE_IMAP || defined USE_NNTP
+   FREE (&(*h)->data);
+ #endif
+   FREE (h);           /* __FREE_CHECKED__ */
+@@ -689,6 +689,13 @@ void mutt_free_envelope (ENVELOPE **p)
+   FREE (&(*p)->supersedes);
+   FREE (&(*p)->date);
+   FREE (&(*p)->x_label);
++  FREE (&(*p)->organization);
++#ifdef USE_NNTP
++  FREE (&(*p)->newsgroups);
++  FREE (&(*p)->xref);
++  FREE (&(*p)->followup_to);
++  FREE (&(*p)->x_comment_to);
++#endif
+   mutt_buffer_free (&(*p)->spam);
+@@ -1470,6 +1477,14 @@ int mutt_save_confirm (const char *s, st
+     }
+   }
++#ifdef USE_NNTP
++  if (magic == M_NNTP)
++  {
++    mutt_error _("Can't save message to newsserver.");
++    return 0;
++  }
++#endif
++
+   if (stat (s, st) != -1)
+   {
+     if (magic == -1)
+diff -udprP mutt-1.5.20.orig/mx.c mutt-1.5.20/mx.c
+--- mutt-1.5.20.orig/mx.c      2009-06-11 07:29:41.000000000 +0300
++++ mutt-1.5.20/mx.c   2009-06-15 21:05:24.000000000 +0300
+@@ -343,6 +343,22 @@ int mx_is_pop (const char *p)
+ }
+ #endif
++#ifdef USE_NNTP
++int mx_is_nntp (const char *p)
++{
++  url_scheme_t scheme;
++
++  if (!p)
++    return 0;
++
++  scheme = url_check_scheme (p);
++  if (scheme == U_NNTP || scheme == U_NNTPS)
++    return 1;
++
++  return 0;
++}
++#endif
++
+ int mx_get_magic (const char *path)
+ {
+   struct stat st;
+@@ -360,6 +376,11 @@ int mx_get_magic (const char *path)
+     return M_POP;
+ #endif /* USE_POP */
++#ifdef USE_NNTP
++  if (mx_is_nntp (path))
++    return M_NNTP;
++#endif /* USE_NNTP */
++
+   if (stat (path, &st) == -1)
+   {
+     dprint (1, (debugfile, "mx_get_magic(): unable to stat %s: %s (errno %d).\n",
+@@ -669,6 +690,12 @@ CONTEXT *mx_open_mailbox (const char *pa
+       break;
+ #endif /* USE_POP */
++#ifdef USE_NNTP
++    case M_NNTP:
++      rc = nntp_open_mailbox (ctx);
++      break;
++#endif /* USE_NNTP */
++
+     default:
+       rc = -1;
+       break;
+@@ -761,6 +788,12 @@ static int sync_mailbox (CONTEXT *ctx, i
+       rc = pop_sync_mailbox (ctx, index_hint);
+       break;
+ #endif /* USE_POP */
++
++#ifdef USE_NNTP
++    case M_NNTP:
++      rc = nntp_sync_mailbox (ctx);
++      break;
++#endif /* USE_NNTP */
+   }
+ #if 0
+@@ -787,6 +820,16 @@ int mx_close_mailbox (CONTEXT *ctx, int 
+   ctx->closing = 1;
++#ifdef USE_NNTP
++  if (ctx->magic == M_NNTP)
++  {
++    int ret;
++
++    ret = nntp_close_mailbox (ctx);
++    mx_fastclose_mailbox (ctx);
++    return ret;
++  }
++#endif
+   if (ctx->readonly || ctx->dontwrite)
+   {
+     /* mailbox is readonly or we don't want to write */
+@@ -1336,6 +1379,11 @@ int mx_check_mailbox (CONTEXT *ctx, int 
+       case M_POP:
+       return (pop_check_mailbox (ctx, index_hint));
+ #endif /* USE_POP */
++
++#ifdef USE_NNTP
++      case M_NNTP:
++      return (nntp_check_mailbox (ctx));
++#endif /* USE_NNTP */
+     }
+   }
+@@ -1396,6 +1444,15 @@ MESSAGE *mx_open_message (CONTEXT *ctx, 
+     }
+ #endif /* USE_POP */
++#ifdef USE_NNTP
++    case M_NNTP:
++    {
++      if (nntp_fetch_message (msg, ctx, msgno) != 0)
++      FREE (&msg);
++      break;
++    }
++#endif /* USE_NNTP */
++
+     default:
+       dprint (1, (debugfile, "mx_open_message(): function not implemented for mailbox type %d.\n", ctx->magic));
+       FREE (&msg);
+@@ -1477,6 +1534,9 @@ int mx_close_message (MESSAGE **msg)
+ #ifdef USE_POP
+       || (*msg)->magic == M_POP
+ #endif
++#ifdef USE_NNTP
++      || (*msg)->magic == M_NNTP
++#endif
+       )
+   {
+     r = safe_fclose (&(*msg)->fp);
+diff -udprP mutt-1.5.20.orig/mx.h mutt-1.5.20/mx.h
+--- mutt-1.5.20.orig/mx.h      2008-11-11 21:55:47.000000000 +0200
++++ mutt-1.5.20/mx.h   2009-06-15 21:05:24.000000000 +0300
+@@ -40,6 +40,9 @@ enum
+ #ifdef USE_POP
+   , M_POP
+ #endif
++#ifdef USE_NNTP
++  , M_NNTP
++#endif
+ };
+ WHERE short DefaultMagic INITVAL (M_MBOX);
+diff -udprP mutt-1.5.20.orig/newsrc.c mutt-1.5.20/newsrc.c
+--- mutt-1.5.20.orig/newsrc.c  1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.20/newsrc.c       2009-06-15 21:05:24.000000000 +0300
+@@ -0,0 +1,1170 @@
++/*
++ * Copyright (C) 1998 Brandon Long <blong@fiction.net>
++ * Copyright (C) 1999 Andrej Gritsenko <andrej@lucky.net>
++ * Copyright (C) 2000-2009 Vsevolod Volkov <vvv@mutt.org.ua>
++ * 
++ *     This program is free software; you can redistribute it and/or modify
++ *     it under the terms of the GNU General Public License as published by
++ *     the Free Software Foundation; either version 2 of the License, or
++ *     (at your option) any later version.
++ * 
++ *     This program is distributed in the hope that it will be useful,
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ * 
++ *     You should have received a copy of the GNU General Public License
++ *     along with this program; if not, write to the Free Software
++ *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */ 
++
++#if HAVE_CONFIG_H
++# include "config.h"
++#endif
++
++#include "mutt.h"
++#include "mutt_curses.h"
++#include "sort.h"
++#include "mx.h"
++#include "mime.h"
++#include "mailbox.h"
++#include "nntp.h"
++#include "rfc822.h"
++#include "rfc1524.h"
++#include "rfc2047.h"
++
++#include <unistd.h>
++#include <string.h>
++#include <ctype.h>
++#include <stdlib.h>
++#include <sys/stat.h>
++
++void nntp_add_to_list (NNTP_SERVER *s, NNTP_DATA *d)
++{
++  LIST *l;
++
++  if (!s || !d)
++    return;
++
++  l = safe_calloc (1, sizeof (LIST));
++  if (s->list)
++    s->tail->next = l;
++  else
++    s->list = l;
++  s->tail = l;
++  l->data = (void *) d;
++}
++
++static int nntp_parse_newsrc_line (NNTP_SERVER *news, char *line)
++{
++  NNTP_DATA *data;
++  char group[LONG_STRING];
++  int x = 1;
++  char *p = line, *b, *h;
++  size_t len;
++
++  while (*p)
++  {
++    if (*p++ == ',')
++      x++;
++  }
++
++  p = line;
++  while (*p && (*p != ':' && *p != '!')) p++;
++  if (!*p)
++    return -1;
++  len = p + 1 - line;
++  if (len > sizeof (group))
++    len = sizeof (group);
++  strfcpy (group, line, len);
++  if ((data = (NNTP_DATA *)hash_find (news->newsgroups, group)) == NULL)
++  {
++    data = (NNTP_DATA *) safe_calloc (1, sizeof (NNTP_DATA) + strlen (group) + 1);
++    data->group = (char *) data + sizeof (NNTP_DATA);
++    strcpy (data->group, group);
++    data->nserv = news;
++    data->deleted = 1;
++    if (news->newsgroups->nelem < news->newsgroups->curnelem * 2)
++      news->newsgroups = hash_resize (news->newsgroups, news->newsgroups->nelem * 2, 0);
++    hash_insert (news->newsgroups, data->group, data, 0);
++    nntp_add_to_list (news, data);
++  }
++  else
++    FREE ((void **) &data->entries);
++
++  data->rc = 1;
++  data->entries = safe_calloc (x*2, sizeof (NEWSRC_ENTRY));
++  data->max = x*2;
++
++  if (*p == ':')
++    data->subscribed = 1;
++  else
++    data->subscribed = 0;
++
++  p++;
++  b = p;
++  x = 0;
++  while (*b)
++  {
++    while (*p && *p != ',' && *p != '\n') p++;
++    if (*p)
++    {
++      *p = '\0';
++      p++;
++    }
++    if ((h = strchr(b, '-')))
++    {
++      *h = '\0';
++      h++;
++      data->entries[x].first = atoi(b);
++      data->entries[x].last = atoi(h);
++    }
++    else
++    {
++      data->entries[x].first = atoi(b);
++      data->entries[x].last = data->entries[x].first;
++    }
++    b = p;
++    if (data->entries[x].last != 0)
++      x++;
++  }
++  if (x && !data->lastMessage)
++    data->lastMessage = data->entries[x-1].last;
++  data->num = x;
++  mutt_newsgroup_stat (data);
++  dprint (2, (debugfile, "parse_line: Newsgroup %s\n", data->group));
++  
++  return 0;
++}
++
++static int slurp_newsrc (NNTP_SERVER *news)
++{
++  FILE *fp;
++  char *buf;
++  struct stat sb;
++
++  news->stat = stat (news->newsrc, &sb);
++  news->size = sb.st_size;
++  news->mtime = sb.st_mtime;
++
++  if ((fp = safe_fopen (news->newsrc, "r")) == NULL)
++    return -1;
++  /* hmm, should we use dotlock? */
++  if (mx_lock_file (news->newsrc, fileno (fp), 0, 0, 1))
++  {
++    fclose (fp);
++    return -1;
++  }
++
++  buf = safe_malloc (sb.st_size + 1);
++  while (sb.st_size && fgets (buf, sb.st_size + 1, fp))
++    nntp_parse_newsrc_line (news, buf);
++  FREE (&buf);
++
++  mx_unlock_file (news->newsrc, fileno (fp), 0);
++  fclose (fp);
++  return 0;
++}
++
++void nntp_cache_expand (char *dst, const char *src)
++{
++  snprintf (dst, _POSIX_PATH_MAX, "%s/%s", NewsCacheDir, src);
++  mutt_expand_path (dst, _POSIX_PATH_MAX);
++}
++
++/* Loads $news_cache_dir/.index into memory, loads newsserver data
++ * and newsgroup cache names */
++static int nntp_parse_cacheindex (NNTP_SERVER *news)
++{
++  struct stat st;
++  char buf[HUGE_STRING], *cp;
++  char dir[_POSIX_PATH_MAX], file[_POSIX_PATH_MAX];
++  FILE *index;
++  NNTP_DATA *data;
++  int l, m, t;
++
++  /* check is server name defined or not */
++  if (!news || !news->conn || !news->conn->account.host)
++    return -1;
++  unset_option (OPTNEWSCACHE);
++  if (!NewsCacheDir || !*NewsCacheDir)
++    return 0;
++
++  strfcpy (dir, NewsCacheDir, sizeof (dir));
++  mutt_expand_path (dir, sizeof(dir));
++
++  if (lstat (dir, &st) || (st.st_mode & S_IFDIR) == 0)
++  {
++    snprintf (buf, sizeof(buf), _("Directory %s not exist. Create it?"), dir);
++    if (mutt_yesorno (buf, M_YES) != M_YES || mkdir (dir, (S_IRWXU+S_IRWXG+
++        S_IRWXO)))
++    {
++      mutt_error _("Cache directory not created!");
++      return -1;
++    }
++    mutt_clear_error();
++  }
++
++  set_option (OPTNEWSCACHE);
++
++  FREE (&news->cache);
++  snprintf (buf, sizeof(buf), "%s/.index", dir);
++  if (!(index = safe_fopen (buf, "a+")))
++    return 0;
++  rewind (index);
++  while (fgets (buf, sizeof(buf), index))
++  {
++    buf[strlen(buf) - 1] = 0; /* strip ending '\n' */
++    if (!mutt_strncmp (buf, "#: ", 3) &&
++      !mutt_strcasecmp (buf+3, news->conn->account.host))
++      break;
++  }
++  while (fgets (buf, sizeof(buf), index))
++  {
++    cp = buf;
++    while (*cp && *cp != ' ') cp++;
++    if (!*cp) continue;
++    cp[0] = 0;
++    if (!mutt_strcmp (buf, "#:"))
++      break;
++    sscanf (cp + 1, "%s %d %d", file, &l, &m);
++    if (!mutt_strcmp (buf, "ALL"))
++    {
++      news->cache = safe_strdup (file);
++      news->newgroups_time = m;
++    }
++    else if (news->newsgroups)
++    {
++      if ((data = (NNTP_DATA *)hash_find (news->newsgroups, buf)) == NULL)
++      {
++      data = (NNTP_DATA *) safe_calloc (1, sizeof (NNTP_DATA) + strlen (buf) + 1);
++      data->group = (char *) data + sizeof (NNTP_DATA);
++      strcpy(data->group, buf);
++      data->nserv = news;
++      data->deleted = 1;
++      if (news->newsgroups->nelem < news->newsgroups->curnelem * 2)
++        news->newsgroups = hash_resize (news->newsgroups, news->newsgroups->nelem * 2, 0);
++      hash_insert (news->newsgroups, data->group, data, 0);
++      nntp_add_to_list (news, data);
++      }
++      data->cache = safe_strdup (file);
++      t = 0;
++      if (!data->firstMessage || data->lastMessage < m)
++      t = 1;
++      if (!data->firstMessage)
++      data->firstMessage = l;
++      if (data->lastMessage < m)
++      data->lastMessage = m;
++      data->lastCached = m;
++      if (t || !data->unread)
++      mutt_newsgroup_stat (data);
++    }
++  }
++  fclose (index);
++  return 0;
++}
++
++const char *
++nntp_format_str (char *dest, size_t destlen, size_t col, char op, const char *src,
++              const char *fmt, const char *ifstring, const char *elsestring,
++              unsigned long data, format_flag flags)
++{
++  char fn[SHORT_STRING], tmp[SHORT_STRING];
++
++  switch (op)
++  {
++    case 's':
++      strncpy (fn, NewsServer, sizeof(fn) - 1);
++      mutt_strlower (fn);
++      snprintf (tmp, sizeof (tmp), "%%%ss", fmt);
++      snprintf (dest, destlen, tmp, fn);
++      break;
++  }
++  return (src);
++}
++
++/* nntp_parse_url: given an NNPT URL, return host, port,
++ * username, password and newsgroup will recognise. */
++int nntp_parse_url (const char *server, ACCOUNT *acct,
++                  char *group, size_t group_len)
++{
++  ciss_url_t url;
++  char *c;
++  int ret = -1;
++
++  /* Defaults */
++  acct->flags = 0;
++  acct->port = NNTP_PORT;
++  acct->type = M_ACCT_TYPE_NNTP;
++
++  c = safe_strdup (server);
++  url_parse_ciss (&url, c);
++
++  if (url.scheme == U_NNTP || url.scheme == U_NNTPS)
++  {
++    if (url.scheme == U_NNTPS)
++    {
++      acct->flags |= M_ACCT_SSL;
++      acct->port = NNTP_SSL_PORT;
++    }
++
++    *group = '\0';
++    if (url.path)
++      strfcpy (group, url.path, group_len);
++
++    ret = mutt_account_fromurl (acct, &url);
++  }
++
++  FREE (&c);
++  return ret;
++}
++
++void nntp_expand_path (char *line, size_t len, ACCOUNT *acct)
++{
++  ciss_url_t url;
++
++  url.path = safe_strdup (line);
++  mutt_account_tourl (acct, &url);
++  url_ciss_tostring (&url, line, len, 0);
++  FREE (&url.path);
++}
++
++/*
++ * Automatically loads a newsrc into memory, if necessary.
++ * Checks the size/mtime of a newsrc file, if it doesn't match, load
++ * again.  Hmm, if a system has broken mtimes, this might mean the file
++ * is reloaded every time, which we'd have to fix.
++ *
++ * a newsrc file is a line per newsgroup, with the newsgroup, then a 
++ * ':' denoting subscribed or '!' denoting unsubscribed, then a 
++ * comma separated list of article numbers and ranges.
++ */
++NNTP_SERVER *mutt_select_newsserver (char *server)
++{
++  char file[_POSIX_PATH_MAX];
++  char *buf, *p;
++  LIST *list;
++  ACCOUNT acct;
++  NNTP_SERVER *serv;
++  CONNECTION *conn;
++
++  if (!server || !*server)
++  {
++    mutt_error _("No newsserver defined!");
++    return NULL;
++  }
++
++  buf = p = safe_calloc (strlen (server) + 10, sizeof (char));
++  if (url_check_scheme (server) == U_UNKNOWN)
++  {
++    strcpy (buf, "news://");
++    p = strchr (buf, '\0');
++  }
++  strcpy (p, server);
++
++  if ((nntp_parse_url (buf, &acct, file, sizeof (file))) < 0 || *file)
++  {
++    FREE (&buf);
++    mutt_error (_("%s is an invalid newsserver specification!"), server);
++    return NULL;
++  }
++  FREE (&buf);
++
++  conn = mutt_conn_find (NULL, &acct);
++  if (!conn)
++    return NULL;
++
++  mutt_FormatString (file, sizeof (file), 0, NONULL (NewsRc), nntp_format_str, 0, 0);
++  mutt_expand_path (file, sizeof (file));
++
++  serv = (NNTP_SERVER *)conn->data;
++  if (serv)
++  {
++    struct stat sb;
++
++    /* externally modified? */
++    if (serv->stat != stat (file, &sb) || (!serv->stat &&
++       (serv->size != sb.st_size || serv->mtime != sb.st_mtime)))
++    {
++      for (list = serv->list; list; list = list->next)
++      {
++      NNTP_DATA *data = (NNTP_DATA *) list->data;
++
++      if (data)
++      {
++        data->subscribed = 0;
++        data->rc = 0;
++        data->num = 0;
++      }
++      }
++      slurp_newsrc (serv);
++      nntp_clear_cacheindex (serv);
++    }
++
++    if (serv->status == NNTP_BYE)
++      serv->status = NNTP_NONE;
++    nntp_check_newgroups (serv, 0);
++    return serv;
++  }
++
++  /* New newsserver */
++  serv = safe_calloc (1, sizeof (NNTP_SERVER));
++  serv->conn = conn;
++  serv->newsrc = safe_strdup (file);
++  serv->newsgroups = hash_create (1009, 0);
++  slurp_newsrc (serv);                        /* load .newsrc */
++  nntp_parse_cacheindex (serv);               /* load .index */
++  if (option (OPTNEWSCACHE) && serv->cache && nntp_get_cache_all (serv) >= 0)
++    nntp_check_newgroups (serv, 1);
++  else if (nntp_get_active (serv) < 0)
++  {
++    hash_destroy (&serv->newsgroups, nntp_delete_data);
++    for (list = serv->list; list; list = list->next)
++      list->data = NULL;
++    mutt_free_list (&serv->list);
++    FREE (&serv->newsrc);
++    FREE (&serv->cache);
++    FREE (&serv);
++    return NULL;
++  }
++  nntp_clear_cacheindex (serv);
++  conn->data = (void *)serv;
++
++  return serv;
++}
++
++/* 
++ * full status flags are not supported by nntp, but we can fake some
++ * of them.  This is how:
++ * Read = a read message number is in the .newsrc
++ * New = a message is new since we last read this newsgroup
++ * Old = anything else
++ * So, Read is marked as such in the newsrc, old is anything that is 
++ * "skipped" in the newsrc, and new is anything not in the newsrc nor
++ * in the cache. By skipped, I mean before the last unread message
++ */
++void nntp_get_status (CONTEXT *ctx, HEADER *h, char *group, int article)
++{
++  NNTP_DATA *data = (NNTP_DATA *) ctx->data;
++  int x;
++
++  if (group)
++    data = (NNTP_DATA *) hash_find (data->nserv->newsgroups, group);
++
++  if (!data)
++  {
++#ifdef DEBUG
++    if (group)
++      dprint (3, (debugfile, "newsgroup %s not found\n", group));
++#endif
++    return;
++  }
++
++  for (x = 0; x < data->num; x++)
++  {
++    if ((article >= data->entries[x].first) &&
++      (article <= data->entries[x].last))
++    {
++      /* we cannot use mutt_set_flag() because mx_update_context()
++       didn't called yet */
++      h->read = 1;
++      return;
++    }
++  }
++  /* If article was not cached yet, it is new! :) */
++  if (!data->cache || article > data->lastCached)
++    return;
++  /* Old articles are articles which aren't read but an article after them
++   * has been cached */
++  if (option (OPTMARKOLD))
++    h->old = 1;
++}
++
++void mutt_newsgroup_stat (NNTP_DATA *data)
++{
++  int i;
++  unsigned int first, last;
++
++  data->unread = 0;
++  if (data->lastMessage == 0 || data->firstMessage > data->lastMessage)
++    return;
++
++  data->unread = data->lastMessage - data->firstMessage + 1;
++  for (i = 0; i < data->num; i++)
++  {
++    first = data->entries[i].first;
++    if (first < data->firstMessage)
++      first = data->firstMessage;
++    last = data->entries[i].last;
++    if (last > data->lastMessage)
++      last = data->lastMessage;
++    if (first <= last)
++      data->unread -= last - first + 1;
++  }
++}
++
++static int puti (char *line, int num)
++{
++  char *p, s[32];
++
++  for (p = s; num; )
++  {
++    *p++ = '0' + num % 10;
++    num /= 10;
++  }
++  while (p > s)
++    *line++ = *--p, num++;
++  *line = '\0';
++  return num;
++}
++
++static void nntp_create_newsrc_line (NNTP_DATA *data, char **buf, char **pline, size_t *buflen)
++{
++  char *line = *pline;
++  size_t len = *buflen - (*pline - *buf);
++  int x, i;
++
++  if (len < LONG_STRING * 10)
++  {
++    len += *buflen;
++    *buflen *= 2;
++    line = *buf;
++    safe_realloc (buf, *buflen);
++    line = *buf + (*pline - line);
++  }
++  strcpy (line, data->group);
++  len -= strlen (line) + 1;
++  line += strlen (line);
++  *line++ = data->subscribed ? ':' : '!';
++  *line++ = ' ';
++  *line = '\0';
++
++  for (x = 0; x < data->num; x++)
++  {
++    if (len < LONG_STRING)
++    {
++      len += *buflen;
++      *buflen *= 2;
++      *pline = line;
++      line = *buf;
++      safe_realloc (buf, *buflen);
++      line = *buf + (*pline - line);
++    }
++    if (x)
++    {
++      *line++ = ',';
++      len--;
++    }
++
++#if 0
++    if (data->entries[x].first == data->entries[x].last)
++      snprintf (line, len, "%d%n", data->entries[x].first, &i);
++    else
++      snprintf (line, len, "%d-%d%n", 
++          data->entries[x].first, data->entries[x].last, &i);
++    len -= i;
++    line += i;
++#else
++    i = puti (line, data->entries[x].first);
++    line +=i; len -= i;
++    if (data->entries[x].first != data->entries[x].last)
++    {
++      *line++ = '-';
++      len--;
++      i = puti (line, data->entries[x].last);
++      line +=i; len -= i;
++    }
++#endif
++  }
++  *line++ = '\n';
++  *line = '\0';
++  *pline = line;
++}
++
++void newsrc_gen_entries (CONTEXT *ctx)
++{
++  NNTP_DATA *data = (NNTP_DATA *)ctx->data;
++  int series, x;
++  unsigned int last = 0, first = 1;
++  int save_sort = SORT_ORDER;
++
++  if (Sort != SORT_ORDER)
++  {
++    save_sort = Sort;
++    Sort = SORT_ORDER;
++    mutt_sort_headers (ctx, 0);
++  }
++
++  if (!data->max)
++  {
++    data->entries = safe_calloc (5, sizeof (NEWSRC_ENTRY));
++    data->max = 5;
++  }
++
++  /*
++   * Set up to fake initial sequence from 1 to the article before the 
++   * first article in our list
++   */
++  data->num = 0;
++  series = 1;
++
++  for (x = 0; x < ctx->msgcount; x++)
++  {
++    if (series) /* search for first unread */
++    {
++      /*
++       * We don't actually check sequential order, since we mark 
++       * "missing" entries as read/deleted
++       */
++      last = ctx->hdrs[x]->article_num;
++      if (last >= data->firstMessage && !ctx->hdrs[x]->deleted &&
++          !ctx->hdrs[x]->read)
++      {
++      if (data->num >= data->max)
++      {
++        data->max = data->max * 2;
++        safe_realloc (&data->entries, 
++            data->max * sizeof (NEWSRC_ENTRY));
++      }
++      data->entries[data->num].first = first;
++      data->entries[data->num].last = last - 1;
++      data->num++;
++      series = 0;
++      }
++    }
++    else /* search for first read */
++    {
++      if (ctx->hdrs[x]->deleted || ctx->hdrs[x]->read)
++      {
++      first = last + 1;
++      series = 1;
++      }
++      last = ctx->hdrs[x]->article_num;
++    }
++  }
++  if (series && first <= data->lastLoaded)
++  {
++    if (data->num >= data->max)
++    {
++      data->max = data->max * 2;
++      safe_realloc (&data->entries, 
++                  data->max * sizeof (NEWSRC_ENTRY));
++    }
++    data->entries[data->num].first = first;
++    data->entries[data->num].last = data->lastLoaded;
++    data->num++;
++  }
++
++  if (save_sort != Sort)
++  {
++    Sort = save_sort;
++    mutt_sort_headers (ctx, 0);
++  }
++}
++
++static int mutt_update_list_file (char *filename, char *section,
++                                char *key, char *line)
++{
++  FILE *ifp;
++  FILE *ofp;
++  char buf[HUGE_STRING];
++  char tmpfile[_POSIX_PATH_MAX];
++  char *c;
++  int ext = 0, done = 0, r = 0;
++
++  /* if file not exist, create it */
++  if ((ifp = safe_fopen (filename, "a")))
++    fclose (ifp);
++  dprint (1, (debugfile, "Opening %s\n", filename));
++  if (!(ifp = safe_fopen (filename, "r")))
++  {
++    mutt_error (_("Unable to open %s for reading"), filename);
++    return -1;
++  }
++  if (mx_lock_file (filename, fileno (ifp), 0, 0, 1))
++  {
++    fclose (ifp);
++    mutt_error (_("Unable to lock %s"), filename);
++    return -1;
++  }
++  snprintf (tmpfile, sizeof(tmpfile), "%s.tmp", filename);
++  dprint (1, (debugfile, "Opening %s\n", tmpfile));
++  if (!(ofp = fopen (tmpfile, "w")))
++  {
++    fclose (ifp);
++    mutt_error (_("Unable to open %s for writing"), tmpfile);
++    return -1;
++  }
++
++  if (section)
++  {
++    while (r != EOF && !done && fgets (buf, sizeof (buf), ifp))
++    {
++      r = fputs (buf, ofp);
++      c = buf;
++      while (*c && *c != '\n') c++;
++      c[0] = 0;       /* strip EOL */
++      if (!strncmp (buf, "#: ", 3) && !mutt_strcasecmp (buf+3, section))
++      done++;
++    }
++    if (r != EOF && !done)
++    {
++      snprintf (buf, sizeof(buf), "#: %s\n", section);
++      r = fputs (buf, ofp);
++    }
++    done = 0;
++  }
++
++  while (r != EOF && fgets (buf, sizeof (buf), ifp))
++  {
++    if (ext)
++    {
++      c = buf;
++      while (*c && (*c != '\r') && (*c != '\n')) c++;
++      c--;
++      if (*c != '\\') ext = 0;
++    }
++    else if ((section && !strncmp (buf, "#: ", 3)))
++    {
++      if (!done && line)
++      {
++      fputs (line, ofp);
++      fputc ('\n', ofp);
++      }
++      r = fputs (buf, ofp);
++      done++;
++      break;
++    }
++    else if (key && !strncmp (buf, key, strlen(key)) &&
++          (!*key || buf[strlen(key)] == ' '))
++    {
++      c = buf;
++      ext = 0;
++      while (*c && (*c != '\r') && (*c != '\n')) c++;
++      c--;
++      if (*c == '\\') ext = 1;
++      if (!done && line)
++      {
++      r = fputs (line, ofp);
++      if (*key)
++        r = fputc ('\n', ofp);
++      done++;
++      }
++    }
++    else
++    {
++      r = fputs (buf, ofp);
++    }
++  }
++
++  while (r != EOF && fgets (buf, sizeof (buf), ifp))
++    r = fputs (buf, ofp);
++
++  /* If there wasn't a line to replace, put it on the end of the file */
++  if (r != EOF && !done && line)
++  {
++    fputs (line, ofp);
++    r = fputc ('\n', ofp);
++  }
++  mx_unlock_file (filename, fileno (ifp), 0);
++  fclose (ofp);
++  fclose (ifp);
++  if (r == EOF)
++  {
++    unlink (tmpfile);
++    mutt_error (_("Can't write %s"), tmpfile);
++    return -1;
++  }
++  if (rename (tmpfile, filename) < 0)
++  {
++    unlink (tmpfile);
++    mutt_error (_("Can't rename %s to %s"), tmpfile, filename);
++    return -1;
++  }
++  return 0;
++}
++
++int mutt_newsrc_update (NNTP_SERVER *news)
++{
++  char *buf, *line;
++  NNTP_DATA *data;
++  LIST *tmp;
++  int r = -1;
++  size_t len, llen;
++
++  if (!news)
++    return -1;
++  llen = len = 10 * LONG_STRING;
++  line = buf = safe_calloc (1, len);
++  /* we will generate full newsrc here */
++  for (tmp = news->list; tmp; tmp = tmp->next)
++  {
++    data = (NNTP_DATA *) tmp->data;
++    if (!data || !data->rc)
++      continue;
++    nntp_create_newsrc_line (data, &buf, &line, &llen);
++    if (*line)
++      dprint (2, (debugfile, "Added to newsrc: %s\n", line));
++    line += strlen (line);
++  }
++  /* newrc being fully rewritten */
++  if (news->newsrc &&
++     (r = mutt_update_list_file (news->newsrc, NULL, "", buf)) == 0)
++  {
++    struct stat st;
++
++    stat (news->newsrc, &st);
++    news->size = st.st_size;
++    news->mtime = st.st_mtime;
++  }
++  FREE (&buf);
++  return r;
++}
++
++static FILE *mutt_mkname (char *s)
++{
++  char buf[_POSIX_PATH_MAX], *pc;
++  int fd;
++  FILE *fp;
++
++  nntp_cache_expand (buf, s);
++  if ((fp = safe_fopen (buf, "w")))
++    return fp;
++
++  nntp_cache_expand (buf, "cache-XXXXXX");
++  pc = buf + strlen (buf) - 12;       /* positioning to "cache-XXXXXX" */
++  if ((fd = mkstemp (buf)) == -1)
++    return NULL;
++  strcpy (s, pc);     /* generated name */
++  return fdopen (fd, "w");
++}
++
++/* Updates info into .index file: ALL or about selected newsgroup */
++static int nntp_update_cacheindex (NNTP_SERVER *serv, NNTP_DATA *data)
++{
++  char buf[LONG_STRING], *key = "ALL";
++  char file[_POSIX_PATH_MAX];
++
++  if (!serv || !serv->conn || !serv->conn->account.host)
++    return -1;
++
++  if (data && data->group)
++  {
++    key = data->group;
++    snprintf (buf, sizeof (buf), "%s %s %d %d", key, data->cache,
++        data->firstMessage, data->lastLoaded);
++  }
++  else
++  {
++    strfcpy (file, serv->cache, sizeof (file));
++    snprintf (buf, sizeof (buf), "ALL %s 0 %d", file, (int)serv->newgroups_time);
++  }
++  nntp_cache_expand (file, ".index");
++  return mutt_update_list_file (file, serv->conn->account.host, key, buf);
++}
++
++/* Remove cache files of unsubscribed newsgroups */
++void nntp_clear_cacheindex (NNTP_SERVER *news)
++{
++  NNTP_DATA *data;
++  LIST *tmp;
++
++  if (option (OPTSAVEUNSUB) || !news)
++    return;
++
++  for (tmp = news->list; tmp; tmp = tmp->next)
++  {
++    data = (NNTP_DATA *) tmp->data;
++    if (!data || data->subscribed || !data->cache)
++      continue;
++    nntp_delete_cache (data);
++    dprint (2, (debugfile, "Removed from .index: %s\n", data->group));
++  }
++  return;
++}
++
++int nntp_save_cache_index (NNTP_SERVER *news)
++{
++  char buf[HUGE_STRING];
++  char file[_POSIX_PATH_MAX];
++  NNTP_DATA *d;
++  FILE *f;
++  LIST *l;
++
++  if (!news || !news->newsgroups)
++    return -1;
++  if (!option (OPTNEWSCACHE))
++    return 0;
++
++  if (news->cache)
++  {
++    nntp_cache_expand (file, news->cache);
++    unlink (file);
++    f = safe_fopen (file, "w");
++  }
++  else
++  {
++    strfcpy (buf, news->conn->account.host, sizeof(buf));
++    f = mutt_mkname (buf);
++    news->cache = safe_strdup (buf);
++    nntp_cache_expand (file, buf);
++  }
++  if (!f)
++    return -1;
++
++  for (l = news->list; l; l = l->next)
++  {
++    if ((d = (NNTP_DATA *)l->data) && !d->deleted)
++    {
++      if (d->desc)
++      snprintf (buf, sizeof(buf), "%s %d %d %c %s\n", d->group,
++            d->lastMessage, d->firstMessage, d->allowed ? 'y' : 'n',
++            d->desc);
++      else
++      snprintf (buf, sizeof(buf), "%s %d %d %c\n", d->group,
++            d->lastMessage, d->firstMessage, d->allowed ? 'y' : 'n');
++      if (fputs (buf, f) == EOF)
++      {
++      fclose (f);
++      unlink (file);
++      return -1;
++      }
++    }
++  }
++  fclose (f);
++
++  if (nntp_update_cacheindex (news, NULL))
++  {
++    unlink (file);
++    return -1;
++  }
++  return 0;
++}
++
++int nntp_save_cache_group (CONTEXT *ctx)
++{
++  char buf[HUGE_STRING], addr[STRING];
++  char file[_POSIX_PATH_MAX];
++  FILE *f;
++  HEADER *h;
++  struct tm *tm;
++  int i = 0, save = SORT_ORDER;
++  int prev = 0;
++
++  if (!option (OPTNEWSCACHE))
++    return 0;
++  if (!ctx || !ctx->data || ctx->magic != M_NNTP)
++    return -1;
++
++  if (((NNTP_DATA *)ctx->data)->cache)
++  {
++    nntp_cache_expand (file, ((NNTP_DATA *)ctx->data)->cache);
++    unlink (file);
++    f = safe_fopen (file, "w");
++  }
++  else
++  {
++    snprintf (buf, sizeof(buf), "%s-%s",
++      ((NNTP_DATA *)ctx->data)->nserv->conn->account.host,
++      ((NNTP_DATA *)ctx->data)->group);
++    f = mutt_mkname (buf);
++    ((NNTP_DATA *)ctx->data)->cache = safe_strdup (buf);
++    nntp_cache_expand (file, buf);
++  }
++  if (!f)
++    return -1;
++
++  if (Sort != SORT_ORDER)
++  {
++    save = Sort;
++    Sort = SORT_ORDER;
++    mutt_sort_headers (ctx, 0);
++  }
++
++  /* Save only $nntp_context messages... */
++  ((NNTP_DATA *)ctx->data)->lastCached = 0;
++  if (NntpContext && ctx->msgcount > NntpContext)
++    i = ctx->msgcount - NntpContext;
++  for (; i < ctx->msgcount; i++)
++  {
++    if (!ctx->hdrs[i]->deleted && ctx->hdrs[i]->article_num != prev)
++    {
++      h = ctx->hdrs[i];
++      addr[0] = 0;
++      rfc822_write_address (addr, sizeof(addr), h->env->from, 0);
++      tm = gmtime (&h->date_sent);
++      snprintf (buf, sizeof(buf),
++          "%d\t%s\t%s\t%d %s %d %02d:%02d:%02d GMT\t%s\t",
++          h->article_num, h->env->subject, addr, tm->tm_mday,
++          Months[tm->tm_mon], tm->tm_year+1900, tm->tm_hour, tm->tm_min,
++          tm->tm_sec, h->env->message_id);
++      fputs (buf, f);
++      if (h->env->references)
++      mutt_write_references (h->env->references, f, 10);
++      snprintf (buf, sizeof(buf), "\t%ld\t%d\tXref: %s\n", (long int) h->content->length,
++          (int) h->lines, NONULL(h->env->xref));
++      if (fputs (buf, f) == EOF)
++      {
++      fclose (f);
++      unlink (file);
++      return -1;
++      }
++    }
++    prev = ctx->hdrs[i]->article_num;
++  }
++
++  if (save != Sort)
++  {
++    Sort = save;
++    mutt_sort_headers (ctx, 0);
++  }
++  fclose (f);
++
++  if (nntp_update_cacheindex (((NNTP_DATA *)ctx->data)->nserv,
++      (NNTP_DATA *)ctx->data))
++  {
++    unlink (file);
++    return -1;
++  }
++  ((NNTP_DATA *)ctx->data)->lastCached = ((NNTP_DATA *)ctx->data)->lastLoaded;
++  return 0;
++}
++
++void nntp_delete_cache (NNTP_DATA *data)
++{
++  char buf[_POSIX_PATH_MAX];
++
++  if (!option (OPTNEWSCACHE) || !data || !data->cache || !data->nserv)
++    return;
++
++  nntp_cache_expand (buf, data->cache);
++  unlink (buf);
++  FREE (&data->cache);
++  data->lastCached = 0;
++  nntp_cache_expand (buf, ".index");
++  mutt_update_list_file (buf, data->nserv->conn->account.host, data->group, NULL);
++}
++
++NNTP_DATA *mutt_newsgroup_subscribe (NNTP_SERVER *news, char *group)
++{
++  NNTP_DATA *data;
++
++  if (!news || !news->newsgroups || !group || !*group)
++    return NULL;
++  if (!(data = (NNTP_DATA *)hash_find (news->newsgroups, group)))
++  {
++    data = (NNTP_DATA *) safe_calloc (1, sizeof (NNTP_DATA) + strlen (group) + 1);
++    data->group = (char *) data + sizeof (NNTP_DATA);
++    strcpy (data->group, group);
++    data->nserv = news;
++    data->deleted = 1;
++    if (news->newsgroups->nelem < news->newsgroups->curnelem * 2)
++      news->newsgroups = hash_resize (news->newsgroups, news->newsgroups->nelem * 2, 0);
++    hash_insert (news->newsgroups, data->group, data, 0);
++    nntp_add_to_list (news, data);
++  }
++  if (!data->subscribed)
++  {
++    data->subscribed = 1;
++    data->rc = 1;
++  }
++  return data;
++}
++
++NNTP_DATA *mutt_newsgroup_unsubscribe (NNTP_SERVER *news, char *group)
++{
++  NNTP_DATA *data;
++
++  if (!news || !news->newsgroups || !group || !*group ||
++      !(data = (NNTP_DATA *)hash_find (news->newsgroups, group)))
++    return NULL;
++  if (data->subscribed)
++  {
++    data->subscribed = 0;
++    if (!option (OPTSAVEUNSUB))
++      data->rc = 0;
++  }
++  return data;
++}
++
++NNTP_DATA *mutt_newsgroup_catchup (NNTP_SERVER *news, char *group)
++{
++  NNTP_DATA *data;
++
++  if (!news || !news->newsgroups || !group || !*group ||
++      !(data = (NNTP_DATA *)hash_find (news->newsgroups, group)))
++    return NULL;
++  if (!data->max)
++  {
++    data->entries = safe_calloc (5, sizeof (NEWSRC_ENTRY));
++    data->max = 5;
++  }
++  data->num = 1;
++  data->entries[0].first = 1;
++  data->unread = 0;
++  data->entries[0].last = data->lastMessage;
++  if (Context && Context->data == data)
++  {
++    int x;
++
++    for (x = 0; x < Context->msgcount; x++)
++      mutt_set_flag (Context, Context->hdrs[x], M_READ, 1);
++  }
++  return data;
++}
++
++NNTP_DATA *mutt_newsgroup_uncatchup (NNTP_SERVER *news, char *group)
++{
++  NNTP_DATA *data;
++
++  if (!news || !news->newsgroups || !group || !*group ||
++      !(data = (NNTP_DATA *)hash_find (news->newsgroups, group)))
++    return NULL;
++  if (!data->max)
++  {
++    data->entries = safe_calloc (5, sizeof (NEWSRC_ENTRY));
++    data->max = 5;
++  }
++  data->num = 1;
++  data->entries[0].first = 1;
++  data->entries[0].last = data->firstMessage - 1;
++  if (Context && Context->data == data)
++  {
++    int x;
++
++    data->unread = Context->msgcount;
++    for (x = 0; x < Context->msgcount; x++)
++      mutt_set_flag (Context, Context->hdrs[x], M_READ, 0);
++  }
++  else
++    data->unread = data->lastMessage - data->entries[0].last;
++  return data;
++}
++
++/* this routine gives the first newsgroup with new messages */
++void nntp_buffy (char *s)
++{
++  LIST *list;
++
++  for (list = CurrentNewsSrv->list; list; list = list->next)
++  {
++    NNTP_DATA *data = (NNTP_DATA *) list->data;
++
++    if (data && data->subscribed && data->unread)
++    {
++      if (Context && Context->magic == M_NNTP &&
++        !mutt_strcmp (data->group, ((NNTP_DATA *) Context->data)->group))
++      {
++      unsigned int i, unread = 0;
++
++      for (i = 0; i < Context->msgcount; i++)
++        if (!Context->hdrs[i]->read && !Context->hdrs[i]->deleted)
++          unread++;
++      if (!unread)
++        continue;
++      }
++      strcpy (s, data->group);
++      break;
++    }
++  }
++}
+diff -udprP mutt-1.5.20.orig/nntp.c mutt-1.5.20/nntp.c
+--- mutt-1.5.20.orig/nntp.c    1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.20/nntp.c 2009-06-15 21:05:24.000000000 +0300
+@@ -0,0 +1,1588 @@
++/*
++ * Copyright (C) 1998 Brandon Long <blong@fiction.net>
++ * Copyright (C) 1999 Andrej Gritsenko <andrej@lucky.net>
++ * Copyright (C) 2000-2007 Vsevolod Volkov <vvv@mutt.org.ua>
++ * 
++ *     This program is free software; you can redistribute it and/or modify
++ *     it under the terms of the GNU General Public License as published by
++ *     the Free Software Foundation; either version 2 of the License, or
++ *     (at your option) any later version.
++ * 
++ *     This program is distributed in the hope that it will be useful,
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ * 
++ *     You should have received a copy of the GNU General Public License
++ *     along with this program; if not, write to the Free Software
++ *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */ 
++
++#if HAVE_CONFIG_H
++# include "config.h"
++#endif
++
++#include "mutt.h"
++#include "mutt_curses.h"
++#include "sort.h"
++#include "mx.h"
++#include "mime.h"
++#include "rfc1524.h"
++#include "rfc2047.h"
++#include "mailbox.h"
++#include "nntp.h"
++
++#ifdef HAVE_PGP
++#include "pgp.h"
++#endif
++
++#ifdef HAVE_SMIME
++#include "smime.h"
++#endif
++
++#include <unistd.h>
++#include <string.h>
++#include <ctype.h>
++#include <stdlib.h>
++
++static unsigned int _checked = 0;
++
++#ifdef DEBUG
++static void nntp_error (const char *where, const char *msg)
++{
++  dprint (1, (debugfile, "nntp_error(): unexpected response in %s: %s\n", where, msg));
++}
++#endif /* DEBUG */
++
++static int nntp_auth (NNTP_SERVER *serv)
++{
++  CONNECTION *conn = serv->conn;
++  char buf[STRING];
++  unsigned char flags = conn->account.flags;
++
++  if (mutt_account_getuser (&conn->account) || !conn->account.user[0] ||
++      mutt_account_getpass (&conn->account) || !conn->account.pass[0])
++  {
++    conn->account.flags = flags;
++    return -2;
++  }
++
++  mutt_message _("Logging in...");
++
++  snprintf (buf, sizeof (buf), "AUTHINFO USER %s\r\n", conn->account.user);
++  mutt_socket_write (conn, buf);
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++  {
++    conn->account.flags = flags;
++    return -1;
++  }
++
++#ifdef DEBUG
++  /* don't print the password unless we're at the ungodly debugging level */
++  if (debuglevel < M_SOCK_LOG_FULL)
++    dprint (M_SOCK_LOG_CMD, (debugfile, "> AUTHINFO PASS *\n"));
++#endif
++  snprintf (buf, sizeof (buf), "AUTHINFO PASS %s\r\n", conn->account.pass);
++  mutt_socket_write_d (conn, buf, -1, M_SOCK_LOG_FULL);
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++  {
++    conn->account.flags = flags;
++    return -1;
++  }
++
++  if (mutt_strncmp ("281", buf, 3))
++  {
++    conn->account.flags = flags;
++    mutt_error _("Login failed.");
++    sleep (2);
++    return -3;
++  }
++
++  return 0;
++}
++
++static int nntp_connect_error (NNTP_SERVER *serv)
++{
++  serv->status = NNTP_NONE;
++  mutt_socket_close (serv->conn);
++  mutt_error _("Server closed connection!");
++  sleep (2);
++  return -1;
++}
++
++static int nntp_connect_and_auth (NNTP_SERVER *serv)
++{
++  CONNECTION *conn = serv->conn;
++  char buf[STRING];
++  int rc;
++
++  serv->status = NNTP_NONE;
++
++  if (mutt_socket_open (conn) < 0)
++    return -1;
++
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++    return nntp_connect_error (serv);
++
++  if (!mutt_strncmp ("200", buf, 3))
++    mutt_message (_("Connected to %s. Posting ok."), conn->account.host);
++  else if (!mutt_strncmp ("201", buf, 3))
++    mutt_message (_("Connected to %s. Posting NOT ok."), conn->account.host);
++  else
++  {
++    mutt_socket_close (conn);
++    mutt_remove_trailing_ws (buf);
++    mutt_error ("%s", buf);
++    sleep (2);
++    return -1;
++  }
++
++  sleep (1);
++
++  /* Tell INN to switch to mode reader if it isn't so. Ignore all
++   returned codes and messages. */
++  mutt_socket_write (conn, "MODE READER\r\n");
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++    return nntp_connect_error (serv);
++
++  mutt_socket_write (conn, "STAT\r\n");
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++    return nntp_connect_error (serv);
++
++  if (!(conn->account.flags & M_ACCT_USER) && mutt_strncmp ("480", buf, 3))
++  {
++    serv->status = NNTP_OK;
++    return 0;
++  }
++
++  rc = nntp_auth (serv);
++  if (rc == -1)
++    return nntp_connect_error (serv);
++  if (rc == -2)
++  {
++    mutt_socket_close (conn);
++    serv->status = NNTP_BYE;
++    return -1;
++  }
++  if (rc < 0)
++  {
++    mutt_socket_close (conn);
++    mutt_error _("Login failed.");
++    sleep (2);
++    return -1;
++  }
++  serv->status = NNTP_OK;
++  return 0;
++}
++
++static int nntp_attempt_features (NNTP_SERVER *serv)
++{
++  char buf[LONG_STRING];
++  CONNECTION *conn = serv->conn;
++
++  mutt_socket_write (conn, "XOVER\r\n");
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++    return nntp_connect_error (serv);
++  if (mutt_strncmp ("500", buf, 3))
++    serv->hasXOVER = 1;
++
++  mutt_socket_write (conn, "XPAT\r\n");
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++    return nntp_connect_error (serv);
++  if (mutt_strncmp ("500", buf, 3))
++    serv->hasXPAT = 1;
++
++  mutt_socket_write (conn, "LISTGROUP\r\n");
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++    return nntp_connect_error (serv);
++  if (mutt_strncmp ("500", buf, 3))
++    serv->hasLISTGROUP = 1;
++
++  mutt_socket_write (conn, "XGTITLE +\r\n");
++  if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++    return nntp_connect_error (serv);
++  if (mutt_strncmp ("500", buf, 3))
++    serv->hasXGTITLE = 1;
++
++  if (!mutt_strncmp ("282", buf, 3))
++  {
++    do
++    {
++      if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
++      return nntp_connect_error (serv);
++    } while (!(buf[0] == '.' && buf[1] == '\0'));
++  }
++
++  return 0;
++}
++
++static int nntp_open_connection (NNTP_SERVER *serv)
++{
++  if (serv->status == NNTP_OK)
++    return 0;
++  if (serv->status == NNTP_BYE)
++    return -1;
++  if (nntp_connect_and_auth (serv) < 0)
++    return -1;
++  if (nntp_attempt_features (serv) < 0)
++    return -1;
++  return 0;
++}
++
++static int nntp_reconnect (NNTP_SERVER *serv)
++{
++  char buf[SHORT_STRING];
++
++  mutt_socket_close (serv->conn);
++
++  FOREVER
++  {
++    if (nntp_connect_and_auth (serv) == 0)
++      return 0;
++
++    snprintf (buf, sizeof (buf), _("Connection to %s lost. Reconnect?"),
++                              serv->conn->account.host);
++    if (query_quadoption (OPT_NNTPRECONNECT, buf) != M_YES)
++    {
++      serv->status = NNTP_BYE;
++      return -1;
++    }
++  }
++}
++
++/* Send data from line[LONG_STRING] and receive answer to same line */
++static int mutt_nntp_query (NNTP_DATA *data, char *line, size_t linelen)
++{
++  char buf[LONG_STRING];
++  int done = TRUE;
++
++  if (data->nserv->status == NNTP_BYE)
++    return -1;
++
++  do
++  {
++    if (*line)
++    {
++      mutt_socket_write (data->nserv->conn, line);
++    }
++    else if (data->group)
++    {
++      snprintf (buf, sizeof (buf), "GROUP %s\r\n", data->group);
++      mutt_socket_write (data->nserv->conn, buf);
++    }
++
++    done = TRUE;
++    if (mutt_socket_readln (buf, sizeof (buf), data->nserv->conn) < 0)
++    {
++      if (nntp_reconnect (data->nserv) < 0)
++      return -1;
++
++      if (data->group)
++      {
++      snprintf (buf, sizeof (buf), "GROUP %s\r\n", data->group);
++      mutt_socket_write (data->nserv->conn, buf);
++      if (mutt_socket_readln (buf, sizeof (buf), data->nserv->conn) < 0)
++        return -1;
++      }
++      if (*line)
++      done = FALSE;
++    }
++    else if ((!mutt_strncmp ("480", buf, 3)) && nntp_auth (data->nserv) < 0)
++      return -1;
++  } while (!done);
++
++  strfcpy (line, buf, linelen);
++  return 0;
++}
++
++/*
++ * This function calls  funct(*line, *data)  for each received line,
++ * funct(NULL, *data)  if  rewind(*data)  needs, exits when fail or done.
++ * Returned codes:
++ *  0 - successful,
++ *  1 - correct but not performed (may be, have to be continued),
++ * -1 - conection lost,
++ * -2 - invalid command or execution error,
++ * -3 - error in funct(*line, *data).
++ */
++static int mutt_nntp_fetch (NNTP_DATA *nntp_data, char *query, char *msg,
++              int (*funct) (char *, void *), void *data, int tagged)
++{
++  char buf[LONG_STRING];
++  char *inbuf, *p;
++  int done = FALSE;
++  int chunk, line;
++  size_t lenbuf = 0;
++  int ret;
++
++  do
++  {
++    strfcpy (buf, query, sizeof (buf));
++    if (mutt_nntp_query (nntp_data, buf, sizeof (buf)) < 0)
++      return -1;
++    if (buf[0] == '5')
++      return -2;
++    if (buf[0] != '2')
++      return 1;
++
++    ret = 0;
++    line = 0;
++    inbuf = safe_malloc (sizeof (buf));
++
++    FOREVER
++    {
++      chunk = mutt_socket_readln_d (buf, sizeof (buf), nntp_data->nserv->conn,
++                                  M_SOCK_LOG_HDR);
++      if (chunk < 0)
++      break;
++
++      p = buf;
++      if (!lenbuf && buf[0] == '.')
++      {
++      if (buf[1] == '\0')
++      {
++        done = TRUE;
++        break;
++      }
++      if (buf[1] == '.')
++        p++;
++      }
++
++      strfcpy (inbuf + lenbuf, p, sizeof (buf));
++
++      if (chunk >= sizeof (buf))
++      {
++      lenbuf += strlen (p);
++      }
++      else
++      {
++      line++;
++      if (msg && ReadInc && (line % ReadInc == 0)) {
++        if (tagged)
++          mutt_message (_("%s (tagged: %d) %d"), msg, tagged, line);
++        else
++          mutt_message ("%s %d", msg, line);
++      }
++
++      if (ret == 0 && funct (inbuf, data) < 0)
++        ret = -3;
++      lenbuf = 0;
++      }
++
++      safe_realloc (&inbuf, lenbuf + sizeof (buf));
++    }
++    FREE (&inbuf);
++    funct (NULL, data);
++  }
++  while (!done);
++  return ret;
++}
++
++static int nntp_read_tempfile (char *line, void *file)
++{
++  FILE *f = (FILE *)file;
++
++  if (!line)
++    rewind (f);
++  else
++  {
++    fputs (line, f);
++    if (fputc ('\n', f) == EOF)
++      return -1;
++  }
++  return 0;
++}
++
++static void nntp_parse_xref (CONTEXT *ctx, char *group, char *xref, HEADER *h)
++{
++  register char *p, *b;
++  register char *colon = NULL;
++
++  b = p = xref;
++  while (*p)
++  {
++    /* skip to next word */
++    b = p;
++    while (*b && ((*b == ' ') || (*b == '\t'))) b++;
++    p = b;
++    colon = NULL;
++    /* skip to end of word */
++    while (*p && (*p != ' ') && (*p != '\t')) 
++    {
++      if (*p == ':')
++      colon = p;
++      p++;
++    }
++    if (*p)
++    {
++      *p = '\0';
++      p++;
++    }
++    if (colon)
++    {
++      *colon = '\0';
++      colon++;
++      nntp_get_status (ctx, h, b, atoi(colon));
++      if (h && h->article_num == 0 && mutt_strcmp (group, b) == 0)
++      h->article_num = atoi(colon);
++    }
++  }
++}
++
++/*
++ * returns:
++ *  0 on success
++ *  1 if article not found
++ * -1 if read or write error on tempfile or socket
++ */
++static int nntp_read_header (CONTEXT *ctx, const char *msgid, int article_num)
++{
++  NNTP_DATA *nntp_data = ((NNTP_DATA *)ctx->data);
++  FILE *f;
++  char buf[LONG_STRING];
++  char tempfile[_POSIX_PATH_MAX];
++  int ret;
++  HEADER *h = ctx->hdrs[ctx->msgcount];
++
++  mutt_mktemp (tempfile);
++  if (!(f = safe_fopen (tempfile, "w+")))
++    return -1;
++
++  if (!msgid)
++    snprintf (buf, sizeof (buf), "HEAD %d\r\n", article_num);
++  else
++    snprintf (buf, sizeof (buf), "HEAD %s\r\n", msgid);
++
++  ret = mutt_nntp_fetch (nntp_data, buf, NULL, nntp_read_tempfile, f, 0);
++  if (ret)
++  {
++#ifdef DEBUG
++    if (ret != -1)
++      dprint(1, (debugfile, "nntp_read_header: %s\n", buf));
++#endif
++    fclose (f);
++    unlink (tempfile);
++    return (ret == -1 ? -1 : 1);
++  }
++
++  h->article_num = article_num;
++  h->env = mutt_read_rfc822_header (f, h, 0, 0);
++  fclose (f);
++  unlink (tempfile);
++
++  if (h->env->xref != NULL)
++    nntp_parse_xref (ctx, nntp_data->group, h->env->xref, h);
++  else if (h->article_num == 0 && msgid)
++  {
++    snprintf (buf, sizeof (buf), "STAT %s\r\n", msgid);
++    if (mutt_nntp_query (nntp_data, buf, sizeof (buf)) == 0)
++      h->article_num = atoi (buf + 4);
++  }
++
++  return 0;
++}
++
++static int parse_description (char *line, void *n)
++{
++#define news ((NNTP_SERVER *) n)
++  register char *d = line;
++  NNTP_DATA *data;
++
++  if (!line)
++    return 0;
++  while (*d && *d != '\t' && *d != ' ') d++;
++    *d = 0;
++  d++;
++  while (*d && (*d == '\t' || *d == ' ')) d++;
++  dprint (2, (debugfile, "group: %s, desc: %s\n", line, d));
++  if ((data = (NNTP_DATA *) hash_find (news->newsgroups, line)) != NULL &&
++      mutt_strcmp (d, data->desc))
++  {
++    FREE (&data->desc);
++    data->desc = safe_strdup (d);
++  }
++  return 0;
++#undef news
++}
++
++static void nntp_get_desc (NNTP_DATA *data, char *mask, char *msg)
++{
++  char buf[STRING];
++
++  if (!option (OPTLOADDESC) || !data || !data->nserv)
++    return;
++
++  /* Get newsgroup description, if we can */
++  if (data->nserv->hasXGTITLE)
++    snprintf (buf, sizeof (buf), "XGTITLE %s\r\n", mask);
++  else
++    snprintf (buf, sizeof (buf), "LIST NEWSGROUPS %s\r\n", mask);
++  if (mutt_nntp_fetch (data, buf, msg, parse_description, data->nserv, 0) != 0)
++  {
++#ifdef DEBUG
++    nntp_error ("nntp_get_desc()", buf);
++#endif
++  }
++}
++
++/*
++ * XOVER returns a tab separated list of:
++ * id|subject|from|date|Msgid|references|bytes|lines|xref
++ *
++ * This has to duplicate some of the functionality of 
++ * mutt_read_rfc822_header(), since it replaces the call to that (albeit with
++ * a limited number of headers which are "parsed" by placement in the list)
++ */
++static int nntp_parse_xover (CONTEXT *ctx, char *buf, HEADER *hdr)
++{
++  NNTP_DATA *nntp_data = (NNTP_DATA *) ctx->data;
++  char *p, *b;
++  int x, done = 0;
++
++  hdr->env = mutt_new_envelope();
++  hdr->env->newsgroups = safe_strdup (nntp_data->group);
++  hdr->content = mutt_new_body();
++  hdr->content->type = TYPETEXT;
++  hdr->content->subtype = safe_strdup ("plain");
++  hdr->content->encoding = ENC7BIT;
++  hdr->content->disposition = DISPINLINE;
++  hdr->content->length = -1;
++  b = p = buf;
++
++  for (x = 0; !done && x < 9; x++)
++  {
++    /* if from file, need to skip newline character */
++    while (*p && *p != '\n' && *p != '\t') p++;
++    if (!*p) done++;
++    *p = '\0';
++    p++;
++    switch (x)
++    {
++      case 0:
++
++      hdr->article_num = atoi (b);
++      nntp_get_status (ctx, hdr, NULL, hdr->article_num);
++      break;
++      case 1:
++      hdr->env->subject = safe_strdup (b);
++      /* Now we need to do the things which would normally be done in 
++       * mutt_read_rfc822_header() */
++      if (hdr->env->subject)
++      {
++        regmatch_t pmatch[1];
++
++        rfc2047_decode (&hdr->env->subject);
++
++        if (regexec (ReplyRegexp.rx, hdr->env->subject, 1, pmatch, 0) == 0)
++          hdr->env->real_subj = hdr->env->subject + pmatch[0].rm_eo;
++        else
++          hdr->env->real_subj = hdr->env->subject;
++      }
++      break;
++      case 2:
++      rfc822_free_address (&hdr->env->from);
++      hdr->env->from = rfc822_parse_adrlist (hdr->env->from, b);
++      rfc2047_decode_adrlist (hdr->env->from);
++      break;
++      case 3:
++      hdr->date_sent = mutt_parse_date (b, hdr);
++      hdr->received = hdr->date_sent;
++      break;
++      case 4:
++      FREE (&hdr->env->message_id);
++      hdr->env->message_id = safe_strdup (b);
++      break;
++      case 5:
++      mutt_free_list (&hdr->env->references);
++      hdr->env->references = mutt_parse_references (b, 0);
++      break;
++      case 6:
++      hdr->content->length = atoi (b);
++      break;
++      case 7:
++      hdr->lines = atoi (b);
++      break;
++      case 8:
++      if (!hdr->read)
++        FREE (&hdr->env->xref);
++        b = b + 6;    /* skips the "Xref: " */
++        hdr->env->xref = safe_strdup (b);
++        nntp_parse_xref (ctx, nntp_data->group, b, hdr);
++    }
++    if (!*p)
++      return -1;
++    b = p;
++  }
++  return 0;
++}
++
++typedef struct
++{
++  CONTEXT *ctx;
++  unsigned int base;
++  unsigned int first;
++  unsigned int last;
++  unsigned short *messages;
++  char* msg;
++} FETCH_CONTEXT;
++
++#define fc ((FETCH_CONTEXT *) c)
++static int nntp_fetch_numbers (char *line, void *c)
++{
++  unsigned int num;
++
++  if (!line)
++    return 0;
++  num = atoi (line);
++  if (num < fc->base || num > fc->last)
++    return 0;
++  fc->messages[num - fc->base] = 1;
++  return 0;
++}
++
++static int add_xover_line (char *line, void *c)
++{
++  unsigned int num, total;
++  CONTEXT *ctx = fc->ctx;
++  NNTP_DATA *data = (NNTP_DATA *)ctx->data;
++
++  if (!line)
++    return 0;
++
++  if (ctx->msgcount >= ctx->hdrmax)
++    mx_alloc_memory (ctx);
++  ctx->hdrs[ctx->msgcount] = mutt_new_header ();
++  ctx->hdrs[ctx->msgcount]->index = ctx->msgcount;
++
++  nntp_parse_xover (ctx, line, ctx->hdrs[ctx->msgcount]);
++  num = ctx->hdrs[ctx->msgcount]->article_num;
++
++  if (num >= fc->first && num <= fc->last && fc->messages[num - fc->base])
++  {
++    ctx->msgcount++;
++    if (num > data->lastLoaded)
++      data->lastLoaded = num;
++    num = num - fc->first + 1;
++    total = fc->last - fc->first + 1;
++    if (!ctx->quiet && fc->msg && ReadInc && (num % ReadInc == 0))
++      mutt_message ("%s %d/%d", fc->msg, num, total);
++  }
++  else
++    mutt_free_header (&ctx->hdrs[ctx->msgcount]); /* skip it */
++
++  return 0;
++}
++#undef fc
++
++static int nntp_fetch_headers (CONTEXT *ctx, unsigned int first,
++      unsigned int last)
++{
++  char buf[HUGE_STRING];
++  char *msg = _("Fetching message headers...");
++  NNTP_DATA *nntp_data = ((NNTP_DATA *)ctx->data);
++  int ret;
++  int num;
++  int oldmsgcount;
++  unsigned int current;
++  FILE *f;
++  FETCH_CONTEXT fc;
++
++  /* if empty group or nothing to do */
++  if (!last || first > last)
++    return 0;
++
++  /* fetch list of articles */
++  fc.ctx = ctx;
++  fc.base = first;
++  fc.last = last;
++  fc.messages = safe_calloc (last - first + 1, sizeof (unsigned short));
++  if (nntp_data->nserv->hasLISTGROUP)
++  {
++    mutt_message _("Fetching list of articles...");
++    snprintf (buf, sizeof (buf), "LISTGROUP %s\r\n", nntp_data->group);
++    if (mutt_nntp_fetch (nntp_data, buf, NULL, nntp_fetch_numbers, &fc, 0) != 0)
++    {
++      mutt_error (_("LISTGROUP command failed: %s"), buf);
++#ifdef DEBUG
++      nntp_error ("nntp_fetch_headers()", buf);
++#endif
++      FREE (&fc.messages);
++      return -1;
++    }
++  }
++  else
++  {
++    for (num = 0; num < last - first + 1; num++)
++      fc.messages[num] = 1;
++  }
++
++  /* CACHE: must be loaded xover cache here */
++  num = nntp_data->lastCached - first + 1;
++  if (option (OPTNEWSCACHE) && nntp_data->cache && num > 0)
++  {
++    nntp_cache_expand (buf, nntp_data->cache);
++    mutt_message _("Fetching headers from cache...");
++    if ((f = safe_fopen (buf, "r")))
++    {
++      int r = 0;
++
++      /* counting number of lines */
++      while (fgets (buf, sizeof (buf), f) != NULL)
++      r++;
++      rewind (f);
++      while (r > num && fgets (buf, sizeof (buf), f) != NULL)
++      r--;
++      oldmsgcount = ctx->msgcount;
++      fc.first = first;
++      fc.last = first + num - 1;
++      fc.msg = NULL;
++      while (fgets (buf, sizeof (buf), f) != NULL)
++      add_xover_line (buf, &fc);
++      fclose (f);
++      nntp_data->lastLoaded = fc.last;
++      first = fc.last + 1;
++      if (ctx->msgcount > oldmsgcount)
++      mx_update_context (ctx, ctx->msgcount - oldmsgcount);
++    }
++    else
++      nntp_delete_cache (nntp_data);
++  }
++  num = last - first + 1;
++  if (num <= 0)
++  {
++    FREE (&fc.messages);
++    return 0;
++  }
++
++  /*
++   * Without XOVER, we have to fetch each article header and parse
++   * it.  With XOVER, we ask for all of them
++   */
++  mutt_message (msg);
++  if (nntp_data->nserv->hasXOVER)
++  {
++    oldmsgcount = ctx->msgcount;
++    fc.first = first;
++    fc.last = last;
++    fc.msg = msg;
++    snprintf (buf, sizeof (buf), "XOVER %d-%d\r\n", first, last);
++    ret = mutt_nntp_fetch (nntp_data, buf, NULL, add_xover_line, &fc, 0);
++    if (ctx->msgcount > oldmsgcount)
++      mx_update_context (ctx, ctx->msgcount - oldmsgcount);
++    if (ret != 0)
++    {
++      mutt_error (_("XOVER command failed: %s"), buf);
++#ifdef DEBUG
++      nntp_error ("nntp_fetch_headers()", buf);
++#endif
++      FREE (&fc.messages);
++      return -1;
++    }
++    /* fetched OK */
++  }
++  else
++  for (current = first; current <= last; current++)
++  {
++    HEADER *h;
++
++    ret = current - first + 1;
++    mutt_message ("%s %d/%d", msg, ret, num);
++
++    if (!fc.messages[current - fc.base])
++      continue;
++
++    if (ctx->msgcount >= ctx->hdrmax)
++      mx_alloc_memory (ctx);
++    h = ctx->hdrs[ctx->msgcount] = mutt_new_header ();
++    h->index = ctx->msgcount;
++
++    ret = nntp_read_header (ctx, NULL, current);
++    if (ret == 0) /* Got article. Fetch next header */
++    {
++      nntp_get_status (ctx, h, NULL, h->article_num);
++      ctx->msgcount++;
++      mx_update_context (ctx, 1);
++    }
++    else
++      mutt_free_header (&h); /* skip it */
++    if (ret == -1)
++    {
++      FREE (&fc.messages);
++      return -1;
++    }
++
++    if (current > nntp_data->lastLoaded)
++      nntp_data->lastLoaded = current;
++  }
++  FREE (&fc.messages);
++  nntp_data->lastLoaded = last;
++  mutt_clear_error ();
++  return 0;
++}
++
++/* 
++ * currently, nntp "mailbox" is "newsgroup"
++ */
++int nntp_open_mailbox (CONTEXT *ctx)
++{
++  NNTP_DATA *nntp_data;
++  NNTP_SERVER *serv;
++  char buf[HUGE_STRING];
++  char server[LONG_STRING];
++  int count = 0;
++  unsigned int first;
++  ACCOUNT acct;
++
++  if (nntp_parse_url (ctx->path, &acct, buf, sizeof (buf)) < 0 || !*buf)
++  {
++    mutt_error (_("%s is an invalid newsgroup specification!"), ctx->path);
++    mutt_sleep (2);
++    return -1;
++  }
++
++  server[0] = '\0';
++  nntp_expand_path (server, sizeof (server), &acct);
++  if (!(serv = mutt_select_newsserver (server)) || serv->status != NNTP_OK)
++    return -1;
++
++  CurrentNewsSrv = serv;
++
++  /* create NNTP-specific state struct if nof found in list */
++  if ((nntp_data = (NNTP_DATA *) hash_find (serv->newsgroups, buf)) == NULL)
++  {
++    nntp_data = safe_calloc (1, sizeof (NNTP_DATA) + strlen (buf) + 1);
++    nntp_data->group = (char *) nntp_data + sizeof (NNTP_DATA);
++    strcpy (nntp_data->group, buf);
++    hash_insert (serv->newsgroups, nntp_data->group, nntp_data, 0);
++    nntp_add_to_list (serv, nntp_data);
++  }
++  ctx->data = nntp_data;
++  ctx->mx_close = nntp_fastclose_mailbox;
++  nntp_data->nserv = serv;
++
++  mutt_message (_("Selecting %s..."), nntp_data->group);
++
++  if (!nntp_data->desc)
++  {
++    nntp_get_desc (nntp_data, nntp_data->group, NULL);
++    if (nntp_data->desc)
++      nntp_save_cache_index (serv);
++  }
++
++  buf[0] = 0;
++  if (mutt_nntp_query (nntp_data, buf, sizeof(buf)) < 0)
++  {
++#ifdef DEBUG
++    nntp_error ("nntp_open_mailbox()", buf);
++#endif
++    return -1;
++  }
++
++  if (mutt_strncmp ("211", buf, 3))
++  {
++    LIST *l = serv->list;
++
++    /* GROUP command failed */
++    if (!mutt_strncmp ("411", buf, 3))
++    {
++      mutt_error (_("Newsgroup %s not found on server %s"),
++                  nntp_data->group, serv->conn->account.host);
++
++      /* CACHE: delete cache and line from .index */
++      nntp_delete_cache (nntp_data);
++      hash_delete (serv->newsgroups, nntp_data->group, NULL, nntp_delete_data);
++      while (l && l->data != (void *) nntp_data) l = l->next;
++      if (l)
++      l->data = NULL;
++
++      sleep (2);
++    }
++
++    return -1;
++  }
++
++  sscanf (buf + 4, "%d %u %u %s", &count, &nntp_data->firstMessage, 
++        &nntp_data->lastMessage, buf);
++
++  nntp_data->deleted = 0;
++
++  time (&serv->check_time);
++
++  /*
++   * Check for max adding context. If it is greater than $nntp_context,
++   * strip off extra articles
++   */
++  first = nntp_data->firstMessage;
++  if (NntpContext && nntp_data->lastMessage - first + 1 > NntpContext)
++    first = nntp_data->lastMessage - NntpContext + 1;
++  if (first)
++    nntp_data->lastLoaded = first - 1;
++  return nntp_fetch_headers (ctx, first, nntp_data->lastMessage);
++}
++
++int nntp_fetch_message (MESSAGE *msg, CONTEXT *ctx, int msgno)
++{
++  char buf[LONG_STRING];
++  char path[_POSIX_PATH_MAX];
++  NNTP_CACHE *cache;
++  char *m = _("Fetching message...");
++  int ret;
++
++  /* see if we already have the message in our cache */
++  cache = &((NNTP_DATA *) ctx->data)->acache[ctx->hdrs[msgno]->index % NNTP_CACHE_LEN];
++
++  /* if everything is fine, assign msg->fp and return */
++  if (cache->path && cache->index == ctx->hdrs[msgno]->index &&
++      (msg->fp = fopen (cache->path, "r")))
++    return 0;
++
++  /* clear the previous entry */
++  unlink (cache->path);
++  free (cache->path);
++
++  mutt_message (m);
++
++  cache->index = ctx->hdrs[msgno]->index;
++  mutt_mktemp (path);
++  cache->path = safe_strdup (path);
++  if (!(msg->fp = safe_fopen (path, "w+")))
++  {
++    FREE (&cache->path);
++    return -1;
++  }
++
++  if (ctx->hdrs[msgno]->article_num == 0)
++    snprintf (buf, sizeof (buf), "ARTICLE %s\r\n",
++        ctx->hdrs[msgno]->env->message_id);
++  else
++    snprintf (buf, sizeof (buf), "ARTICLE %d\r\n",
++        ctx->hdrs[msgno]->article_num);
++
++  ret = mutt_nntp_fetch ((NNTP_DATA *)ctx->data, buf, m, nntp_read_tempfile,
++      msg->fp, ctx->tagged);
++  if (ret == 1)
++  {
++    mutt_error (_("Article %d not found on server"), 
++        ctx->hdrs[msgno]->article_num);
++    dprint (1, (debugfile, "nntp_fetch_message: %s\n", buf));
++  }
++
++  if (ret)
++  {
++    fclose (msg->fp);
++    unlink (path);
++    FREE (&cache->path);
++    return -1;
++  }
++
++  mutt_free_envelope (&ctx->hdrs[msgno]->env);
++  ctx->hdrs[msgno]->env = mutt_read_rfc822_header (msg->fp, ctx->hdrs[msgno], 0, 0);
++  /* fix content length */
++  fseek(msg->fp, 0, SEEK_END);
++  ctx->hdrs[msgno]->content->length = ftell (msg->fp) - 
++                                        ctx->hdrs[msgno]->content->offset;
++
++  /* this is called in mutt before the open which fetches the message, 
++   * which is probably wrong, but we just call it again here to handle
++   * the problem instead of fixing it.
++   */
++  mutt_parse_mime_message (ctx, ctx->hdrs[msgno]);
++
++  /* These would normally be updated in mx_update_context(), but the 
++   * full headers aren't parsed with XOVER, so the information wasn't
++   * available then.
++   */
++#if defined(HAVE_PGP) || defined(HAVE_SMIME)
++  ctx->hdrs[msgno]->security = crypt_query (ctx->hdrs[msgno]->content);
++#endif /* HAVE_PGP || HAVE_SMIME */
++
++  mutt_clear_error();
++  rewind (msg->fp);
++
++  return 0;
++}
++
++/* Post article */
++int nntp_post (const char *msg) {
++  char buf[LONG_STRING];
++  size_t len;
++  FILE *f;
++  NNTP_DATA *nntp_data;
++
++  if (Context && Context->magic == M_NNTP)
++    nntp_data = (NNTP_DATA *)Context->data;
++  else
++  {
++    if (!(CurrentNewsSrv = mutt_select_newsserver (NewsServer)) ||
++      !CurrentNewsSrv->list || !CurrentNewsSrv->list->data)
++    {
++      mutt_error (_("Can't post article. No connection to news server."));
++      return -1;
++    }
++    nntp_data = (NNTP_DATA *)CurrentNewsSrv->list->data;
++  }
++
++  if (!(f = safe_fopen (msg, "r")))
++  {
++    mutt_error (_("Can't post article. Unable to open %s"), msg);
++    return -1;
++  }
++
++  strfcpy (buf, "POST\r\n", sizeof (buf));
++  if (mutt_nntp_query (nntp_data, buf, sizeof (buf)) < 0)
++  {
++    mutt_error (_("Can't post article. Connection to %s lost."),
++              nntp_data->nserv->conn->account.host);
++    return -1;
++  }
++  if (buf[0] != '3')
++  {
++    mutt_error (_("Can't post article: %s"), buf);
++    return -1;
++  }
++
++  buf[0] = '.';
++  buf[1] = '\0';
++  while (fgets (buf + 1, sizeof (buf) - 2, f) != NULL)
++  {
++    len = strlen (buf);
++    if (buf[len - 1] == '\n')
++    {
++      buf[len - 1] = '\r';
++      buf[len] = '\n';
++      len++;
++      buf[len] = '\0';
++    }
++    if (buf[1] == '.')
++      mutt_socket_write_d (nntp_data->nserv->conn, buf, -1, M_SOCK_LOG_HDR);
++    else
++      mutt_socket_write_d (nntp_data->nserv->conn, buf + 1, -1, M_SOCK_LOG_HDR);
++  }
++  fclose (f);
++
++  if (buf[strlen (buf) - 1] != '\n')
++    mutt_socket_write_d (nntp_data->nserv->conn, "\r\n", -1, M_SOCK_LOG_HDR);
++  mutt_socket_write_d (nntp_data->nserv->conn, ".\r\n", -1, M_SOCK_LOG_HDR);
++  if (mutt_socket_readln (buf, sizeof (buf), nntp_data->nserv->conn) < 0)
++  {
++    mutt_error (_("Can't post article. Connection to %s lost."),
++              nntp_data->nserv->conn->account.host);
++    return -1;
++  }
++  if (buf[0] != '2')
++  {
++    mutt_error (_("Can't post article: %s"), buf);
++    return -1;
++  }
++
++  return 0;
++}
++
++/* nntp_logout_all: close all open connections. */
++void nntp_logout_all (void)
++{
++  char buf[LONG_STRING];
++  CONNECTION* conn;
++
++  conn = mutt_socket_head ();
++
++  while (conn)
++  {
++    CONNECTION *next = conn->next;
++
++    if (conn->account.type == M_ACCT_TYPE_NNTP)
++    {
++      mutt_message (_("Closing connection to %s..."), conn->account.host);
++      mutt_socket_write (conn, "QUIT\r\n");
++      mutt_socket_readln (buf, sizeof (buf), conn);
++      mutt_clear_error ();
++      mutt_socket_close (conn);
++      mutt_socket_free (conn);
++    }
++
++    conn = next;
++  }
++}
++
++static void nntp_free_acache (NNTP_DATA *data)
++{
++  int i;
++
++  for (i = 0; i < NNTP_CACHE_LEN; i++)
++  {
++    if (data->acache[i].path)
++    {
++      unlink (data->acache[i].path);
++      FREE (&data->acache[i].path);
++    }
++  }
++}
++
++void nntp_delete_data (void *p)
++{
++  NNTP_DATA *data = (NNTP_DATA *)p;
++
++  if (!p)
++    return;
++  FREE (&data->entries);
++  FREE (&data->desc);
++  FREE (&data->cache);
++  nntp_free_acache (data);
++  FREE (p);
++}
++
++int nntp_sync_mailbox (CONTEXT *ctx)
++{
++  NNTP_DATA *data = ctx->data;
++
++  /* CACHE: update cache and .index files */
++  if ((option (OPTSAVEUNSUB) || data->subscribed))
++    nntp_save_cache_group (ctx);
++  nntp_free_acache (data);
++
++  data->nserv->check_time = 0; /* next nntp_check_mailbox() will really check */
++  return 0;
++}
++
++int nntp_fastclose_mailbox (CONTEXT *ctx)
++{
++  NNTP_DATA *data = (NNTP_DATA *) ctx->data, *tmp;
++
++  if (!data)
++    return 0;
++  nntp_free_acache (data);
++  if (!data->nserv || !data->nserv->newsgroups || !data->group)
++    return 0;
++  nntp_save_cache_index (data->nserv);
++  if ((tmp = hash_find (data->nserv->newsgroups, data->group)) == NULL
++      || tmp != data)
++    nntp_delete_data (data);
++  return 0;
++}
++
++/* commit changes and terminate connection */
++int nntp_close_mailbox (CONTEXT *ctx)
++{
++  if (!ctx)
++    return -1;
++  mutt_message _("Quitting newsgroup...");
++  if (ctx->data)
++  {
++    NNTP_DATA *data = (NNTP_DATA *) ctx->data;
++    int ret;
++
++    if (data->nserv && data->nserv->conn && ctx->unread)
++    {
++      ret = query_quadoption (OPT_CATCHUP, _("Mark all articles read?"));
++      if (ret == M_YES)
++      mutt_newsgroup_catchup (data->nserv, data->group);
++      else if (ret < 0)
++      return -1;
++    }
++  }
++  nntp_sync_mailbox (ctx);
++  if (ctx->data && ((NNTP_DATA *)ctx->data)->nserv)
++  {
++    NNTP_SERVER *news;
++
++    news = ((NNTP_DATA *)ctx->data)->nserv;
++    newsrc_gen_entries (ctx);
++    ((NNTP_DATA *)ctx->data)->unread = ctx->unread;
++    mutt_newsrc_update (news);
++  }
++  mutt_clear_error();
++  return 0;
++}
++
++/* use the GROUP command to poll for new mail */
++static int _nntp_check_mailbox (CONTEXT *ctx, NNTP_DATA *nntp_data)
++{
++  char buf[LONG_STRING];
++  int count = 0;
++
++  if (nntp_data->nserv->check_time + NewsPollTimeout > time (NULL))
++    return 0;
++
++  buf[0] = 0;
++  if (mutt_nntp_query (nntp_data, buf, sizeof (buf)) < 0)
++  {
++#ifdef DEBUG
++    nntp_error ("nntp_check_mailbox()", buf);
++#endif
++    return -1;
++  }
++  if (mutt_strncmp ("211", buf, 3))
++  {
++    buf[0] = 0;
++    if (mutt_nntp_query (nntp_data, buf, sizeof (buf)) < 0)
++    {
++#ifdef DEBUG
++      nntp_error ("nntp_check_mailbox()", buf);
++#endif
++      return -1;
++    }
++  }
++  if (!mutt_strncmp ("211", buf, 3))
++  {
++    int first;
++    int last;
++
++    sscanf (buf + 4, "%d %d %d", &count, &first, &last);
++    nntp_data->firstMessage = first;
++    nntp_data->lastMessage = last;
++    if (ctx && last > nntp_data->lastLoaded)
++    {
++      nntp_fetch_headers (ctx, nntp_data->lastLoaded + 1, last);
++      time (&nntp_data->nserv->check_time);
++      return 1;
++    }
++    if (!last || (!nntp_data->rc && !nntp_data->lastCached))
++      nntp_data->unread = count;
++    else
++      mutt_newsgroup_stat (nntp_data);
++    /* active was renumbered? */
++    if (last < nntp_data->lastLoaded)
++    {
++      if (!nntp_data->max)
++      {
++      nntp_data->entries = safe_calloc (5, sizeof (NEWSRC_ENTRY));
++      nntp_data->max = 5;
++      }
++      nntp_data->lastCached = 0;
++      nntp_data->num = 1;
++      nntp_data->entries[0].first = 1;
++      nntp_data->entries[0].last = 0;
++    }
++  }
++
++  time (&nntp_data->nserv->check_time);
++  return 0;
++}
++
++int nntp_check_mailbox (CONTEXT *ctx)
++{
++  return _nntp_check_mailbox (ctx, (NNTP_DATA *)ctx->data);
++}
++
++static int add_group (char *buf, void *serv)
++{
++#define s ((NNTP_SERVER *) serv)
++  char group[LONG_STRING], mod, desc[HUGE_STRING];
++  int first, last;
++  NNTP_DATA *nntp_data;
++  static int n = 0;
++
++  _checked = n;       /* _checked have N, where N = number of groups */
++  if (!buf)   /* at EOF must be zerouth */
++    n = 0;
++
++  if (!s || !buf)
++    return 0;
++
++  *desc = 0;
++  sscanf (buf, "%s %d %d %c %[^\n]", group, &last, &first, &mod, desc);
++  if (!group)
++    return 0;
++  if ((nntp_data = (NNTP_DATA *) hash_find (s->newsgroups, group)) == NULL)
++  {
++    n++;
++    nntp_data = safe_calloc (1, sizeof (NNTP_DATA) + strlen (group) + 1);
++    nntp_data->group = (char *) nntp_data + sizeof (NNTP_DATA);
++    strcpy (nntp_data->group, group);
++    nntp_data->nserv = s;
++    if (s->newsgroups->nelem < s->newsgroups->curnelem * 2)
++      s->newsgroups = hash_resize (s->newsgroups, s->newsgroups->nelem * 2, 0);
++    hash_insert (s->newsgroups, nntp_data->group, nntp_data, 0);
++    nntp_add_to_list (s, nntp_data);
++  }
++  nntp_data->deleted = 0;
++  nntp_data->firstMessage = first;
++  nntp_data->lastMessage = last;
++  if (mod == 'y')
++    nntp_data->allowed = 1;
++  else
++    nntp_data->allowed = 0;
++  if (nntp_data->desc)
++    FREE (&nntp_data->desc);
++  if (*desc)
++    nntp_data->desc = safe_strdup (desc);
++  if (nntp_data->rc || nntp_data->lastCached)
++    mutt_newsgroup_stat (nntp_data);
++  else if (nntp_data->lastMessage &&
++      nntp_data->firstMessage <= nntp_data->lastMessage)
++    nntp_data->unread = nntp_data->lastMessage - nntp_data->firstMessage + 1;
++  else
++    nntp_data->unread = 0;
++
++  return 0;
++#undef s
++}
++
++int nntp_check_newgroups (NNTP_SERVER *serv, int force)
++{
++  char buf[LONG_STRING];
++  char msg[SHORT_STRING];
++  NNTP_DATA nntp_data;
++  LIST *l;
++  LIST emp;
++  time_t now;
++  struct tm *t;
++  unsigned int count = 0;
++  unsigned int total = 0;
++
++  if (!serv || !serv->newgroups_time)
++    return -1;
++
++  if (nntp_open_connection (serv) < 0)
++    return -1;
++
++  /* check subscribed groups for new news */
++  if (option (OPTSHOWNEWNEWS))
++  {
++    mutt_message _("Checking for new messages...");
++    for (l = serv->list; l; l = l->next)
++    {
++      serv->check_time = 0;   /* really check! */
++      if (l->data && ((NNTP_DATA *) l->data)->subscribed)
++      _nntp_check_mailbox (NULL, (NNTP_DATA *) l->data);
++    }
++  }
++  else if (!force)
++    return 0;
++
++  mutt_message _("Checking for new newsgroups...");
++  now = serv->newgroups_time;
++  time (&serv->newgroups_time);
++  t = gmtime (&now);
++  snprintf (buf, sizeof (buf), "NEWGROUPS %02d%02d%02d %02d%02d%02d GMT\r\n",
++      (t->tm_year % 100), t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min,
++      t->tm_sec);
++  nntp_data.nserv = serv;
++  if (Context && Context->magic == M_NNTP)
++    nntp_data.group = ((NNTP_DATA *)Context->data)->group;
++  else
++    nntp_data.group = NULL;
++  l = serv->tail;
++  if (mutt_nntp_fetch (&nntp_data, buf, _("Adding new newsgroups..."),
++      add_group, serv, 0) != 0)
++  {
++#ifdef DEBUG
++    nntp_error ("nntp_check_newgroups()", buf);
++#endif
++    return -1;
++  }
++
++  strfcpy (msg, _("Loading descriptions..."), sizeof (msg));
++  mutt_message (msg);
++  if (l)
++    emp.next = l->next;
++  else
++    emp.next = serv->list;
++  l = &emp;
++  while (l->next)
++  {
++    l = l->next;
++    ((NNTP_DATA *) l->data)->new = 1;
++    total++;
++  }
++  l = &emp;
++  while (l->next)
++  {
++    l = l->next;
++    nntp_get_desc ((NNTP_DATA *) l->data, ((NNTP_DATA *) l->data)->group, NULL);
++    count++;
++    if (ReadInc && (count % ReadInc == 0))
++      mutt_message ("%s %d/%d", msg, count, total);
++  }
++  if (emp.next)
++    nntp_save_cache_index (serv);
++  mutt_clear_error ();
++  return _checked;
++}
++
++/* Load list of all newsgroups from cache ALL */
++int nntp_get_cache_all (NNTP_SERVER *serv)
++{
++  char buf[HUGE_STRING];
++  FILE *f;
++
++  nntp_cache_expand (buf, serv->cache);
++  if ((f = safe_fopen (buf, "r")))
++  {
++    int i = 0;
++
++    while (fgets (buf, sizeof(buf), f) != NULL)
++    {
++      if (ReadInc && (i % ReadInc == 0))
++      mutt_message (_("Loading list from cache... %d"), i);
++      add_group (buf, serv);
++      i++;
++    }
++    add_group (NULL, NULL);
++    fclose (f);
++    mutt_clear_error ();
++    return 0;
++  }
++  else
++  {
++    FREE (&serv->cache);
++    return -1;
++  }
++}
++
++/* Load list of all newsgroups from active */
++int nntp_get_active (NNTP_SERVER *serv)
++{
++  char msg[SHORT_STRING];
++  NNTP_DATA nntp_data;
++  LIST *tmp;
++
++  if (nntp_open_connection (serv) < 0)
++    return -1;
++
++  snprintf (msg, sizeof(msg), _("Loading list of all newsgroups on server %s..."),
++              serv->conn->account.host);
++  mutt_message (msg);
++  time (&serv->newgroups_time);
++  nntp_data.nserv = serv;
++  nntp_data.group = NULL;
++
++  if (mutt_nntp_fetch (&nntp_data, "LIST\r\n", msg, add_group, serv, 0) < 0)
++  {
++#ifdef DEBUG
++    nntp_error ("nntp_get_active()", "LIST\r\n");
++#endif
++    return -1;
++  }
++
++  strfcpy (msg, _("Loading descriptions..."), sizeof (msg));
++  mutt_message (msg);
++  nntp_get_desc (&nntp_data, "*", msg);
++
++  for (tmp = serv->list; tmp; tmp = tmp->next)
++  {
++    NNTP_DATA *data = (NNTP_DATA *)tmp->data;
++
++    if (data && data->deleted && !data->rc)
++    {
++      nntp_delete_cache (data);
++      hash_delete (serv->newsgroups, data->group, NULL, nntp_delete_data);
++      tmp->data = NULL;
++    }
++  }
++  nntp_save_cache_index (serv);
++
++  mutt_clear_error ();
++  return _checked;
++}
++
++/*
++ * returns -1 if error ocurred while retrieving header,
++ * number of articles which ones exist in context on success.
++ */
++int nntp_check_msgid (CONTEXT *ctx, const char *msgid)
++{
++  int ret;
++
++  /* if msgid is already in context, don't reload them */
++  if (hash_find (ctx->id_hash, msgid))
++    return 1;
++  if (ctx->msgcount == ctx->hdrmax)
++    mx_alloc_memory (ctx);
++  ctx->hdrs[ctx->msgcount] = mutt_new_header ();
++  ctx->hdrs[ctx->msgcount]->index = ctx->msgcount;
++  
++  mutt_message (_("Fetching %s from server..."), msgid);
++  ret = nntp_read_header (ctx, msgid, 0);
++  /* since nntp_read_header() may set read flag, we must reset it */
++  ctx->hdrs[ctx->msgcount]->read = 0;
++  if (ret != 0)
++    mutt_free_header (&ctx->hdrs[ctx->msgcount]);
++  else
++  {
++    ctx->msgcount++;
++    mx_update_context (ctx, 1);
++    ctx->changed = 1;
++  }
++  return ret;
++}
++
++typedef struct
++{
++  CONTEXT *ctx;
++  unsigned int num;
++  unsigned int max;
++  unsigned int *child;
++} CHILD_CONTEXT;
++
++static int check_children (char *s, void *c)
++{
++#define cc ((CHILD_CONTEXT *) c)
++  unsigned int i, n;
++
++  if (!s || (n = atoi (s)) == 0)
++    return 0;
++  for (i = 0; i < cc->ctx->msgcount; i++)
++    if (cc->ctx->hdrs[i]->article_num == n)
++      return 0;
++  if (cc->num >= cc->max)
++    safe_realloc (&cc->child, sizeof (unsigned int) * (cc->max += 25));
++  cc->child[cc->num++] = n;
++
++  return 0;
++#undef cc
++}
++
++int nntp_check_children (CONTEXT *ctx, const char *msgid)
++{
++  NNTP_DATA *nntp_data = (NNTP_DATA *)ctx->data;
++  char buf[STRING];
++  int i, ret = 0, tmp = 0;
++  CHILD_CONTEXT cc;
++
++  if (!nntp_data || !nntp_data->nserv || !nntp_data->nserv->conn ||
++      !nntp_data->nserv->conn->account.host)
++    return -1;
++  if (nntp_data->firstMessage > nntp_data->lastLoaded)
++    return 0;
++  if (!nntp_data->nserv->hasXPAT)
++  {
++    mutt_error (_("Server %s does not support this operation!"),
++        nntp_data->nserv->conn->account.host);
++    return -1;
++  }
++
++  snprintf (buf, sizeof (buf), "XPAT References %d-%d *%s*\r\n", 
++      nntp_data->firstMessage, nntp_data->lastLoaded, msgid);
++
++  cc.ctx = ctx;
++  cc.num = 0;
++  cc.max = 25;
++  cc.child = safe_malloc (sizeof (unsigned int) * 25);
++  if (mutt_nntp_fetch (nntp_data, buf, NULL, check_children, &cc, 0))
++  {
++    FREE (&cc.child);
++    return -1;
++  }
++  /* dont try to read the xover cache. check_children() already
++   * made sure that we dont have the article, so we need to visit
++   * the server. Reading the cache at this point is also bad
++   * because it would duplicate messages */
++  if (option (OPTNEWSCACHE))
++  {
++    tmp++;
++    unset_option (OPTNEWSCACHE);
++  }
++  for (i = 0; i < cc.num; i++)
++  {
++    if ((ret = nntp_fetch_headers (ctx, cc.child[i], cc.child[i])))
++      break;
++    if (ctx->msgcount &&
++        ctx->hdrs[ctx->msgcount - 1]->article_num == cc.child[i])
++      ctx->hdrs[ctx->msgcount - 1]->read = 0;
++  }
++  if (tmp)
++    set_option (OPTNEWSCACHE);
++  FREE (&cc.child);
++  return ret;
++}
+diff -udprP mutt-1.5.20.orig/nntp.h mutt-1.5.20/nntp.h
+--- mutt-1.5.20.orig/nntp.h    1970-01-01 03:00:00.000000000 +0300
++++ mutt-1.5.20/nntp.h 2009-06-15 21:05:24.000000000 +0300
+@@ -0,0 +1,136 @@
++/*
++ * Copyright (C) 1998 Brandon Long <blong@fiction.net>
++ * Copyright (C) 1999 Andrej Gritsenko <andrej@lucky.net>
++ * Copyright (C) 2000-2007 Vsevolod Volkov <vvv@mutt.org.ua>
++ * 
++ *     This program is free software; you can redistribute it and/or modify
++ *     it under the terms of the GNU General Public License as published by
++ *     the Free Software Foundation; either version 2 of the License, or
++ *     (at your option) any later version.
++ * 
++ *     This program is distributed in the hope that it will be useful,
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ * 
++ *     You should have received a copy of the GNU General Public License
++ *     along with this program; if not, write to the Free Software
++ *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++ */ 
++
++#ifndef _NNTP_H_
++#define _NNTP_H_ 1
++
++#include "mutt_socket.h"
++#include "mailbox.h"
++
++#include <time.h>
++
++#define NNTP_PORT 119
++#define NNTP_SSL_PORT 563
++
++/* number of entries in the hash table */
++#define NNTP_CACHE_LEN 10
++
++enum
++{
++  NNTP_NONE = 0,
++  NNTP_OK,
++  NNTP_BYE
++};
++
++typedef struct
++{
++  int first;
++  int last;
++} NEWSRC_ENTRY;
++
++typedef struct
++{
++  unsigned int hasXPAT : 1;
++  unsigned int hasXGTITLE : 1;
++  unsigned int hasXOVER : 1;
++  unsigned int hasLISTGROUP : 1;
++  unsigned int status : 3;
++  char *newsrc;
++  char *cache;
++  int stat;
++  off_t size;
++  time_t mtime;
++  time_t newgroups_time;
++  time_t check_time;
++  HASH *newsgroups;
++  LIST *list; /* list of newsgroups */
++  LIST *tail; /* last entry of list */
++  CONNECTION *conn;
++} NNTP_SERVER;
++
++typedef struct
++{
++  unsigned int index;
++  char *path;
++} NNTP_CACHE;
++
++typedef struct
++{
++  NEWSRC_ENTRY *entries;
++  unsigned int num;   /* number of used entries */
++  unsigned int max;   /* number of allocated entries */
++  unsigned int unread;
++  unsigned int firstMessage;
++  unsigned int lastMessage;
++  unsigned int lastLoaded;
++  unsigned int lastCached;
++  unsigned int subscribed : 1;
++  unsigned int rc : 1;
++  unsigned int new : 1;
++  unsigned int allowed : 1;
++  unsigned int deleted : 1;
++  char *group;
++  char *desc;
++  char *cache;
++  NNTP_SERVER *nserv;
++  NNTP_CACHE acache[NNTP_CACHE_LEN];
++} NNTP_DATA;
++
++/* internal functions */
++int nntp_get_active (NNTP_SERVER *);
++int nntp_get_cache_all (NNTP_SERVER *);
++int nntp_save_cache_index (NNTP_SERVER *);
++int nntp_check_newgroups (NNTP_SERVER *, int);
++int nntp_save_cache_group (CONTEXT *);
++int nntp_parse_url (const char *, ACCOUNT *, char *, size_t);
++void newsrc_gen_entries (CONTEXT *);
++void nntp_get_status (CONTEXT *, HEADER *, char *, int);
++void mutt_newsgroup_stat (NNTP_DATA *);
++void nntp_delete_cache (NNTP_DATA *);
++void nntp_add_to_list (NNTP_SERVER *, NNTP_DATA *);
++void nntp_cache_expand (char *, const char *);
++void nntp_delete_data (void *);
++
++/* exposed interface */
++NNTP_SERVER *mutt_select_newsserver (char *);
++NNTP_DATA *mutt_newsgroup_subscribe (NNTP_SERVER *, char *);
++NNTP_DATA *mutt_newsgroup_unsubscribe (NNTP_SERVER *, char *);
++NNTP_DATA *mutt_newsgroup_catchup (NNTP_SERVER *, char *);
++NNTP_DATA *mutt_newsgroup_uncatchup (NNTP_SERVER *, char *);
++void nntp_clear_cacheindex (NNTP_SERVER *);
++int mutt_newsrc_update (NNTP_SERVER *);
++int nntp_open_mailbox (CONTEXT *);
++int nntp_sync_mailbox (CONTEXT *);
++int nntp_check_mailbox (CONTEXT *);
++int nntp_close_mailbox (CONTEXT *);
++int nntp_fastclose_mailbox (CONTEXT *);
++int nntp_fetch_message (MESSAGE *, CONTEXT *, int);
++int nntp_post (const char *);
++int nntp_check_msgid (CONTEXT *, const char *);
++int nntp_check_children (CONTEXT *, const char *);
++void nntp_buffy (char *);
++void nntp_expand_path (char *, size_t, ACCOUNT *);
++void nntp_logout_all ();
++const char *nntp_format_str (char *, size_t, size_t, char, const char *, const char *,
++              const char *, const char *, unsigned long, format_flag);
++
++NNTP_SERVER *CurrentNewsSrv INITVAL (NULL);
++
++#endif /* _NNTP_H_ */
+diff -udprP mutt-1.5.20.orig/pager.c mutt-1.5.20/pager.c
+--- mutt-1.5.20.orig/pager.c   2009-06-03 23:48:31.000000000 +0300
++++ mutt-1.5.20/pager.c        2009-06-15 21:05:24.000000000 +0300
+@@ -1059,6 +1059,11 @@ fill_buffer (FILE *f, LOFF_T *last_pos, 
+   return b_read;
+ }
++#ifdef USE_NNTP
++#include "mx.h"
++#include "nntp.h"
++#endif
++
+ static int format_line (struct line_t **lineInfo, int n, unsigned char *buf,
+                       int flags, ansi_attr *pa, int cnt,
+@@ -1512,6 +1517,16 @@ static struct mapping_t PagerHelpExtra[]
+   { NULL,     0 }
+ };
++#ifdef USE_NNTP
++static struct mapping_t PagerNewsHelpExtra[] = {
++  { N_("Post"),     OP_POST },
++  { N_("Followup"), OP_FOLLOWUP },
++  { N_("Del"),      OP_DELETE },
++  { N_("Next"),     OP_MAIN_NEXT_UNDELETED },
++  { NULL,           0 }
++};
++#endif
++
+ /* This pager is actually not so simple as it once was.  It now operates in
+@@ -1553,6 +1568,10 @@ mutt_pager (const char *banner, const ch
+   int old_PagerIndexLines;            /* some people want to resize it
+                                        * while inside the pager... */
++#ifdef USE_NNTP
++  char *followup_to;
++#endif
++
+   if (!(flags & M_SHOWCOLOR))
+     flags |= M_SHOWFLAT;
+@@ -1592,7 +1611,11 @@ mutt_pager (const char *banner, const ch
+   if (IsHeader (extra))
+   {
+     strfcpy (tmphelp, helpstr, sizeof (tmphelp));
+-    mutt_compile_help (buffer, sizeof (buffer), MENU_PAGER, PagerHelpExtra);
++    mutt_compile_help (buffer, sizeof (buffer), MENU_PAGER,
++#ifdef USE_NNTP
++      (Context && (Context->magic == M_NNTP)) ? PagerNewsHelpExtra :
++#endif
++      PagerHelpExtra);
+     snprintf (helpstr, sizeof (helpstr), "%s %s", tmphelp, buffer);
+   }
+   if (!InHelp)
+@@ -2465,6 +2488,15 @@ search_next:
+       CHECK_READONLY;
+       CHECK_ACL(M_ACL_WRITE, "flag message");
++#ifdef USE_NNTP
++      if (Context->magic == M_NNTP)
++      {
++        mutt_flushinp ();
++        mutt_error _("Can't change 'important' flag on NNTP server.");
++        break;
++      }
++#endif
++
+       mutt_set_flag (Context, extra->hdr, M_FLAG, !extra->hdr->flagged);
+       redraw = REDRAW_STATUS | REDRAW_INDEX;
+       if (option (OPTRESOLVE))
+@@ -2498,6 +2530,60 @@ search_next:
+       redraw = REDRAW_FULL;
+       break;
++#ifdef USE_NNTP
++      case OP_POST:
++      CHECK_MODE(IsHeader (extra) && !IsAttach (extra));
++      CHECK_ATTACH;
++      if (extra->ctx && extra->ctx->magic == M_NNTP &&
++          !((NNTP_DATA *)extra->ctx->data)->allowed &&
++          query_quadoption (OPT_TOMODERATED,_("Posting to this group not allowed, may be moderated. Continue?")) != M_YES)
++        break;
++      ci_send_message (SENDNEWS, NULL, NULL, extra->ctx, NULL);
++      redraw = REDRAW_FULL;
++      break;
++
++      case OP_FORWARD_TO_GROUP:
++      CHECK_MODE(IsHeader (extra) || IsMsgAttach (extra));
++      CHECK_ATTACH;
++      if (extra->ctx && extra->ctx->magic == M_NNTP &&
++          !((NNTP_DATA *)extra->ctx->data)->allowed &&
++          query_quadoption (OPT_TOMODERATED,_("Posting to this group not allowed, may be moderated. Continue?")) != M_YES)
++        break;
++      if (IsMsgAttach (extra))
++        mutt_attach_forward (extra->fp, extra->hdr, extra->idx,
++                             extra->idxlen, extra->bdy, SENDNEWS);
++      else
++        ci_send_message (SENDNEWS|SENDFORWARD, NULL, NULL, extra->ctx, extra->hdr);
++      redraw = REDRAW_FULL;
++      break;
++
++      case OP_FOLLOWUP:
++      CHECK_MODE(IsHeader (extra) || IsMsgAttach (extra));
++      CHECK_ATTACH;
++
++        if (IsMsgAttach (extra))
++        followup_to = extra->bdy->hdr->env->followup_to;
++        else
++        followup_to = extra->hdr->env->followup_to;
++
++      if (!followup_to || mutt_strcasecmp (followup_to, "poster") ||
++          query_quadoption (OPT_FOLLOWUPTOPOSTER,_("Reply by mail as poster prefers?")) != M_YES)
++      {
++        if (extra->ctx && extra->ctx->magic == M_NNTP &&
++            !((NNTP_DATA *)extra->ctx->data)->allowed &&
++            query_quadoption (OPT_TOMODERATED,_("Posting to this group not allowed, may be moderated. Continue?")) != M_YES)
++          break;
++        if (IsMsgAttach (extra))
++          mutt_attach_reply (extra->fp, extra->hdr, extra->idx,
++                             extra->idxlen, extra->bdy, SENDNEWS|SENDREPLY);
++        else
++          ci_send_message (SENDNEWS|SENDREPLY, NULL, NULL,
++                           extra->ctx, extra->hdr);
++        redraw = REDRAW_FULL;
++        break;
++      }
++#endif
++
+       case OP_REPLY:
+       CHECK_MODE(IsHeader (extra) || IsMsgAttach (extra));
+         CHECK_ATTACH;      
+@@ -2544,7 +2630,7 @@ search_next:
+         CHECK_ATTACH;
+         if (IsMsgAttach (extra))
+         mutt_attach_forward (extra->fp, extra->hdr, extra->idx,
+-                             extra->idxlen, extra->bdy);
++                             extra->idxlen, extra->bdy, 0);
+         else
+         ci_send_message (SENDFORWARD, NULL, NULL, extra->ctx, extra->hdr);
+       redraw = REDRAW_FULL;
+diff -udprP mutt-1.5.20.orig/parse.c mutt-1.5.20/parse.c
+--- mutt-1.5.20.orig/parse.c   2009-06-01 19:29:32.000000000 +0300
++++ mutt-1.5.20/parse.c        2009-06-15 21:05:24.000000000 +0300
+@@ -89,7 +89,7 @@ char *mutt_read_rfc822_line (FILE *f, ch
+   /* not reached */
+ }
+-static LIST *mutt_parse_references (char *s, int in_reply_to)
++LIST *mutt_parse_references (char *s, int in_reply_to)
+ {
+   LIST *t, *lst = NULL;
+   char *m;
+@@ -1067,6 +1067,17 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
+       e->from = rfc822_parse_adrlist (e->from, p);
+       matched = 1;
+     }
++#ifdef USE_NNTP
++    else if (!mutt_strcasecmp (line+1, "ollowup-to"))
++    {
++      if (!e->followup_to)
++      {
++      mutt_remove_trailing_ws (p);
++      e->followup_to = safe_strdup (mutt_skip_whitespace (p));
++      }
++      matched = 1;
++    }
++#endif
+     break;
+     
+     case 'i':
+@@ -1149,6 +1160,27 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
+     }
+     break;
+     
++#ifdef USE_NNTP
++    case 'n':
++    if (!mutt_strcasecmp (line + 1, "ewsgroups"))
++    {
++      FREE (&e->newsgroups);
++      mutt_remove_trailing_ws (p);
++      e->newsgroups = safe_strdup (mutt_skip_whitespace (p));
++      matched = 1;
++    }
++    break;
++#endif
++
++    case 'o':
++    /* field `Organization:' saves only for pager! */
++    if (!mutt_strcasecmp (line + 1, "rganization"))
++    {
++      if (!e->organization && mutt_strcasecmp (p, "unknown"))
++      e->organization = safe_strdup (p);
++    }
++    break;
++
+     case 'r':
+     if (!ascii_strcasecmp (line + 1, "eferences"))
+     {
+@@ -1257,6 +1289,20 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
+       e->x_label = safe_strdup(p);
+       matched = 1;
+     }
++#ifdef USE_NNTP
++    else if (!mutt_strcasecmp (line + 1, "-comment-to"))
++    {
++      if (!e->x_comment_to)
++      e->x_comment_to = safe_strdup (p);
++      matched = 1;
++    }
++    else if (!mutt_strcasecmp (line + 1, "ref"))
++    {
++      if (!e->xref)
++      e->xref = safe_strdup (p);
++      matched = 1;
++    }
++#endif
+     
+     default:
+     break;
+diff -udprP mutt-1.5.20.orig/pattern.c mutt-1.5.20/pattern.c
+--- mutt-1.5.20.orig/pattern.c 2009-06-03 23:48:31.000000000 +0300
++++ mutt-1.5.20/pattern.c      2009-06-15 21:05:24.000000000 +0300
+@@ -91,6 +91,9 @@ Flags[] =
+   { 'U', M_UNREAD,            0,              NULL },
+   { 'v', M_COLLAPSED,         0,              NULL },
+   { 'V', M_CRYPT_VERIFIED,    0,              NULL },
++#ifdef USE_NNTP
++  { 'w', M_NEWSGROUPS,                0,              eat_regexp },
++#endif
+   { 'x', M_REFERENCE,         0,              eat_regexp },
+   { 'X', M_MIMEATTACH,                0,              eat_range },
+   { 'y', M_XLABEL,            0,              eat_regexp },
+@@ -1204,6 +1207,10 @@ mutt_pattern_exec (struct pattern_t *pat
+       }
+     case M_UNREFERENCED:
+       return (pat->not ^ (h->thread && !h->thread->child));
++#ifdef USE_NNTP
++    case M_NEWSGROUPS:
++      return (pat->not ^ (h->env->newsgroups && patmatch (pat, h->env->newsgroups) == 0));
++#endif
+   }
+   mutt_error (_("error: unknown op %d (report this error)."), pat->op);
+   return (-1);
+@@ -1285,6 +1292,7 @@ int mutt_pattern_func (int op, char *pro
+   progress_t progress;
+   strfcpy (buf, NONULL (Context->pattern), sizeof (buf));
++  if (prompt || op != M_LIMIT)
+   if (mutt_get_field (prompt, buf, sizeof (buf), M_PATTERN | M_CLEAR) != 0 || !buf[0])
+     return (-1);
+diff -udprP mutt-1.5.20.orig/po/POTFILES.in mutt-1.5.20/po/POTFILES.in
+--- mutt-1.5.20.orig/po/POTFILES.in    2008-11-11 21:55:47.000000000 +0200
++++ mutt-1.5.20/po/POTFILES.in 2009-06-15 21:05:24.000000000 +0300
+@@ -46,6 +46,8 @@ mutt_ssl_gnutls.c
+ mutt_tunnel.c
+ muttlib.c
+ mx.c
++newsrc.c
++nntp.c
+ pager.c
+ parse.c
+ pattern.c
+diff -udprP mutt-1.5.20.orig/postpone.c mutt-1.5.20/postpone.c
+--- mutt-1.5.20.orig/postpone.c        2009-06-14 00:28:37.000000000 +0300
++++ mutt-1.5.20/postpone.c     2009-06-15 21:05:24.000000000 +0300
+@@ -124,15 +124,26 @@ int mutt_num_postponed (int force)
+   if (LastModify < st.st_mtime)
+   {
++#ifdef USE_NNTP
++    int optnews = option (OPTNEWS);
++#endif
+     LastModify = st.st_mtime;
+     if (access (Postponed, R_OK | F_OK) != 0)
+       return (PostCount = 0);
++#ifdef USE_NNTP
++    if (optnews)
++      unset_option (OPTNEWS);
++#endif
+     if (mx_open_mailbox (Postponed, M_NOSORT | M_QUIET, &ctx) == NULL)
+       PostCount = 0;
+     else
+       PostCount = ctx.msgcount;
+     mx_fastclose_mailbox (&ctx);
++#ifdef USE_NNTP
++    if (optnews)
++      set_option (OPTNEWS);
++#endif
+   }
+   return (PostCount);
+diff -udprP mutt-1.5.20.orig/protos.h mutt-1.5.20/protos.h
+--- mutt-1.5.20.orig/protos.h  2009-06-13 02:38:52.000000000 +0300
++++ mutt-1.5.20/protos.h       2009-06-15 21:05:24.000000000 +0300
+@@ -115,6 +115,7 @@ HASH *mutt_make_id_hash (CONTEXT *);
+ HASH *mutt_make_subj_hash (CONTEXT *);
+ LIST *mutt_make_references(ENVELOPE *e);
++LIST *mutt_parse_references (char *, int);
+ char *mutt_read_rfc822_line (FILE *, char *, size_t *);
+ ENVELOPE *mutt_read_rfc822_header (FILE *, HEADER *, short, short);
+diff -udprP mutt-1.5.20.orig/recvattach.c mutt-1.5.20/recvattach.c
+--- mutt-1.5.20.orig/recvattach.c      2009-05-19 03:11:35.000000000 +0300
++++ mutt-1.5.20/recvattach.c   2009-06-15 21:05:24.000000000 +0300
+@@ -1110,6 +1110,15 @@ void mutt_view_attachments (HEADER *hdr)
+       }
+ #endif
++#ifdef USE_NNTP
++      if (Context->magic == M_NNTP)
++      {
++        mutt_flushinp ();
++        mutt_error _("Can't delete attachment from newsserver.");
++        break;
++      }
++#endif
++
+         if (WithCrypto && hdr->security & ~PGP_TRADITIONAL_CHECKED)
+         {
+         mutt_message _(
+@@ -1201,10 +1210,33 @@ void mutt_view_attachments (HEADER *hdr)
+       case OP_FORWARD_MESSAGE:
+         CHECK_ATTACH;
+         mutt_attach_forward (fp, hdr, idx, idxlen,
+-                           menu->tagprefix ? NULL : idx[menu->current]->content);
++                           menu->tagprefix ? NULL : idx[menu->current]->content, 0);
+         menu->redraw = REDRAW_FULL;
+         break;
+       
++#ifdef USE_NNTP
++      case OP_FORWARD_TO_GROUP:
++      CHECK_ATTACH;
++      mutt_attach_forward (fp, hdr, idx, idxlen,
++              menu->tagprefix ? NULL : idx[menu->current]->content, SENDNEWS);
++      menu->redraw = REDRAW_FULL;
++      break;
++
++      case OP_FOLLOWUP:
++      CHECK_ATTACH;
++
++      if (!idx[menu->current]->content->hdr->env->followup_to ||
++          mutt_strcasecmp (idx[menu->current]->content->hdr->env->followup_to, "poster") ||
++          query_quadoption (OPT_FOLLOWUPTOPOSTER,_("Reply by mail as poster prefers?")) != M_YES)
++      {
++        mutt_attach_reply (fp, hdr, idx, idxlen,
++              menu->tagprefix ? NULL : idx[menu->current]->content,
++              SENDNEWS|SENDREPLY);
++        menu->redraw = REDRAW_FULL;
++        break;
++      }
++#endif
++
+       case OP_REPLY:
+       case OP_GROUP_REPLY:
+       case OP_LIST_REPLY:
+diff -udprP mutt-1.5.20.orig/recvcmd.c mutt-1.5.20/recvcmd.c
+--- mutt-1.5.20.orig/recvcmd.c 2009-06-12 20:24:17.000000000 +0300
++++ mutt-1.5.20/recvcmd.c      2009-06-15 21:05:24.000000000 +0300
+@@ -401,7 +401,7 @@ static BODY ** copy_problematic_attachme
+ static void attach_forward_bodies (FILE * fp, HEADER * hdr,
+                                  ATTACHPTR ** idx, short idxlen,
+                                  BODY * cur,
+-                                 short nattach)
++                                 short nattach, int flags)
+ {
+   short i;
+   short mime_fwd_all = 0;
+@@ -547,7 +547,7 @@ _("Can't decode all tagged attachments. 
+   tmpfp = NULL;
+   /* now that we have the template, send it. */
+-  ci_send_message (0, tmphdr, tmpbody, NULL, parent);
++  ci_send_message (flags, tmphdr, tmpbody, NULL, parent);
+   return;
+   
+   bail:
+@@ -574,7 +574,7 @@ _("Can't decode all tagged attachments. 
+  */
+ static void attach_forward_msgs (FILE * fp, HEADER * hdr, 
+-             ATTACHPTR ** idx, short idxlen, BODY * cur)
++             ATTACHPTR ** idx, short idxlen, BODY * cur, int flags)
+ {
+   HEADER *curhdr = NULL;
+   HEADER *tmphdr;
+@@ -679,23 +679,23 @@ static void attach_forward_msgs (FILE * 
+   else
+     mutt_free_header (&tmphdr);
+-  ci_send_message (0, tmphdr, *tmpbody ? tmpbody : NULL, 
++  ci_send_message (flags, tmphdr, *tmpbody ? tmpbody : NULL, 
+                  NULL, curhdr);
+ }
+ void mutt_attach_forward (FILE * fp, HEADER * hdr, 
+-                        ATTACHPTR ** idx, short idxlen, BODY * cur)
++                        ATTACHPTR ** idx, short idxlen, BODY * cur, int flags)
+ {
+   short nattach;
+   
+   if (check_all_msg (idx, idxlen, cur, 0) == 0)
+-    attach_forward_msgs (fp, hdr, idx, idxlen, cur);
++    attach_forward_msgs (fp, hdr, idx, idxlen, cur, flags);
+   else
+   {
+     nattach = count_tagged (idx, idxlen);
+-    attach_forward_bodies (fp, hdr, idx, idxlen, cur, nattach);
++    attach_forward_bodies (fp, hdr, idx, idxlen, cur, nattach, flags);
+   }
+ }
+@@ -753,28 +753,40 @@ attach_reply_envelope_defaults (ENVELOPE
+     return -1;
+   }
+-  if (parent)
++#ifdef USE_NNTP
++  if ((flags & SENDNEWS))
+   {
+-    if (mutt_fetch_recips (env, curenv, flags) == -1)
+-      return -1;
++    /* in case followup set Newsgroups: with Followup-To: if it present */
++    if (!env->newsgroups && curenv &&
++      mutt_strcasecmp (curenv->followup_to, "poster"))
++      env->newsgroups = safe_strdup (curenv->followup_to);
+   }
+   else
++#endif
+   {
+-    for (i = 0; i < idxlen; i++)
++    if (parent)
+     {
+-      if (idx[i]->content->tagged
+-        && mutt_fetch_recips (env, idx[i]->content->hdr->env, flags) == -1)
++      if (mutt_fetch_recips (env, curenv, flags) == -1)
+       return -1;
+     }
++    else
++    {
++      for (i = 0; i < idxlen; i++)
++      {
++      if (idx[i]->content->tagged
++          && mutt_fetch_recips (env, idx[i]->content->hdr->env, flags) == -1)
++        return -1;
++      }
++    }
++
++    if ((flags & SENDLISTREPLY) && !env->to)
++    {
++      mutt_error _("No mailing lists found!");
++      return (-1);
++    }
++
++    mutt_fix_reply_recipients (env);
+   }
+-  
+-  if ((flags & SENDLISTREPLY) && !env->to)
+-  {
+-    mutt_error _("No mailing lists found!");
+-    return (-1);
+-  }
+-  
+-  mutt_fix_reply_recipients (env);
+   mutt_make_misc_reply_headers (env, Context, curhdr, curenv);
+   if (parent)
+@@ -835,6 +847,13 @@ void mutt_attach_reply (FILE * fp, HEADE
+   char prefix[SHORT_STRING];
+   int rc;
+   
++#ifdef USE_NNTP
++  if (flags & SENDNEWS)
++    set_option (OPTNEWSSEND);
++  else
++    unset_option (OPTNEWSSEND);
++#endif
++
+   if (check_all_msg (idx, idxlen, cur, 0) == -1)
+   {
+     nattach = count_tagged (idx, idxlen);
+diff -udprP mutt-1.5.20.orig/rfc1524.c mutt-1.5.20/rfc1524.c
+--- mutt-1.5.20.orig/rfc1524.c 2009-05-30 20:20:08.000000000 +0300
++++ mutt-1.5.20/rfc1524.c      2009-06-15 21:05:24.000000000 +0300
+@@ -569,13 +569,13 @@ int rfc1524_expand_filename (char *namet
+  * safe_fopen().
+  */
+-int mutt_rename_file (char *oldfile, char *newfile)
++int _mutt_rename_file (char *oldfile, char *newfile, int overwrite)
+ {
+   FILE *ofp, *nfp;
+   if (access (oldfile, F_OK) != 0)
+     return 1;
+-  if (access (newfile, F_OK) == 0)
++  if (!overwrite && access (newfile, F_OK) == 0)
+     return 2;
+   if ((ofp = fopen (oldfile,"r")) == NULL)
+     return 3;
+@@ -590,3 +590,8 @@ int mutt_rename_file (char *oldfile, cha
+   mutt_unlink (oldfile);
+   return 0;
+ }
++
++int mutt_rename_file (char *oldfile, char *newfile)
++{
++  return _mutt_rename_file (oldfile, newfile, 0);
++}
+diff -udprP mutt-1.5.20.orig/rfc1524.h mutt-1.5.20/rfc1524.h
+--- mutt-1.5.20.orig/rfc1524.h 2008-11-11 21:55:47.000000000 +0200
++++ mutt-1.5.20/rfc1524.h      2009-06-15 21:05:24.000000000 +0300
+@@ -40,5 +40,6 @@ int rfc1524_expand_command (BODY *, char
+ int rfc1524_expand_filename (char *, char *, char *, size_t);
+ int rfc1524_mailcap_lookup (BODY *, char *, rfc1524_entry *, int);
+ int mutt_rename_file (char *, char *);
++int _mutt_rename_file (char *, char *, int);
+ #endif /* _RFC1524_H */
+diff -udprP mutt-1.5.20.orig/send.c mutt-1.5.20/send.c
+--- mutt-1.5.20.orig/send.c    2009-06-13 02:38:52.000000000 +0300
++++ mutt-1.5.20/send.c 2009-06-15 21:13:13.000000000 +0300
+@@ -44,6 +44,11 @@
+ #include <sys/types.h>
+ #include <utime.h>
++#ifdef USE_NNTP
++#include "nntp.h"
++#include "mx.h"
++#endif
++
+ #ifdef MIXMASTER
+ #include "remailer.h"
+ #endif
+@@ -213,17 +218,51 @@ static int edit_address (ADDRESS **a, /*
+   return 0;
+ }
+-static int edit_envelope (ENVELOPE *en)
++static int edit_envelope (ENVELOPE *en, int flags)
+ {
+   char buf[HUGE_STRING];
+   LIST *uh = UserHeader;
+-  if (edit_address (&en->to, "To: ") == -1 || en->to == NULL)
+-    return (-1);
+-  if (option (OPTASKCC) && edit_address (&en->cc, "Cc: ") == -1)
+-    return (-1);
+-  if (option (OPTASKBCC) && edit_address (&en->bcc, "Bcc: ") == -1)
+-    return (-1);
++#ifdef USE_NNTP
++  if (option (OPTNEWSSEND))
++  {
++    if (en->newsgroups)
++      strfcpy (buf, en->newsgroups, sizeof (buf));
++    else
++      buf[0] = 0;
++    if (mutt_get_field ("Newsgroups: ", buf, sizeof (buf), 0) != 0)
++      return (-1);
++    FREE (&en->newsgroups);
++    en->newsgroups = safe_strdup (buf);
++
++    if (en->followup_to)
++      strfcpy (buf, en->followup_to, sizeof (buf));
++    else
++      buf[0] = 0;
++    if (option (OPTASKFOLLOWUP) && mutt_get_field ("Followup-To: ", buf, sizeof (buf), 0) != 0)
++      return (-1);
++    FREE (&en->followup_to);
++    en->followup_to = safe_strdup (buf);
++
++    if (en->x_comment_to)
++      strfcpy (buf, en->x_comment_to, sizeof (buf));
++    else
++      buf[0] = 0;
++    if (option (OPTXCOMMENTTO) && option (OPTASKXCOMMENTTO) && mutt_get_field ("X-Comment-To: ", buf, sizeof (buf), 0) != 0)
++      return (-1);
++    FREE (&en->x_comment_to);
++    en->x_comment_to = safe_strdup (buf);
++  }
++  else
++#endif
++  {
++    if (edit_address (&en->to, "To: ") == -1 || en->to == NULL)
++      return (-1);
++    if (option (OPTASKCC) && edit_address (&en->cc, "Cc: ") == -1)
++      return (-1);
++    if (option (OPTASKBCC) && edit_address (&en->bcc, "Bcc: ") == -1)
++      return (-1);
++  }
+   if (en->subject)
+   {
+@@ -259,6 +298,14 @@ static int edit_envelope (ENVELOPE *en)
+   return 0;
+ }
++#ifdef USE_NNTP
++char *nntp_get_header (const char *s)
++{
++  SKIPWS (s);
++  return safe_strdup (s);
++}
++#endif
++
+ static void process_user_recips (ENVELOPE *env)
+ {
+   LIST *uh = UserHeader;
+@@ -271,6 +318,14 @@ static void process_user_recips (ENVELOP
+       env->cc = rfc822_parse_adrlist (env->cc, uh->data + 3);
+     else if (ascii_strncasecmp ("bcc:", uh->data, 4) == 0)
+       env->bcc = rfc822_parse_adrlist (env->bcc, uh->data + 4);
++#ifdef USE_NNTP
++    else if (ascii_strncasecmp ("newsgroups:", uh->data, 11) == 0)
++      env->newsgroups = nntp_get_header (uh->data + 11);
++    else if (ascii_strncasecmp ("followup-to:", uh->data, 12) == 0)
++      env->followup_to = nntp_get_header (uh->data + 12);
++    else if (ascii_strncasecmp ("x-comment-to:", uh->data, 13) == 0)
++      env->x_comment_to = nntp_get_header (uh->data + 13);
++#endif
+   }
+ }
+@@ -309,6 +364,12 @@ static void process_user_header (ENVELOP
+     else if (ascii_strncasecmp ("to:", uh->data, 3) != 0 &&
+            ascii_strncasecmp ("cc:", uh->data, 3) != 0 &&
+            ascii_strncasecmp ("bcc:", uh->data, 4) != 0 &&
++#ifdef USE_NNTP
++           ascii_strncasecmp ("newsgroups:", uh->data, 11) != 0 &&
++           ascii_strncasecmp ("followup-to:", uh->data, 12) != 0 &&
++           ascii_strncasecmp ("x-comment-to:", uh->data, 13) != 0 &&
++#endif
++           ascii_strncasecmp ("supersedes:", uh->data, 11) != 0 &&
+            ascii_strncasecmp ("subject:", uh->data, 8) != 0 &&
+            ascii_strncasecmp ("return-path:", uh->data, 12) != 0)
+     {
+@@ -657,6 +718,10 @@ void mutt_add_to_reference_headers (ENVE
+   if (pp) *pp = p;
+   if (qq) *qq = q;
+   
++#ifdef USE_NNTP
++  if (option (OPTNEWSSEND) && option (OPTXCOMMENTTO) && curenv->from)
++    env->x_comment_to = safe_strdup (mutt_get_name (curenv->from));
++#endif
+ }
+ static void 
+@@ -719,6 +784,16 @@ envelope_defaults (ENVELOPE *env, CONTEX
+   if (flags & SENDREPLY)
+   {
++#ifdef USE_NNTP
++    if ((flags & SENDNEWS))
++    {
++      /* in case followup set Newsgroups: with Followup-To: if it present */
++      if (!env->newsgroups && curenv &&
++        mutt_strcasecmp (curenv->followup_to, "poster"))
++      env->newsgroups = safe_strdup (curenv->followup_to);
++    }
++    else
++#endif
+     if (tag)
+     {
+       HEADER *h;
+@@ -865,7 +940,18 @@ void mutt_set_followup_to (ENVELOPE *e)
+    * it hasn't already been set
+    */
+-  if (option (OPTFOLLOWUPTO) && !e->mail_followup_to)
++  if (!option (OPTFOLLOWUPTO))
++    return;
++#ifdef USE_NNTP
++  if (option (OPTNEWSSEND))
++  {
++    if (!e->followup_to && e->newsgroups && (strrchr (e->newsgroups, ',')))
++      e->followup_to = safe_strdup (e->newsgroups);
++    return;
++  }
++#endif
++
++  if (!e->mail_followup_to)
+   {
+     if (mutt_is_list_cc (0, e->to, e->cc))
+     {
+@@ -1026,6 +1112,9 @@ static int send_message (HEADER *msg)
+ #endif
+ #if USE_SMTP
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND))
++#endif /* USE_NNTP */
+   if (SmtpUrl)
+       return mutt_smtp_send (msg->env->from, msg->env->to, msg->env->cc,
+                              msg->env->bcc, tempfile,
+@@ -1137,6 +1226,13 @@ ci_send_message (int flags,             /* send mod
+   int rv = -1;
+   
++#ifdef USE_NNTP
++  if (flags & SENDNEWS)
++    set_option (OPTNEWSSEND);
++  else
++    unset_option (OPTNEWSSEND);
++#endif
++
+   if (!flags && !msg && quadoption (OPT_RECALL) != M_NO &&
+       mutt_num_postponed (1))
+   {
+@@ -1167,6 +1263,22 @@ ci_send_message (int flags,             /* send mod
+     {
+       if ((flags = mutt_get_postponed (ctx, msg, &cur, fcc, sizeof (fcc))) < 0)
+       goto cleanup;
++#ifdef USE_NNTP
++      /*
++       * If postponed message is a news article, it have
++       * a "Newsgroups:" header line, then set appropriate flag.
++       */
++      if (msg->env->newsgroups)
++      {
++      flags |= SENDNEWS;
++      set_option (OPTNEWSSEND);
++      }
++      else
++      {
++      flags &= ~SENDNEWS;
++      unset_option (OPTNEWSSEND);
++      }
++#endif
+     }
+     if (flags & (SENDPOSTPONED|SENDRESEND))
+@@ -1278,11 +1390,16 @@ ci_send_message (int flags,            /* send mod
+     if (flags & SENDREPLY)
+       mutt_fix_reply_recipients (msg->env);
++#ifdef USE_NNTP
++    if ((flags & SENDNEWS) && ctx && ctx->magic == M_NNTP && !msg->env->newsgroups)
++      msg->env->newsgroups = safe_strdup (((NNTP_DATA *)ctx->data)->group);
++#endif
++
+     if (! (flags & SENDMAILX) &&
+       ! (option (OPTAUTOEDIT) && option (OPTEDITHDRS)) &&
+       ! ((flags & SENDREPLY) && option (OPTFASTREPLY)))
+     {
+-      if (edit_envelope (msg->env) == -1)
++      if (edit_envelope (msg->env, flags) == -1)
+       goto cleanup;
+     }
+@@ -1539,6 +1656,11 @@ main_loop:
+     if (i == -1)
+     {
+       /* abort */
++#ifdef USE_NNTP
++      if (flags & SENDNEWS)
++      mutt_message _("Article not posted.");
++      else
++#endif
+       mutt_message _("Mail not sent.");
+       goto cleanup;
+     }
+@@ -1571,6 +1693,9 @@ main_loop:
+     }
+   }
++#ifdef USE_NNTP
++  if (!(flags & SENDNEWS))
++#endif
+   if (!has_recips (msg->env->to) && !has_recips (msg->env->cc) &&
+       !has_recips (msg->env->bcc))
+   {
+@@ -1604,6 +1729,19 @@ main_loop:
+       mutt_error _("No subject specified.");
+     goto main_loop;
+   }
++#ifdef USE_NNTP
++  if ((flags & SENDNEWS) && !msg->env->subject)
++  {
++    mutt_error _("No subject specified.");
++    goto main_loop;
++  }
++
++  if ((flags & SENDNEWS) && !msg->env->newsgroups)
++  {
++    mutt_error _("No newsgroup specified.");
++    goto main_loop;
++  }
++#endif
+   if (msg->content->next)
+     msg->content = mutt_make_multipart (msg->content);
+@@ -1810,7 +1948,12 @@ full_fcc:
+     }
+   }
+   else if (!option (OPTNOCURSES) && ! (flags & SENDMAILX))
+-    mutt_message (i == 0 ? _("Mail sent.") : _("Sending in background."));
++    mutt_message (i != 0 ? _("Sending in background.") :
++#ifdef USE_NNTP
++                (flags & SENDNEWS) ? _("Article posted.") : _("Mail sent."));
++#else
++                _("Mail sent."));
++#endif
+   if (WithCrypto && (msg->security & ENCRYPT))
+     FREE (&pgpkeylist);
+diff -udprP mutt-1.5.20.orig/sendlib.c mutt-1.5.20/sendlib.c
+--- mutt-1.5.20.orig/sendlib.c 2009-06-14 18:46:11.000000000 +0300
++++ mutt-1.5.20/sendlib.c      2009-06-15 21:51:17.000000000 +0300
+@@ -46,6 +46,10 @@
+ #include <sys/wait.h>
+ #include <fcntl.h>
++#ifdef USE_NNTP
++#include "nntp.h"
++#endif
++
+ #ifdef HAVE_SYSEXITS_H
+ #include <sysexits.h>
+ #else /* Make sure EX_OK is defined <philiph@pobox.com> */
+@@ -1868,6 +1872,9 @@ int mutt_write_rfc822_header (FILE *fp, 
+     mutt_write_address_list (env->to, fp, 4, 0);
+   }
+   else if (mode > 0)
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND))
++#endif
+     fputs ("To: \n", fp);
+   if (env->cc)
+@@ -1876,6 +1883,9 @@ int mutt_write_rfc822_header (FILE *fp, 
+     mutt_write_address_list (env->cc, fp, 4, 0);
+   }
+   else if (mode > 0)
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND))
++#endif
+     fputs ("Cc: \n", fp);
+   if (env->bcc)
+@@ -1887,8 +1897,28 @@ int mutt_write_rfc822_header (FILE *fp, 
+     }
+   }
+   else if (mode > 0)
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND))
++#endif
+     fputs ("Bcc: \n", fp);
++#ifdef USE_NNTP
++  if (env->newsgroups)
++    fprintf (fp, "Newsgroups: %s\n", env->newsgroups);
++  else if (mode == 1 && option (OPTNEWSSEND))
++    fputs ("Newsgroups: \n", fp);
++
++  if (env->followup_to)
++    fprintf (fp, "Followup-To: %s\n", env->followup_to);
++  else if (mode == 1 && option (OPTNEWSSEND))
++    fputs ("Followup-To: \n", fp);
++
++  if (env->x_comment_to)
++    fprintf (fp, "X-Comment-To: %s\n", env->x_comment_to);
++  else if (mode == 1 && option (OPTNEWSSEND) && option (OPTXCOMMENTTO))
++    fputs ("X-Comment-To: \n", fp);
++#endif
++
+   if (env->subject)
+     mutt_write_one_header (fp, "Subject", env->subject, NULL, 0, 0);
+   else if (mode == 1)
+@@ -1907,6 +1937,9 @@ int mutt_write_rfc822_header (FILE *fp, 
+     fputs ("Reply-To: \n", fp);
+   if (env->mail_followup_to)
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND))
++#endif
+   {
+     fputs ("Mail-Followup-To: ", fp);
+     mutt_write_address_list (env->mail_followup_to, fp, 18, 0);
+@@ -2245,11 +2278,30 @@ mutt_invoke_sendmail (ADDRESS *from,   /* 
+                const char *msg, /* file containing message */
+                int eightbit) /* message contains 8bit chars */
+ {
+-  char *ps = NULL, *path = NULL, *s = safe_strdup (Sendmail), *childout = NULL;
++  char *ps = NULL, *path = NULL, *s = NULL, *childout = NULL;
+   char **args = NULL;
+   size_t argslen = 0, argsmax = 0;
+   int i;
++#ifdef USE_NNTP
++  if (option (OPTNEWSSEND))
++  {
++    char cmd[LONG_STRING];
++
++    mutt_FormatString (cmd, sizeof (cmd), 0, NONULL (Inews), nntp_format_str, 0, 0);
++    if (!*cmd)
++    {
++      i = nntp_post (msg);
++      unlink (msg);
++      return i;
++    }
++
++    s = safe_strdup (cmd);
++  }
++  else
++#endif
++    s = safe_strdup (Sendmail);
++
+   ps = s;
+   i = 0;
+   while ((ps = strtok (ps, " ")))
+@@ -2273,6 +2325,10 @@ mutt_invoke_sendmail (ADDRESS *from,    /* 
+     i++;
+   }
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND))
++  {
++#endif
+   if (eightbit && option (OPTUSE8BITMIME))
+     args = add_option (args, &argslen, &argsmax, "-B8BITMIME");
+@@ -2304,6 +2360,9 @@ mutt_invoke_sendmail (ADDRESS *from,     /* 
+   args = add_args (args, &argslen, &argsmax, to);
+   args = add_args (args, &argslen, &argsmax, cc);
+   args = add_args (args, &argslen, &argsmax, bcc);
++#ifdef USE_NNTP
++  }
++#endif
+   if (argslen == argsmax)
+     safe_realloc (&args, sizeof (char *) * (++argsmax));
+@@ -2384,6 +2443,9 @@ void mutt_prepare_envelope (ENVELOPE *en
+   rfc2047_encode_string (&env->x_label);
+   if (env->subject)
++#ifdef USE_NNTP
++  if (!option (OPTNEWSSEND) || option (OPTMIMESUBJECT))
++#endif
+   {
+     rfc2047_encode_string (&env->subject);
+   }
+@@ -2504,6 +2566,10 @@ int mutt_bounce_message (FILE *fp, HEADE
+   }
+   rfc822_write_address (resent_from, sizeof (resent_from), from, 0);
++#ifdef USE_NNTP
++  unset_option (OPTNEWSSEND);
++#endif
++
+   ret = _mutt_bounce_message (fp, h, to, resent_from, from);
+   rfc822_free_address (&from);
+diff -udprP mutt-1.5.20.orig/sort.c mutt-1.5.20/sort.c
+--- mutt-1.5.20.orig/sort.c    2008-11-11 21:55:47.000000000 +0200
++++ mutt-1.5.20/sort.c 2009-06-15 21:05:24.000000000 +0300
+@@ -151,6 +151,15 @@ static int compare_order (const void *a,
+   HEADER **ha = (HEADER **) a;
+   HEADER **hb = (HEADER **) b;
++#ifdef USE_NNTP
++  if ((*ha)->article_num && (*hb)->article_num)
++  {
++    int result = (*ha)->article_num - (*hb)->article_num;
++    AUXSORT(result,a,b);
++    return (SORTCODE (result));
++  }
++  else
++#endif
+   /* no need to auxsort because you will never have equality here */
+   return (SORTCODE ((*ha)->index - (*hb)->index));
+ }
+diff -udprP mutt-1.5.20.orig/url.c mutt-1.5.20/url.c
+--- mutt-1.5.20.orig/url.c     2009-06-01 19:29:32.000000000 +0300
++++ mutt-1.5.20/url.c  2009-06-15 21:05:24.000000000 +0300
+@@ -39,6 +39,8 @@ static struct mapping_t UrlMap[] =
+   { "imaps",  U_IMAPS },
+   { "pop",    U_POP },
+   { "pops",   U_POPS },
++  { "news",   U_NNTP },
++  { "newss",  U_NNTPS },
+   { "mailto", U_MAILTO },
+   { "smtp",     U_SMTP },
+   { "smtps",    U_SMTPS },
+diff -udprP mutt-1.5.20.orig/url.h mutt-1.5.20/url.h
+--- mutt-1.5.20.orig/url.h     2008-11-11 21:55:47.000000000 +0200
++++ mutt-1.5.20/url.h  2009-06-15 21:05:24.000000000 +0300
+@@ -8,6 +8,8 @@ typedef enum url_scheme
+   U_POPS,
+   U_IMAP,
+   U_IMAPS,
++  U_NNTP,
++  U_NNTPS,
+   U_SMTP,
+   U_SMTPS,
+   U_MAILTO,
+diff -udprP mutt-1.5.20.orig/Makefile.am mutt-1.5.20/Makefile.am
+--- mutt-1.5.20.orig/Makefile.am       2009-01-05 04:11:29.000000000 +0200
++++ mutt-1.5.20/Makefile.am    2009-06-15 21:05:24.000000000 +0300
+@@ -53,6 +53,7 @@ EXTRA_mutt_SOURCES = account.c bcache.c 
+       mutt_idna.c mutt_sasl.c mutt_socket.c mutt_ssl.c mutt_ssl_gnutls.c \
+       mutt_tunnel.c pgp.c pgpinvoke.c pgpkey.c pgplib.c pgpmicalg.c \
+       pgppacket.c pop.c pop_auth.c pop_lib.c remailer.c resize.c sha1.c \
++      nntp.c newsrc.c \
+       smime.c smtp.c utf8.c wcwidth.c \
+       bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h
+@@ -64,6 +65,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP O
+       mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
+       mx.h pager.h pgp.h pop.h protos.h rfc1524.h rfc2047.h \
+       rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
++      nntp.h ChangeLog.nntp \
+       _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
+       mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
+       README.SSL smime.h \
+diff -udprP mutt-1.5.20.orig/Makefile.in mutt-1.5.20/Makefile.in
+--- mutt-1.5.20.orig/Makefile.in       2009-06-09 09:50:44.000000000 +0300
++++ mutt-1.5.20/Makefile.in    2009-06-15 21:05:24.000000000 +0300
+@@ -372,6 +372,7 @@ EXTRA_mutt_SOURCES = account.c bcache.c 
+       mutt_idna.c mutt_sasl.c mutt_socket.c mutt_ssl.c mutt_ssl_gnutls.c \
+       mutt_tunnel.c pgp.c pgpinvoke.c pgpkey.c pgplib.c pgpmicalg.c \
+       pgppacket.c pop.c pop_auth.c pop_lib.c remailer.c resize.c sha1.c \
++      nntp.c newsrc.c \
+       smime.c smtp.c utf8.c wcwidth.c \
+       bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h
+@@ -383,6 +384,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP O
+       mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
+       mx.h pager.h pgp.h pop.h protos.h rfc1524.h rfc2047.h \
+       rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
++      nntp.h ChangeLog.nntp \
+       _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
+       mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
+       README.SSL smime.h \
+@@ -637,6 +639,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutt_tunnel.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/muttlib.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mx.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newsrc.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nntp.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pager.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patchlist.Po@am__quote@
+diff -udprP mutt-1.5.20.orig/configure mutt-1.5.20/configure
+--- mutt-1.5.20.orig/configure 2009-06-09 09:50:42.000000000 +0300
++++ mutt-1.5.20/configure      2009-06-15 21:05:24.000000000 +0300
+@@ -1478,6 +1478,7 @@ Optional Features:
+                           Force use of an external dotlock program
+   --enable-pop            Enable POP3 support
+   --enable-imap           Enable IMAP support
++  --enable-nntp           Enable NNTP support
+   --enable-smtp           include internal SMTP relay support
+   --enable-debug          Enable debugging support
+   --enable-flock          Use flock() to lock files
+@@ -14198,6 +14199,20 @@ fi
+ fi
+ done
++# Check whether --enable-nntp or --disable-nntp was given.
++if test "${enable_nntp+set}" = set; then
++  enableval="$enable_nntp"
++      if test x$enableval = xyes ; then
++              cat >>confdefs.h <<\_ACEOF
++#define USE_NNTP 1
++_ACEOF
++
++              MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS nntp.o newsrc.o"
++              need_socket="yes"
++      fi
++
++fi;
++
+ for ac_func in strftime
+diff -udprP mutt-1.5.20.orig/doc/Muttrc mutt-1.5.20/doc/Muttrc
+--- mutt-1.5.20.orig/doc/Muttrc        2009-06-14 21:53:24.000000000 +0300
++++ mutt-1.5.20/doc/Muttrc     2009-06-15 21:05:24.000000000 +0300
+@@ -281,6 +281,28 @@ attachments   -I message/external-body
+ # of the value as shown above if included.
+ # 
+ # 
++# set ask_follow_up=no
++#
++# Name: ask_follow_up
++# Type: boolean
++# Default: no
++# 
++# 
++# If set, Mutt will prompt you for follow-up groups before editing
++# the body of an outgoing message.
++# 
++# 
++# set ask_x_comment_to=no
++#
++# Name: ask_x_comment_to
++# Type: boolean
++# Default: no
++# 
++# 
++# If set, Mutt will prompt you for x-comment-to field before editing
++# the body of an outgoing message.
++# 
++# 
+ # set attach_format="%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
+ #
+ # Name: attach_format
+@@ -466,6 +488,17 @@ attachments   -I message/external-body
+ # set certificate_file=~/.mutt/certificates
+ # 
+ # 
++# set catchup_newsgroup=ask-yes
++#
++# Name: catchup_newsgroup
++# Type: quadoption
++# Default: ask-yes
++# 
++# 
++# If this variable is set, Mutt will mark all articles in newsgroup
++# as read when you quit the newsgroup (catchup newsgroup).
++# 
++# 
+ # set charset=""
+ #
+ # Name: charset
+@@ -1121,6 +1154,19 @@ attachments   -I message/external-body
+ # of the same email for you.
+ # 
+ # 
++# set followup_to_poster=ask-yes
++#
++# Name: followup_to_poster
++# Type: quadoption
++# Default: ask-yes
++# 
++# 
++# If this variable is set and the keyword "poster" is present in
++# Followup-To header, follow-up to newsgroup function is not
++# permitted.  The message will be mailed to the submitter of the
++# message via mail.
++# 
++# 
+ # set force_name=no
+ #
+ # Name: force_name
+@@ -1231,6 +1277,28 @@ attachments   -I message/external-body
+ # ``Franklin'' to ``Franklin, Steve''.
+ # 
+ # 
++# set group_index_format="%4C %M%N %5s  %-45.45f %d"
++#
++# Name: group_index_format
++# Type: string
++# Default: "%4C %M%N %5s  %-45.45f %d"
++# 
++# 
++# This variable allows you to customize the newsgroup browser display to
++# your personal taste.  This string is similar to ``index_format'', but
++# has its own set of printf()-like sequences:
++# 
++# %C      current newsgroup number
++# %d      description of newsgroup (becomes from server)
++# %f      newsgroup name
++# %M      - if newsgroup not allowed for direct post (moderated for example)
++# %N      N if newsgroup is new, u if unsubscribed, blank otherwise
++# %n      number of new articles in newsgroup
++# %s      number of unread articles in newsgroup
++# %>X     right justify the rest of the string and pad with character "X"
++# %|X     pad to the end of the line with character "X"
++# 
++# 
+ # set hdrs=yes
+ #
+ # Name: hdrs
+@@ -1779,6 +1847,7 @@ attachments   -I message/external-body
+ # %E      number of messages in current thread
+ # %f      sender (address + real name), either From: or Return-Path:
+ # %F      author name, or recipient name if the message is from you
++# %g      newsgroup name (if compiled with nntp support)
+ # %H      spam attribute(s) of this message
+ # %i      message-id of the current message
+ # %l      number of lines in the message (does not work with maildir,
+@@ -1794,12 +1863,14 @@ attachments   -I message/external-body
+ #         stashed the message: list name or recipient name
+ #         if not sent to a list
+ # %P      progress indicator for the builtin pager (how much of the file has been displayed)
++# %R      `x-comment-to:' field (if present and compiled with nntp support)
+ # %s      subject of the message
+ # %S      status of the message (``N''/``D''/``d''/``!''/``r''/*)
+ # %t      ``To:'' field (recipients)
+ # %T      the appropriate character from the $to_chars string
+ # %u      user (login) name of the author
+ # %v      first name of the author, or the recipient if the message is from you
++# %W      name of organization of author (`organization:' field)
+ # %X      number of attachments
+ #         (please see the ``attachments'' section for possible speed effects)
+ # %y      ``X-Label:'' field, if present
+@@ -1835,6 +1906,22 @@ attachments   -I message/external-body
+ # ``save-hook'', ``fcc-hook'' and ``fcc-save-hook'', too.
+ # 
+ # 
++# set inews=""
++#
++# Name: inews
++# Type: path
++# Default: ""
++# 
++# 
++# If set, specifies the program and arguments used to deliver news posted
++# by Mutt.  Otherwise, mutt posts article using current connection to
++# news server.  The following printf-style sequence is understood:
++# 
++# %s      newsserver name
++# 
++# Example: set inews="/usr/local/bin/inews -hS"
++# 
++# 
+ # set ispell="ispell"
+ #
+ # Name: ispell
+@@ -2188,6 +2275,18 @@ attachments   -I message/external-body
+ # be attached to the newly composed message if this option is set.
+ # 
+ # 
++# set mime_subject=yes
++#
++# Name: mime_subject
++# Type: boolean
++# Default: yes
++# 
++# 
++# If unset, 8-bit ``subject:'' line in article header will not be
++# encoded according to RFC2047 to base64.  This is useful when message
++# is Usenet article, because MIME for news is nonstandard feature.
++# 
++# 
+ # set mix_entry_format="%4n %c %-16s %a"
+ #
+ # Name: mix_entry_format
+@@ -2254,6 +2353,118 @@ attachments   -I message/external-body
+ # See also $read_inc, $write_inc and $net_inc.
+ # 
+ # 
++# set news_cache_dir="~/.mutt"
++#
++# Name: news_cache_dir
++# Type: path
++# Default: "~/.mutt"
++# 
++# 
++# This variable pointing to directory where Mutt will save cached news
++# articles headers in. If unset, headers will not be saved at all
++# and will be reloaded each time when you enter to newsgroup.
++# 
++# 
++# set news_server=""
++#
++# Name: news_server
++# Type: string
++# Default: ""
++# 
++# 
++# This variable specifies domain name or address of NNTP server. It
++# defaults to the newsserver specified in the environment variable
++# $NNTPSERVER or contained in the file /etc/nntpserver.  You can also
++# specify username and an alternative port for each newsserver, ie:
++# 
++# [news[s]://][username[:password]@]newsserver[:port]
++# 
++# 
++# set newsrc="~/.newsrc"
++#
++# Name: newsrc
++# Type: path
++# Default: "~/.newsrc"
++# 
++# 
++# The file, containing info about subscribed newsgroups - names and
++# indexes of read articles.  The following printf-style sequence
++# is understood:
++# 
++# %s      newsserver name
++# 
++# 
++# set nntp_context=1000
++#
++# Name: nntp_context
++# Type: number
++# Default: 1000
++# 
++# 
++# This variable defines number of articles which will be in index when
++# newsgroup entered.  If active newsgroup have more articles than this
++# number, oldest articles will be ignored.  Also controls how many
++# articles headers will be saved in cache when you quit newsgroup.
++# 
++# 
++# set nntp_load_description=yes
++#
++# Name: nntp_load_description
++# Type: boolean
++# Default: yes
++# 
++# 
++# This variable controls whether or not descriptions for each newsgroup
++# must be loaded when newsgroup is added to list (first time list
++# loading or new newsgroup adding).
++# 
++# 
++# set nntp_user=""
++#
++# Name: nntp_user
++# Type: string
++# Default: ""
++# 
++# 
++# Your login name on the NNTP server.  If unset and NNTP server requires
++# authentification, Mutt will prompt you for your account name when you
++# connect to newsserver.
++# 
++# 
++# set nntp_pass=""
++#
++# Name: nntp_pass
++# Type: string
++# Default: ""
++# 
++# 
++# Your password for NNTP account.
++# 
++# 
++# set nntp_poll=60
++#
++# Name: nntp_poll
++# Type: number
++# Default: 60
++# 
++# 
++# The time in seconds until any operations on newsgroup except post new
++# article will cause recheck for new news.  If set to 0, Mutt will
++# recheck newsgroup on each operation in index (stepping, read article,
++# etc.).
++# 
++# 
++# set nntp_reconnect=ask-yes
++#
++# Name: nntp_reconnect
++# Type: quadoption
++# Default: ask-yes
++# 
++# 
++# Controls whether or not Mutt will try to reconnect to newsserver when
++# connection lost.
++# 
++# 
+ # set pager="builtin"
+ #
+ # Name: pager
+@@ -2969,6 +3180,19 @@ attachments   -I message/external-body
+ # string after the inclusion of a message which is being replied to.
+ # 
+ # 
++# set post_moderated=ask-yes
++#
++# Name: post_moderated
++# Type: quadoption
++# Default: ask-yes
++# 
++# 
++# If set to yes, Mutt will post article to newsgroup that have
++# not permissions to posting (e.g. moderated).  Note: if newsserver
++# does not support posting to that newsgroup or totally read-only, that
++# posting will not have an effect.
++# 
++# 
+ # set postpone=ask-yes
+ #
+ # Name: postpone
+@@ -3543,6 +3767,41 @@ attachments   -I message/external-body
+ # shell from /etc/passwd is used.
+ # 
+ # 
++# set save_unsubscribed=no
++#
++# Name: save_unsubscribed
++# Type: boolean
++# Default: no
++# 
++# 
++# When set, info about unsubscribed newsgroups will be saved into
++# ``newsrc'' file and into cache.
++# 
++# 
++# set show_new_news=yes
++#
++# Name: show_new_news
++# Type: boolean
++# Default: yes
++# 
++# 
++# If set, newsserver will be asked for new newsgroups on entering
++# the browser.  Otherwise, it will be done only once for a newsserver.
++# Also controls whether or not number of new articles of subscribed
++# newsgroups will be then checked.
++# 
++# 
++# set show_only_unread=no
++#
++# Name: show_only_unread
++# Type: boolean
++# Default: no
++# 
++# 
++# If set, only subscribed newsgroups that contain unread articles
++# will be displayed in browser.
++# 
++# 
+ # set sig_dashes=yes
+ #
+ # Name: sig_dashes
+@@ -4748,3 +5007,14 @@ attachments   -I message/external-body
+ # ``tuning'' section of the manual for performance considerations.
+ # 
+ # 
++# set x_comment_to=no
++#
++# Name: x_comment_to
++# Type: boolean
++# Default: no
++# 
++# 
++# If set, Mutt will add ``X-Comment-To:'' field (that contains full
++# name of original article author) to article that followuped to newsgroup.
++# 
++# 
+--- a/PATCHES
++++ b/PATCHES
+@@ -0,0 +1 @@
++vvv.nntp
diff --git a/debian/patches/mutt-patched/sidebar b/debian/patches/mutt-patched/sidebar
new file mode 100644 (file)
index 0000000..b34a73e
--- /dev/null
@@ -0,0 +1,1410 @@
+This is the sidebar patch.
+
+When enabled, mutt will show a list of mailboxes with (new) message counts in a
+separate column on the left side of the screen.
+
+As this feature is still considered to be unstable, this patch is only applied
+in the "mutt-patched" package.
+
+* Configuration variables:
+
+  sidebar_delim (string, default "|")
+
+    This specifies the delimiter between the sidebar (if visible) and 
+    other screens.
+
+  sidebar_visible (boolean, default no)
+
+    This specifies whether or not to show sidebar (left-side list of folders).
+
+  sidebar_width (integer, default 0)
+-
+    The width of the sidebar.
+
+* Patch source:
+  - http://www.lunar-linux.org/index.php?page=mutt-sidebar
+  - http://lunar-linux.org/~tchan/mutt/patch-1.5.19.sidebar.20090522.txt
+
+* Changes made:
+  - 2008-08-02 myon: Refreshed patch using quilt push -f to remove hunks we do
+    not need (Makefile.in).
+
+Index: mutt/buffy.c
+===================================================================
+--- mutt.orig/buffy.c  2009-06-25 12:36:44.000000000 +0200
++++ mutt/buffy.c       2009-06-25 12:36:53.000000000 +0200
+@@ -289,6 +289,7 @@
+   char path[_POSIX_PATH_MAX];
+   struct stat contex_sb;
+   time_t t;
++  CONTEXT *ctx;
+   sb.st_size=0;
+   contex_sb.st_dev=0;
+@@ -328,6 +329,8 @@
+   
+   for (tmp = Incoming; tmp; tmp = tmp->next)
+   {
++    if ( tmp->new == 1 )
++      tmp->has_new = 1;
+ #ifdef USE_IMAP
+     if (tmp->magic != M_IMAP)
+ #endif
+@@ -384,10 +387,27 @@
+       case M_MBOX:
+       case M_MMDF:
+-      if (STAT_CHECK)
++        {
++      if (STAT_CHECK || tmp->msgcount == 0)
+       {
+-        BuffyCount++;
+-        tmp->new = 1;
++        BUFFY b = *tmp;
++        int msgcount = 0;
++        int msg_unread = 0;
++        /* parse the mailbox, to see how much mail there is */
++        ctx = mx_open_mailbox( tmp->path, M_READONLY | M_QUIET | M_NOSORT | M_PEEK, NULL);
++        if(ctx)
++        {
++            msgcount = ctx->msgcount;
++          msg_unread = ctx->unread;
++          mx_close_mailbox(ctx, 0);
++        }
++        *tmp = b;
++        tmp->msgcount = msgcount;
++        tmp->msg_unread = msg_unread;
++        if(STAT_CHECK) {
++          tmp->has_new = tmp->new = 1;
++          BuffyCount++;
++          }
+       }
+       else if (option(OPTCHECKMBOXSIZE))
+       {
+@@ -397,35 +417,86 @@
+       if (tmp->newly_created &&
+           (sb.st_ctime != sb.st_mtime || sb.st_ctime != sb.st_atime))
+         tmp->newly_created = 0;
+-
++        }
+       break;
+       case M_MAILDIR:
++        /* count new message */
+       snprintf (path, sizeof (path), "%s/new", tmp->path);
+       if ((dirp = opendir (path)) == NULL)
+       {
+         tmp->magic = 0;
+         break;
+       }
++      tmp->msgcount = 0;
++      tmp->msg_unread = 0;
++      tmp->msg_flagged = 0;
+       while ((de = readdir (dirp)) != NULL)
+       {
+         char *p;
+         if (*de->d_name != '.' && 
+             (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
+         {
+-          /* one new and undeleted message is enough */
+-          BuffyCount++;
+-          tmp->new = 1;
+-          break;
++          tmp->has_new = tmp->new = 1;
++            tmp->msgcount++;
++            tmp->msg_unread++;
++        }
++      }
++        if(tmp->msg_unread)
++          BuffyCount++;
++
++      closedir (dirp);
++
++        /*
++         * count read messages (for folderlist (sidebar) we also need to count
++         * messages in cur so that we the total number of messages
++         */
++      snprintf (path, sizeof (path), "%s/cur", tmp->path);
++      if ((dirp = opendir (path)) == NULL)
++      {
++        tmp->magic = 0;
++        break;
++      }
++      while ((de = readdir (dirp)) != NULL)
++      {
++        char *p;
++          if (*de->d_name != '.') {
++                  if ((p = strstr (de->d_name, ":2,"))) {
++                          if (!strchr (p + 3, 'T')) {
++                                  tmp->msgcount++;
++                                  if ( !strchr (p + 3, 'S'))
++                                          tmp->msg_unread++;
++                                  if (strchr(p + 3, 'F'))
++                                          tmp->msg_flagged++;
++                          }
++                  } else
++                          tmp->msgcount++;
+         }
+       }
+       closedir (dirp);
+       break;
+       case M_MH:
++      {
++      DIR *dp;
++      struct dirent *de;
+       if ((tmp->new = mh_buffy (tmp->path)) > 0)
+         BuffyCount++;
++
++      if ((dp = opendir (path)) == NULL)
++        break;
++      tmp->msgcount = 0;
++      while ((de = readdir (dp)))
++      {
++        if (mh_valid_message (de->d_name))
++        {
++        tmp->msgcount++;
++        tmp->has_new = tmp->new = 1;
++        }
++      }
++      closedir (dp);
++      }
+       break;
+       }
+     }
+Index: mutt/buffy.h
+===================================================================
+--- mutt.orig/buffy.h  2009-06-24 19:37:58.000000000 +0200
++++ mutt/buffy.h       2009-06-25 12:36:53.000000000 +0200
+@@ -25,7 +25,12 @@
+   char path[_POSIX_PATH_MAX];
+   off_t size;
+   struct buffy_t *next;
++  struct buffy_t *prev;
+   short new;                  /* mailbox has new mail */
++  short has_new;              /* set it new if new and not read */
++  int msgcount;                       /* total number of messages */
++  int msg_unread;             /* number of unread messages */
++  int msg_flagged;            /* number of flagged messages */
+   short notified;             /* user has been notified */
+   short magic;                        /* mailbox type */
+   short newly_created;                /* mbox or mmdf just popped into existence */
+Index: mutt/color.c
+===================================================================
+--- mutt.orig/color.c  2009-06-24 19:37:58.000000000 +0200
++++ mutt/color.c       2009-06-25 12:36:53.000000000 +0200
+@@ -93,6 +93,8 @@
+   { "bold",           MT_COLOR_BOLD },
+   { "underline",      MT_COLOR_UNDERLINE },
+   { "index",          MT_COLOR_INDEX },
++  { "sidebar_new",    MT_COLOR_NEW },
++  { "sidebar_flagged",        MT_COLOR_FLAGGED },
+   { NULL,             0 }
+ };
+Index: mutt/compose.c
+===================================================================
+--- mutt.orig/compose.c        2009-06-24 19:37:58.000000000 +0200
++++ mutt/compose.c     2009-06-25 12:36:53.000000000 +0200
+@@ -72,7 +72,7 @@
+ #define HDR_XOFFSET 10
+ #define TITLE_FMT "%10s" /* Used for Prompts, which are ASCII */
+-#define W (COLS - HDR_XOFFSET)
++#define W (COLS - HDR_XOFFSET - SidebarWidth)
+ static char *Prompts[] =
+ {
+@@ -115,16 +115,16 @@
+   if ((WithCrypto & APPLICATION_PGP) && (WithCrypto & APPLICATION_SMIME))
+   {     
+     if (!msg->security)
+-      mvaddstr (HDR_CRYPT, 0,     "Security: ");
++      mvaddstr (HDR_CRYPT, SidebarWidth,     "Security: ");
+     else if (msg->security & APPLICATION_SMIME)
+-      mvaddstr (HDR_CRYPT, 0,     "  S/MIME: ");
++      mvaddstr (HDR_CRYPT, SidebarWidth,     "  S/MIME: ");
+     else if (msg->security & APPLICATION_PGP)
+-      mvaddstr (HDR_CRYPT, 0,     "     PGP: ");
++      mvaddstr (HDR_CRYPT, SidebarWidth,     "     PGP: ");
+   }
+   else if ((WithCrypto & APPLICATION_SMIME))
+-    mvaddstr (HDR_CRYPT, 0,     "  S/MIME: ");
++    mvaddstr (HDR_CRYPT, SidebarWidth,     "  S/MIME: ");
+   else if ((WithCrypto & APPLICATION_PGP))
+-    mvaddstr (HDR_CRYPT, 0,     "     PGP: ");
++    mvaddstr (HDR_CRYPT, SidebarWidth,     "     PGP: ");
+   else
+     return;
+@@ -148,7 +148,7 @@
+     }
+   clrtoeol ();
+-  move (HDR_CRYPTINFO, 0);
++  move (HDR_CRYPTINFO, SidebarWidth);
+   clrtoeol ();
+   if ((WithCrypto & APPLICATION_PGP)
+       && msg->security & APPLICATION_PGP  && msg->security & SIGN)
+@@ -164,7 +164,7 @@
+       && (msg->security & ENCRYPT)
+       && SmimeCryptAlg
+       && *SmimeCryptAlg) {
+-      mvprintw (HDR_CRYPTINFO, 40, "%s%s", _("Encrypt with: "),
++      mvprintw (HDR_CRYPTINFO, SidebarWidth + 40, "%s%s", _("Encrypt with: "),
+               NONULL(SmimeCryptAlg));
+       off = 20;
+   }
+@@ -178,7 +178,7 @@
+   int c;
+   char *t;
+-  mvaddstr (HDR_MIX, 0,     "     Mix: ");
++  mvaddstr (HDR_MIX, SidebarWidth,     "     Mix: ");
+   if (!chain)
+   {
+@@ -193,7 +193,7 @@
+     if (t && t[0] == '0' && t[1] == '\0')
+       t = "<random>";
+     
+-    if (c + mutt_strlen (t) + 2 >= COLS)
++    if (c + mutt_strlen (t) + 2 >= COLS - SidebarWidth)
+       break;
+     addstr (NONULL(t));
+@@ -245,7 +245,7 @@
+   buf[0] = 0;
+   rfc822_write_address (buf, sizeof (buf), addr, 1);
+-  mvprintw (line, 0, TITLE_FMT, Prompts[line - 1]);
++  mvprintw (line, SidebarWidth, TITLE_FMT, Prompts[line - 1]);
+   mutt_paddstr (W, buf);
+ }
+@@ -255,10 +255,10 @@
+   draw_envelope_addr (HDR_TO, msg->env->to);
+   draw_envelope_addr (HDR_CC, msg->env->cc);
+   draw_envelope_addr (HDR_BCC, msg->env->bcc);
+-  mvprintw (HDR_SUBJECT, 0, TITLE_FMT, Prompts[HDR_SUBJECT - 1]);
++  mvprintw (HDR_SUBJECT, SidebarWidth, TITLE_FMT, Prompts[HDR_SUBJECT - 1]);
+   mutt_paddstr (W, NONULL (msg->env->subject));
+   draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);
+-  mvprintw (HDR_FCC, 0, TITLE_FMT, Prompts[HDR_FCC - 1]);
++  mvprintw (HDR_FCC, SidebarWidth, TITLE_FMT, Prompts[HDR_FCC - 1]);
+   mutt_paddstr (W, fcc);
+   if (WithCrypto)
+@@ -269,7 +269,7 @@
+ #endif
+   SETCOLOR (MT_COLOR_STATUS);
+-  mvaddstr (HDR_ATTACH - 1, 0, _("-- Attachments"));
++  mvaddstr (HDR_ATTACH - 1, SidebarWidth, _("-- Attachments"));
+   BKGDSET (MT_COLOR_STATUS);
+   clrtoeol ();
+@@ -307,7 +307,7 @@
+   /* redraw the expanded list so the user can see the result */
+   buf[0] = 0;
+   rfc822_write_address (buf, sizeof (buf), *addr, 1);
+-  move (line, HDR_XOFFSET);
++  move (line, HDR_XOFFSET+SidebarWidth);
+   mutt_paddstr (W, buf);
+   
+   return 0;
+@@ -552,7 +552,7 @@
+       if (mutt_get_field ("Subject: ", buf, sizeof (buf), 0) == 0)
+       {
+         mutt_str_replace (&msg->env->subject, buf);
+-        move (HDR_SUBJECT, HDR_XOFFSET);
++        move (HDR_SUBJECT, HDR_XOFFSET + SidebarWidth);
+         clrtoeol ();
+         if (msg->env->subject)
+           mutt_paddstr (W, msg->env->subject);
+@@ -569,7 +569,7 @@
+       {
+         strfcpy (fcc, buf, fcclen);
+         mutt_pretty_mailbox (fcc, fcclen);
+-        move (HDR_FCC, HDR_XOFFSET);
++        move (HDR_FCC, HDR_XOFFSET + SidebarWidth);
+         mutt_paddstr (W, fcc);
+         fccSet = 1;
+       }
+Index: mutt/curs_main.c
+===================================================================
+--- mutt.orig/curs_main.c      2009-06-25 12:36:26.000000000 +0200
++++ mutt/curs_main.c   2009-06-25 12:36:53.000000000 +0200
+@@ -26,7 +26,9 @@
+ #include "mailbox.h"
+ #include "mapping.h"
+ #include "sort.h"
++#include "buffy.h"
+ #include "mx.h"
++#include "sidebar.h"
+ #ifdef USE_POP
+ #include "pop.h"
+@@ -536,8 +538,12 @@
+        menu->redraw |= REDRAW_STATUS;
+      if (do_buffy_notify)
+      {
+-       if (mutt_buffy_notify () && option (OPTBEEPNEW))
+-      beep ();
++       if (mutt_buffy_notify ())
++       {
++         menu->redraw |= REDRAW_FULL;
++         if (option (OPTBEEPNEW))
++           beep ();
++       }
+      }
+      else
+        do_buffy_notify = 1;
+@@ -549,6 +555,7 @@
+     if (menu->redraw & REDRAW_FULL)
+     {
+       menu_redraw_full (menu);
++      draw_sidebar(menu->menu);
+       mutt_show_error ();
+     }
+@@ -571,10 +578,13 @@
+       if (menu->redraw & REDRAW_STATUS)
+       {
++        DrawFullLine = 1;
+       menu_status_line (buf, sizeof (buf), menu, NONULL (Status));
++        DrawFullLine = 0;
+       CLEARLINE (option (OPTSTATUSONTOP) ? 0 : LINES-2);
+       SETCOLOR (MT_COLOR_STATUS);
+         BKGDSET (MT_COLOR_STATUS);
++        set_buffystats(Context);
+       mutt_paddstr (COLS, buf);
+       SETCOLOR (MT_COLOR_NORMAL);
+         BKGDSET (MT_COLOR_NORMAL);
+@@ -595,7 +605,7 @@
+       menu->oldcurrent = -1;
+       if (option (OPTARROWCURSOR))
+-      move (menu->current - menu->top + menu->offset, 2);
++      move (menu->current - menu->top + menu->offset, SidebarWidth + 2);
+       else if (option (OPTBRAILLEFRIENDLY))
+       move (menu->current - menu->top + menu->offset, 0);
+       else
+@@ -1075,6 +1085,7 @@
+         menu->redraw = REDRAW_FULL;
+       break;
++      case OP_SIDEBAR_OPEN:
+       case OP_MAIN_CHANGE_FOLDER:
+       case OP_MAIN_NEXT_UNREAD_MAILBOX:
+@@ -1106,7 +1117,11 @@
+       {
+         mutt_buffy (buf, sizeof (buf));
+-        if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1)
++          if ( op == OP_SIDEBAR_OPEN ) {
++              if(!CurBuffy)
++                break;
++            strncpy( buf, CurBuffy->path, sizeof(buf) );
++          } else if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1)
+         {
+           if (menu->menu == MENU_PAGER)
+           {
+@@ -1124,6 +1139,7 @@
+       }
+       mutt_expand_path (buf, sizeof (buf));
++        set_curbuffy(buf);
+       if (mx_get_magic (buf) <= 0)
+       {
+         mutt_error (_("%s is not a mailbox."), buf);
+@@ -2216,6 +2232,12 @@
+       mutt_what_key();
+       break;
++      case OP_SIDEBAR_SCROLL_UP:
++      case OP_SIDEBAR_SCROLL_DOWN:
++      case OP_SIDEBAR_NEXT:
++      case OP_SIDEBAR_PREV:
++        scroll_sidebar(op, menu->menu);
++        break;
+       default:
+       if (menu->menu == MENU_MAIN)
+         km_error_key (MENU_MAIN);
+Index: mutt/flags.c
+===================================================================
+--- mutt.orig/flags.c  2009-06-25 12:36:14.000000000 +0200
++++ mutt/flags.c       2009-06-25 12:36:53.000000000 +0200
+@@ -22,8 +22,10 @@
+ #include "mutt.h"
+ #include "mutt_curses.h"
++#include "mutt_menu.h"
+ #include "sort.h"
+ #include "mx.h"
++#include "sidebar.h"
+ void _mutt_set_flag (CONTEXT *ctx, HEADER *h, int flag, int bf, int upd_ctx)
+ {
+@@ -290,6 +292,7 @@
+    */
+   if (h->searched && (changed != h->changed || deleted != ctx->deleted || tagged != ctx->tagged || flagged != ctx->flagged))
+     h->searched = 0;
++      draw_sidebar(0);
+ }
+ void mutt_tag_set_flag (int flag, int bf)
+Index: mutt/functions.h
+===================================================================
+--- mutt.orig/functions.h      2009-06-25 12:36:35.000000000 +0200
++++ mutt/functions.h   2009-06-25 12:36:53.000000000 +0200
+@@ -169,6 +169,11 @@
+   { "decrypt-save",           OP_DECRYPT_SAVE,                NULL },
++ { "sidebar-scroll-up",       OP_SIDEBAR_SCROLL_UP, NULL },
++ { "sidebar-scroll-down",     OP_SIDEBAR_SCROLL_DOWN, NULL },
++ { "sidebar-next",            OP_SIDEBAR_NEXT, NULL },
++ { "sidebar-prev",            OP_SIDEBAR_PREV, NULL },
++ { "sidebar-open",            OP_SIDEBAR_OPEN, NULL },
+   { NULL,                     0,                              NULL }
+ };
+@@ -270,6 +275,11 @@
+   { "what-key",               OP_WHAT_KEY,            NULL },
++  { "sidebar-scroll-up",      OP_SIDEBAR_SCROLL_UP, NULL },
++  { "sidebar-scroll-down",    OP_SIDEBAR_SCROLL_DOWN, NULL },
++  { "sidebar-next",   OP_SIDEBAR_NEXT, NULL },
++  { "sidebar-prev",   OP_SIDEBAR_PREV, NULL },
++  { "sidebar-open", OP_SIDEBAR_OPEN, NULL },
+   { NULL,             0,                              NULL }
+ };
+Index: mutt/globals.h
+===================================================================
+--- mutt.orig/globals.h        2009-06-25 12:36:22.000000000 +0200
++++ mutt/globals.h     2009-06-25 12:36:53.000000000 +0200
+@@ -117,6 +117,7 @@
+ WHERE char *SendCharset;
+ WHERE char *Sendmail;
+ WHERE char *Shell;
++WHERE char *SidebarDelim;
+ WHERE char *Signature;
+ WHERE char *SimpleSearch;
+ #if USE_SMTP
+@@ -209,6 +210,9 @@
+ WHERE short ScoreThresholdRead;
+ WHERE short ScoreThresholdFlag;
++WHERE struct buffy_t *CurBuffy INITVAL(0);
++WHERE short DrawFullLine INITVAL(0);
++WHERE short SidebarWidth;
+ #ifdef USE_IMAP
+ WHERE short ImapKeepalive;
+ WHERE short ImapPipelineDepth;
+Index: mutt/init.h
+===================================================================
+--- mutt.orig/init.h   2009-06-25 12:36:40.000000000 +0200
++++ mutt/init.h        2009-06-25 12:36:53.000000000 +0200
+@@ -1953,6 +1953,22 @@
+   ** not used.
+   ** (PGP only)
+   */
++  {"sidebar_delim", DT_STR, R_BOTH, UL &SidebarDelim, "|"},
++  /*
++  ** .pp
++  ** This specifies the delimiter between the sidebar (if visible) and
++  ** other screens.
++  */
++  { "sidebar_visible", DT_BOOL, R_BOTH, OPTSIDEBAR, 0 },
++  /*
++  ** .pp
++  ** This specifies whether or not to show sidebar (left-side list of folders).
++  */
++  { "sidebar_width", DT_NUM, R_BOTH, UL &SidebarWidth, 0 },
++  /*
++  ** .pp
++  ** The width of the sidebar.
++  */
+   { "pgp_use_gpg_agent", DT_BOOL, R_NONE, OPTUSEGPGAGENT, 0},
+   /*
+   ** .pp
+Index: mutt/mailbox.h
+===================================================================
+--- mutt.orig/mailbox.h        2009-06-24 19:37:58.000000000 +0200
++++ mutt/mailbox.h     2009-06-25 12:36:53.000000000 +0200
+@@ -27,6 +27,7 @@
+ #define M_NEWFOLDER   (1<<4) /* create a new folder - same as M_APPEND, but uses
+                               * safe_fopen() for mbox-style folders.
+                               */
++#define M_PEEK                (1<<5) /* revert atime back after taking a look (if applicable) */
+ /* mx_open_new_message() */
+ #define M_ADD_FROM    1       /* add a From_ line */
+Index: mutt/Makefile.am
+===================================================================
+--- mutt.orig/Makefile.am      2009-06-25 12:36:26.000000000 +0200
++++ mutt/Makefile.am   2009-06-25 12:36:53.000000000 +0200
+@@ -29,7 +29,8 @@
+       score.c send.c sendlib.c signal.c sort.c \
+       status.c system.c thread.c charset.c history.c lib.c \
+       muttlib.c editmsg.c mbyte.c \
+-      url.c ascii.c crypt-mod.c crypt-mod.h
++      url.c ascii.c crypt-mod.c crypt-mod.h \
++        sidebar.c
+ nodist_mutt_SOURCES = $(BUILT_SOURCES)
+Index: mutt/mbox.c
+===================================================================
+--- mutt.orig/mbox.c   2009-06-25 12:36:45.000000000 +0200
++++ mutt/mbox.c        2009-06-25 12:36:53.000000000 +0200
+@@ -104,6 +104,7 @@
+     mutt_perror (ctx->path);
+     return (-1);
+   }
++  ctx->atime = sb.st_atime;
+   ctx->mtime = sb.st_mtime;
+   ctx->size = sb.st_size;
+@@ -259,6 +260,7 @@
+   ctx->size = sb.st_size;
+   ctx->mtime = sb.st_mtime;
++  ctx->atime = sb.st_atime;
+ #ifdef NFS_ATTRIBUTE_HACK
+   if (sb.st_mtime > sb.st_atime)
+Index: mutt/menu.c
+===================================================================
+--- mutt.orig/menu.c   2009-06-25 12:36:19.000000000 +0200
++++ mutt/menu.c        2009-06-25 12:36:53.000000000 +0200
+@@ -24,6 +24,7 @@
+ #include "mutt_curses.h"
+ #include "mutt_menu.h"
+ #include "mbyte.h"
++#include "sidebar.h"
+ #include <string.h>
+ #include <stdlib.h>
+@@ -156,7 +157,7 @@
+ {
+   char *scratch = safe_strdup (s);
+   int shift = option (OPTARROWCURSOR) ? 3 : 0;
+-  int cols = COLS - shift;
++  int cols = COLS - shift - SidebarWidth;
+   mutt_format_string (s, n, cols, cols, FMT_LEFT, ' ', scratch, mutt_strlen (scratch), 1);
+   s[n - 1] = 0;
+@@ -207,6 +208,7 @@
+   char buf[LONG_STRING];
+   int i;
++  draw_sidebar(1);
+   for (i = menu->top; i < menu->top + menu->pagelen; i++)
+   {
+     if (i < menu->max)
+@@ -217,7 +219,7 @@
+       if (option (OPTARROWCURSOR))
+       {
+         attrset (menu->color (i));
+-      CLEARLINE (i - menu->top + menu->offset);
++      CLEARLINE_WIN (i - menu->top + menu->offset);
+       if (i == menu->current)
+       {
+@@ -246,14 +248,14 @@
+         BKGDSET (MT_COLOR_INDICATOR);
+       }
+-      CLEARLINE (i - menu->top + menu->offset);
++      CLEARLINE_WIN (i - menu->top + menu->offset);
+       print_enriched_string (menu->color(i), (unsigned char *) buf, i != menu->current);
+         SETCOLOR (MT_COLOR_NORMAL);
+         BKGDSET (MT_COLOR_NORMAL);
+       }
+     }
+     else
+-      CLEARLINE (i - menu->top + menu->offset);
++      CLEARLINE_WIN (i - menu->top + menu->offset);
+   }
+   menu->redraw = 0;
+ }
+@@ -268,7 +270,7 @@
+     return;
+   }
+   
+-  move (menu->oldcurrent + menu->offset - menu->top, 0);
++  move (menu->oldcurrent + menu->offset - menu->top, SidebarWidth);
+   SETCOLOR (MT_COLOR_NORMAL);
+   BKGDSET (MT_COLOR_NORMAL);
+@@ -283,13 +285,13 @@
+       clrtoeol ();
+       menu_make_entry (buf, sizeof (buf), menu, menu->oldcurrent);
+       menu_pad_string (buf, sizeof (buf));
+-      move (menu->oldcurrent + menu->offset - menu->top, 3);
++      move (menu->oldcurrent + menu->offset - menu->top, SidebarWidth + 3);
+       print_enriched_string (menu->color(menu->oldcurrent), (unsigned char *) buf, 1);
+       SETCOLOR (MT_COLOR_NORMAL);
+     }
+     /* now draw it in the new location */
+-    move (menu->current + menu->offset - menu->top, 0);
++    move (menu->current + menu->offset - menu->top, SidebarWidth);
+     attrset (menu->color (menu->current));
+     ADDCOLOR (MT_COLOR_INDICATOR);
+     addstr ("->");
+@@ -310,7 +312,7 @@
+     attrset (menu->color (menu->current));
+     ADDCOLOR (MT_COLOR_INDICATOR);
+     BKGDSET (MT_COLOR_INDICATOR);
+-    CLEARLINE (menu->current - menu->top + menu->offset);
++    CLEARLINE_WIN (menu->current - menu->top + menu->offset);
+     print_enriched_string (menu->color(menu->current), (unsigned char *) buf, 0);
+     SETCOLOR (MT_COLOR_NORMAL);
+     BKGDSET (MT_COLOR_NORMAL);
+@@ -322,7 +324,7 @@
+ {
+   char buf[LONG_STRING];
+   
+-  move (menu->current + menu->offset - menu->top, 0);
++  move (menu->current + menu->offset - menu->top, SidebarWidth);
+   menu_make_entry (buf, sizeof (buf), menu, menu->current);
+   menu_pad_string (buf, sizeof (buf));
+@@ -885,7 +887,7 @@
+     
+     
+     if (option (OPTARROWCURSOR))
+-      move (menu->current - menu->top + menu->offset, 2);
++      move (menu->current - menu->top + menu->offset, SidebarWidth + 2);
+     else if (option (OPTBRAILLEFRIENDLY))
+       move (menu->current - menu->top + menu->offset, 0);
+     else
+Index: mutt/mutt_curses.h
+===================================================================
+--- mutt.orig/mutt_curses.h    2009-06-24 19:37:58.000000000 +0200
++++ mutt/mutt_curses.h 2009-06-25 12:36:53.000000000 +0200
+@@ -64,6 +64,7 @@
+ #undef lines
+ #endif /* lines */
++#define CLEARLINE_WIN(x) move(x,SidebarWidth), clrtoeol()
+ #define CLEARLINE(x) move(x,0), clrtoeol()
+ #define CENTERLINE(x,y) move(y, (COLS-strlen(x))/2), addstr(x)
+ #define BEEP() do { if (option (OPTBEEP)) beep(); } while (0)
+@@ -126,6 +127,8 @@
+   MT_COLOR_BOLD,
+   MT_COLOR_UNDERLINE,
+   MT_COLOR_INDEX,
++  MT_COLOR_NEW,
++  MT_COLOR_FLAGGED,
+   MT_COLOR_MAX
+ };
+Index: mutt/mutt.h
+===================================================================
+--- mutt.orig/mutt.h   2009-06-25 12:36:26.000000000 +0200
++++ mutt/mutt.h        2009-06-25 12:36:53.000000000 +0200
+@@ -425,6 +425,7 @@
+   OPTSAVEEMPTY,
+   OPTSAVENAME,
+   OPTSCORE,
++  OPTSIDEBAR,
+   OPTSIGDASHES,
+   OPTSIGONTOP,
+   OPTSORTRE,
+@@ -864,6 +865,7 @@
+ {
+   char *path;
+   FILE *fp;
++  time_t atime;
+   time_t mtime;
+   off_t size;
+   off_t vsize;
+@@ -904,6 +906,7 @@
+   unsigned int quiet : 1;     /* inhibit status messages? */
+   unsigned int collapsed : 1;   /* are all threads collapsed? */
+   unsigned int closing : 1;   /* mailbox is being closed */
++  unsigned int peekonly : 1;  /* just taking a glance, revert atime */
+   /* driver hooks */
+   void *data;                 /* driver specific data */
+Index: mutt/muttlib.c
+===================================================================
+--- mutt.orig/muttlib.c        2009-06-25 12:35:48.000000000 +0200
++++ mutt/muttlib.c     2009-06-25 12:36:53.000000000 +0200
+@@ -1232,6 +1232,8 @@
+         pl = pw = 1;
+       /* see if there's room to add content, else ignore */
++        if ( DrawFullLine )
++        {
+       if ((col < COLS && wlen < destlen) || soft)
+       {
+         int pad;
+@@ -1274,6 +1276,52 @@
+         col += wid;
+         src += pl;
+       }
++        }
++        else
++        {
++      if ((col < COLS-SidebarWidth && wlen < destlen) || soft)
++        {
++        int pad;
++
++        /* get contents after padding */
++        mutt_FormatString (buf, sizeof (buf), 0, src + pl, callback, data, flags);
++        len = mutt_strlen (buf);
++        wid = mutt_strwidth (buf);
++
++        /* try to consume as many columns as we can, if we don't have
++         * memory for that, use as much memory as possible */
++        pad = (COLS - SidebarWidth - col - wid) / pw;
++        if (pad > 0 && wlen + (pad * pl) + len > destlen)
++          pad = ((signed)(destlen - wlen - len)) / pl;
++        if (pad > 0)
++        {
++          while (pad--)
++          {
++            memcpy (wptr, src, pl);
++            wptr += pl;
++            wlen += pl;
++            col += pw;
++          }
++        }
++        else if (soft && pad < 0)
++        {
++          /* \0-terminate dest for length computation in mutt_wstr_trunc() */
++          *wptr = 0;
++          /* make sure right part is at most as wide as display */
++          len = mutt_wstr_trunc (buf, destlen, COLS, &wid);
++          /* truncate left so that right part fits completely in */
++          wlen = mutt_wstr_trunc (dest, destlen - len, col + pad, &col);
++          wptr = dest + wlen;
++        }
++        if (len + wlen > destlen)
++          len = mutt_wstr_trunc (buf, destlen - wlen, COLS - SidebarWidth - col, NULL);
++        memcpy (wptr, buf, len);
++        wptr += len;
++        wlen += len;
++        col += wid;
++        src += pl;
++      }
++        }
+       break; /* skip rest of input */
+       }
+       else if (ch == '|')
+Index: mutt/mx.c
+===================================================================
+--- mutt.orig/mx.c     2009-06-25 12:36:45.000000000 +0200
++++ mutt/mx.c  2009-06-25 12:36:53.000000000 +0200
+@@ -595,6 +595,7 @@
+  *            M_APPEND        open mailbox for appending
+  *            M_READONLY      open mailbox in read-only mode
+  *            M_QUIET         only print error messages
++ *            M_PEEK          revert atime where applicable
+  *    ctx     if non-null, context struct to use
+  */
+ CONTEXT *mx_open_mailbox (const char *path, int flags, CONTEXT *pctx)
+@@ -617,6 +618,8 @@
+     ctx->quiet = 1;
+   if (flags & M_READONLY)
+     ctx->readonly = 1;
++  if (flags & M_PEEK)
++    ctx->peekonly = 1;
+   if (flags & (M_APPEND|M_NEWFOLDER))
+   {
+@@ -721,9 +724,21 @@
+ void mx_fastclose_mailbox (CONTEXT *ctx)
+ {
+   int i;
++#ifndef BUFFY_SIZE
++  struct utimbuf ut;
++#endif
+   if(!ctx) 
+     return;
++#ifndef BUFFY_SIZE
++  /* fix up the times so buffy won't get confused */
++  if (ctx->peekonly && ctx->path && ctx->mtime > ctx->atime)
++  {
++    ut.actime = ctx->atime;
++    ut.modtime = ctx->mtime;
++    utime (ctx->path, &ut);
++  }
++#endif
+   if (ctx->mx_close)
+     ctx->mx_close (ctx);
+Index: mutt/OPS
+===================================================================
+--- mutt.orig/OPS      2009-06-25 12:36:14.000000000 +0200
++++ mutt/OPS   2009-06-25 12:36:53.000000000 +0200
+@@ -179,3 +179,8 @@
+ OP_MAIN_SHOW_LIMIT "show currently active limit pattern"
+ OP_MAIN_COLLAPSE_THREAD "collapse/uncollapse current thread"
+ OP_MAIN_COLLAPSE_ALL "collapse/uncollapse all threads"
++OP_SIDEBAR_SCROLL_UP "scroll the mailbox pane up 1 page"
++OP_SIDEBAR_SCROLL_DOWN "scroll the mailbox pane down 1 page"
++OP_SIDEBAR_NEXT "go down to next mailbox"
++OP_SIDEBAR_PREV "go to previous mailbox"
++OP_SIDEBAR_OPEN "open hilighted mailbox"
+Index: mutt/pager.c
+===================================================================
+--- mutt.orig/pager.c  2009-06-25 12:36:14.000000000 +0200
++++ mutt/pager.c       2009-06-25 12:36:53.000000000 +0200
+@@ -29,6 +29,7 @@
+ #include "pager.h"
+ #include "attach.h"
+ #include "mbyte.h"
++#include "sidebar.h"
+ #include "mutt_crypt.h"
+@@ -1071,6 +1072,8 @@
+   mbstate_t mbstate;
+   int wrap_cols = mutt_term_width ((flags & M_PAGER_NOWRAP) ? 0 : Wrap);
++
++  wrap_cols -= SidebarWidth;
+   
+   /* FIXME: this should come from lineInfo */
+   memset(&mbstate, 0, sizeof(mbstate));
+@@ -1717,7 +1720,7 @@
+     if ((redraw & REDRAW_BODY) || topline != oldtopline)
+     {
+       do {
+-      move (bodyoffset, 0);
++      move (bodyoffset, SidebarWidth);
+       curline = oldtopline = topline;
+       lines = 0;
+       force_redraw = 0;
+@@ -1730,6 +1733,7 @@
+                           &QuoteList, &q_level, &force_redraw, &SearchRE) > 0)
+           lines++;
+         curline++;
++        move(lines + bodyoffset, SidebarWidth);
+       }
+       last_offset = lineInfo[curline].offset;
+       } while (force_redraw);
+@@ -1743,6 +1747,7 @@
+         addch ('~');
+       addch ('\n');
+       lines++;
++      move(lines + bodyoffset, SidebarWidth);
+       }
+       /* We are going to update the pager status bar, so it isn't
+        * necessary to reset to normal color now. */
+@@ -1766,11 +1771,11 @@
+       /* print out the pager status bar */
+       SETCOLOR (MT_COLOR_STATUS);
+       BKGDSET (MT_COLOR_STATUS);
+-      CLEARLINE (statusoffset);
++      CLEARLINE_WIN (statusoffset);
+       if (IsHeader (extra) || IsMsgAttach (extra))
+       {
+-      size_t l1 = COLS * MB_LEN_MAX;
++      size_t l1 = (COLS-SidebarWidth) * MB_LEN_MAX;
+       size_t l2 = sizeof (buffer);
+       hfi.hdr = (IsHeader (extra)) ? extra->hdr : extra->bdy->hdr;
+       mutt_make_string_info (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), &hfi, M_FORMAT_MAKEPRINT);
+@@ -1780,7 +1785,7 @@
+       {
+       char bn[STRING];
+       snprintf (bn, sizeof (bn), "%s (%s)", banner, pager_progress_str);
+-      mutt_paddstr (COLS, bn);
++        mutt_paddstr (COLS, IsHeader (extra) || IsMsgAttach (extra) ?  buffer : banner);
+       }
+       BKGDSET (MT_COLOR_NORMAL);
+       SETCOLOR (MT_COLOR_NORMAL);
+@@ -1798,18 +1803,23 @@
+       /* redraw the pager_index indicator, because the
+        * flags for this message might have changed. */
+       menu_redraw_current (index);
++      draw_sidebar(MENU_PAGER);
+       /* print out the index status bar */
+       menu_status_line (buffer, sizeof (buffer), index, NONULL(Status));
+  
+-      move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), 0);
++      move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), SidebarWidth);
+       SETCOLOR (MT_COLOR_STATUS);
+       BKGDSET (MT_COLOR_STATUS);
+-      mutt_paddstr (COLS, buffer);
++      mutt_paddstr (COLS-SidebarWidth, buffer);
+       SETCOLOR (MT_COLOR_NORMAL);
+       BKGDSET (MT_COLOR_NORMAL);
+     }
++    /* if we're not using the index, update every time */
++    if ( index == 0 )
++      draw_sidebar(MENU_PAGER);
++
+     redraw = 0;
+     if (option(OPTBRAILLEFRIENDLY)) {
+@@ -2742,6 +2752,13 @@
+       mutt_what_key ();
+       break;
++      case OP_SIDEBAR_SCROLL_UP:
++      case OP_SIDEBAR_SCROLL_DOWN:
++      case OP_SIDEBAR_NEXT:
++      case OP_SIDEBAR_PREV:
++      scroll_sidebar(ch, MENU_PAGER);
++      break;
++
+       default:
+       ch = -1;
+       break;
+Index: mutt/sidebar.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ mutt/sidebar.c     2009-06-25 12:36:53.000000000 +0200
+@@ -0,0 +1,333 @@
++/*
++ * Copyright (C) ????-2004 Justin Hibbits <jrh29@po.cwru.edu>
++ * Copyright (C) 2004 Thomer M. Gil <mutt@thomer.com>
++ *
++ *     This program is free software; you can redistribute it and/or modify
++ *     it under the terms of the GNU General Public License as published by
++ *     the Free Software Foundation; either version 2 of the License, or
++ *     (at your option) any later version.
++ *
++ *     This program is distributed in the hope that it will be useful,
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ *     You should have received a copy of the GNU General Public License
++ *     along with this program; if not, write to the Free Software
++ *     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
++ */
++
++
++#if HAVE_CONFIG_H
++# include "config.h"
++#endif
++
++#include "mutt.h"
++#include "mutt_menu.h"
++#include "mutt_curses.h"
++#include "sidebar.h"
++#include "buffy.h"
++#include <libgen.h>
++#include "keymap.h"
++#include <stdbool.h>
++
++/*BUFFY *CurBuffy = 0;*/
++static BUFFY *TopBuffy = 0;
++static BUFFY *BottomBuffy = 0;
++static int known_lines = 0;
++
++static int quick_log10(int n)
++{
++        char string[32];
++        sprintf(string, "%d", n);
++        return strlen(string);
++}
++
++void calc_boundaries (int menu)
++{
++      BUFFY *tmp = Incoming;
++
++      if ( known_lines != LINES ) {
++              TopBuffy = BottomBuffy = 0;
++              known_lines = LINES;
++      }
++      for ( ; tmp->next != 0; tmp = tmp->next )
++              tmp->next->prev = tmp;
++
++      if ( TopBuffy == 0 && BottomBuffy == 0 )
++              TopBuffy = Incoming;
++      if ( BottomBuffy == 0 ) {
++              int count = LINES - 2 - (menu != MENU_PAGER || option(OPTSTATUSONTOP));
++              BottomBuffy = TopBuffy;
++              while ( --count && BottomBuffy->next )
++                      BottomBuffy = BottomBuffy->next;
++      }
++      else if ( TopBuffy == CurBuffy->next ) {
++              int count = LINES - 2 - (menu != MENU_PAGER);
++              BottomBuffy = CurBuffy;
++              tmp = BottomBuffy;
++              while ( --count && tmp->prev)
++                      tmp = tmp->prev;
++              TopBuffy = tmp;
++      }
++      else if ( BottomBuffy == CurBuffy->prev ) {
++              int count = LINES - 2 - (menu != MENU_PAGER);
++              TopBuffy = CurBuffy;
++              tmp = TopBuffy;
++              while ( --count && tmp->next )
++                      tmp = tmp->next;
++              BottomBuffy = tmp;
++      }
++}
++
++char *make_sidebar_entry(char *box, int size, int new, int flagged)
++{
++      static char *entry = 0;
++      char *c;
++      int i = 0;
++      int delim_len = strlen(SidebarDelim);
++
++      c = realloc(entry, SidebarWidth - delim_len + 2);
++      if ( c ) entry = c;
++      entry[SidebarWidth - delim_len + 1] = 0;
++      for (; i < SidebarWidth - delim_len + 1; entry[i++] = ' ' );
++      i = strlen(box);
++      strncpy( entry, box, i < (SidebarWidth - delim_len + 1) ? i : (SidebarWidth - delim_len + 1) );
++
++        if (size == -1)
++                sprintf(entry + SidebarWidth - delim_len - 3, "?");
++        else if ( new ) {
++          if (flagged > 0) {
++              sprintf(
++                      entry + SidebarWidth - delim_len - 5 - quick_log10(size) - quick_log10(new) - quick_log10(flagged),
++                      "% d(%d)[%d]", size, new, flagged);
++          } else {
++              sprintf(
++                      entry + SidebarWidth - delim_len - 3 - quick_log10(size) - quick_log10(new),
++                      "% d(%d)", size, new);
++          }
++        } else if (flagged > 0) {
++              sprintf( entry + SidebarWidth - delim_len - 3 - quick_log10(size) - quick_log10(flagged), "% d[%d]", size, flagged);
++        } else {
++              sprintf( entry + SidebarWidth - delim_len - 1 - quick_log10(size), "% d", size);
++        }
++      return entry;
++}
++
++void set_curbuffy(char buf[LONG_STRING])
++{
++  BUFFY* tmp = CurBuffy = Incoming;
++
++  if (!Incoming)
++    return;
++
++  while(1) {
++    if(!strcmp(tmp->path, buf)) {
++      CurBuffy = tmp;
++      break;
++    }
++
++    if(tmp->next)
++      tmp = tmp->next;
++    else
++      break;
++  }
++}
++
++int draw_sidebar(int menu) {
++
++      int lines = option(OPTHELP) ? 1 : 0;
++      BUFFY *tmp;
++#ifndef USE_SLANG_CURSES
++        attr_t attrs;
++#endif
++        short delim_len = strlen(SidebarDelim);
++        short color_pair;
++
++        static bool initialized = false;
++        static int prev_show_value;
++        static short saveSidebarWidth;
++
++        /* initialize first time */
++        if(!initialized) {
++                prev_show_value = option(OPTSIDEBAR);
++                saveSidebarWidth = SidebarWidth;
++                if(!option(OPTSIDEBAR)) SidebarWidth = 0;
++                initialized = true;
++        }
++
++        /* save or restore the value SidebarWidth */
++        if(prev_show_value != option(OPTSIDEBAR)) {
++                if(prev_show_value && !option(OPTSIDEBAR)) {
++                        saveSidebarWidth = SidebarWidth;
++                        SidebarWidth = 0;
++                } else if(!prev_show_value && option(OPTSIDEBAR)) {
++                        SidebarWidth = saveSidebarWidth;
++                }
++                prev_show_value = option(OPTSIDEBAR);
++        }
++
++
++//    if ( SidebarWidth == 0 ) return 0;
++       if (SidebarWidth > 0 && option (OPTSIDEBAR)
++           && delim_len >= SidebarWidth) {
++         unset_option (OPTSIDEBAR);
++         /* saveSidebarWidth = SidebarWidth; */
++         if (saveSidebarWidth > delim_len) {
++           SidebarWidth = saveSidebarWidth;
++           mutt_error (_("Value for sidebar_delim is too long. Disabling sidebar."));
++           sleep (2);
++         } else {
++           SidebarWidth = 0;
++           mutt_error (_("Value for sidebar_delim is too long. Disabling sidebar. Please set your sidebar_width to a sane value."));
++           sleep (4); /* the advise to set a sane value should be seen long enough */
++         }
++         saveSidebarWidth = 0;
++         return (0);
++       }
++
++    if ( SidebarWidth == 0 || !option(OPTSIDEBAR)) {
++      if (SidebarWidth > 0) {
++        saveSidebarWidth = SidebarWidth;
++        SidebarWidth = 0;
++      }
++      unset_option(OPTSIDEBAR);
++      return 0;
++    }
++
++        /* get attributes for divider */
++      SETCOLOR(MT_COLOR_STATUS);
++#ifndef USE_SLANG_CURSES
++        attr_get(&attrs, &color_pair, 0);
++#else
++        color_pair = attr_get();
++#endif
++      SETCOLOR(MT_COLOR_NORMAL);
++
++      /* draw the divider */
++
++      for ( ; lines < LINES-1-(menu != MENU_PAGER || option(OPTSTATUSONTOP)); lines++ ) {
++              move(lines, SidebarWidth - delim_len);
++              addstr(NONULL(SidebarDelim));
++#ifndef USE_SLANG_CURSES
++                mvchgat(lines, SidebarWidth - delim_len, delim_len, 0, color_pair, NULL);
++#endif
++      }
++
++      if ( Incoming == 0 ) return 0;
++      lines = option(OPTHELP) ? 1 : 0; /* go back to the top */
++
++      if ( known_lines != LINES || TopBuffy == 0 || BottomBuffy == 0 )
++              calc_boundaries(menu);
++      if ( CurBuffy == 0 ) CurBuffy = Incoming;
++
++      tmp = TopBuffy;
++
++      SETCOLOR(MT_COLOR_NORMAL);
++
++      for ( ; tmp && lines < LINES-1 - (menu != MENU_PAGER || option(OPTSTATUSONTOP)); tmp = tmp->next ) {
++              if ( tmp == CurBuffy )
++                      SETCOLOR(MT_COLOR_INDICATOR);
++              else if ( tmp->msg_unread > 0 )
++                      SETCOLOR(MT_COLOR_NEW);
++              else if ( tmp->msg_flagged > 0 )
++                      SETCOLOR(MT_COLOR_FLAGGED);
++              else
++                      SETCOLOR(MT_COLOR_NORMAL);
++
++              move( lines, 0 );
++              if ( Context && !strcmp( tmp->path, Context->path ) ) {
++                      tmp->msg_unread = Context->unread;
++                      tmp->msgcount = Context->msgcount;
++                      tmp->msg_flagged = Context->flagged;
++              }
++              // check whether Maildir is a prefix of the current folder's path
++              short maildir_is_prefix = 0;
++              if ( (strlen(tmp->path) > strlen(Maildir)) &&
++                      (strncmp(Maildir, tmp->path, strlen(Maildir)) == 0) )
++                      maildir_is_prefix = 1;
++              // calculate depth of current folder and generate its display name with indented spaces
++              int sidebar_folder_depth = 0;
++              char *sidebar_folder_name;
++              sidebar_folder_name = basename(tmp->path);
++              if ( maildir_is_prefix ) {
++                      char *tmp_folder_name;
++                      int i;
++                      tmp_folder_name = tmp->path + strlen(Maildir);
++                      for (i = 0; i < strlen(tmp->path) - strlen(Maildir); i++) {
++                              if (tmp_folder_name[i] == '/') sidebar_folder_depth++;
++                      }
++                      if (sidebar_folder_depth > 0) {
++                              sidebar_folder_name = malloc(strlen(basename(tmp->path)) + sidebar_folder_depth + 1);
++                              for (i=0; i < sidebar_folder_depth; i++)
++                                      sidebar_folder_name[i]=' ';
++                              sidebar_folder_name[i]=0;
++                              strncat(sidebar_folder_name, basename(tmp->path), strlen(basename(tmp->path)) + sidebar_folder_depth);
++                      }
++              }
++              printw( "%.*s", SidebarWidth - delim_len + 1,
++                      make_sidebar_entry(sidebar_folder_name, tmp->msgcount,
++                      tmp->msg_unread, tmp->msg_flagged));
++              if (sidebar_folder_depth > 0)
++                      free(sidebar_folder_name);
++              lines++;
++      }
++      SETCOLOR(MT_COLOR_NORMAL);
++      for ( ; lines < LINES-1 - (menu != MENU_PAGER || option(OPTSTATUSONTOP)); lines++ ) {
++              int i = 0;
++              move( lines, 0 );
++              for ( ; i < SidebarWidth - delim_len; i++ )
++                      addch(' ');
++      }
++      return 0;
++}
++
++
++void set_buffystats(CONTEXT* Context)
++{
++        BUFFY *tmp = Incoming;
++        while(tmp) {
++                if(Context && !strcmp(tmp->path, Context->path)) {
++                      tmp->msg_unread = Context->unread;
++                      tmp->msgcount = Context->msgcount;
++                        break;
++                }
++                tmp = tmp->next;
++        }
++}
++
++void scroll_sidebar(int op, int menu)
++{
++        if(!SidebarWidth) return;
++        if(!CurBuffy) return;
++
++      switch (op) {
++              case OP_SIDEBAR_NEXT:
++                      if ( CurBuffy->next == NULL ) return;
++                      CurBuffy = CurBuffy->next;
++                      break;
++              case OP_SIDEBAR_PREV:
++                      if ( CurBuffy->prev == NULL ) return;
++                      CurBuffy = CurBuffy->prev;
++                      break;
++              case OP_SIDEBAR_SCROLL_UP:
++                      CurBuffy = TopBuffy;
++                      if ( CurBuffy != Incoming ) {
++                              calc_boundaries(menu);
++                              CurBuffy = CurBuffy->prev;
++                      }
++                      break;
++              case OP_SIDEBAR_SCROLL_DOWN:
++                      CurBuffy = BottomBuffy;
++                      if ( CurBuffy->next ) {
++                              calc_boundaries(menu);
++                              CurBuffy = CurBuffy->next;
++                      }
++                      break;
++              default:
++                      return;
++      }
++      calc_boundaries(menu);
++      draw_sidebar(menu);
++}
++
+Index: mutt/sidebar.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ mutt/sidebar.h     2009-06-25 12:36:53.000000000 +0200
+@@ -0,0 +1,36 @@
++/*
++ * Copyright (C) ????-2004 Justin Hibbits <jrh29@po.cwru.edu>
++ * Copyright (C) 2004 Thomer M. Gil <mutt@thomer.com>
++ *
++ *     This program is free software; you can redistribute it and/or modify
++ *     it under the terms of the GNU General Public License as published by
++ *     the Free Software Foundation; either version 2 of the License, or
++ *     (at your option) any later version.
++ *
++ *     This program is distributed in the hope that it will be useful,
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ *     You should have received a copy of the GNU General Public License
++ *     along with this program; if not, write to the Free Software
++ *     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
++ */
++
++#ifndef SIDEBAR_H
++#define SIDEBAR_H
++
++struct MBOX_LIST {
++      char *path;
++      int msgcount;
++      int new;
++} MBLIST;
++
++/* parameter is whether or not to go to the status line */
++/* used for omitting the last | that covers up the status bar in the index */
++int draw_sidebar(int);
++void scroll_sidebar(int, int);
++void set_curbuffy(char*);
++void set_buffystats(CONTEXT*);
++
++#endif /* SIDEBAR_H */
+Index: mutt/doc/Muttrc
+===================================================================
+--- mutt.orig/doc/Muttrc       2009-06-24 19:37:58.000000000 +0200
++++ mutt/doc/Muttrc    2009-06-25 12:36:53.000000000 +0200
+@@ -657,6 +657,26 @@
+ # $crypt_autosign, $crypt_replysign and $smime_is_default.
+ # 
+ # 
++# set sidebar_visible=no
++#
++# Name: sidebar_visible
++# Type: boolean
++# Default: no
++#
++#
++# This specifies whether or not to show sidebar (left-side list of folders).
++#
++#
++# set sidebar_width=0
++#
++# Name: sidebar_width
++# Type: number
++# Default: 0
++#
++#
++# The width of the sidebar.
++#
++#
+ # set crypt_autosign=no
+ #
+ # Name: crypt_autosign
+Index: mutt/imap/imap.c
+===================================================================
+--- mutt.orig/imap/imap.c      2009-06-24 19:37:58.000000000 +0200
++++ mutt/imap/imap.c   2009-06-25 12:36:53.000000000 +0200
+@@ -1521,7 +1521,7 @@
+     imap_munge_mbox_name (munged, sizeof (munged), name);
+     snprintf (command, sizeof (command),
+-            "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN RECENT)", munged);
++            "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN RECENT MESSAGES)", munged);
+     if (imap_exec (idata, command, IMAP_CMD_QUEUE) < 0)
+     {
+Index: mutt/imap/command.c
+===================================================================
+--- mutt.orig/imap/command.c   2009-06-24 19:37:58.000000000 +0200
++++ mutt/imap/command.c        2009-06-25 12:36:53.000000000 +0200
+@@ -1009,6 +1009,13 @@
+            opened */
+         status->uidnext = oldun;
++        /* Added to make the sidebar show the correct numbers */
++        if (status->messages)
++        {
++          inc->msgcount = status->messages;
++          inc->msg_unread = status->unseen;
++        }
++
+         FREE (&value);
+         return;
+       }
diff --git a/debian/patches/mutt-patched/sidebar-dotted b/debian/patches/mutt-patched/sidebar-dotted
new file mode 100644 (file)
index 0000000..2c07d0b
--- /dev/null
@@ -0,0 +1,70 @@
+From: Evgeni Golov <sargentd@die-welt.net>
+License: 3-BSD
+
+When using IMAP, a '.' is often used as a separator instead of '/'.
+This patch enables mutt to find these dots and
+1. correctly intend the dir in the sidebar
+2. if "sidebar_shortpath" is set, shorten the dir to the part after
+   the last dot
+
+I hope, it's usefull for someone ;)
+
+Index: mutt/sidebar.c
+===================================================================
+--- mutt.orig/sidebar.c        2009-06-25 12:36:53.000000000 +0200
++++ mutt/sidebar.c     2009-06-25 12:36:59.000000000 +0200
+@@ -255,14 +255,23 @@
+                       int i;
+                       tmp_folder_name = tmp->path + strlen(Maildir);
+                       for (i = 0; i < strlen(tmp->path) - strlen(Maildir); i++) {
+-                              if (tmp_folder_name[i] == '/') sidebar_folder_depth++;
++                              if (tmp_folder_name[i] == '/'  || tmp_folder_name[i] == '.') sidebar_folder_depth++;
+                       }
+                       if (sidebar_folder_depth > 0) {
+-                              sidebar_folder_name = malloc(strlen(basename(tmp->path)) + sidebar_folder_depth + 1);
++                              if (option(OPTSIDEBARSHORTPATH)) {
++                                      tmp_folder_name = strrchr(tmp->path, '.');
++                                      if (tmp_folder_name == NULL)
++                                              tmp_folder_name = tmp->path;
++                                      else
++                                              tmp_folder_name++;
++                              }
++                              else
++                                      tmp_folder_name = tmp->path;
++                              sidebar_folder_name = malloc(strlen(basename(tmp_folder_name)) + sidebar_folder_depth + 1);
+                               for (i=0; i < sidebar_folder_depth; i++)
+                                       sidebar_folder_name[i]=' ';
+                               sidebar_folder_name[i]=0;
+-                              strncat(sidebar_folder_name, basename(tmp->path), strlen(basename(tmp->path)) + sidebar_folder_depth);
++                              strncat(sidebar_folder_name, basename(tmp_folder_name), strlen(basename(tmp_folder_name)) + sidebar_folder_depth);
+                       }
+               }
+               printw( "%.*s", SidebarWidth - delim_len + 1,
+Index: mutt/init.h
+===================================================================
+--- mutt.orig/init.h   2009-06-25 12:36:53.000000000 +0200
++++ mutt/init.h        2009-06-25 12:36:59.000000000 +0200
+@@ -1969,6 +1969,11 @@
+   ** .pp
+   ** The width of the sidebar.
+   */
++  { "sidebar_shortpath", DT_BOOL, R_BOTH, OPTSIDEBARSHORTPATH, 0 },
++  /*
++  ** .pp
++  ** Should the sidebar shorten the path showed.
++  */
+   { "pgp_use_gpg_agent", DT_BOOL, R_NONE, OPTUSEGPGAGENT, 0},
+   /*
+   ** .pp
+Index: mutt/mutt.h
+===================================================================
+--- mutt.orig/mutt.h   2009-06-25 12:36:53.000000000 +0200
++++ mutt/mutt.h        2009-06-25 12:36:59.000000000 +0200
+@@ -426,6 +426,7 @@
+   OPTSAVENAME,
+   OPTSCORE,
+   OPTSIDEBAR,
++  OPTSIDEBARSHORTPATH,
+   OPTSIGDASHES,
+   OPTSIGONTOP,
+   OPTSORTRE,
diff --git a/debian/patches/mutt-patched/sidebar-newonly b/debian/patches/mutt-patched/sidebar-newonly
new file mode 100644 (file)
index 0000000..b9c199a
--- /dev/null
@@ -0,0 +1,161 @@
+patches written by Steve Kemp, it adds two new functionalities to the sidebar,
+so only the mailbox with new messages will be shown (and/or) selected
+See Debian bug http://bugs.debian.org/532510
+
+--- a/OPS
++++ b/OPS
+@@ -184,3 +184,5 @@
+ OP_SIDEBAR_NEXT "go down to next mailbox"
+ OP_SIDEBAR_PREV "go to previous mailbox"
+ OP_SIDEBAR_OPEN "open hilighted mailbox"
++OP_SIDEBAR_NEXT_NEW "go down to next mailbox with new mail"
++OP_SIDEBAR_PREV_NEW "go to previous mailbox with new mail"
+--- a/curs_main.c
++++ b/curs_main.c
+@@ -2236,6 +2236,8 @@
+       case OP_SIDEBAR_SCROLL_DOWN:
+       case OP_SIDEBAR_NEXT:
+       case OP_SIDEBAR_PREV:
++      case OP_SIDEBAR_NEXT_NEW:
++      case OP_SIDEBAR_PREV_NEW:
+         scroll_sidebar(op, menu->menu);
+         break;
+       default:
+--- a/functions.h
++++ b/functions.h
+@@ -173,6 +173,10 @@
+  { "sidebar-scroll-down",     OP_SIDEBAR_SCROLL_DOWN, NULL },
+  { "sidebar-next",            OP_SIDEBAR_NEXT, NULL },
+  { "sidebar-prev",            OP_SIDEBAR_PREV, NULL },
++ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL},
++ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL},
++ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL},
++ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL},
+  { "sidebar-open",            OP_SIDEBAR_OPEN, NULL },
+   { NULL,                     0,                              NULL }
+ };
+--- a/init.h
++++ b/init.h
+@@ -1956,6 +1956,11 @@
+   {"sidebar_delim", DT_STR, R_BOTH, UL &SidebarDelim, "|"},
+   /*
+   ** .pp
++  ** Show only new mail in the sidebar.
++  */
++  {"sidebar_newmail_only", DT_BOOL, R_BOTH, OPTSIDEBARNEWMAILONLY, "no" },
++  /*
++  ** .pp
+   ** This specifies the delimiter between the sidebar (if visible) and
+   ** other screens.
+   */
+--- a/mutt.h
++++ b/mutt.h
+@@ -518,6 +518,8 @@
+   OPTDONTHANDLEPGPKEYS,       /* (pseudo) used to extract PGP keys */
+   OPTUNBUFFEREDINPUT,   /* (pseudo) don't use key buffer */
++  OPTSIDEBARNEWMAILONLY,
++
+   OPTMAX
+ };
+--- a/pager.c
++++ b/pager.c
+@@ -2756,6 +2756,8 @@
+       case OP_SIDEBAR_SCROLL_DOWN:
+       case OP_SIDEBAR_NEXT:
+       case OP_SIDEBAR_PREV:
++      case OP_SIDEBAR_NEXT_NEW:
++      case OP_SIDEBAR_PREV_NEW:
+       scroll_sidebar(ch, MENU_PAGER);
+       break;
+--- a/sidebar.c
++++ b/sidebar.c
+@@ -261,8 +261,20 @@
+                       SETCOLOR(MT_COLOR_NEW);
+               else if ( tmp->msg_flagged > 0 )
+                       SETCOLOR(MT_COLOR_FLAGGED);
+-              else
+-                      SETCOLOR(MT_COLOR_NORMAL);
++              else {
++                  /* make sure the path is either:
++                     1.  Containing new mail.
++                     2.  The inbox.
++                     3.  The current box.
++                   */
++                  if ((option (OPTSIDEBARNEWMAILONLY)) &&
++                      ( (tmp->msg_unread <= 0)  &&
++                        ( tmp != Incoming ) &&
++                        ( strcmp( tmp->path, Context->path ) != 0 ) ) )
++                    continue;
++                  else
++                    SETCOLOR(MT_COLOR_NORMAL);
++                }
+               move( lines, 0 );
+               if ( Context && !strcmp( tmp->path, Context->path ) ) {
+@@ -320,6 +332,29 @@
+       return 0;
+ }
++BUFFY * exist_next_new()
++{
++       BUFFY *tmp = CurBuffy;
++       if(tmp == NULL) return NULL;
++       while (tmp->next != NULL)
++       {
++              tmp = tmp->next;
++               if(tmp->msg_unread) return tmp;
++       }
++       return NULL;
++}
++
++BUFFY * exist_prev_new()
++{
++       BUFFY *tmp = CurBuffy;
++       if(tmp == NULL) return NULL;
++       while (tmp->prev != NULL)
++       {
++               tmp = tmp->prev;
++               if(tmp->msg_unread) return tmp;
++       }
++       return NULL;
++}
+ void set_buffystats(CONTEXT* Context)
+ {
+@@ -336,18 +371,33 @@
+ void scroll_sidebar(int op, int menu)
+ {
++        BUFFY *tmp;
+         if(!SidebarWidth) return;
+         if(!CurBuffy) return;
+       switch (op) {
+               case OP_SIDEBAR_NEXT:
++                if (!option (OPTSIDEBARNEWMAILONLY)) {
+                       if ( CurBuffy->next == NULL ) return;
+                       CurBuffy = CurBuffy->next;
+                       break;
++                }
++                case OP_SIDEBAR_NEXT_NEW:
++                        if ( (tmp = exist_next_new()) == NULL)
++                                return;
++                        else CurBuffy = tmp;
++                        break;
+               case OP_SIDEBAR_PREV:
++                 if (!option (OPTSIDEBARNEWMAILONLY)) {
+                       if ( CurBuffy->prev == NULL ) return;
+                       CurBuffy = CurBuffy->prev;
+                       break;
++                }
++                case OP_SIDEBAR_PREV_NEW:
++                       if ( (tmp = exist_prev_new()) == NULL)
++                               return;
++                       else CurBuffy = tmp;
++                       break;
+               case OP_SIDEBAR_SCROLL_UP:
+                       CurBuffy = TopBuffy;
+                       if ( CurBuffy != Incoming ) {
diff --git a/debian/patches/mutt-patched/sidebar-sorted b/debian/patches/mutt-patched/sidebar-sorted
new file mode 100644 (file)
index 0000000..5467465
--- /dev/null
@@ -0,0 +1,81 @@
+From: Evgeni Golov <sargentd@die-welt.net>
+License: 3-BSD
+
+When using IMAP and imap_check_subscribed, the server reports the
+dirs in a random order.
+This patch introduces a new option, sidebar_sort. Which, when it is
+set, sorts the dirs in the sidebar alphabetically.
+
+I hope, it's usefull for someone ;)
+
+PS: This has to be applied ontop of my sidebar-dotted patch, but it
+should be easy to adopt it to a vanilla mutt.
+
+Index: mutt/sidebar.c
+===================================================================
+--- mutt.orig/sidebar.c        2009-06-25 12:36:59.000000000 +0200
++++ mutt/sidebar.c     2009-06-25 12:37:03.000000000 +0200
+@@ -54,6 +54,35 @@
+       for ( ; tmp->next != 0; tmp = tmp->next )
+               tmp->next->prev = tmp;
++      if (option(OPTSIDEBARSORT)) {
++              int needsort=1;
++              BUFFY *prev;
++              BUFFY *next;
++              BUFFY *tmp2;
++              while (needsort==1) {
++                      needsort=0;
++                      tmp = Incoming;
++                      for ( ; tmp ; tmp=tmp->next ) {
++                              if (tmp->next != NULL && strcmp(tmp->path, tmp->next->path) > 0) {
++                                      needsort=1;
++                                      prev = tmp->prev;
++                                      next = tmp->next;
++                                      if (prev != NULL)
++                                              prev->next = next;
++                                      else
++                                              Incoming = next;
++                                      next->prev = prev;
++                                      tmp2 = next->next;
++                                      next->next = tmp;
++                                      tmp->prev = next;
++                                      tmp->next = tmp2;
++                                      if (tmp2 != NULL)
++                                              tmp2->prev = tmp;
++                              }
++                      }
++              }
++      }
++
+       if ( TopBuffy == 0 && BottomBuffy == 0 )
+               TopBuffy = Incoming;
+       if ( BottomBuffy == 0 ) {
+Index: mutt/init.h
+===================================================================
+--- mutt.orig/init.h   2009-06-25 12:36:59.000000000 +0200
++++ mutt/init.h        2009-06-25 12:37:03.000000000 +0200
+@@ -1974,6 +1974,11 @@
+   ** .pp
+   ** Should the sidebar shorten the path showed.
+   */
++  { "sidebar_sort", DT_BOOL, R_BOTH, OPTSIDEBARSORT, 0 },
++  /*
++  ** .pp
++  ** Should the sidebar be sorted.
++  */
+   { "pgp_use_gpg_agent", DT_BOOL, R_NONE, OPTUSEGPGAGENT, 0},
+   /*
+   ** .pp
+Index: mutt/mutt.h
+===================================================================
+--- mutt.orig/mutt.h   2009-06-25 12:36:59.000000000 +0200
++++ mutt/mutt.h        2009-06-25 12:37:03.000000000 +0200
+@@ -427,6 +427,7 @@
+   OPTSCORE,
+   OPTSIDEBAR,
+   OPTSIDEBARSHORTPATH,
++  OPTSIDEBARSORT,
+   OPTSIGDASHES,
+   OPTSIGONTOP,
+   OPTSORTRE,
diff --git a/debian/patches/mutt.org b/debian/patches/mutt.org
new file mode 100644 (file)
index 0000000..571f303
--- /dev/null
@@ -0,0 +1,6 @@
+Dummy patch to serve as marker separating patches for mutt-patched
+
+--- /dev/null
++++ b/.mutt.org
+@@ -0,0 +1 @@
++# dummy patch to serve as marker separating patches for mutt-patched
diff --git a/debian/patches/not-applied/chdir b/debian/patches/not-applied/chdir
new file mode 100644 (file)
index 0000000..a0fb00e
--- /dev/null
@@ -0,0 +1,100 @@
+# vim:ft=diff:
+This is the chdir patch by Christoph Berg <cb@df7cb.de>.
+
+* Homepage: http://www.df7cb.de/projects/mutt/chdir/
+
+== END PATCH
+Index: mutt/init.c
+===================================================================
+--- mutt.orig/init.c   2006-12-12 14:15:03.000000000 +0100
++++ mutt/init.c        2007-02-15 20:46:18.950836872 +0100
+@@ -2214,6 +2214,35 @@ static int parse_source (BUFFER *tmp, BU
+   return (source_rc (path, err));
+ }
++static int parse_cd (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err)
++{
++  char path[_POSIX_PATH_MAX];
++
++  if (mutt_extract_token (tmp, s, 0) != 0)
++  {
++    snprintf (err->data, err->dsize, _("cd: error at %s"), s->dptr);
++    return (-1);
++  }
++  if (MoreArgs (s))
++  {
++    strfcpy (err->data, _("cd: too many arguments"), err->dsize);
++    return (-1);
++  }
++  strfcpy (path, tmp->data, sizeof (path));
++  mutt_expand_path (path, sizeof (path));
++  if (!*path) {
++    char *home = getenv("HOME");
++    if (home)
++      strfcpy (path, home, sizeof (path));
++  }
++  if (chdir(path) != 0) {
++    snprintf (err->data, err->dsize, _("cd: %s"), strerror(errno));
++    return (-1);
++  }
++  return (0);
++}
++
++
+ /* line               command to execute
+    token      scratch buffer to be used by parser.  caller should free
+Index: mutt/init.h
+===================================================================
+--- mutt.orig/init.h   2006-12-12 14:15:03.000000000 +0100
++++ mutt/init.h        2007-02-15 20:46:18.951836720 +0100
+@@ -3020,6 +3020,7 @@ static int parse_unalias (BUFFER *, BUFF
+ static int parse_ignore (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_unignore (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_source (BUFFER *, BUFFER *, unsigned long, BUFFER *);
++static int parse_cd (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_set (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_my_hdr (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+ static int parse_unmy_hdr (BUFFER *, BUFFER *, unsigned long, BUFFER *);
+@@ -3056,6 +3057,7 @@ struct command_t Commands[] = {
+   { "auto_view",      parse_list,             UL &AutoViewList },
+   { "alternative_order",      parse_list,     UL &AlternativeOrderList},
+   { "bind",           mutt_parse_bind,        0 },
++  { "cd",             parse_cd,               0 },
+   { "charset-hook",   mutt_parse_hook,        M_CHARSETHOOK },
+ #ifdef HAVE_COLOR
+   { "color",          mutt_parse_color,       0 },
+Index: mutt/doc/manual.xml.head
+===================================================================
+--- mutt.orig/doc/manual.xml.head      2007-02-15 20:51:41.226843472 +0100
++++ mutt/doc/manual.xml.head   2007-02-15 20:51:45.303223768 +0100
+@@ -1701,6 +1701,25 @@ sequence.
+ </sect1>
++<sect1 id="cd">
++<title>Changing the current working directory</title>
++
++<para>
++<literallayout>
++Usage: <literal>cd</literal> <emphasis>directory</emphasis>
++</literallayout>
++</para>
++
++<para>
++The <literal>cd</literal> command changes Mutt's current working directory.
++This affects commands and functions like <literal>source</literal>,
++<literal>change-folder</literal>, and <literal>save-entry</literal> that use
++relative paths. Using <literal>cd</literal> without directory changes to your
++home directory.
++</para>
++
++</sect1>
++
+ <sect1 id="charset-hook">
+ <title>Defining aliases for character sets </title>
+--- a/PATCHES
++++ b/PATCHES
+@@ -0,0 +1 @@
++patch-1.5.13.cb.chdir.1
diff --git a/debian/patches/not-applied/indexcolor b/debian/patches/not-applied/indexcolor
new file mode 100644 (file)
index 0000000..c74ab3c
--- /dev/null
@@ -0,0 +1,670 @@
+# vim:ft=diff:
+This is the indexcolor patch by Christian Aichinger <Greek0@gmx.net>.
+
+This patch enables different colorings for different parts of the index
+display. For example you can choose one color for the subject, another one for
+the author, and a third one for the flags.
+
+* Patch last synced with upstream:
+  - Date: 2007-02-15
+  - File: http://greek0.net/mutt.html
+          http://greek0.net/patches/mutt-1.5.12-indexcolor-3+cb.diff
+
+* Changes made:
+  - Repatch for 1.5.13.
+  - Remove trailing whitespace.
+
+== END PATCH
+Index: mutt/color.c
+===================================================================
+--- mutt.orig/color.c  2007-02-15 21:26:09.140472816 +0100
++++ mutt/color.c       2007-02-15 21:26:47.860586464 +0100
+@@ -35,6 +35,8 @@ int ColorDefs[MT_COLOR_MAX];
+ COLOR_LINE *ColorHdrList = NULL;
+ COLOR_LINE *ColorBodyList = NULL;
+ COLOR_LINE *ColorIndexList = NULL;
++COLOR_LINE *ColorIndexSubjectList = NULL;
++COLOR_LINE *ColorIndexAuthorList = NULL;
+ /* local to this file */
+ static int ColorQuoteSize;
+@@ -93,6 +95,14 @@ static struct mapping_t Fields[] =
+   { "bold",           MT_COLOR_BOLD },
+   { "underline",      MT_COLOR_UNDERLINE },
+   { "index",          MT_COLOR_INDEX },
++  { "index_subject",  MT_COLOR_INDEX_SUBJECT },
++  { "index_author",   MT_COLOR_INDEX_AUTHOR },
++  { "index_collapsed",        MT_COLOR_INDEX_COLLAPSED },
++  { "index_date",     MT_COLOR_INDEX_DATE },
++  { "index_flags",    MT_COLOR_INDEX_FLAGS },
++  { "index_label",    MT_COLOR_INDEX_LABEL },
++  { "index_number",   MT_COLOR_INDEX_NUMBER },
++  { "index_size",     MT_COLOR_INDEX_SIZE },
+   { NULL,             0 }
+ };
+@@ -364,12 +374,55 @@ int mutt_parse_unmono (BUFFER *buf, BUFF
+   return _mutt_parse_uncolor(buf, s, data, err, 0);
+ }
++static void
++mutt_do_uncolor (BUFFER *buf, BUFFER *s, COLOR_LINE **ColorList,
++                      int *do_cache, int parse_uncolor)
++{
++  COLOR_LINE *tmp, *last = NULL;
++
++  do
++  {
++    mutt_extract_token (buf, s, 0);
++    if (!mutt_strcmp ("*", buf->data))
++    {
++      for (tmp = *ColorList; tmp; )
++      {
++        if (!*do_cache)
++        *do_cache = 1;
++      last = tmp;
++      tmp = tmp->next;
++      mutt_free_color_line(&last, parse_uncolor);
++      }
++      *ColorList = NULL;
++    }
++    else
++    {
++      for (last = NULL, tmp = *ColorList; tmp; last = tmp, tmp = tmp->next)
++      {
++      if (!mutt_strcmp (buf->data, tmp->pattern))
++      {
++          if (!*do_cache)
++          *do_cache = 1;
++        dprint(1,(debugfile,"Freeing pattern \"%s\" from ColorList\n",
++                             tmp->pattern));
++        if (last)
++          last->next = tmp->next;
++        else
++          *ColorList = tmp->next;
++        mutt_free_color_line(&tmp, parse_uncolor);
++        break;
++      }
++      }
++    }
++  }
++  while (MoreArgs (s));
++}
++
+ static int 
+ _mutt_parse_uncolor (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err, 
+                        short parse_uncolor)
+ {
+   int object = 0, do_cache = 0;
+-  COLOR_LINE *tmp, *last = NULL;
+   mutt_extract_token (buf, s, 0);
+@@ -379,6 +432,13 @@ _mutt_parse_uncolor (BUFFER *buf, BUFFER
+     return (-1);
+   }
++  if (object > MT_COLOR_INDEX_AUTHOR) /* uncolor index column */
++  {
++    ColorDefs[object] = 0;
++    set_option (OPTFORCEREDRAWINDEX);
++    return (0);
++  }
++
+   if (mutt_strncmp (buf->data, "index", 5) != 0)
+   {
+     snprintf (err->data, err->dsize,
+@@ -416,44 +476,12 @@ _mutt_parse_uncolor (BUFFER *buf, BUFFER
+     return 0;
+   }
+      
+-  
+-  do
+-  {
+-    mutt_extract_token (buf, s, 0);
+-    if (!mutt_strcmp ("*", buf->data))
+-    {
+-      for (tmp = ColorIndexList; tmp; )
+-      {
+-        if (!do_cache)
+-        do_cache = 1;
+-      last = tmp;
+-      tmp = tmp->next;
+-      mutt_free_color_line(&last, parse_uncolor);
+-      }
+-      ColorIndexList = NULL;
+-    }
+-    else
+-    {
+-      for (last = NULL, tmp = ColorIndexList; tmp; last = tmp, tmp = tmp->next)
+-      {
+-      if (!mutt_strcmp (buf->data, tmp->pattern))
+-      {
+-          if (!do_cache)
+-          do_cache = 1;
+-        dprint(1,(debugfile,"Freeing pattern \"%s\" from ColorIndexList\n",
+-                             tmp->pattern));
+-        if (last)
+-          last->next = tmp->next;
+-        else
+-          ColorIndexList = tmp->next;
+-        mutt_free_color_line(&tmp, parse_uncolor);
+-        break;
+-      }
+-      }
+-    }
+-  }
+-  while (MoreArgs (s));
+-
++  if (object == MT_COLOR_INDEX)
++    mutt_do_uncolor(buf, s, &ColorIndexList, &do_cache, parse_uncolor);
++  if (object == MT_COLOR_INDEX_SUBJECT)
++    mutt_do_uncolor(buf, s, &ColorIndexSubjectList, &do_cache, parse_uncolor);
++  if (object == MT_COLOR_INDEX_AUTHOR)
++    mutt_do_uncolor(buf, s, &ColorIndexAuthorList, &do_cache, parse_uncolor);
+   if (do_cache && !option (OPTNOCURSES))
+   {
+@@ -693,7 +721,7 @@ _mutt_parse_color (BUFFER *buf, BUFFER *
+   /* extract a regular expression if needed */
+   
+-  if (object == MT_COLOR_HEADER || object == MT_COLOR_BODY || object == MT_COLOR_INDEX)
++  if (object == MT_COLOR_HEADER || object == MT_COLOR_BODY || object == MT_COLOR_INDEX || object == MT_COLOR_INDEX_SUBJECT || object == MT_COLOR_INDEX_AUTHOR)
+   {
+     if (!MoreArgs (s))
+     {
+@@ -737,6 +765,18 @@ _mutt_parse_color (BUFFER *buf, BUFFER *
+     r = add_pattern (&ColorIndexList, buf->data, 1, fg, bg, attr, err, 1);
+     set_option (OPTFORCEREDRAWINDEX);
+   }
++  else if (object == MT_COLOR_INDEX_SUBJECT)
++  {
++    r = add_pattern (&ColorIndexSubjectList, buf->data,
++                   1, fg, bg, attr, err, 1);
++    set_option (OPTFORCEREDRAWINDEX);
++  }
++  else if (object == MT_COLOR_INDEX_AUTHOR)
++  {
++    r = add_pattern (&ColorIndexAuthorList, buf->data,
++                   1, fg, bg, attr, err, 1);
++    set_option (OPTFORCEREDRAWINDEX);
++  }
+   else if (object == MT_COLOR_QUOTED)
+   {
+     if (q_level >= ColorQuoteSize)
+@@ -762,7 +802,11 @@ _mutt_parse_color (BUFFER *buf, BUFFER *
+       ColorQuote[q_level] = fgbgattr_to_color(fg, bg, attr);
+   }
+   else
++  {
+     ColorDefs[object] = fgbgattr_to_color(fg, bg, attr);
++    if (object > MT_COLOR_INDEX_AUTHOR)
++      set_option (OPTFORCEREDRAWINDEX);
++  }
+ #ifdef HAVE_COLOR
+ # ifdef HAVE_BKGDSET
+Index: mutt/curs_lib.c
+===================================================================
+--- mutt.orig/curs_lib.c       2007-02-15 21:26:09.183466280 +0100
++++ mutt/curs_lib.c    2007-02-15 21:26:15.898445448 +0100
+@@ -648,6 +648,7 @@ void mutt_format_string (char *dest, siz
+   size_t k, k2;
+   char scratch[MB_LEN_MAX];
+   mbstate_t mbstate1, mbstate2;
++  int escaped = 0;
+   memset(&mbstate1, 0, sizeof (mbstate1));
+   memset(&mbstate2, 0, sizeof (mbstate2));
+@@ -663,7 +664,15 @@ void mutt_format_string (char *dest, siz
+       k = (k == (size_t)(-1)) ? 1 : n;
+       wc = replacement_char ();
+     }
+-    if (arboreal && wc < M_TREE_MAX)
++    if (escaped) {
++      escaped = 0;
++      w = 0;
++    }
++    else if (arboreal && wc == M_SPECIAL_INDEX) {
++      escaped = 1;
++      w = 0;
++    }
++    else if (arboreal && wc < M_TREE_MAX)
+       w = 1; /* hack */
+     else
+     {
+Index: mutt/hdrline.c
+===================================================================
+--- mutt.orig/hdrline.c        2007-02-15 21:26:09.226459744 +0100
++++ mutt/hdrline.c     2007-02-15 21:26:15.899445296 +0100
+@@ -99,6 +99,34 @@ static int first_mailing_list (char *buf
+   return 0;
+ }
++/* Takes the color to embed, the buffer to manipulate and the buffer length as
++ * arguments.
++ * Returns the number of chars written. */
++static size_t add_index_color(char *buf, size_t buflen,
++                         format_flag flags, char color)
++{
++  int len;
++
++  /* only add color markers if we are operating on main index entries. */
++  if (!(flags & M_FORMAT_INDEX))
++    return 0;
++
++  if (color == MT_COLOR_INDEX) { /* buf might be uninitialized other cases */
++    len = mutt_strlen(buf);
++    buf += len;
++    buflen -= len;
++  }
++
++  if (buflen < 2)
++    return 0;
++
++  buf[0] = M_SPECIAL_INDEX;
++  buf[1] = color;
++  buf[2] = '\0';
++
++  return 2;
++}
++
+ static void make_from (ENVELOPE *hdr, char *buf, size_t len, int do_lists)
+ {
+   int me;
+@@ -251,6 +279,7 @@ hdr_format_str (char *dest,
+ #define THREAD_NEW (threads && hdr->collapsed && hdr->num_hidden > 1 && mutt_thread_contains_unread (ctx, hdr) == 1)
+ #define THREAD_OLD (threads && hdr->collapsed && hdr->num_hidden > 1 && mutt_thread_contains_unread (ctx, hdr) == 2)
+   size_t len;
++  size_t colorlen;
+   hdr = hfi->hdr;
+   ctx = hfi->ctx;
+@@ -302,12 +331,17 @@ hdr_format_str (char *dest,
+       break;
+     
+     case 'c':
++      colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_SIZE);
+       mutt_pretty_size (buf2, sizeof (buf2), (long) hdr->content->length);
+-      mutt_format_s (dest, destlen, prefix, buf2);
++      mutt_format_s (dest+colorlen, destlen-colorlen, prefix, buf2);
++      add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
+       break;
+     case 'C':
+-      snprintf (fmt, sizeof (fmt), "%%%sd", prefix);
++      colorlen = add_index_color(fmt, sizeof(fmt), flags, MT_COLOR_INDEX_NUMBER);
++      snprintf (fmt+colorlen, sizeof(fmt)-colorlen, "%%%sd", prefix);
++      add_index_color(fmt+colorlen, sizeof(fmt)-colorlen, flags, MT_COLOR_INDEX);
++
+       snprintf (dest, destlen, fmt, hdr->msgno + 1);
+       break;
+@@ -406,7 +440,10 @@ hdr_format_str (char *dest,
+       if (do_locales)
+         setlocale (LC_TIME, "C");
+-      mutt_format_s (dest, destlen, prefix, buf2);
++      colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_DATE);
++      mutt_format_s (dest+colorlen, destlen-colorlen, prefix, buf2);
++      add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
++
+       if (len > 0 && op != 'd' && op != 'D') /* Skip ending op */
+         src = cp + 1;
+       }
+@@ -436,8 +473,10 @@ hdr_format_str (char *dest,
+     case 'F':
+       if (!optional)
+       {
++      colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_AUTHOR);
+         make_from (hdr->env, buf2, sizeof (buf2), 0);
+-      mutt_format_s (dest, destlen, prefix, buf2);
++      mutt_format_s (dest+colorlen, destlen-colorlen, prefix, buf2);
++      add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
+       }
+       else if (mutt_addr_is_user (hdr->env->from))
+         optional = 0;
+@@ -463,7 +502,9 @@ hdr_format_str (char *dest,
+       if (!optional)
+       {
+       snprintf (fmt, sizeof (fmt), "%%%sd", prefix);
+-      snprintf (dest, destlen, fmt, (int) hdr->lines);
++      colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_SIZE);
++      snprintf (dest+colorlen, destlen-colorlen, fmt, (int) hdr->lines);
++      add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
+       }
+       else if (hdr->lines <= 0)
+         optional = 0;
+@@ -472,8 +513,10 @@ hdr_format_str (char *dest,
+     case 'L':
+       if (!optional)
+       {
++      colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_AUTHOR);
+       make_from (hdr->env, buf2, sizeof (buf2), 1);
+-      mutt_format_s (dest, destlen, prefix, buf2);
++      mutt_format_s (dest+colorlen, destlen-colorlen, prefix, buf2);
++      add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
+       }
+       else if (!check_for_mailing_list (hdr->env->to, NULL, NULL, 0) &&
+              !check_for_mailing_list (hdr->env->cc, NULL, NULL, 0))
+@@ -528,10 +571,16 @@ hdr_format_str (char *dest,
+       snprintf (fmt, sizeof (fmt), "%%%sd", prefix);
+       if (!optional)
+       {
+-      if (threads && is_index && hdr->collapsed && hdr->num_hidden > 1)
+-        snprintf (dest, destlen, fmt, hdr->num_hidden);
+-      else if (is_index && threads)
+-        mutt_format_s (dest, destlen, prefix, " ");
++      colorlen = add_index_color(dest, destlen, flags,
++                                 MT_COLOR_INDEX_COLLAPSED);
++      if (threads && is_index && hdr->collapsed && hdr->num_hidden > 1) {
++        snprintf (dest+colorlen, destlen-colorlen, fmt, hdr->num_hidden);
++        add_index_color(dest, destlen-colorlen, flags, MT_COLOR_INDEX);
++      }
++      else if (is_index && threads) {
++        mutt_format_s (dest+colorlen, destlen-colorlen, prefix, " ");
++        add_index_color(dest, destlen-colorlen, flags, MT_COLOR_INDEX);
++      }
+       else
+         *dest = '\0';
+       }
+@@ -548,15 +597,23 @@ hdr_format_str (char *dest,
+       {
+       if (flags & M_FORMAT_FORCESUBJ)
+       {
+-        mutt_format_s (dest, destlen, "", NONULL (hdr->env->subject));
++        colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_SUBJECT);
++        mutt_format_s (dest+colorlen, destlen-colorlen, "",
++            NONULL (hdr->env->subject));
++        add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
++
+         snprintf (buf2, sizeof (buf2), "%s%s", hdr->tree, dest);
+         mutt_format_s_tree (dest, destlen, prefix, buf2);
+       }
+       else
+         mutt_format_s_tree (dest, destlen, prefix, hdr->tree);
+       }
+-      else
+-      mutt_format_s (dest, destlen, prefix, NONULL (hdr->env->subject));
++      else {
++      colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_SUBJECT);
++      mutt_format_s (dest+colorlen, destlen-colorlen, prefix,
++          NONULL (hdr->env->subject));
++      add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
++      }
+       break;
+     case 'S':
+@@ -652,7 +709,9 @@ hdr_format_str (char *dest,
+               hdr->tagged ? '*' :
+               (hdr->flagged ? '!' :
+                (Tochars && ((i = mutt_user_is_recipient (hdr)) < mutt_strlen (Tochars)) ? Tochars[i] : ' ')));
+-      mutt_format_s (dest, destlen, prefix, buf2);
++      colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_FLAGS);
++      mutt_format_s (dest+colorlen, destlen-colorlen, prefix, buf2);
++      add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
+       break;
+     case 'X':
+@@ -672,7 +731,9 @@ hdr_format_str (char *dest,
+        if (optional)
+        optional = hdr->env->x_label ? 1 : 0;
+-       mutt_format_s (dest, destlen, prefix, NONULL (hdr->env->x_label));
++       colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_LABEL);
++       mutt_format_s (dest+colorlen, destlen-colorlen, prefix, NONULL (hdr->env->x_label));
++       add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
+        break;
+  
+     case 'Y':
+@@ -698,10 +759,12 @@ hdr_format_str (char *dest,
+       if (optional)
+       optional = i;
++      colorlen = add_index_color(dest, destlen, flags, MT_COLOR_INDEX_LABEL);
+       if (i)
+-        mutt_format_s (dest, destlen, prefix, NONULL (hdr->env->x_label));
++        mutt_format_s (dest+colorlen, destlen-colorlen, prefix, NONULL (hdr->env->x_label));
+       else
+-        mutt_format_s (dest, destlen, prefix, "");
++        mutt_format_s (dest+colorlen, destlen-colorlen, prefix, "");
++      add_index_color(dest+colorlen, destlen-colorlen, flags, MT_COLOR_INDEX);
+       break;
+Index: mutt/menu.c
+===================================================================
+--- mutt.orig/menu.c   2007-02-15 21:26:09.270453056 +0100
++++ mutt/menu.c        2007-02-15 21:26:15.900445144 +0100
+@@ -36,7 +36,30 @@ extern int Charset_is_utf8; /* FIXME: ba
+ extern size_t UngetCount;
+-static void print_enriched_string (int attr, unsigned char *s, int do_color)
++static int get_color(int index, int type) {
++  COLOR_LINE *color;
++  HEADER *hdr = Context->hdrs[index];
++
++  switch (type) {
++    case MT_COLOR_INDEX_SUBJECT:
++      color = ColorIndexSubjectList;
++      break;
++    case MT_COLOR_INDEX_AUTHOR:
++      color = ColorIndexAuthorList;
++      break;
++    default:
++      return ColorDefs[type];
++  }
++
++  for (; color; color = color->next)
++    if (mutt_pattern_exec (color->color_pattern, M_MATCH_FULL_ADDRESS,
++      Context, hdr))
++      return color->pair;
++
++  return 0;
++}
++
++static void print_enriched_string (int index, int attr, unsigned char *s, int do_color)
+ {
+   wchar_t wc;
+   size_t k;
+@@ -133,6 +156,18 @@ static void print_enriched_string (int a
+       }
+       if (do_color) attrset(attr);
+     }
++    else if(*s == M_SPECIAL_INDEX)
++    {
++      s++;
++      if (do_color) {
++      if (*s == MT_COLOR_INDEX)
++        attrset(attr);
++      else
++        attron(get_color(index, *s));
++      }
++      s++;
++      n -= 2;
++    }
+     else if ((k = mbrtowc (&wc, (char *)s, n, &mbstate)) > 0)
+     {
+       addnstr ((char *)s, k);
+@@ -235,7 +270,7 @@ void menu_redraw_index (MUTTMENU *menu)
+         addstr ("   ");
+       }
+-        print_enriched_string (menu->color(i), (unsigned char *) buf, 1);
++        print_enriched_string (i, menu->color(i), (unsigned char *) buf, 1);
+         SETCOLOR (MT_COLOR_NORMAL);          
+       }
+       else
+@@ -249,7 +284,7 @@ void menu_redraw_index (MUTTMENU *menu)
+       }
+       CLEARLINE (i - menu->top + menu->offset);
+-      print_enriched_string (menu->color(i), (unsigned char *) buf, i != menu->current);
++      print_enriched_string (i, menu->color(i), (unsigned char *) buf, i != menu->current);
+         SETCOLOR (MT_COLOR_NORMAL);
+         BKGDSET (MT_COLOR_NORMAL);
+       }
+@@ -286,7 +321,7 @@ void menu_redraw_motion (MUTTMENU *menu)
+       menu_make_entry (buf, sizeof (buf), menu, menu->oldcurrent);
+       menu_pad_string (buf, sizeof (buf));
+       move (menu->oldcurrent + menu->offset - menu->top, 3);
+-      print_enriched_string (menu->color(menu->oldcurrent), (unsigned char *) buf, 1);
++      print_enriched_string (menu->oldcurrent, menu->color(menu->oldcurrent), (unsigned char *) buf, 1);
+       SETCOLOR (MT_COLOR_NORMAL);
+     }
+@@ -304,7 +339,7 @@ void menu_redraw_motion (MUTTMENU *menu)
+     clrtoeol ();
+     menu_make_entry (buf, sizeof (buf), menu, menu->oldcurrent);
+     menu_pad_string (buf, sizeof (buf));
+-    print_enriched_string (menu->color(menu->oldcurrent), (unsigned char *) buf, 1);
++    print_enriched_string (menu->oldcurrent, menu->color(menu->oldcurrent), (unsigned char *) buf, 1);
+     /* now draw the new one to reflect the change */
+     menu_make_entry (buf, sizeof (buf), menu, menu->current);
+@@ -313,7 +348,7 @@ void menu_redraw_motion (MUTTMENU *menu)
+     ADDCOLOR (MT_COLOR_INDICATOR);
+     BKGDSET (MT_COLOR_INDICATOR);
+     CLEARLINE (menu->current - menu->top + menu->offset);
+-    print_enriched_string (menu->color(menu->current), (unsigned char *) buf, 0);
++    print_enriched_string (menu->current, menu->color(menu->current), (unsigned char *) buf, 0);
+     SETCOLOR (MT_COLOR_NORMAL);
+     BKGDSET (MT_COLOR_NORMAL);
+   }
+@@ -339,7 +374,7 @@ void menu_redraw_current (MUTTMENU *menu
+     attrset (attr);
+     addch (' ');
+     menu_pad_string (buf, sizeof (buf));
+-    print_enriched_string (menu->color(menu->current), (unsigned char *) buf, 1);
++    print_enriched_string (menu->current, menu->color(menu->current), (unsigned char *) buf, 1);
+     SETCOLOR (MT_COLOR_NORMAL);
+   }
+   else
+@@ -348,7 +383,7 @@ void menu_redraw_current (MUTTMENU *menu
+     ADDCOLOR (MT_COLOR_INDICATOR);
+     BKGDSET (MT_COLOR_INDICATOR);
+     clrtoeol ();
+-    print_enriched_string (menu->color(menu->current), (unsigned char *) buf, 0);
++    print_enriched_string (menu->current, menu->color(menu->current), (unsigned char *) buf, 0);
+     SETCOLOR (MT_COLOR_NORMAL);
+     BKGDSET (MT_COLOR_NORMAL);
+   }
+Index: mutt/mutt_curses.h
+===================================================================
+--- mutt.orig/mutt_curses.h    2007-02-15 21:26:09.314446368 +0100
++++ mutt/mutt_curses.h 2007-02-15 21:26:15.900445144 +0100
+@@ -126,6 +126,16 @@ enum
+   MT_COLOR_BOLD,
+   MT_COLOR_UNDERLINE,
+   MT_COLOR_INDEX,
++  /* please no non-MT_COLOR_INDEX objects after this point */
++  MT_COLOR_INDEX_SUBJECT,
++  MT_COLOR_INDEX_AUTHOR,
++  /* below only index coloring stuff that doesn't have a colorline! */
++  MT_COLOR_INDEX_COLLAPSED,
++  MT_COLOR_INDEX_DATE,
++  MT_COLOR_INDEX_FLAGS,
++  MT_COLOR_INDEX_LABEL,
++  MT_COLOR_INDEX_NUMBER,
++  MT_COLOR_INDEX_SIZE,
+   MT_COLOR_MAX
+ };
+@@ -165,6 +175,8 @@ extern int ColorDefs[];
+ extern COLOR_LINE *ColorHdrList;
+ extern COLOR_LINE *ColorBodyList;
+ extern COLOR_LINE *ColorIndexList;
++extern COLOR_LINE *ColorIndexSubjectList;
++extern COLOR_LINE *ColorIndexAuthorList;
+ void ci_init_color (void);
+ void ci_start_color (void);
+Index: mutt/mutt.h
+===================================================================
+--- mutt.orig/mutt.h   2007-02-15 21:26:09.358439680 +0100
++++ mutt/mutt.h        2007-02-15 21:26:15.901444992 +0100
+@@ -176,6 +176,8 @@ typedef enum
+ #define M_TREE_MISSING                13
+ #define M_TREE_MAX            14
++#define M_SPECIAL_INDEX               M_TREE_MAX
++
+ #define M_THREAD_COLLAPSE     (1<<0)
+ #define M_THREAD_UNCOLLAPSE   (1<<1)
+ #define M_THREAD_GET_HIDDEN   (1<<2)
+Index: mutt/doc/manual.xml.head
+===================================================================
+--- mutt.orig/doc/manual.xml.head      2007-02-15 21:26:09.446426304 +0100
++++ mutt/doc/manual.xml.head   2007-02-15 21:26:15.903444688 +0100
+@@ -1837,8 +1837,8 @@ silently truncated at the screen width, 
+ <para>
+ <literallayout>
+ Usage: <literal>color</literal> <emphasis>object</emphasis> <emphasis>foreground</emphasis> <emphasis>background</emphasis> &lsqb; <emphasis>regexp</emphasis> &rsqb;
+-Usage: <literal>color</literal> index <emphasis>foreground</emphasis> <emphasis>background</emphasis> <emphasis>pattern</emphasis>
+-Usage: <literal>uncolor</literal> index <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ...  &rsqb;
++Usage: <literal>color</literal> <emphasis>index-object</emphasis> <emphasis>foreground</emphasis> <emphasis>background</emphasis> <emphasis>pattern</emphasis>
++  Usage: <literal>uncolor</literal> <emphasis>index-object</emphasis> <emphasis>pattern</emphasis> &lsqb; <emphasis>pattern</emphasis> ...  &rsqb;
+ </literallayout>
+ </para>
+@@ -1901,6 +1901,54 @@ index (match <emphasis>pattern</emphasis
+ <listitem>
+ <para>
++index_author (color of the author name in the index, uses <emphasis>pattern</emphasis>)
++</para>
++</listitem>
++<listitem>
++
++<para>
++index_collapsed (the number of messages in a collapsed thread in the index)
++</para>
++</listitem>
++<listitem>
++
++<para>
++index_date (color of the date field in the index)
++</para>
++</listitem>
++<listitem>
++
++<para>
++index_flags (color of the message flags in the index)
++</para>
++</listitem>
++<listitem>
++
++<para>
++index_label (color of the message label in the index)
++</para>
++</listitem>
++<listitem>
++
++<para>
++index_number (color of the message number in the index)
++</para>
++</listitem>
++<listitem>
++
++<para>
++index_size (color of the message size and line number in the index)
++</para>
++</listitem>
++<listitem>
++
++<para>
++index_subject (color of the subject in the index, uses <emphasis>pattern</emphasis>)
++</para>
++</listitem>
++<listitem>
++
++<para>
+ indicator (arrow or bar used to indicate the current item in a menu)
+ </para>
+ </listitem>
+--- a/PATCHES
++++ b/PATCHES
+@@ -0,0 +1 @@
++patch-1.5.13.greek0.indexcolor-3+cb
diff --git a/debian/patches/not-applied/w3mface b/debian/patches/not-applied/w3mface
new file mode 100644 (file)
index 0000000..3dda72b
--- /dev/null
@@ -0,0 +1,308 @@
+# vim:ft=diff:
+This is the xface (w3mface) patch by TAKAHASHI Tamotsu
+<ttakah@lapis.plala.or.jp>.
+
+Needs w3m-img, compface, and netpbm installed.
+
+* Homepage: http://www.df7cb.de/projects/mutt/x-face/
+
+* Changes made:
+  - Remove LIBEXECDIR definition to avoid needing rerunning automake,
+    hardcode /usr/lib/w3m/w3mimgdisplay.
+
+== END PATCH
+Index: xface/globals.h
+===================================================================
+--- xface.orig/globals.h       2007-02-15 20:28:46.961763520 +0100
++++ xface/globals.h    2007-02-15 20:28:56.069378952 +0100
+@@ -146,6 +146,11 @@ WHERE const char *ReleaseDate;
+ WHERE HASH *Groups;
++WHERE char *UncompFace;
++WHERE char *IconToPbm;
++WHERE char *W3mImgDisplay;
++WHERE char *W3mOpt;
++
+ WHERE LIST *AutoViewList INITVAL(0);
+ WHERE LIST *AlternativeOrderList INITVAL(0);
+ WHERE LIST *AttachAllow INITVAL(0);
+Index: xface/hcache.c
+===================================================================
+--- xface.orig/hcache.c        2007-02-15 20:28:46.968762456 +0100
++++ xface/hcache.c     2007-02-15 20:28:56.069378952 +0100
+@@ -401,6 +401,7 @@ dump_envelope(ENVELOPE * e, unsigned cha
+   d = dump_char(e->message_id, d, off);
+   d = dump_char(e->supersedes, d, off);
+   d = dump_char(e->date, d, off);
++  d = dump_char(e->x_face, d, off);
+   d = dump_char(e->x_label, d, off);
+   d = dump_buffer(e->spam, d, off);
+@@ -438,6 +439,7 @@ restore_envelope(ENVELOPE * e, const uns
+   restore_char(&e->message_id, d, off);
+   restore_char(&e->supersedes, d, off);
+   restore_char(&e->date, d, off);
++  restore_char(&e->x_face, d, off);
+   restore_char(&e->x_label, d, off);
+   restore_buffer(&e->spam, d, off);
+Index: xface/init.h
+===================================================================
+--- xface.orig/init.h  2007-02-15 20:28:46.976761240 +0100
++++ xface/init.h       2007-02-15 20:29:15.382442920 +0100
+@@ -2941,6 +2941,31 @@ struct option_t MuttVars[] = {
+   ** Controls whether mutt writes out the Bcc header when preparing
+   ** messages to be sent.  Exim users may wish to unset this.
+   */
++  { "xface",          DT_BOOL, R_NONE, OPTXFACE, 0 },
++  /*
++  ** .pp
++  ** Controls whether mutt displays X-Faces.
++  */
++  { "xface_icontopbm",        DT_PATH, R_NONE, UL &IconToPbm, UL "icontopbm" },
++  /*
++  ** .pp
++  ** Specify the path to ``icontopbm'' program.
++  */
++  { "xface_uncompface",       DT_PATH, R_NONE, UL &UncompFace, UL "uncompface" },
++  /*
++  ** .pp
++  ** Specify the path to ``uncompface'' program.
++  */
++  { "xface_w3mimgdisplay",DT_PATH, R_NONE, UL &W3mImgDisplay, UL "/usr/lib/w3m/w3mimgdisplay" },
++  /*
++  ** .pp
++  ** Specify the path to ``w3mimgdisplay'' program.
++  */
++  { "xface_w3mimgdisplay_options",DT_STR, R_NONE, UL &W3mOpt, UL "-x 5 -y 5" },
++  /*
++  ** .pp
++  ** Specify options for ``w3mimgdisplay'' program.
++  */
+   /*--*/
+   { NULL }
+ };
+Index: xface/mutt.h
+===================================================================
+--- xface.orig/mutt.h  2007-02-15 20:28:46.983760176 +0100
++++ xface/mutt.h       2007-02-15 20:28:56.071378648 +0100
+@@ -450,6 +450,7 @@ enum
+   OPTWRAP,
+   OPTWRAPSEARCH,
+   OPTWRITEBCC,                /* write out a bcc header? */
++  OPTXFACE,
+   OPTXMAILER,
+   OPTCRYPTUSEGPGME,
+@@ -587,6 +588,7 @@ typedef struct envelope
+   char *message_id;
+   char *supersedes;
+   char *date;
++  char *x_face;                       /* X-Face header content */
+   char *x_label;
+   BUFFER *spam;
+   LIST *references;           /* message references (in reverse order) */
+Index: xface/muttlib.c
+===================================================================
+--- xface.orig/muttlib.c       2007-02-15 20:28:46.991758960 +0100
++++ xface/muttlib.c    2007-02-15 20:28:56.072378496 +0100
+@@ -670,6 +670,7 @@ void mutt_free_envelope (ENVELOPE **p)
+   FREE (&(*p)->message_id);
+   FREE (&(*p)->supersedes);
+   FREE (&(*p)->date);
++  FREE (&(*p)->x_face);
+   FREE (&(*p)->x_label);
+   mutt_buffer_free (&(*p)->spam);
+Index: xface/pager.c
+===================================================================
+--- xface.orig/pager.c 2007-02-15 20:28:47.000757592 +0100
++++ xface/pager.c      2007-02-15 20:28:56.072378496 +0100
+@@ -1479,6 +1479,89 @@ upNLines (int nlines, struct line_t *inf
+   return cur;
+ }
++static int
++display_xface (HEADER *hdr)
++{
++  char facefile[_POSIX_PATH_MAX + 1];
++  char command[LONG_STRING];
++  char *facedata;
++  FILE *fpin = NULL, *fpout = NULL;
++  pid_t pid;
++
++  /* everything ready? */
++  if (!UncompFace     || !(*UncompFace) ||
++      !IconToPbm      || !(*IconToPbm) ||
++      !W3mImgDisplay  || !(*W3mImgDisplay) ||
++      !hdr || !hdr->env || !hdr->env->x_face)
++    return 0;
++
++  /* test w3mimgdisplay */
++  snprintf (command, sizeof (command), "%s -test >/dev/null", W3mImgDisplay);
++  if (mutt_system (command) == -1)
++    return 0;
++
++  /* prepare facedata */
++  facedata = hdr->env->x_face;
++
++  /* convert facedata to imagedata
++   * and store imagedata in facefile
++   */
++  mutt_mktemp (facefile);
++  if ((fpout = safe_fopen (facefile, "w")) == NULL)
++  {
++    mutt_error (_("Could not create temporary file!"));
++    return 0;
++  }
++  snprintf (command, sizeof (command),
++          "( echo '/* Width=48, Height=48 */'; %s ) | %s",
++          UncompFace, IconToPbm);
++  pid = mutt_create_filter_fd
++        (command, &fpin, NULL, NULL, -1, fileno (fpout), -1);
++  if (pid < 0)
++  {
++    mutt_perror (_("face filter"));
++    safe_fclose (&fpout);
++    mutt_unlink (facefile);
++    return 0;
++  }
++  /* pass facedata to converters */
++  fputs (facedata, fpin);
++  if (safe_fclose (&fpin) != 0 && errno != EPIPE)
++  {
++    if (fpout != NULL)
++    {
++      mutt_wait_filter (pid);
++      safe_fclose (&fpout);
++    }
++    mutt_unlink (facefile);
++    return 0;
++  }
++  if (fpout != NULL)
++    mutt_wait_filter (pid);
++  safe_fclose (&fpout);
++
++  /*
++   * w3mimgdisplay
++   */
++  snprintf (command, sizeof (command),
++          "%s %s", W3mImgDisplay, NONULL (W3mOpt));
++  pid = mutt_create_filter_fd
++        (command, &fpin, NULL, NULL, -1, -1, -1);
++  if (pid < 0)
++  {
++    mutt_perror ("w3mdisp");
++    mutt_unlink (facefile);
++    return 0;
++  }
++  /* pass facefile to w3mimgdisplay */
++  fprintf (fpin, "2;3;\n0;1;0;0;48;48;0;0;48;48;%s\n4;\n3;\n", facefile);
++  if (safe_fclose (&fpin) != 0 && errno != EPIPE)
++    mutt_perror ("w3mdisp");
++  mutt_wait_filter (pid);
++  mutt_unlink (facefile);
++  return 0;
++}
++
+ static struct mapping_t PagerHelp[] = {
+   { N_("Exit"),       OP_EXIT },
+   { N_("PrevPg"), OP_PREV_PAGE },
+@@ -1514,6 +1597,7 @@ mutt_pager (const char *banner, const ch
+   int lines = 0, curline = 0, topline = 0, oldtopline = 0, err, first = 1;
+   int r = -1;
+   int redraw = REDRAW_FULL;
++  int xface = 0;
+   FILE *fp = NULL;
+   LOFF_T last_pos = 0, last_offset = 0;
+   int old_smart_wrap, old_markers;
+@@ -1593,6 +1677,8 @@ mutt_pager (const char *banner, const ch
+     
+     if (redraw & REDRAW_FULL)
+     {
++      xface = 1; /* display xface later */
++
+       SETCOLOR (MT_COLOR_NORMAL);
+       /* clear() doesn't optimize screen redraws */
+       move (0, 0);
+@@ -1794,6 +1880,11 @@ mutt_pager (const char *banner, const ch
+     } else move (statusoffset, COLS-1);
+     mutt_refresh ();
++    /* X-Face */
++    if (option (OPTXFACE) && xface && IsHeader (extra))
++      display_xface (extra->hdr);
++    xface = 0;
++
+     if (IsHeader (extra) && OldHdr == extra->hdr && TopLine != topline
+         && lineInfo[curline].offset < sb.st_size-1)
+     {
+Index: xface/parse.c
+===================================================================
+--- xface.orig/parse.c 2007-02-15 20:28:47.007756528 +0100
++++ xface/parse.c      2007-02-15 20:28:56.073378344 +0100
+@@ -43,6 +43,7 @@ char *mutt_read_rfc822_line (FILE *f, ch
+   char *buf = line;
+   char ch;
+   size_t offset = 0;
++  int xface = 0;
+   FOREVER
+   {
+@@ -53,6 +54,9 @@ char *mutt_read_rfc822_line (FILE *f, ch
+       return (line);
+     }
++    if (ascii_strcasecmp (buf, "x-face:") == 0)
++      xface = 1;
++
+     buf += strlen (buf) - 1;
+     if (*buf == '\n')
+     {
+@@ -71,9 +75,12 @@ char *mutt_read_rfc822_line (FILE *f, ch
+       /* eat tabs and spaces from the beginning of the continuation line */
+       while ((ch = fgetc (f)) == ' ' || ch == '\t')
+       ;
+-      ungetc (ch, f);
+-      *++buf = ' '; /* string is still terminated because we removed
+-                     at least one whitespace char above */
++      if (!xface)
++      {
++      ungetc (ch, f);
++      *++buf = ' '; /* string is still terminated because we removed
++                       at least one whitespace char above */
++      }
+     }
+     buf++;
+@@ -1244,6 +1251,11 @@ int mutt_parse_rfc822_line (ENVELOPE *e,
+       e->x_label = safe_strdup(p);
+       matched = 1;
+     }
++    else if (ascii_strcasecmp (line+1, "-face") == 0)
++    {
++      e->x_face = safe_strdup (p);
++      matched = 1;
++    }
+     
+     default:
+     break;
+Index: xface/sendlib.c
+===================================================================
+--- xface.orig/sendlib.c       2007-02-15 20:28:47.017755008 +0100
++++ xface/sendlib.c    2007-02-15 20:28:56.074378192 +0100
+@@ -1829,6 +1829,9 @@ int mutt_write_rfc822_header (FILE *fp, 
+     }
+   }
++  if (env->x_face)
++    fprintf (fp, "X-Face: %s\n", env->x_face);
++
+   if (mode == 0 && !privacy && option (OPTXMAILER) && !has_agent)
+   {
+     /* Add a vanity header */
+--- a/PATCHES
++++ b/PATCHES
+@@ -0,0 +1 @@
++patch-1.5.13.tamo.w3mface.2
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..404ac09
--- /dev/null
@@ -0,0 +1,84 @@
+# build system patches
+misc/am-maintainer-mode
+misc/hg.pmdef.debugtime
+debian-specific/build_doc_adjustments.diff 
+
+# features
+features/ifdef
+features/xtitles
+features/trash-folder
+features/purge-message
+features/imap_fast_trash
+features/sensible_browser_position
+features-old/patch-1.5.4.vk.pgp_verbose_mime
+features/compressed-folders
+features/compressed-folders.debian
+
+# Debian config
+debian-specific/Muttrc
+debian-specific/Md.etc_mailname_gethostbyname.diff 
+debian-specific/use_usr_bin_editor.diff 
+debian-specific/correct_docdir_in_man_page.diff 
+debian-specific/dont_document_not_present_features.diff 
+debian-specific/document_debian_defaults
+debian-specific/assumed_charset-compat
+debian-specific/467432-write_bcc.patch
+misc/define-pgp_getkeys_command.diff 
+misc/gpg.rc-paths
+misc/smime.rc
+
+# patches integrated from upstream mercurial
+# drop them with a new upstream release
+upstream/533209-mutt_perror.patch
+upstream/533459-unmailboxes.patch
+upstream/533439-mbox-time.patch
+upstream/531430-imapuser.patch
+upstream/534543-imap-port.patch
+upstream/538128-mh-folder-access.patch
+upstream/537818-emptycharset.patch
+upstream/535096-pop-port.patch
+upstream/542910-search-segfault.patch
+upstream/533370-pgp-inline.patch
+upstream/533520-signature-highlight.patch
+upstream/393926-internal-viewer.patch
+upstream/543467-thread-segfault.patch
+upstream/544180-italian-yesorno.patch
+upstream/542817-smimekeys-tmpdir.patch
+upstream/544794-smtp-batch.patch
+upstream/537694-segv-imap-headers.patch
+upstream/548577-gpgme-1.2.patch
+upstream/548494-swedish-intl.patch
+upstream/553321-ansi-escape-segfault.patch
+upstream/553238-german-intl.patch
+upstream/557395-muttrc-crypto.patch
+upstream/545316-header-color.patch
+upstream/568295-references.patch
+upstream/547980-smime_keys-chaining.patch
+upstream/528233-readonly-open.patch
+upstream/228671-pipe-mime.patch
+upstream/383769-score-match.patch
+upstream/547739-manual-typos.patch
+upstream/311296-rand-mktemp.patch
+upstream/573823-imap_internal_date
+upstream/542344-dont_fold_From_
+
+upstream/path_max
+misc/hyphen-as-minus.patch
+#misc/manpage-typos.patch
+misc/smime_keys-manpage.patch
+
+mutt.org
+# extra patches for mutt-patched
+mutt-patched/sidebar
+mutt-patched/sidebar-dotted
+mutt-patched/sidebar-sorted
+
+# not applying cleanly at the moment
+#mutt-patched/nntp
+
+# unapplied patches for custom packages
+# not-applied/chdir
+# not-applied/indexcolor
+# not-applied/w3mface
+# unapplied, not stable at the moment
+#mutt-patched/sidebar-newonly
diff --git a/debian/patches/upstream/228671-pipe-mime.patch b/debian/patches/upstream/228671-pipe-mime.patch
new file mode 100644 (file)
index 0000000..f17b147
--- /dev/null
@@ -0,0 +1,36 @@
+Don't draw imap fetch progress if we aren't in visual mode.
+Drawing progress leaves terminal in confusing state when piping a message
+from pager to less(1). See http://bugs.mutt.org/1771
+
+Updated in #569279.
+
+--- a/imap/message.c
++++ b/imap/message.c
+@@ -392,7 +392,7 @@ int imap_fetch_message (MESSAGE *msg, CO
+   char path[_POSIX_PATH_MAX];
+   char *pc;
+   long bytes;
+-  progress_t progressbar;
++  progress_t progressbar, *pbar;
+   int uid;
+   int cacheno;
+   IMAP_CACHE *cache;
+@@ -489,9 +489,15 @@ int imap_fetch_message (MESSAGE *msg, CO
+           imap_error ("imap_fetch_message()", buf);
+           goto bail;
+         }
+-        mutt_progress_init (&progressbar, _("Fetching message..."),
+-                            M_PROGRESS_SIZE, NetInc, bytes);
+-        if (imap_read_literal (msg->fp, idata, bytes, &progressbar) < 0)
++        if (!isendwin())
++        {
++          mutt_progress_init (&progressbar, _("Fetching message..."),
++                            M_PROGRESS_SIZE, NetInc, bytes);
++          pbar = &progressbar;
++        }
++        else
++          pbar = NULL;
++        if (imap_read_literal (msg->fp, idata, bytes, pbar) < 0)
+           goto bail;
+         /* pick up trailing line */
+         if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE)
diff --git a/debian/patches/upstream/311296-rand-mktemp.patch b/debian/patches/upstream/311296-rand-mktemp.patch
new file mode 100644 (file)
index 0000000..e65b879
--- /dev/null
@@ -0,0 +1,19 @@
+More random file creation in /tmp to prevent DOS, see CVE CAN-2005-2351 and
+upstream http://bugs.mutt.org/3158
+
+--- a/muttlib.c
++++ b/muttlib.c
+@@ -748,7 +748,12 @@
+ void _mutt_mktemp (char *s, const char *src, int line)
+ {
+-  snprintf (s, _POSIX_PATH_MAX, "%s/mutt-%s-%d-%d-%d", NONULL (Tempdir), NONULL(Hostname), (int) getuid(), (int) getpid (), Counter++);
++  long sek;
++
++  time(&sek);
++  srand(sek);
++  snprintf (s, _POSIX_PATH_MAX, "%s/mutt-%s-%d-%d-%d%x%x", NONULL (Tempdir), NONULL(Hostname), (int) getuid(), (int) getpid (),
++            Counter++, (unsigned int) rand(), (unsigned int) rand());
+   dprint (3, (debugfile, "%s:%d: mutt_mktemp returns \"%s\".\n", src, line, s));
+   unlink (s);
+ }
diff --git a/debian/patches/upstream/350957-postponed-to-bcc.patch b/debian/patches/upstream/350957-postponed-to-bcc.patch
new file mode 100644 (file)
index 0000000..8cf8be6
--- /dev/null
@@ -0,0 +1,15 @@
+For %F, display Bcc recipient if no other recipients found. 
+Closes http://bugs.mutt.org/3157
+See also http://bugs.debian.org/350957
+
+--- a/hdrline.c
++++ b/hdrline.c
+@@ -121,6 +121,8 @@
+     snprintf (buf, len, "To %s", mutt_get_name (hdr->to));
+   else if (me && hdr->cc)
+     snprintf (buf, len, "Cc %s", mutt_get_name (hdr->cc));
++  else if (me && hdr->bcc)
++    snprintf (buf, len, "Bcc %s", mutt_get_name (hdr->bcc));
+   else if (hdr->from)
+     strfcpy (buf, mutt_get_name (hdr->from), len);
+   else
diff --git a/debian/patches/upstream/375530-index-weirdness.patch b/debian/patches/upstream/375530-index-weirdness.patch
new file mode 100644 (file)
index 0000000..f3a5205
--- /dev/null
@@ -0,0 +1,34 @@
+Actually reopen mbox/mmdf files in case we find modifications. Closes 
+http://bugs.mutt.org/2725.
+
+Since the file is changed while we have it open in ctx->fp, we likely
+get wrong information when parsing the mailbox. Now we explicitely close
+and (re)open it.
+
+See http://bugs.debian.org/375530 for more info
+
+--- a/mbox.c
++++ b/mbox.c
+@@ -1119,17 +1119,13 @@
+   {
+     case M_MBOX:
+     case M_MMDF:
+-      if (fseek (ctx->fp, 0, SEEK_SET) != 0)
+-      {
+-        dprint (1, (debugfile, "mutt_reopen_mailbox: fseek() failed\n"));
++      cmp_headers = mbox_strict_cmp_headers;
++      safe_fclose (&ctx->fp);
++      if (!(ctx->fp = safe_fopen (ctx->path, "r")))
+         rc = -1;
+-      } 
+-      else 
+-      {
+-        cmp_headers = mbox_strict_cmp_headers;
++      else
+         rc = ((ctx->magic == M_MBOX) ? mbox_parse_mailbox
+-                                   : mmdf_parse_mailbox) (ctx);
+-      }
++                                  : mmdf_parse_mailbox) (ctx);
+       break;
+     default:
diff --git a/debian/patches/upstream/383769-score-match.patch b/debian/patches/upstream/383769-score-match.patch
new file mode 100644 (file)
index 0000000..777ac0d
--- /dev/null
@@ -0,0 +1,14 @@
+better matching for ~f, same as mutt-ng did, see upstream
+http://bugs.mutt.org/2179
+
+--- a/score.c
++++ b/score.c
+@@ -133,7 +133,7 @@
+   hdr->score = 0; /* in case of re-scoring */
+   for (tmp = Score; tmp; tmp = tmp->next)
+   {
+-    if (mutt_pattern_exec (tmp->pat, 0, NULL, hdr) > 0)
++    if (mutt_pattern_exec (tmp->pat, M_MATCH_FULL_ADDRESS, NULL, hdr) > 0)
+     {
+       if (tmp->exact || tmp->val == 9999 || tmp->val == -9999)
+       {
diff --git a/debian/patches/upstream/393926-internal-viewer.patch b/debian/patches/upstream/393926-internal-viewer.patch
new file mode 100644 (file)
index 0000000..f97f42a
--- /dev/null
@@ -0,0 +1,21 @@
+Display text/x-diff with the internal viewer, see upstream bug
+http://bugs.mutt.org/3246
+
+--- a/muttlib.c
++++ b/muttlib.c
+@@ -622,11 +622,11 @@
+   switch (m->type)
+   {
+     case TYPETEXT:
+-
+       if (!ascii_strcasecmp ("plain", m->subtype) ||
+-        !ascii_strcasecmp ("rfc822-headers", m->subtype) ||
+-        !ascii_strcasecmp ("enriched", m->subtype))
+-      return 0;
++         !ascii_strcasecmp ("rfc822-headers", m->subtype) ||
++         !ascii_strcasecmp ("enriched", m->subtype) ||
++         !ascii_strcasecmp ("x-diff", m->subtype))
++       return 0;
+       break;
+     case TYPEAPPLICATION:
diff --git a/debian/patches/upstream/493719-segfault-imap-close.patch b/debian/patches/upstream/493719-segfault-imap-close.patch
new file mode 100644 (file)
index 0000000..ed6671f
--- /dev/null
@@ -0,0 +1,20 @@
+IMAP: only close socket when not already disconnected.
+closes http://bugs.mutt.org/3161 and
+http://bugs.debian.org/493719
+
+--- a/imap/imap.c
++++ b/imap/imap.c
+@@ -488,8 +488,11 @@
+ void imap_close_connection(IMAP_DATA* idata)
+ {
+-  mutt_socket_close (idata->conn);
+-  idata->state = IMAP_DISCONNECTED;
++  if (idata->state != IMAP_DISCONNECTED)
++  {
++    mutt_socket_close (idata->conn);
++    idata->state = IMAP_DISCONNECTED;
++  }
+   idata->seqno = idata->nextcmd = idata->lastcmd = idata->status = 0;
+   memset (idata->cmds, 0, sizeof (IMAP_COMMAND) * idata->cmdslots);
+ }
diff --git a/debian/patches/upstream/500016-temp-cache-fix.patch b/debian/patches/upstream/500016-temp-cache-fix.patch
new file mode 100644 (file)
index 0000000..486f74e
--- /dev/null
@@ -0,0 +1,29 @@
+message cache partially invalid after network problem
+fixed by http://dev.mutt.org/trac/ticket/3163
+changeset http://dev.mutt.org/trac/changeset/da94a92c3ba0
+resolves http://bugs.debian.org/500016
+
+--- mutt-1.5.19/bcache.c       2009-01-05 19:20:53.000000000 +0000
++++ mutt-7ddf1d1cc490/bcache.c 2009-01-27 20:58:15.000000000 +0000
+@@ -136,6 +136,13 @@
+   snprintf (path, sizeof (path), "%s%s%s", bcache->path, id,
+             tmp ? ".tmp" : "");
++  if ((fp = safe_fopen (path, "w+")))
++    goto out;
++
++  if (errno == EEXIST)
++    /* clean up leftover tmp file */
++    mutt_unlink (path);
++
+   s = strchr (path + 1, '/');
+   while (!(fp = safe_fopen (path, "w+")) && errno == ENOENT && s)
+   {
+@@ -147,6 +154,7 @@
+     s = strchr (s + 1, '/');
+   }
++  out:
+   dprint (3, (debugfile, "bcache: put: '%s'\n", path));
+   return fp;
diff --git a/debian/patches/upstream/502628-attach_charset-doc.patch b/debian/patches/upstream/502628-attach_charset-doc.patch
new file mode 100644 (file)
index 0000000..cffdbbe
--- /dev/null
@@ -0,0 +1,17 @@
+clarify what attach_charset does, see http://bugs.mutt.org/3165
+and http://bugs.debian.org/502628
+
+--- a/init.h
++++ b/init.h
+@@ -197,7 +197,10 @@
+   /*
+   ** .pp
+   ** This variable is a colon-separated list of character encoding
+-  ** schemes for text file attachments.
++  ** schemes for text file attachments. Mutt uses this setting to guess
++  ** which encoding files being attached are encoded in to convert them to
++  ** a proper character set given in $$send_charset.
++  ** .pp
+   ** If \fIunset\fP, the value of $$charset will be used instead.
+   ** For example, the following configuration would work for Japanese
+   ** text handling:
diff --git a/debian/patches/upstream/504530-stunnel-account_hook-doc.patch b/debian/patches/upstream/504530-stunnel-account_hook-doc.patch
new file mode 100644 (file)
index 0000000..7fea22f
--- /dev/null
@@ -0,0 +1,16 @@
+Mention account-hook in the docs for $tunnel, see http://bugs.mutt.org/3237
+and http://bugs.debian.org/504530
+
+--- a/init.h
++++ b/init.h
+@@ -2410,6 +2410,10 @@
+   ** .pp
+   ** Note: For this example to work, you must be able to log in to the
+   ** remote machine without having to enter a password.
++  ** .pp
++  ** When set, Mutt uses the tunnel for all remote connections.
++  ** Please see ``$account-hook'' in the manual for how to use different
++  ** tunnel commands per connection.
+   */
+ #endif /* USE_SOCKET */
+   { "print",          DT_QUAD, R_NONE, OPT_PRINT, M_ASKNO },
diff --git a/debian/patches/upstream/508988-inode-sort.patch b/debian/patches/upstream/508988-inode-sort.patch
new file mode 100644 (file)
index 0000000..64192ad
--- /dev/null
@@ -0,0 +1,41 @@
+fixed by http://dev.mutt.org/trac/ticket/3163
+changeset http://dev.mutt.org/trac/changeset/eb918af802ec
+resolves http://bugs.debian.org/508988
+
+This commit introduces an unconditional inode-sort to fix the slowness with big
+maildirs
+
+--- mutt-1.5.19/mh.c   2009-01-05 19:20:53.000000000 +0000
++++ mutt-7ddf1d1cc490/mh.c     2009-01-27 20:58:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 1996-2002,2007 Michael R. Elkins <me@mutt.org>
++ * Copyright (C) 1996-2002,2007,2009 Michael R. Elkins <me@mutt.org>
+  * Copyright (C) 1999-2005 Thomas Roessler <roessler@does-not-exist.org>
+  * 
+  *     This program is free software; you can redistribute it and/or modify
+@@ -1027,13 +1027,14 @@
+     if (!ctx->quiet && progress)
+       mutt_progress_update (progress, count, -1);
++    DO_SORT();
++
+     snprintf (fn, sizeof (fn), "%s/%s", ctx->path, p->h->path);
+ #if USE_HCACHE
+     if (option(OPTHCACHEVERIFY))
+     {
+-      DO_SORT();
+-      ret = stat(fn, &lastchanged);
++       ret = stat(fn, &lastchanged);
+     }
+     else
+     {
+@@ -1057,7 +1058,6 @@
+     {
+ #endif /* USE_HCACHE */
+-    DO_SORT();
+     if (maildir_parse_message (ctx->magic, fn, p->h->old, p->h))
+     {
+       p->header_parsed = 1;
diff --git a/debian/patches/upstream/514960-certificate-insecure-algorithm.patch b/debian/patches/upstream/514960-certificate-insecure-algorithm.patch
new file mode 100644 (file)
index 0000000..0aa4096
--- /dev/null
@@ -0,0 +1,22 @@
+The new version of gnutls introduced this new option which mutt did not 
+know about, if the cert is signed with an insecure algorithm (md5) it will
+set a particular bit; if the cert is in the cache of the user we will
+unset all bits so this has to be unset as well
+See http://bugs.mutt.org/3229 and http://bugs.debian.org/514960
+
+--- a/mutt_ssl_gnutls.c
++++ b/mutt_ssl_gnutls.c
+@@ -614,6 +614,13 @@
+        in our cache. */
+       certstat ^= GNUTLS_CERT_SIGNER_NOT_CA;
+     }
++
++    if (certstat & GNUTLS_CERT_INSECURE_ALGORITHM)
++    {
++      /* if the certificate is in the cache the user is happy with
++         using an insecure algorithm */
++      certstat ^= GNUTLS_CERT_INSECURE_ALGORITHM;
++    }
+   }
+   if (certstat & GNUTLS_CERT_REVOKED)
diff --git a/debian/patches/upstream/524420-segfault-reconnect-sasl.patch b/debian/patches/upstream/524420-segfault-reconnect-sasl.patch
new file mode 100644 (file)
index 0000000..60e158b
--- /dev/null
@@ -0,0 +1,14 @@
+Mutt crashes when connection that used SASL is closed 
+and reopened again (e.g. network problem)
+see http://bugs.debian.org/524420 and http://bugs.mutt.org/3206
+
+--- a/mutt_sasl.c
++++ b/mutt_sasl.c
+@@ -481,6 +481,7 @@
+   conn->conn_close = sasldata->msasl_close;
+   conn->conn_read = sasldata->msasl_read;
+   conn->conn_write = sasldata->msasl_write;
++  conn->conn_poll = sasldata->msasl_poll;
+   /* release sasl resources */
+   sasl_dispose (&sasldata->saslconn);
diff --git a/debian/patches/upstream/528233-readonly-open.patch b/debian/patches/upstream/528233-readonly-open.patch
new file mode 100644 (file)
index 0000000..049fc09
--- /dev/null
@@ -0,0 +1,28 @@
+Open attachments as read-only so the editor won't be able to modify it;
+otherwise the user can believe that he/she can edit it and risk to lose his/her
+work (see upstream bug http://bugs.mutt.org/3261)
+
+#528233, updated in #572203
+
+--- a/attach.c
++++ b/attach.c
+@@ -492,6 +492,7 @@ int mutt_view_attachment (FILE *fp, BODY
+       FREE (&fname);
+       if (mutt_save_attachment (fp, a, tempfile, 0, NULL) == -1)
+       goto return_error;
++      chmod (tempfile, 0400);
+     }
+     use_pipe = rfc1524_expand_command (a, tempfile, type,
+@@ -633,7 +634,11 @@ int mutt_view_attachment (FILE *fp, BODY
+   if (entry)
+     rfc1524_free_entry (&entry);
+   if (fp && tempfile[0])
++  {
++    /* Restore write permission so mutt_unlink can open the file for writing */
++    chmod(tempfile, 0600);
+     mutt_unlink (tempfile);
++  }
+   else if (unlink_tempfile)
+     unlink(tempfile);
diff --git a/debian/patches/upstream/530661-mandatory-doubledash.patch b/debian/patches/upstream/530661-mandatory-doubledash.patch
new file mode 100644 (file)
index 0000000..802b82e
--- /dev/null
@@ -0,0 +1,54 @@
+This patch is taken up from upstream http://bugs.mutt.org/3235
+The new way getopt is called broke the possibility to use
+"mutt -a attachfile recipient"
+now -- is mandatory to separate file and recipient, even if only
+a single file is attached, this patch fixes the documentation
+to make -- mandatory
+
+--- a/doc/mutt.man
++++ b/doc/mutt.man
+@@ -82,8 +82,10 @@
+ An expanded version of the given alias is passed to stdout.
+ .IP "-a \fIfile\fP [...]"
+ Attach a file to your message using MIME.
+-To attach multiple files, separating filenames and recipient addresses with
+-"\-\-" is mandatory, e.g. \fBmutt \-a img.jpg *.png \-\- addr1 addr2\fP.
++When attaching single or multiple files, separating filenames and recipient addresses with
++"\-\-" is mandatory, e.g. \fBmutt \-a image.jpg \-\- addr1\fP or
++\fBmutt \-a img.jpg *.png \-\- addr1 addr2\fP.
++The \-a option must be placed at the end of command line options.
+ .IP "-b \fIaddress\fP"
+ Specify a blind-carbon-copy (BCC) recipient
+ .IP "-c \fIaddress\fP"
+--- a/doc/manual.xml.head
++++ b/doc/manual.xml.head
+@@ -6995,9 +6995,6 @@
+ <arg choice="opt"><option>-F</option>
+ <replaceable>muttrc</replaceable>
+ </arg>
+-<arg choice="opt"><option>-a</option>
+-<replaceable>file</replaceable>
+-</arg>
+ <arg choice="opt"><option>-c</option>
+ <replaceable>address</replaceable>
+ </arg>
+@@ -7008,15 +7005,12 @@
+ <replaceable>subject</replaceable>
+ </arg>
+ <arg choice="opt">
+-<arg choice="opt" rep="repeat">
++<option>-a</option>
+ <replaceable>file</replaceable>
++<arg choice="opt" rep="repeat"/>
++--
+ </arg>
+-<arg choice="plain">--</arg>
+-</arg>
+-<arg choice="plain">
+-<replaceable>address</replaceable>
+-</arg>
+-<arg choice="opt" rep="repeat">
++<arg choice="plain" rep="repeat">
+ <replaceable>address</replaceable>
+ </arg>
+ </cmdsynopsis>
diff --git a/debian/patches/upstream/530887-dovecot-imap.patch b/debian/patches/upstream/530887-dovecot-imap.patch
new file mode 100644 (file)
index 0000000..793f049
--- /dev/null
@@ -0,0 +1,39 @@
+This patch fixes the following two bugs:
+*) http://bugs.debian.org/530887 
+   mutt: fails to move read messages even with move=yes
+
+*) http://bugs.debian.org/530671
+   mutt: does not want to open dot subdirs via imap anymore
+
+the second one happens with dovecot which uses / as a delimeter for mailbox,
+so without this patch is not possible to access subdirs on imap accounts
+hosted on dovecot
+
+--- a/imap/util.c
++++ b/imap/util.c
+@@ -393,19 +393,19 @@
+     size_t plen)
+ {
+   int i = 0;
+-  char delim;
++  char delim = '\0';
+   
+   if (idata)
+     delim = idata->delim;
+-  else if (ImapDelimChars && ImapDelimChars[0])
+-    delim = ImapDelimChars[0];
+-  else
+-    delim = '/';
+   while (mailbox && *mailbox && i < plen - 1)
+   {
+-    if (strchr(ImapDelimChars, *mailbox) || *mailbox == delim)
++    if ((ImapDelimChars && strchr(ImapDelimChars, *mailbox))
++        || *mailbox == delim)
+     {
++      /* use connection delimiter if known. Otherwise use user delimiter */
++      if (!idata)
++        delim = *mailbox;
+       while (*mailbox &&
+            (strchr(ImapDelimChars, *mailbox) || *mailbox == delim))
+         mailbox++;
diff --git a/debian/patches/upstream/531430-imapuser.patch b/debian/patches/upstream/531430-imapuser.patch
new file mode 100644 (file)
index 0000000..a32939a
--- /dev/null
@@ -0,0 +1,14 @@
+fixes a problem where the imap->login has the precedence so the user
+is asked with wrong informaton, see upstream #3240
+
+--- a/account.c
++++ b/account.c
+@@ -218,7 +218,7 @@
+   else
+   {
+     snprintf (prompt, sizeof (prompt), _("Password for %s@%s: "),
+-              account->flags & M_ACCT_LOGIN ? account->login : account->user,
++              ((account->flags & M_ACCT_LOGIN) && !(account->user)) ? account->login : account->user,
+               account->host);
+     account->pass[0] = '\0';
+     if (mutt_get_password (prompt, account->pass, sizeof (account->pass)))
diff --git a/debian/patches/upstream/533209-mutt_perror.patch b/debian/patches/upstream/533209-mutt_perror.patch
new file mode 100644 (file)
index 0000000..ef03769
--- /dev/null
@@ -0,0 +1,13 @@
+mutt is calling mutt_perror twice, so the error messages are
+sometimes confused, see upstream #3268
+
+--- a/mx.c
++++ b/mx.c
+@@ -415,7 +415,6 @@
+   {
+     dprint (1, (debugfile, "mx_get_magic(): unable to open file %s for reading.\n",
+               path));
+-    mutt_perror (path);
+     return (-1);
+   }
diff --git a/debian/patches/upstream/533370-pgp-inline.patch b/debian/patches/upstream/533370-pgp-inline.patch
new file mode 100644 (file)
index 0000000..da37b35
--- /dev/null
@@ -0,0 +1,41 @@
+inline pgp messages were displayed incorrectly when pgp_auto_decode=yes, see
+upstream http://bugs.mutt.org/3269
+
+--- a/crypt-gpgme.c
++++ b/crypt-gpgme.c
+@@ -2371,16 +2371,14 @@
+               safe_fclose (&pgpout);
+             }
+         }
+-#if 0
+       else
+       {
+-        /* why would we want to display this at all? */
++        /* A traditional PGP part may mix signed and unsigned content */
+         /* XXX - we may wish to recode here */
+         if (s->prefix)
+           state_puts (s->prefix, s);
+         state_puts (buf, s);
+       }
+-#endif
+     }
+   m->goodsig = (maybe_goodsig && have_any_sigs);
+--- a/pgp.c
++++ b/pgp.c
+@@ -482,7 +482,6 @@
+         state_attach_puts (_("[-- END PGP SIGNED MESSAGE --]\n"), s);
+       }
+     }
+-#if 0
+     else
+     {
+       /* why would we want to display this at all? */
+@@ -491,7 +490,6 @@
+       state_puts (s->prefix, s);
+       state_puts (buf, s);
+     }
+-#endif
+   }
+   rc = 0;
diff --git a/debian/patches/upstream/533439-mbox-time.patch b/debian/patches/upstream/533439-mbox-time.patch
new file mode 100644 (file)
index 0000000..f844e80
--- /dev/null
@@ -0,0 +1,113 @@
+upstream test patch to fix the atime issue
+(See #533439 and upstream #3271, #1372)
+
+--- a/mbox.c
++++ b/mbox.c
+@@ -685,22 +685,30 @@
+ /* if mailbox has at least 1 new message, sets mtime > atime of mailbox
+  * so buffy check reports new mail */
+-static void reset_atime (CONTEXT *ctx)
++void mbox_reset_atime (CONTEXT *ctx, struct stat *st)
+ {
+   struct utimbuf utimebuf;
+-  int i;
+-  time_t now = time (NULL);
++  int i, found = 0;
++  struct stat _st;
+-  for (i = 0; i < ctx->msgcount; i++)
++  if (!st)
+   {
+-    if (!ctx->hdrs[i]->deleted && !ctx->hdrs[i]->read && !ctx->hdrs[i]->old)
+-    {
+-      utimebuf.actime = now - 1;
+-      utimebuf.modtime = now;
+-      utime (ctx->path, &utimebuf);
++    if (stat (ctx->path, &_st) < 0)
+       return;
+-    }
++    st = &_st;
+   }
++
++  utimebuf.actime = st->st_atime;
++  utimebuf.modtime = st->st_mtime;
++
++  for (i = 0; !found && i < ctx->msgcount; i++)
++    if (!ctx->hdrs[i]->deleted && !ctx->hdrs[i]->read && !ctx->hdrs[i]->old)
++      found = 1;
++
++  if (found && utimebuf.actime >= utimebuf.modtime)
++    utimebuf.actime = utimebuf.modtime - 1;
++
++  utime (ctx->path, &utimebuf);
+ }
+ /* return values:
+@@ -716,6 +724,7 @@
+   int need_sort = 0; /* flag to resort mailbox if new mail arrives */
+   int first = -1;     /* first message to be written */
+   LOFF_T offset;      /* location in mailbox to write changed messages */
++  struct stat statbuf;
+   struct m_update_t *newOffset = NULL;
+   struct m_update_t *oldOffset = NULL;
+   FILE *fp = NULL;
+@@ -907,6 +916,15 @@
+   }
+   fp = NULL;
++  /* Save the state of this folder. */
++  if (stat (ctx->path, &statbuf) == -1)
++  {
++    mutt_perror (ctx->path);
++    mutt_sleep (5);
++    unlink (tempfile);
++    goto bail;
++  }
++
+   if ((fp = fopen (tempfile, "r")) == NULL)
+   {
+     mutt_unblock_signals ();
+@@ -976,6 +994,9 @@
+     return (-1);
+   }
++  /* Restore the previous access/modification times */
++  mbox_reset_atime (ctx, &statbuf);
++
+   /* reopen the mailbox in read-only mode */
+   if ((ctx->fp = fopen (ctx->path, "r")) == NULL)
+   {
+@@ -1002,11 +1023,6 @@
+   unlink (tempfile); /* remove partial copy of the mailbox */
+   mutt_unblock_signals ();
+-  /* if mailbox has new mail, mangle atime+mtime to make buffy check
+-   * report new mail for it */
+-  if (!option (OPTCHECKMBOXSIZE))
+-    reset_atime (ctx);
+-
+   return (0); /* signal success */
+ bail:  /* Come here in case of disaster */
+--- a/mx.c
++++ b/mx.c
+@@ -1005,6 +1005,8 @@
+   {
+     if (!ctx->quiet)
+       mutt_message _("Mailbox is unchanged.");
++    if (ctx->magic == M_MBOX || ctx->magic == M_MMDF)
++      mbox_reset_atime (ctx, NULL);
+     mx_fastclose_mailbox (ctx);
+     return 0;
+   }
+--- a/mx.h
++++ b/mx.h
+@@ -59,6 +59,7 @@
+ int mmdf_parse_mailbox (CONTEXT *);
+ void mbox_unlock_mailbox (CONTEXT *);
+ int mbox_check_empty (const char *);
++void mbox_reset_atime (CONTEXT *, struct stat *);
+ int mh_read_dir (CONTEXT *, const char *);
+ int mh_sync_mailbox (CONTEXT *, int *);
diff --git a/debian/patches/upstream/533459-unmailboxes.patch b/debian/patches/upstream/533459-unmailboxes.patch
new file mode 100644 (file)
index 0000000..91ea411
--- /dev/null
@@ -0,0 +1,13 @@
+mutt segfaults everytime the 'unmailboxes' command is used 
+(see upstream #3273)
+
+--- a/buffy.c
++++ b/buffy.c
+@@ -236,7 +236,6 @@
+     {
+       if(*tmp)
+       {
+-        FREE (&((*tmp)->path));
+         tmp1=(*tmp)->next;
+         FREE (tmp);           /* __FREE_CHECKED__ */
+         *tmp=tmp1;
diff --git a/debian/patches/upstream/533520-signature-highlight.patch b/debian/patches/upstream/533520-signature-highlight.patch
new file mode 100644 (file)
index 0000000..c2bc2b8
--- /dev/null
@@ -0,0 +1,14 @@
+before this patch mutt failed to highlight some signatures if text_flowed was
+set to yes (see upstream http://bugs.mutt.org/3275)
+
+--- a/handler.c
++++ b/handler.c
+@@ -1500,7 +1500,7 @@
+     l = mutt_strlen (buf);
+     if (l > 0 && buf[l-1] == '\n')
+       buf[--l] = 0;
+-    if (option (OPTTEXTFLOWED))
++    if (mutt_strcmp (buf, "-- ") != 0 && option (OPTTEXTFLOWED))
+     {
+       while (l > 0 && buf[l-1] == ' ')
+       buf[--l] = 0;
diff --git a/debian/patches/upstream/534543-imap-port.patch b/debian/patches/upstream/534543-imap-port.patch
new file mode 100644 (file)
index 0000000..3c1a76c
--- /dev/null
@@ -0,0 +1,21 @@
+a bug in 1.5.20 upstream prevented mutt from correctly parsing the port
+in an IMAP url (imap[s]://...:<port>), this was fixed by upstream bug
+3264 and backported to the Debian package in 534543
+
+Index: mutt/url.c
+===================================================================
+--- mutt.orig/url.c    2009-06-25 12:37:59.000000000 +0200
++++ mutt/url.c 2009-06-25 12:39:05.000000000 +0200
+@@ -143,9 +143,11 @@
+   
+   if ((p = strchr (t, ':')))
+   {
++    int t;
+     *p++ = '\0';
+-    if (mutt_atos (p, (short*) &ciss->port) < 0)
++    if (mutt_atoi (p, &t) < 0 || t < 0 || t > 0xffff)
+       return NULL;
++    ciss->port = (unsigned short)t;
+   }
+   else
+     ciss->port = 0;
diff --git a/debian/patches/upstream/535096-pop-port.patch b/debian/patches/upstream/535096-pop-port.patch
new file mode 100644 (file)
index 0000000..3931d09
--- /dev/null
@@ -0,0 +1,30 @@
+This patch will allow the user to specify a port, as it was before 1.5.20, see
+upstream bug http://bugs.mutt.org/3322
+
+--- a/pop_lib.c
++++ b/pop_lib.c
+@@ -43,6 +43,7 @@
+   /* Defaults */
+   acct->flags = 0;
+   acct->type = M_ACCT_TYPE_POP;
++  acct->port = 0;
+   c = safe_strdup (path);
+   url_parse_ciss (&url, c);
+@@ -60,10 +61,12 @@
+     acct->flags |= M_ACCT_SSL;
+   service = getservbyname (url.scheme == U_POP ? "pop3" : "pop3s", "tcp");
+-  if (service)
+-    acct->port = ntohs (service->s_port);
+-  else
+-    acct->port = url.scheme == U_POP ? POP_PORT : POP_SSL_PORT;;
++  if (!acct->port) {
++    if (service)
++      acct->port = ntohs (service->s_port);
++    else
++      acct->port = url.scheme == U_POP ? POP_PORT : POP_SSL_PORT;;
++  }
+   FREE (&c);
+   return 0;
diff --git a/debian/patches/upstream/537694-segv-imap-headers.patch b/debian/patches/upstream/537694-segv-imap-headers.patch
new file mode 100644 (file)
index 0000000..4c7f74c
--- /dev/null
@@ -0,0 +1,15 @@
+This patch fixes a segfault that happens when the IMAP server sends some
+additional flags for the same message ID, see upstream bug
+http://bugs.mutt.org/3288
+
+--- a/imap/message.c
++++ b/imap/message.c
+@@ -288,7 +288,7 @@
+         continue;
+       }
+       /* May receive FLAGS updates in a separate untagged response (#2935) */
+-      if (idx < ctx->msgcount)
++      if (ctx->hdrs[idx] != NULL)
+       {
+       dprint (2, (debugfile, "imap_read_headers: message %d is not new\n",
+                   h.sid));
diff --git a/debian/patches/upstream/537818-emptycharset.patch b/debian/patches/upstream/537818-emptycharset.patch
new file mode 100644 (file)
index 0000000..a330018
--- /dev/null
@@ -0,0 +1,15 @@
+without this patch mutt crashes if any option that contains charset is set to
+empty, see upstream bug http://bugs.mutt.org/3326
+
+--- a/init.c
++++ b/init.c
+@@ -1751,6 +1751,9 @@
+   char *p, *q = NULL, *s = safe_strdup (val);
+   int rc = 0, strict = strcmp (opt->option, "send_charset") == 0;
++  if (!s)
++    return rc;
++
+   for (p = strtok_r (s, ":", &q); p; p = strtok_r (NULL, ":", &q))
+   {
+     if (!*p)
diff --git a/debian/patches/upstream/538128-mh-folder-access.patch b/debian/patches/upstream/538128-mh-folder-access.patch
new file mode 100644 (file)
index 0000000..dafa3aa
--- /dev/null
@@ -0,0 +1,50 @@
+this fixes a problem with new mail detection on MH folder, for a 
+more detailed history see mutt bugs #3308 and #3312 and debian
+bug 538128
+
+--- a/mh.c
++++ b/mh.c
+@@ -146,7 +146,7 @@
+   if ((p = strchr (t, '-')))
+   {
+     *p++ = '\0';
+-    if (mutt_atoi (t, first) < 0 || mutt_atoi (t, last) < 0)
++    if (mutt_atoi (t, first) < 0 || mutt_atoi (p, last) < 0)
+       return -1;
+   }
+   else
+@@ -167,7 +167,7 @@
+   size_t sz = 0;
+   short f;
+-  int first, last, rc;
++  int first, last, rc = 0;
+   char pathname[_POSIX_PATH_MAX];
+   snprintf (pathname, sizeof (pathname), "%s/.mh_sequences", path);
+@@ -207,7 +207,7 @@
+ out:
+   FREE (&buff);
+   safe_fclose (&fp);
+-  return 0;
++  return rc;
+ }
+ static inline mode_t mh_umask (CONTEXT* ctx)
+@@ -238,6 +238,7 @@
+   for (i = 0; !r && i <= mhs.max; i++)
+     if (mhs_check (&mhs, i) & MH_SEQ_UNSEEN)
+       r = 1;
++  mhs_free_sequences (&mhs);
+   return r;
+ }
+@@ -1155,7 +1156,7 @@
+   if (ctx->magic == M_MH)
+   {
+-    if (mh_read_sequences (&mhs, ctx->path) >= 0)
++    if (mh_read_sequences (&mhs, ctx->path) < 0)
+       return -1;
+     mh_update_maildir (md, &mhs);
+     mhs_free_sequences (&mhs);
diff --git a/debian/patches/upstream/542344-dont_fold_From_ b/debian/patches/upstream/542344-dont_fold_From_
new file mode 100644 (file)
index 0000000..441371c
--- /dev/null
@@ -0,0 +1,54 @@
+changeset:   5945:5f590adfdf1a
+branch:      HEAD
+user:        Rocco Rutte <pdmef@gmx.net>
+date:        Thu Jun 25 17:31:27 2009 +0200
+summary:     header folding: treat From_ specially, never wrap on sending side
+
+--- a/sendlib.c
++++ b/sendlib.c
+@@ -1630,9 +1630,9 @@ static int fold_one_header (FILE *fp, co
+   dprint(4,(debugfile,"mwoh: pfx=[%s], tag=[%s], flags=%d value=[%s]\n",
+           pfx, tag, flags, value));
+-  if (fprintf (fp, "%s%s: ", NONULL (pfx), tag) < 0)
++  if (tag && *tag && fprintf (fp, "%s%s: ", NONULL (pfx), tag) < 0)
+     return -1;
+-  col = mutt_strlen (tag) + 2 + mutt_strlen (pfx);
++  col = mutt_strlen (tag) + (tag && *tag ? 2 : 0) + mutt_strlen (pfx);
+   while (p && *p)
+   {
+@@ -1717,9 +1717,12 @@ static int write_one_header (FILE *fp, i
+                            int flags)
+ {
+   char *tagbuf, *valbuf, *t;
++  int is_from = ((end - start) > 5 &&
++               ascii_strncasecmp (start, "from ", 5) == 0);
+-  /* only pass through folding machinery if necessary for sending */
+-  if (!(flags & CH_DISPLAY) && pfxw + max <= wraplen)
++  /* only pass through folding machinery if necessary for sending,
++     never wrap From_ headers on sending */
++  if (!(flags & CH_DISPLAY) && (pfxw + max <= wraplen || is_from))
+   {
+     valbuf = mutt_substrdup (start, end);
+     dprint(4,(debugfile,"mwoh: buf[%s%s] short enough, "
+@@ -1738,8 +1741,16 @@ static int write_one_header (FILE *fp, i
+   else
+   {
+     t = strchr (start, ':');
+-    tagbuf = mutt_substrdup (start, t);
+-    valbuf = mutt_substrdup (t + 2, end);
++    if (is_from)
++    {
++      tagbuf = NULL;
++      valbuf = mutt_substrdup (start, end);
++    }
++    else
++    {
++      tagbuf = mutt_substrdup (start, t);
++      valbuf = mutt_substrdup (t + 2, end);
++    }
+     dprint(4,(debugfile,"mwoh: buf[%s%s] too long, "
+             "max width = %d > %dn",
+             NONULL(pfx), valbuf, max, wraplen));
diff --git a/debian/patches/upstream/542817-smimekeys-tmpdir.patch b/debian/patches/upstream/542817-smimekeys-tmpdir.patch
new file mode 100644 (file)
index 0000000..cca99a7
--- /dev/null
@@ -0,0 +1,13 @@
+skip the configured tmpdir if it contains '=', that convention is used only by
+mutt, see upstream http://bugs.mutt.org/3324
+
+--- a/smime_keys.pl
++++ b/smime_keys.pl
+@@ -946,6 +946,7 @@
+       $option = "notemp" if (not defined($option));
+       if (! $tmpdir and $option eq "temp") {
+               $tmpdir = mutt_Q 'tmpdir';
++                $tmpdir = '/tmp' if ($tmpdir =~ m/=/); # if the tmpdir contains '=', use the default
+               $tmpdir = newfile("$tmpdir/smime");
+               mkdir $tmpdir, 0700 || die "Can't create $tmpdir: $!\n";
+       }
diff --git a/debian/patches/upstream/542910-search-segfault.patch b/debian/patches/upstream/542910-search-segfault.patch
new file mode 100644 (file)
index 0000000..6e30b92
--- /dev/null
@@ -0,0 +1,20 @@
+Fixes a segfault that happened when searching "~b something =", see upstream
+bugs http://bugs.mutt.org/3314 and http://bugs.mutt.org/3315
+
+--- a/pattern.c
++++ b/pattern.c
+@@ -822,7 +822,13 @@
+       case '%':
+       case '=':
+       case '~':
+-      if (*(ps.dptr + 1) == '(') 
++        if (!*(ps.dptr + 1))
++        {
++          snprintf (err->data, err->dsize, _("missing pattern: %s"), ps.dptr);
++          mutt_pattern_free (&curlist);
++          return NULL;
++        }
++        if (*(ps.dptr + 1) == '(')
+         {
+         ps.dptr ++; /* skip ~ */
+         p = find_matching_paren (ps.dptr + 1);
diff --git a/debian/patches/upstream/543467-thread-segfault.patch b/debian/patches/upstream/543467-thread-segfault.patch
new file mode 100644 (file)
index 0000000..201e2c8
--- /dev/null
@@ -0,0 +1,17 @@
+added a patch to prevent segfault when Ctrl+R is hit on a malformed group of
+messages (see upstream bug http://bugs.mutt.org/3335)
+
+--- a/flags.c
++++ b/flags.c
+@@ -303,7 +303,10 @@
+ int mutt_thread_set_flag (HEADER *hdr, int flag, int bf, int subthread)
+ {
+   THREAD *start, *cur = hdr->thread;
+-  
++
++  if ( !hdr->thread )
++    return (-1);
++
+   if ((Sort & SORT_MASK) != SORT_THREADS)
+   {
+     mutt_error _("Threading is not enabled.");
diff --git a/debian/patches/upstream/544180-italian-yesorno.patch b/debian/patches/upstream/544180-italian-yesorno.patch
new file mode 100644 (file)
index 0000000..d3e97cf
--- /dev/null
@@ -0,0 +1,14 @@
+patch to fix a problem in the Italian translation, it was submitted to upstream
+on bugs http://bugs.mutt.org/3336
+
+--- a/po/it.po
++++ b/po/it.po
+@@ -3233,7 +3233,7 @@
+ #: muttlib.c:938
+ msgid "yna"
+-msgstr "yna"
++msgstr "snt"
+ #: muttlib.c:954
+ msgid "File is a directory, save under it?"
diff --git a/debian/patches/upstream/544794-smtp-batch.patch b/debian/patches/upstream/544794-smtp-batch.patch
new file mode 100644 (file)
index 0000000..953873c
--- /dev/null
@@ -0,0 +1,68 @@
+Without this patch mutt fails to send messages and ask for a password even if
+smtp_user and smtp_pass are defined in .muttrc, see upstream bug
+http://bugs.mutt.org/3289
+
+--- a/account.c
++++ b/account.c
+@@ -155,6 +155,8 @@
+   else if ((account->type == M_ACCT_TYPE_POP) && PopUser)
+     strfcpy (account->user, PopUser, sizeof (account->user));
+ #endif
++  else if (option (OPTNOCURSES))
++    return -1;
+   /* prompt (defaults to unix username), copy into account->user */
+   else
+   {
+@@ -215,6 +217,8 @@
+   else if ((account->type == M_ACCT_TYPE_SMTP) && SmtpPass)
+     strfcpy (account->pass, SmtpPass, sizeof (account->pass));
+ #endif
++  else if (option (OPTNOCURSES))
++    return -1;
+   else
+   {
+     snprintf (prompt, sizeof (prompt), _("Password for %s@%s: "),
+--- a/mutt_sasl.c
++++ b/mutt_sasl.c
+@@ -304,7 +304,7 @@
+     snprintf (prompt, sizeof (prompt), "%s: ", interaction->prompt);
+     resp[0] = '\0';
+-    if (mutt_get_field (prompt, resp, sizeof (resp), 0))
++    if (option (OPTNOCURSES) || mutt_get_field (prompt, resp, sizeof (resp), 0))
+       return SASL_FAIL;
+     interaction->len = mutt_strlen (resp)+1;
+--- a/smtp.c
++++ b/smtp.c
+@@ -172,7 +172,7 @@
+   progress_t progress;
+   struct stat st;
+   int r, term = 0;
+-  size_t buflen;
++  size_t buflen = 0;
+   fp = fopen (msgfile, "r");
+   if (!fp)
+@@ -454,12 +454,6 @@
+     }
+ #ifdef USE_SASL
+-    if (!(conn->account.flags & M_ACCT_PASS) && option (OPTNOCURSES))
+-    {
+-      mutt_error (_("Interactive SMTP authentication not supported"));
+-      mutt_sleep (1);
+-      return -1;
+-    }
+     return smtp_auth (conn);
+ #else
+     mutt_error (_("SMTP authentication requires SASL"));
+@@ -603,7 +597,7 @@
+       }
+     }
+     strfcpy (buf + len, "\r\n", sizeof (buf) - len);
+-  } while (rc == smtp_ready);
++  } while (rc == smtp_ready && saslrc != SASL_FAIL);
+   if (smtp_success (rc))
+   {
diff --git a/debian/patches/upstream/545316-header-color.patch b/debian/patches/upstream/545316-header-color.patch
new file mode 100644 (file)
index 0000000..267baf8
--- /dev/null
@@ -0,0 +1,13 @@
+Do not store the header color into hcache, see http://bugs.mutt.org/3376 and
+http://dev.mutt.org/trac/changeset/b7d2cb7c7ce1 for more info
+
+--- a/hcache.c
++++ b/hcache.c
+@@ -623,6 +623,7 @@
+   nh.limited = 0;
+   nh.num_hidden = 0;
+   nh.recipient = 0;
++  nh.pair = 0;
+   nh.attach_valid = 0;
+   nh.path = NULL;
+   nh.tree = NULL;
diff --git a/debian/patches/upstream/547739-manual-typos.patch b/debian/patches/upstream/547739-manual-typos.patch
new file mode 100644 (file)
index 0000000..0eff7c2
--- /dev/null
@@ -0,0 +1,127 @@
+Minor typos in manual.txt, see upstream http://bugs.mutt.org/3379
+
+--- a/doc/manual.xml.head
++++ b/doc/manual.xml.head
+@@ -1511,7 +1511,7 @@
+ <para>
+ After editing the initial message text and before entering
+-the compose menu, Mutt properly space-stuffes the message.
++the compose menu, Mutt properly space-stuffs the message.
+ <emphasis>Space-stuffing</emphasis> is required by RfC3676 defining
+ <literal>format=flowed</literal> and means to prepend a space to:
+ </para>
+@@ -2507,7 +2507,7 @@
+ <itemizedlist>
+ <listitem><para>attachment</para></listitem>
+-<listitem><para>bold (hiliting bold patterns in the body of messages)</para></listitem>
++<listitem><para>bold (highlighting bold patterns in the body of messages)</para></listitem>
+ <listitem><para>error (error messages printed by Mutt)</para></listitem>
+ <listitem><para>hdrdefault (default color of the message header in the pager)</para></listitem>
+ <listitem><para>indicator (arrow or bar used to indicate the current item in a menu)</para></listitem>
+@@ -2516,11 +2516,11 @@
+ <listitem><para>normal</para></listitem>
+ <listitem><para>quoted (text matching <link linkend="quote-regexp">&dollar;quote&lowbar;regexp</link> in the body of a message)</para></listitem>
+ <listitem><para>quoted1, quoted2, ..., quoted<emphasis>N</emphasis> (higher levels of quoting)</para></listitem>
+-<listitem><para>search (hiliting of words in the pager)</para></listitem>
++<listitem><para>search (highlighting of words in the pager)</para></listitem>
+ <listitem><para>signature</para></listitem><listitem><para>status (mode lines used to display info about the mailbox or message)</para></listitem>
+ <listitem><para>tilde (the <quote>&tilde;</quote> used to pad blank lines in the pager)</para></listitem>
+ <listitem><para>tree (thread tree drawn in the message index and attachment menu)</para></listitem>
+-<listitem><para>underline (hiliting underlined patterns in the body of messages)</para></listitem>
++<listitem><para>underline (highlighting underlined patterns in the body of messages)</para></listitem>
+ </itemizedlist>
+ <para>
+@@ -3095,7 +3095,7 @@
+ the command is executed, so if these names contain <link linkend="shortcuts">shortcut characters</link> (such as <quote>=</quote> and <quote>!</quote>), any variable
+ definition that affects these characters (like <link linkend="folder">&dollar;folder</link> and <link linkend="spoolfile">&dollar;spoolfile</link>)
+ should be set before the <command>mailboxes</command> command. If
+-none of these shorcuts are used, a local path should be absolute as
++none of these shortcuts are used, a local path should be absolute as
+ otherwise Mutt tries to find it relative to the directory
+ from where Mutt was started which may not always be desired.
+ </para>
+@@ -5841,7 +5841,7 @@
+ If the <emphasis>command</emphasis> is empty, this operation is
+ disabled for this file type. In this case, the folder will be open and
+ closed again (using <link linkend="open-hook">open-hook</link> and
+-<link linkend="close-hook">close-hook</link>respectively) each time you
++<link linkend="close-hook">close-hook</link> respectively) each time you
+ will add to it.
+ </para>
+ </sect2>
+@@ -6811,7 +6811,7 @@
+ ## line is unnecessary if you already have "attach-allow */.*", of
+ ## course.  These are off by default!  The MIME elements contained
+ ## within a message/* or multipart/* are still examined, even if the
+-## containers themseves don't qualify.
++## containers themselves don't qualify.
+ ##
+ #attachments  +A message/.* multipart/.*
+ #attachments  +I message/.* multipart/.*
+@@ -7465,7 +7465,7 @@
+ the current chain position, use <literal>&lt;select-entry&gt;</literal> or <literal>&lt;append&gt;</literal>.
+ You can also delete entries from the chain, using the corresponding
+ function.  Finally, to abandon your changes, leave the menu, or
+-<literal>&lt;accept&gt;</literal> them pressing (by default) the <literal>Return</literal> key.
++<literal>&lt;accept&gt;</literal> them, pressing (by default) the <literal>Return</literal> key.
+ </para>
+ <para>
+--- a/doc/Muttrc
++++ b/doc/Muttrc
+@@ -1991,7 +1991,7 @@
+ # 
+ # 
+ # The default mailbox type used when creating new folders. May be any of
+-# ``mbox'', ``MMDF'', ``MH'' and ``Maildir''. This is overriden by the
++# ``mbox'', ``MMDF'', ``MH'' and ``Maildir''. This is overridden by the
+ # -m command-line option.
+ # 
+ # 
+--- a/doc/manual.txt
++++ b/doc/manual.txt
+@@ -7405,7 +7405,7 @@
+ Default: mbox
+ The default mailbox type used when creating new folders. May be any of ?mbox?,
+-?MMDF?, ?MH? and ?Maildir?. This is overriden by the -m command-line option.
++?MMDF?, ?MH? and ?Maildir?. This is overridden by the -m command-line option.
+ 3.128. menu_context
+--- a/edit.c
++++ b/edit.c
+@@ -39,7 +39,7 @@
+  * declared "static" (sigh)
+  */
+ static char* EditorHelp1 = N_("\
+-~~            insert a line begining with a single ~\n\
++~~            insert a line beginning with a single ~\n\
+ ~b users      add users to the Bcc: field\n\
+ ~c users      add users to the Cc: field\n\
+ ~f messages   include messages\n\
+--- a/recvattach.c
++++ b/recvattach.c
+@@ -698,7 +698,7 @@
+       {
+         if (!mutt_can_decode (top))
+         {
+-          mutt_error (_("I dont know how to print %s attachments!"), type);
++          mutt_error (_("I don't know how to print %s attachments!"), type);
+           return (0);
+         }
+       }
+--- a/init.h
++++ b/init.h
+@@ -1413,7 +1413,7 @@
+   /*
+   ** .pp
+   ** The default mailbox type used when creating new folders. May be any of
+-  ** ``mbox'', ``MMDF'', ``MH'' and ``Maildir''. This is overriden by the
++  ** ``mbox'', ``MMDF'', ``MH'' and ``Maildir''. This is overridden by the
+   ** \fC-m\fP command-line option.
+   */
+   { "menu_context",   DT_NUM,  R_NONE, UL &MenuContext, 0 },
diff --git a/debian/patches/upstream/547980-smime_keys-chaining.patch b/debian/patches/upstream/547980-smime_keys-chaining.patch
new file mode 100644 (file)
index 0000000..50ff9b5
--- /dev/null
@@ -0,0 +1,84 @@
+To suppose certificate chaining in smime_keys, see upstream
+http://bugs.mutt.org/3339
+
+--- a/smime_keys.pl
++++ b/smime_keys.pl
+@@ -81,6 +81,30 @@
+ # OPS
+ #
++ 
++sub get_certs {
++    my $file = shift;
++    return undef unless (defined($file) && -e $file);
++
++    open IN, "<$file";
++
++    my @certs = ();
++    my $in_cert = 0;
++    my $cert = q{};
++    while ( <IN> ) {
++        $in_cert = 1 if ( /^-----BEGIN CERTIFICATE-----$/ );
++        $cert .= $_;
++
++        if ( /^-----END CERTIFICATE-----$/ )  {
++            push @certs, $cert;
++            $cert = q{};
++            $in_cert = 0;
++        }
++    }
++
++    return @certs;
++}
++
+ if(@ARGV == 1 and $ARGV[0] eq "init") {
+     init_paths;
+ }
+@@ -91,13 +115,27 @@
+     change_label($ARGV[1]);
+ }
+ elsif(@ARGV == 2 and $ARGV[0] eq "add_cert") {
+-    my $format = -B $ARGV[1] ? 'DER' : 'PEM'; 
+-    my $cmd = "$opensslbin x509 -noout -hash -in $ARGV[1] -inform $format";
+-    my $cert_hash = `$cmd`;
+-    $? and die "'$cmd' returned $?";
+-    chomp($cert_hash); 
+-    my $label = query_label;
+-    &add_certificate($ARGV[1], \$cert_hash, 1, $label, '?');
++    foreach my $cert ( get_certs( $ARGV[1] ) ) {
++
++        my $file = sprintf( '/tmp/smime-%d.%d', $$, int(rand( 999999 ) ) );
++        print STDERR "TMPFILE: $file\n";
++        if ( -e $file ) {
++            die( "ERROR: TMPFILE $file existss?!?!" );
++        }
++        open OUT, ">$file";
++        print OUT $cert;
++        close OUT;
++
++        my $format = -B $file ? 'DER' : 'PEM'; 
++        my $cmd = "$opensslbin x509 -noout -hash -in $file -inform $format";
++
++        my $cert_hash = `$cmd`;
++        $? and die "'$cmd' returned $?";
++        chomp($cert_hash); 
++        my $label = query_label;
++        &add_certificate($ARGV[1], \$cert_hash, 1, $label, '?');
++        unlink $file;
++    }
+ }
+ elsif(@ARGV == 2 and $ARGV[0] eq "add_pem") {
+     -e $ARGV[1] and -s $ARGV[1] or die("$ARGV[1] is nonexistent or empty.");
+@@ -381,9 +419,10 @@
+     print "the key ID. This has to be _one_ word (no whitespaces).\n\n";
+     print "Enter label: ";
+-    chomp($input = <STDIN>);
++    $input = <STDIN>;
++    chomp($input) if ( defined($input) );
+-    my ($label, $junk) = split(/\s/, $input, 2);     
++    my ($label, $junk) = split(/\s/, $input, 2) if ( defined($input) );
+     
+     defined $junk 
+         and print "\nUsing '$label' as label; ignoring '$junk'\n";
diff --git a/debian/patches/upstream/548494-swedish-intl.patch b/debian/patches/upstream/548494-swedish-intl.patch
new file mode 100644 (file)
index 0000000..273c4c3
--- /dev/null
@@ -0,0 +1,113 @@
+Fix a swedish word, the patch was forwarded upstream to
+http://dev.mutt.org/trac/ticket/3370
+
+--- a/po/sv.po
++++ b/po/sv.po
+@@ -74,7 +74,7 @@
+ #: alias.c:307 send.c:206
+ #, c-format
+ msgid "Error: '%s' is a bad IDN."
+-msgstr "Fel: '%s' Ã¤r ett dÃ¥ligt IDN."
++msgstr "Fel: '%s' Ã¤r ett felaktigt IDN."
+ #: alias.c:319
+ msgid "Personal name: "
+@@ -417,7 +417,7 @@
+ #: commands.c:298 recvcmd.c:190
+ #, c-format
+ msgid "Bad IDN: '%s'"
+-msgstr "DÃ¥ligt IDN: \"%s\""
++msgstr "Felaktigt IDN: \"%s\""
+ #: commands.c:309 recvcmd.c:204
+ #, c-format
+@@ -640,7 +640,7 @@
+ #: compose.c:302
+ #, c-format
+ msgid "Warning: '%s' is a bad IDN."
+-msgstr "Varning: \"%s\" Ã¤r ett dÃ¥ligt IDN."
++msgstr "Varning: \"%s\" Ã¤r ett felaktigt IDN."
+ #: compose.c:325
+ msgid "You may not delete the only attachment."
+@@ -649,7 +649,7 @@
+ #: compose.c:600 send.c:1591
+ #, c-format
+ msgid "Bad IDN in \"%s\": '%s'"
+-msgstr "DÃ¥ligt IDN i \"%s\": \"%s\""
++msgstr "Felaktigt IDN i \"%s\": \"%s\""
+ #: compose.c:683
+ msgid "Attaching selected files..."
+@@ -1788,7 +1788,7 @@
+ #: edit.c:446
+ #, c-format
+ msgid "Bad IDN in %s: '%s'\n"
+-msgstr "DÃ¥ligt IDN i %s: \"%s\"\n"
++msgstr "Felaktigt IDN i %s: \"%s\"\n"
+ #: edit.c:464
+ #, c-format
+@@ -1999,7 +1999,7 @@
+ #: history.c:77 history.c:114 history.c:140
+ #, c-format
+ msgid "Bad history file format (line %d)"
+-msgstr "DÃ¥ligt filformat för historia (rad %d)"
++msgstr "Felaktigt filformat för historik (rad %d)"
+ #: hook.c:251
+ #, c-format
+@@ -2186,7 +2186,7 @@
+ #: imap/imap.c:1826
+ msgid "Bad mailbox name"
+-msgstr "DÃ¥ligt namn pÃ¥ brevlÃ¥da"
++msgstr "Felaktigt namn pÃ¥ brevlÃ¥da"
+ #: imap/imap.c:1851
+ #, c-format
+@@ -2260,7 +2260,7 @@
+ #: init.c:466
+ #, c-format
+ msgid "Bad regexp: %s"
+-msgstr "DÃ¥ligt reguljärt uttryck: %s"
++msgstr "Felaktigt reguljärt uttryck: %s"
+ #: init.c:523
+ #, c-format
+@@ -2282,7 +2282,7 @@
+ #: init.c:901
+ #, c-format
+ msgid "Warning: Bad IDN '%s'.\n"
+-msgstr "Varning: DÃ¥ligt IDN \"%s\".\n"
++msgstr "Varning: Felaktigtt IDN \"%s\".\n"
+ #: init.c:1109
+ msgid "attachments: no disposition"
+@@ -2307,7 +2307,7 @@
+ #: init.c:1359
+ #, c-format
+ msgid "Warning: Bad IDN '%s' in alias '%s'.\n"
+-msgstr "Varning: DÃ¥ligt IDN \"%s\" i alias \"%s\".\n"
++msgstr "Varning: Felaktigt IDN \"%s\" i alias \"%s\".\n"
+ #: init.c:1447
+ msgid "invalid header field"
+@@ -2925,7 +2925,7 @@
+ #: mutt_socket.c:470 mutt_socket.c:529
+ #, c-format
+ msgid "Bad IDN \"%s\"."
+-msgstr "DÃ¥ligt IDN \"%s\"."
++msgstr "Felaktigt IDN \"%s\"."
+ #: mutt_socket.c:478 mutt_socket.c:537
+ #, c-format
+@@ -4066,7 +4066,7 @@
+ #: sendlib.c:2500
+ #, c-format
+ msgid "Bad IDN %s while preparing resent-from."
+-msgstr "DÃ¥ligt IDN %s vid förberedning av \"resent-from\"."
++msgstr "Felaktigt IDN %s vid förberedning av \"resent-from\"."
+ #: signal.c:43
+ #, c-format
diff --git a/debian/patches/upstream/548577-gpgme-1.2.patch b/debian/patches/upstream/548577-gpgme-1.2.patch
new file mode 100644 (file)
index 0000000..14dfba8
--- /dev/null
@@ -0,0 +1,27 @@
+this patch fixes upstream bug http://bugs.mutt.org/3300 so that
+mutt will be able to open pgp crypted/signed message with gpgme
+
+--- a/init.c
++++ b/init.c
+@@ -51,6 +51,10 @@
+ #include <errno.h>
+ #include <sys/wait.h>
++#if defined(CRYPT_BACKEND_GPGME)
++#include <gpgme.h>
++#endif
++
+ #define CHECK_PAGER \
+   if ((CurrentMenu == MENU_PAGER) && (idx >= 0) &&    \
+           (MuttVars[idx].flags & R_RESORT)) \
+@@ -3266,6 +3270,10 @@
+   mutt_read_histfile ();
++#ifdef CRYPT_BACKEND_GPGME
++  gpgme_check_version (NULL);
++#endif
++
+ #if 0
+   set_option (OPTWEED); /* turn weeding on by default */
+ #endif
diff --git a/debian/patches/upstream/553238-german-intl.patch b/debian/patches/upstream/553238-german-intl.patch
new file mode 100644 (file)
index 0000000..2e0c9b5
--- /dev/null
@@ -0,0 +1,14 @@
+Small fix in a German translation, the original bug submission was amended after
+consulting a native speaker (gregoa@)
+
+--- a/po/de.po
++++ b/po/de.po
+@@ -1648,7 +1648,7 @@
+ #: curs_main.c:1317 curs_main.c:1361
+ msgid "No undeleted messages."
+-msgstr "Alle Nachrichten gelöscht."
++msgstr "Keine ungelöschten Nachrichten."
+ #: curs_main.c:1354 curs_main.c:1378
+ msgid "You are on the first message."
diff --git a/debian/patches/upstream/553321-ansi-escape-segfault.patch b/debian/patches/upstream/553321-ansi-escape-segfault.patch
new file mode 100644 (file)
index 0000000..85a8788
--- /dev/null
@@ -0,0 +1,17 @@
+This patch prevents mutt from crashing when *buf is freed, the root cause is the
+fact that an adjacent memory segment (*fmt) overruns and overwrite prev_size
+field in the heap.
+
+The bug and the patch were forwarded upstream, see http://bugs.mutt.org/3371
+
+--- a/pager.c
++++ b/pager.c
+@@ -1028,7 +1028,7 @@
+     q = *fmt;
+     while (*p)
+     {
+-      if (*p == '\010' && (p > *buf))
++      if (*p == '\010' && (p > *buf) && (q > *fmt))
+       {
+       if (*(p+1) == '_')      /* underline */
+         p += 2;
diff --git a/debian/patches/upstream/557395-muttrc-crypto.patch b/debian/patches/upstream/557395-muttrc-crypto.patch
new file mode 100644 (file)
index 0000000..90d6a46
--- /dev/null
@@ -0,0 +1,13 @@
+Small fix to the muttrc manpage
+
+--- a/init.h
++++ b/init.h
+@@ -559,7 +559,7 @@
+   ** .pp
+   ** If \fI``yes''\fP, always attempt to verify PGP or S/MIME signatures.
+   ** If \fI``ask-*''\fP, ask whether or not to verify the signature.
+-  ** If \Fi``no''\fP, never attempt to verify cryptographic signatures.
++  ** If \fI``no''\fP, never attempt to verify cryptographic signatures.
+   ** (Crypto only)
+   */
+   { "date_format",    DT_STR,  R_BOTH, UL &DateFmt, UL "!%a, %b %d, %Y at %I:%M:%S%p %Z" },
diff --git a/debian/patches/upstream/568295-references.patch b/debian/patches/upstream/568295-references.patch
new file mode 100644 (file)
index 0000000..14ac88e
--- /dev/null
@@ -0,0 +1,17 @@
+The purpose of this patch is to preserve the References header if the
+In-Reply-To header is not initially present; forwarded upstream to
+http://bugs.mutt.org/3378
+
+--- a/headers.c
++++ b/headers.c
+@@ -114,8 +114,8 @@
+      $edit_headers set, we remove References: as they're likely invalid;
+      we can simply compare strings as we don't generate References for
+      multiple Message-Ids in IRT anyways */
+-  if (!n->in_reply_to || (msg->env->in_reply_to &&
+-                        mutt_strcmp (n->in_reply_to->data,
++  if (msg->env->in_reply_to &&
++     (!n->in_reply_to || mutt_strcmp (n->in_reply_to->data,
+                                      msg->env->in_reply_to->data) != 0))
+     mutt_free_list (&msg->env->references);
diff --git a/debian/patches/upstream/573823-imap_internal_date b/debian/patches/upstream/573823-imap_internal_date
new file mode 100644 (file)
index 0000000..76d6c80
--- /dev/null
@@ -0,0 +1,76 @@
+changeset:   5949:b2b97c7a2ae6
+branch:      HEAD
+user:        Brendan Cully <brendan@kublai.com>
+date:        Fri Jun 26 21:47:34 2009 -0700
+summary:     Set internaldate of messages appended to IMAP mailboxes
+
+--- a/imap/imap_private.h
++++ b/imap/imap_private.h
+@@ -70,6 +70,9 @@
+ #define IMAP_CMD_PASS    (1<<1)
+ #define IMAP_CMD_QUEUE   (1<<2)
++/* length of "DD-MMM-YYYY HH:MM:SS +ZZzz" (null-terminated) */
++#define IMAP_DATELEN 27
++
+ enum
+ {
+   IMAP_FATAL = 1,
+@@ -281,6 +284,7 @@ char* imap_get_qualifier (char* buf);
+ int imap_mxcmp (const char* mx1, const char* mx2);
+ char* imap_next_word (char* s);
+ time_t imap_parse_date (char* s);
++void imap_make_date (char* buf, time_t timestamp);
+ void imap_qualify_path (char *dest, size_t len, IMAP_MBOX *mx, char* path);
+ void imap_quote_string (char* dest, size_t slen, const char* src);
+ void imap_unquote_string (char* s);
+--- a/imap/message.c
++++ b/imap/message.c
+@@ -600,6 +600,7 @@ int imap_append_message (CONTEXT *ctx, M
+   char buf[LONG_STRING];
+   char mbox[LONG_STRING];
+   char mailbox[LONG_STRING];
++  char internaldate[IMAP_DATELEN];
+   size_t len;
+   progress_t progressbar;
+   size_t sent;
+@@ -641,12 +642,14 @@ int imap_append_message (CONTEXT *ctx, M
+                     M_PROGRESS_SIZE, NetInc, len);
+   imap_munge_mbox_name (mbox, sizeof (mbox), mailbox);
+-  snprintf (buf, sizeof (buf), "APPEND %s (%s%s%s%s%s) {%lu}", mbox,
++  imap_make_date (internaldate, msg->received);
++  snprintf (buf, sizeof (buf), "APPEND %s (%s%s%s%s%s) \"%s\" {%lu}", mbox,
+           msg->flags.read    ? "\\Seen"      : "",
+           msg->flags.read && (msg->flags.replied || msg->flags.flagged) ? " " : "",
+           msg->flags.replied ? "\\Answered" : "",
+           msg->flags.replied && msg->flags.flagged ? " " : "",
+           msg->flags.flagged ? "\\Flagged"  : "",
++          internaldate,
+           (unsigned long) len);
+   imap_cmd_start (idata, buf);
+--- a/imap/util.c
++++ b/imap/util.c
+@@ -577,6 +577,21 @@ time_t imap_parse_date (char *s)
+   return (mutt_mktime (&t, 0) + tz);
+ }
++/* format date in IMAP style: DD-MMM-YYYY HH:MM:SS +ZZzz.
++ * Caller should provide a buffer of IMAP_DATELEN bytes */
++void imap_make_date (char *buf, time_t timestamp)
++{
++  struct tm* tm = localtime (&timestamp);
++  time_t tz = mutt_local_tz (timestamp);
++
++  tz /= 60;
++
++  snprintf (buf, IMAP_DATELEN, "%02d-%s-%d %02d:%02d:%02d %+03d%02d",
++      tm->tm_mday, Months[tm->tm_mon], tm->tm_year + 1900,
++      tm->tm_hour, tm->tm_min, tm->tm_sec,
++      (int) tz / 60, (int) abs (tz) % 60);
++}
++
+ /* imap_qualify_path: make an absolute IMAP folder target, given IMAP_MBOX
+  *   and relative path. */
+ void imap_qualify_path (char *dest, size_t len, IMAP_MBOX *mx, char* path)
diff --git a/debian/patches/upstream/path_max b/debian/patches/upstream/path_max
new file mode 100644 (file)
index 0000000..7cb34d5
--- /dev/null
@@ -0,0 +1,16 @@
+Fixed in hg around 5354:d4ea7f571f10; remove as soon as there's no PATH_MAX in the code anymore.
+
+--- a/mutt.h
++++ b/mutt.h
+@@ -52,6 +52,11 @@
+ #include <limits.h>
+ #endif
++/* PATH_MAX is undefined on the hurd */
++#ifndef PATH_MAX
++#define PATH_MAX _POSIX_PATH_MAX
++#endif
++
+ #include <pwd.h>
+ #include <grp.h>
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..4dc943c
--- /dev/null
@@ -0,0 +1,216 @@
+#!/usr/bin/make -f
+
+include /usr/share/quilt/quilt.make
+QUILT = QUILT_PATCHES=$(QUILT_PATCH_DIR) quilt --quiltrc /dev/null
+
+###################### user serviceable parts ######################
+
+###
+# build a separate mutt-patched package?
+BUILD_PATCHED := yes
+###
+# header cache backend
+# HCACHE_DB := bdb
+# HCACHE_DB := gdbm
+# HCACHE_DB := qdbm
+HCACHE_DB := tokyocabinet
+###
+# GPGME backend
+GPGME := --enable-gpgme
+###
+
+###################### variables ######################
+
+ifneq ($(BUILD_PATCHED),yes)
+export DH_OPTIONS := -Nmutt-patched
+endif
+
+# Configure arguments
+
+ifeq ($(HCACHE_DB),bdb)
+    hcache_db := --without-gdbm --without-qdbm --without-tokyocabinet
+endif
+ifeq ($(HCACHE_DB),gdbm)
+    hcache_db := --without-qdbm --without-bdb --without-tokyocabinet
+endif
+ifeq ($(HCACHE_DB),qdbm)
+    hcache_db := --without-gdbm --without-bdb --without-tokyocabinet
+endif
+ifeq ($(HCACHE_DB),tokyocabinet)
+    hcache_db := --without-gdbm --without-bdb --without-qdbm
+    ifeq ($(shell dpkg --print-architecture),hurd-i386)
+       hcache_db := --without-bdb --without-qdbm
+    endif
+endif
+
+confflags =    --prefix=/usr                   \
+               --sysconfdir=/etc               \
+               --mandir=/usr/share/man         \
+               --with-sharedir=/usr/share/mutt \
+               --with-docdir=/usr/share/doc    \
+               --with-mailpath=/var/mail       \
+                                               \
+               --disable-dependency-tracking   \
+                                               \
+               --enable-compressed             \
+               --enable-debug                  \
+               --enable-fcntl                  \
+               --enable-hcache                 \
+               $(GPGME)                        \
+               --enable-imap                   \
+               --enable-smtp                   \
+               --enable-inodesort              \
+               --enable-pop                    \
+                                               \
+               --with-curses                   \
+               --with-gnutls                   \
+               --with-gss                      \
+               --with-idn                      \
+               --with-mixmaster                \
+               --with-sasl                     \
+                                               \
+               $(hcache_db)
+
+DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+confflags += --build $(DEB_BUILD_GNU_TYPE)
+# Only specify --host when cross-compiling
+ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+    confflags += --host $(DEB_HOST_GNU_TYPE)
+endif
+
+# CFLAGS
+CFLAGS   = -Wall -g
+CPPFLAGS = -I/usr/include/qdbm
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -O0
+else
+       CFLAGS += -O2
+endif
+
+# Directory to make the build on
+objdir = $(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)
+
+###################### main ######################
+
+$(objdir)-patched/build-stamp: $(QUILT_STAMPFN)
+       dh_testdir
+       dh_clean
+       -mkdir $(objdir)-patched
+       
+ifeq ($(BUILD_PATCHED),yes)
+       ###################### building mutt-patched ######################
+       $(QUILT) applied > PATCHES
+       autoreconf --install --include=m4
+       cd $(objdir)-patched && \
+       env CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+       ../configure $(confflags)
+       
+       echo '#include "config-debian.h"' >> $(objdir)-patched/config.h
+       
+       # we should just "make mutt" here, but that doesn't work yet
+       cd $(objdir)-patched && $(MAKE) CFLAGS="$(CFLAGS)"
+endif
+       
+       touch $@
+
+build build-arch: $(objdir)/build-stamp
+$(objdir)/build-stamp: $(objdir)-patched/build-stamp
+       ###################### building mutt ######################
+       $(QUILT) pop mutt.org
+       $(QUILT) applied > PATCHES
+       
+       autoreconf --install --include=m4
+       -mkdir $(objdir)
+       cd $(objdir) && \
+       env CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+       ../configure $(confflags)
+       
+       echo '#include "config-debian.h"' >>$(objdir)/config.h
+       
+       cd $(objdir) && $(MAKE) CFLAGS="$(CFLAGS)"
+       
+       touch $@
+
+install: build
+       ###################### install ######################
+       dh_testdir
+       dh_testroot
+       dh_prep
+       cd $(objdir) && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+       
+       cd debian/tmp/usr/share/doc && \
+       rm -rf samples/iconv samples/ca-bundle.crt && \
+       mv NEWS NEWS.old && \
+       cp $(CURDIR)/UPDATING NEWS
+       
+       chmod +x debian/extra/lib/*
+       chmod +x debian/header.awk
+       debian/header.awk debian/patches/features/* \
+               debian/patches/mutt-patched/* > debian/tmp/README.Patches
+       
+       ( sed -e '/## More settings/,$$d' $(objdir)/doc/Muttrc || exit 1 ; \
+         cat debian/extra/rc/Muttrc.foot ) > debian/tmp/Muttrc
+       
+       ( echo "# GnuPG configuration"; \
+         grep '^set' contrib/gpg.rc; \
+         echo ) > debian/tmp/gpg.rc
+       
+       dh_install
+       
+       # prepare files for update-alternatives
+       mv debian/mutt/usr/bin/mutt debian/mutt/usr/bin/mutt-org
+ifeq ($(BUILD_PATCHED),yes)
+       install -D $(objdir)-patched/mutt debian/mutt-patched/usr/bin/mutt-patched
+endif
+       
+       # reportbug driver
+       dh_installdirs
+       install -m644 debian/bug/control $(CURDIR)/debian/mutt/usr/share/bug/mutt
+       install       debian/bug/script  $(CURDIR)/debian/mutt/usr/share/bug/mutt
+
+binary binary-arch: install
+       ###################### binary ######################
+       dh_installman
+       dh_installmenu
+       dh_installmime
+       dh_installdocs
+       dh_installexamples
+       dh_installchangelogs ChangeLog
+       -dh_lintian
+       
+       dh_strip --dbg-package=mutt-dbg
+       rm -rf $(CURDIR)/debian/mutt-dbg/usr/share/doc/mutt-dbg \
+               $(CURDIR)/debian/mutt-patched/usr/share/doc/mutt-patched
+       
+       dh_link
+       dh_compress --exclude usr/share/doc/mutt/README.Patches
+       dh_fixperms --exclude usr/bin/mutt_dotlock
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+build-indep binary-indep:
+       @echo "Nothing to do."
+
+clean: unpatch
+       ###################### clean ######################
+       dh_testdir
+       dh_testroot
+       
+       # please dpkg-source
+       rm -f po/*.gmo
+       echo -n > PATCHES
+       
+       # remove build trees
+       rm -rf $(objdir) $(objdir)-patched
+       
+       # remove autotool-generated files so they don't show up in the diff.gz
+       rm -f configure config.h.in
+       rm -f Makefile.in contrib/Makefile.in imap/Makefile.in doc/Makefile.in m4/Makefile.in
+       
+       dh_clean
+
+.PHONY: configure build build-arch build-indep clean install binary binary-arch binary-indep patch
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..d3827e7
--- /dev/null
@@ -0,0 +1 @@
+1.0
diff --git a/debian/update-autotools.sh b/debian/update-autotools.sh
new file mode 100755 (executable)
index 0000000..f161b02
--- /dev/null
@@ -0,0 +1,38 @@
+#! /bin/sh
+
+set -e
+
+dh_testdir
+
+D=$(basename "$PWD")
+PATCH_NAME=misc/autotools-update.diff 
+
+debclean
+quilt delete $PATCH_NAME || test $? -eq 1
+quilt push -aq
+ln -sf /usr/share/misc/config.sub .
+ln -sf /usr/share/misc/config.guess .
+
+cd ..
+cp -al $D $D.orig
+
+cd $D 
+aclocal -I m4
+autoheader
+( cd m4 && make -f Makefile.am.in )
+automake
+autoconf
+cd ..
+
+T=`mktemp $D/diff.XXXXXX`
+diff -ru $D.orig $D >$T || test $? -eq 1
+patch -p1 -R -d $D <$T
+
+cd $D
+quilt import -f -P $PATCH_NAME `basename $T`
+quilt push
+quilt refresh -p0
+cd ..
+
+rm -f $T
+rm -rf $D.orig
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..eb29a9a
--- /dev/null
@@ -0,0 +1,2 @@
+version=3
+opts=pasv ftp://ftp.mutt.org/mutt/devel/mutt-(.*).tar.gz
diff --git a/doc/Makefile.in b/doc/Makefile.in
deleted file mode 100644 (file)
index 9058ee5..0000000
+++ /dev/null
@@ -1,656 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-noinst_PROGRAMS = makedoc$(EXEEXT)
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/instdoc.sh.in TODO
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/curslib.m4 $(top_srcdir)/m4/funcdecl.m4 \
-       $(top_srcdir)/m4/funcs.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gpgme.m4 \
-       $(top_srcdir)/m4/gssapi.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/types.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = instdoc.sh
-CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-makedoc_SOURCES = makedoc.c
-makedoc_OBJECTS = makedoc.$(OBJEXT)
-makedoc_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = makedoc.c
-DIST_SOURCES = makedoc.c
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DBX = @DBX@
-DEBUGGER = @DEBUGGER@
-DEFS = -DSYSCONFDIR=\"$(sysconfdir)\" -DBINDIR=\"$(bindir)\" -DHAVE_CONFIG_H=1
-DEPDIR = @DEPDIR@
-DOTLOCK_GROUP = @DOTLOCK_GROUP@
-DOTLOCK_PERMISSION = @DOTLOCK_PERMISSION@
-DOTLOCK_TARGET = @DOTLOCK_TARGET@
-DSLROOT = @DSLROOT@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GDB = @GDB@
-GENCAT = @GENCAT@
-GLIBC21 = @GLIBC21@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GPGME_CFLAGS = @GPGME_CFLAGS@
-GPGME_CONFIG = @GPGME_CONFIG@
-GPGME_LIBS = @GPGME_LIBS@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLBISON = @INTLBISON@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
-ISPELL = @ISPELL@
-KRB5CFGPATH = @KRB5CFGPATH@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBIMAP = @LIBIMAP@
-LIBIMAPDEPS = @LIBIMAPDEPS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MUTTLIBS = @MUTTLIBS@
-MUTT_LIB_OBJECTS = @MUTT_LIB_OBJECTS@
-MUTT_MD5 = @MUTT_MD5@
-OBJEXT = @OBJEXT@
-OPS = @OPS@
-OSPCAT = @OSPCAT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PGPAUX_TARGET = @PGPAUX_TARGET@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-SDB = @SDB@
-SENDMAIL = @SENDMAIL@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMIMEAUX_TARGET = @SMIMEAUX_TARGET@
-STRIP = @STRIP@
-U = @U@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-XGETTEXT = @XGETTEXT@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-subdir = doc
-AM_CPPFLAGS = -I. -I.. -I$(includedir) -I$(top_srcdir)
-MAKEDOC_CPP = $(CPP) $(AM_CPPFLAGS) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C
-EXTRA_DIST = dotlock.man               \
-        smime_keys.man                  \
-       muttbug.man                     \
-       mutt.man                        \
-       PGP-Notes.txt                   \
-       applying-patches.txt            \
-       devel-notes.txt                 \
-       gen-map-doc                     \
-       muttrc.man.head                 \
-       muttrc.man.tail                 \
-       mbox.man                        \
-       mmdf.man                        \
-       manual.xml.head                 \
-       manual.xml.tail                 \
-       instdoc.sh.in                   \
-       patch-notes.txt                 \
-       smime-notes.txt                 \
-       Muttrc Muttrc.head stamp-doc-rc \
-       makedoc.c makedoc-defs.h        \
-       mutt.css mutt.xsl html.xsl chunk.xsl $(BUILT_DISTFILES)
-
-CHUNKED_DOCFILES = index.html intro.html gettingstarted.html \
-       configuration.html mimesupport.html advancedusage.html \
-       optionalfeatures.html security.html tuning.html reference.html miscellany.html
-
-HTML_DOCFILES = manual.html $(CHUNKED_DOCFILES)
-BUILT_DISTFILES = stamp-doc-xml stamp-doc-chunked manual.txt $(HTML_DOCFILES)
-srcdir_DOCFILES = PGP-Notes.txt applying-patches.txt   \
-       devel-notes.txt patch-notes.txt smime-notes.txt
-
-topsrcdir_DOCFILES = COPYRIGHT GPL INSTALL ChangeLog   \
-       README NEWS TODO README.SECURITY README.SSL 
-
-DISTCLEANFILES = manual.txt manual.html manual.xml manual.pdf html \
-              instdoc Muttrc
-
-EDIT = sed -e 's,@sysconfdir\@,$(sysconfdir),g' \
-       -e 's,@bindir\@,$(bindir),g' \
-       -e 's,@docdir\@,$(docdir),g'
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign doc/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-instdoc.sh: $(top_builddir)/config.status $(srcdir)/instdoc.sh.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-clean-noinstPROGRAMS:
-       -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-makedoc$(EXEEXT): $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES) 
-       @rm -f makedoc$(EXEEXT)
-       $(LINK) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/makedoc.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-local clean-noinstPROGRAMS \
-       mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-local
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-local clean-noinstPROGRAMS ctags distclean \
-       distclean-compile distclean-generic distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-data-local install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-local
-
-
-all: makedoc-all
-
-makedoc-all: mutt.1 smime_keys.1 muttrc.man manual.html stamp-doc-rc stamp-doc-chunked manual.txt
-
-install-data-local: makedoc-all instdoc
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man5
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
-       ./instdoc mutt.1 $(DESTDIR)$(mandir)/man1/mutt.1
-       ./instdoc smime_keys.1 $(DESTDIR)$(mandir)/man1/smime_keys.1
-       ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/flea.1
-       ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/muttbug.1
-       test x@DOTLOCK_TARGET@ = x || ./instdoc $(srcdir)/dotlock.man \
-               $(DESTDIR)$(mandir)/man1/mutt_dotlock.1
-       ./instdoc muttrc.man $(DESTDIR)$(mandir)/man5/muttrc.5
-       ./instdoc $(srcdir)/mbox.man $(DESTDIR)$(mandir)/man5/mbox.5
-       ./instdoc $(srcdir)/mmdf.man $(DESTDIR)$(mandir)/man5/mmdf.5
-       $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir)
-       for f in $(topsrcdir_DOCFILES) ; do \
-               $(INSTALL) -m 644 $(top_srcdir)/$$f $(DESTDIR)$(docdir) ; \
-       done
-       for f in $(srcdir_DOCFILES) ; do \
-               $(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir) ; \
-       done
-       -$(INSTALL) -m 644 manual.txt $(DESTDIR)$(docdir)
-       -for f in $(HTML_DOCFILES) ; do \
-               $(INSTALL) -m 644 $$f $(DESTDIR)$(docdir) ; \
-       done
-       $(INSTALL) -m 644 Muttrc $(DESTDIR)$(sysconfdir)/Muttrc.dist
-       -if [ -f $(DESTDIR)$(pkgdatadir)/Muttrc ] ; then \
-               mv $(DESTDIR)$(pkgdatadir)/Muttrc* $(DESTDIR)$(sysconfdir) ; \
-       elif [ -f $(DESTDIR)$(pkgdatadir)/../Muttrc ] ; then \
-               mv $(DESTDIR)$(pkgdatadir)/../Muttrc* $(DESTDIR)$(sysconfdir) ; \
-       elif [ ! -f $(DESTDIR)$(sysconfdir)/Muttrc ] ; then \
-               $(INSTALL) -m 644 Muttrc $(DESTDIR)$(sysconfdir) ; \
-       fi
-
-uninstall-local:
-       for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 smime_keys.1; do \
-               rm -f $(DESTDIR)$(mandir)/man1/$$f ; \
-       done
-       for f in muttrc.5 mbox.5 mmdf.5 ; do \
-               rm -f $(DESTDIR)$(mandir)/man5/$$f ; \
-       done
-       for f in $(srcdir_DOCFILES) $(topsrcdir_DOCFILES) $(HTML_DOCFILES) ; \
-       do \
-               rm -f $(DESTDIR)$(docdir)/$$f ; \
-       done
-       -rm -f $(DESTDIR)$(docdir)/manual.txt
-       for i in Muttrc ; do \
-         if cmp -s $(DESTDIR)$(sysconfdir)/$$i.dist $(DESTDIR)$(sysconfdir)/$$i ; then \
-               rm $(DESTDIR)$(sysconfdir)/$$i ; \
-         fi ; \
-         rm $(DESTDIR)$(sysconfdir)/$${i}.dist ; \
-       done
-
-check:
-manual.txt: manual.html
-       -LC_ALL=C lynx -dump -nolist -with_backspaces -display_charset=us-ascii manual.html > $@ || \
-       LC_ALL=C w3m -dump manual.html > $@ || \
-       LC_ALL=C elinks -dump -no-numbering -no-references manual.html | sed -e 's,\\001, ,g' > $@
-
-Muttrc: stamp-doc-rc
-
-stamp-doc-rc: $(top_srcdir)/init.h makedoc$(EXEEXT) $(srcdir)/Muttrc.head
-       -rm -f Muttrc stamp-doc-rc
-       sed -e 's,[@]docdir[@],$(docdir),' $(srcdir)/Muttrc.head > Muttrc
-       $(CPP) $(AM_CPPFLAGS) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C \
-         $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -c >> Muttrc
-       touch stamp-doc-rc
-
-manual.html: $(srcdir)/html.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css
-       -xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml
-
-stamp-doc-chunked: $(srcdir)/chunk.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css
-       -xsltproc --nonet $(srcdir)/chunk.xsl manual.xml
-       touch stamp-doc-chunked
-
-$(CHUNKED_DOCFILES): stamp-doc-chunked
-
-manual.pdf: manual.tex
-       -if test -f manual.tex; then pdfjadetex manual.tex; fi
-
-manual.tex: stamp-doc-xml
-       -if test -n "$(DSLROOT)"; then \
-         openjade -t tex -D $(DSLROOT) -d print/docbook.dsl dtds/decls/xml.dcl manual.xml; \
-       fi
-
-validate: stamp-doc-xml
-       xmllint --noout --noblanks --postvalid manual.xml
-
-spellcheck:
-       -aspell -d american --mode=sgml  --encoding=utf-8 -p $(srcdir)/mutt.pwl check manual.xml.head
-       -aspell -d american --mode=nroff --encoding=utf-8 -p $(srcdir)/mutt.pwl check muttrc.man.head
-       -aspell -d american --mode=ccpp  --encoding=utf-8 -p $(srcdir)/mutt.pwl check $(top_srcdir)/init.h
-
-sortcheck: manual.xml
-       sed -n -e '1,/^<sect1 id="variables">/d' -e '1,/^<sect1 id="functions">/s/<sect2 id="\([^"]*\)">/\1/p' < manual.xml > vars.tmp.1
-       sort < vars.tmp.1 > vars.tmp.2
-       cmp -s vars.tmp.1 vars.tmp.2 || diff -u vars.tmp.1 vars.tmp.2 | less
-       rm -rf vars.tmp.1 vars.tmp.2
-
-clean-local:
-       rm -f *~ *.html *.orig *.rej  stamp-doc-* *.ps mutt.1 smime_keys.1 muttrc.man
-       rm -f *.aux *.log *.tex *.out
-
-instdoc: instdoc.sh
-       cat instdoc.sh > instdoc
-       chmod a+x instdoc
-
-update-doc: stamp-doc-xml stamp-doc-chunked stamp-doc-rc manual.txt manual.html
-
-muttrc.man: makedoc$(EXEEXT) $(top_srcdir)/init.h muttrc.man.head muttrc.man.tail
-       $(MAKEDOC_CPP) $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -m |       \
-               cat $(srcdir)/muttrc.man.head - $(srcdir)/muttrc.man.tail\
-               > muttrc.man
-
-mutt.1: $(srcdir)/mutt.man
-       $(EDIT) $(srcdir)/mutt.man > $@
-
-smime_keys.1: $(srcdir)/smime_keys.man
-       $(EDIT) $(srcdir)/smime_keys.man > $@
-
-stamp-doc-xml: makedoc$(EXEEXT) $(top_srcdir)/init.h \
-               manual.xml.head $(top_srcdir)/functions.h $(top_srcdir)/OPS* manual.xml.tail \
-               $(srcdir)/gen-map-doc $(top_srcdir)/VERSION $(top_srcdir)/ChangeLog
-       ( date=`head -n 1 $(top_srcdir)/ChangeLog | LC_ALL=C cut -d ' ' -f 1` && \
-         sed -e "s/@VERSION\@/`cat $(top_srcdir)/VERSION` ($$date)/" $(srcdir)/manual.xml.head && \
-         $(MAKEDOC_CPP) $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -s && \
-         $(MAKEDOC_CPP) $(top_srcdir)/functions.h | \
-           perl $(srcdir)/gen-map-doc $(srcdir)/manual.xml.tail $(top_srcdir)/OPS* \
-       ) > manual.xml
-       touch stamp-doc-xml
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/imap/Makefile.in b/imap/Makefile.in
deleted file mode 100644 (file)
index 74c2c9e..0000000
+++ /dev/null
@@ -1,512 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = imap
-DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in TODO
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/curslib.m4 $(top_srcdir)/m4/funcdecl.m4 \
-       $(top_srcdir)/m4/funcs.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gpgme.m4 \
-       $(top_srcdir)/m4/gssapi.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/types.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libimap_a_AR = $(AR) $(ARFLAGS)
-libimap_a_LIBADD =
-am__libimap_a_SOURCES_DIST = auth.c auth_login.c browse.c command.c \
-       imap.c imap.h message.c utf7.c util.c auth_anon.c auth_cram.c \
-       auth_sasl.c auth_gss.c
-@USE_SASL_FALSE@am__objects_1 = auth_anon.$(OBJEXT) \
-@USE_SASL_FALSE@       auth_cram.$(OBJEXT)
-@USE_SASL_TRUE@am__objects_1 = auth_sasl.$(OBJEXT)
-@USE_GSS_TRUE@am__objects_2 = auth_gss.$(OBJEXT)
-am_libimap_a_OBJECTS = auth.$(OBJEXT) auth_login.$(OBJEXT) \
-       browse.$(OBJEXT) command.$(OBJEXT) imap.$(OBJEXT) \
-       message.$(OBJEXT) utf7.$(OBJEXT) util.$(OBJEXT) \
-       $(am__objects_1) $(am__objects_2)
-libimap_a_OBJECTS = $(am_libimap_a_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libimap_a_SOURCES)
-DIST_SOURCES = $(am__libimap_a_SOURCES_DIST)
-HEADERS = $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DBX = @DBX@
-DEBUGGER = @DEBUGGER@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOTLOCK_GROUP = @DOTLOCK_GROUP@
-DOTLOCK_PERMISSION = @DOTLOCK_PERMISSION@
-DOTLOCK_TARGET = @DOTLOCK_TARGET@
-DSLROOT = @DSLROOT@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GDB = @GDB@
-GENCAT = @GENCAT@
-GLIBC21 = @GLIBC21@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GPGME_CFLAGS = @GPGME_CFLAGS@
-GPGME_CONFIG = @GPGME_CONFIG@
-GPGME_LIBS = @GPGME_LIBS@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLBISON = @INTLBISON@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
-ISPELL = @ISPELL@
-KRB5CFGPATH = @KRB5CFGPATH@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBIMAP = @LIBIMAP@
-LIBIMAPDEPS = @LIBIMAPDEPS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MUTTLIBS = @MUTTLIBS@
-MUTT_LIB_OBJECTS = @MUTT_LIB_OBJECTS@
-MUTT_MD5 = @MUTT_MD5@
-OBJEXT = @OBJEXT@
-OPS = @OPS@
-OSPCAT = @OSPCAT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PGPAUX_TARGET = @PGPAUX_TARGET@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-SDB = @SDB@
-SENDMAIL = @SENDMAIL@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMIMEAUX_TARGET = @SMIMEAUX_TARGET@
-STRIP = @STRIP@
-U = @U@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-XGETTEXT = @XGETTEXT@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.6 foreign
-@USE_GSS_TRUE@GSSSOURCES = auth_gss.c
-@USE_SASL_FALSE@AUTHENTICATORS = auth_anon.c auth_cram.c
-@USE_SASL_TRUE@AUTHENTICATORS = auth_sasl.c
-EXTRA_DIST = README TODO auth_anon.c auth_cram.c auth_gss.c auth_sasl.c
-AM_CPPFLAGS = -I$(top_srcdir) -I../intl
-noinst_LIBRARIES = libimap.a
-noinst_HEADERS = auth.h imap_private.h message.h
-libimap_a_SOURCES = auth.c auth_login.c browse.c command.c imap.c imap.h \
-       message.c utf7.c util.c $(AUTHENTICATORS) $(GSSSOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign imap/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign imap/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLIBRARIES:
-       -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libimap.a: $(libimap_a_OBJECTS) $(libimap_a_DEPENDENCIES) 
-       -rm -f libimap.a
-       $(libimap_a_AR) libimap.a $(libimap_a_OBJECTS) $(libimap_a_LIBADD)
-       $(RANLIB) libimap.a
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_anon.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_cram.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_gss.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_login.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_sasl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/browse.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/command.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/message.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf7.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES) $(HEADERS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-noinstLIBRARIES ctags distclean distclean-compile \
-       distclean-generic distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-       uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/m4/Makefile.in b/m4/Makefile.in
deleted file mode 100644 (file)
index 83512ef..0000000
+++ /dev/null
@@ -1,388 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = m4
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
-       $(top_srcdir)/m4/curslib.m4 $(top_srcdir)/m4/funcdecl.m4 \
-       $(top_srcdir)/m4/funcs.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gpgme.m4 \
-       $(top_srcdir)/m4/gssapi.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/progtest.m4 \
-       $(top_srcdir)/m4/types.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DBX = @DBX@
-DEBUGGER = @DEBUGGER@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOTLOCK_GROUP = @DOTLOCK_GROUP@
-DOTLOCK_PERMISSION = @DOTLOCK_PERMISSION@
-DOTLOCK_TARGET = @DOTLOCK_TARGET@
-DSLROOT = @DSLROOT@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GDB = @GDB@
-GENCAT = @GENCAT@
-GLIBC21 = @GLIBC21@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GPGME_CFLAGS = @GPGME_CFLAGS@
-GPGME_CONFIG = @GPGME_CONFIG@
-GPGME_LIBS = @GPGME_LIBS@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLBISON = @INTLBISON@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
-ISPELL = @ISPELL@
-KRB5CFGPATH = @KRB5CFGPATH@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBIMAP = @LIBIMAP@
-LIBIMAPDEPS = @LIBIMAPDEPS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MUTTLIBS = @MUTTLIBS@
-MUTT_LIB_OBJECTS = @MUTT_LIB_OBJECTS@
-MUTT_MD5 = @MUTT_MD5@
-OBJEXT = @OBJEXT@
-OPS = @OPS@
-OSPCAT = @OSPCAT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PGPAUX_TARGET = @PGPAUX_TARGET@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-SDB = @SDB@
-SENDMAIL = @SENDMAIL@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SMIMEAUX_TARGET = @SMIMEAUX_TARGET@
-STRIP = @STRIP@
-U = @U@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-XGETTEXT = @XGETTEXT@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = README
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign m4/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign m4/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic mostlyclean-am
-
-distclean: distclean-am
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic dist-hook \
-       distclean distclean-generic distdir dvi dvi-am html html-am \
-       info info-am install install-am install-data install-data-am \
-       install-dvi install-dvi-am install-exec install-exec-am \
-       install-html install-html-am install-info install-info-am \
-       install-man install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
-       uninstall-am
-
-
-dist-hook:
-       for i in $(srcdir)/*.m4 ; do \
-               cp -f -p $$i $(distdir) ; \
-       done
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/po/bg.gmo b/po/bg.gmo
deleted file mode 100644 (file)
index 9827c41..0000000
Binary files a/po/bg.gmo and /dev/null differ
diff --git a/po/ca.gmo b/po/ca.gmo
deleted file mode 100644 (file)
index ea21c44..0000000
Binary files a/po/ca.gmo and /dev/null differ
diff --git a/po/cs.gmo b/po/cs.gmo
deleted file mode 100644 (file)
index 93b7640..0000000
Binary files a/po/cs.gmo and /dev/null differ
diff --git a/po/da.gmo b/po/da.gmo
deleted file mode 100644 (file)
index d30dd28..0000000
Binary files a/po/da.gmo and /dev/null differ
diff --git a/po/de.gmo b/po/de.gmo
deleted file mode 100644 (file)
index 68ef5ef..0000000
Binary files a/po/de.gmo and /dev/null differ
diff --git a/po/el.gmo b/po/el.gmo
deleted file mode 100644 (file)
index da69d6f..0000000
Binary files a/po/el.gmo and /dev/null differ
diff --git a/po/eo.gmo b/po/eo.gmo
deleted file mode 100644 (file)
index 6c77902..0000000
Binary files a/po/eo.gmo and /dev/null differ
diff --git a/po/es.gmo b/po/es.gmo
deleted file mode 100644 (file)
index 134530c..0000000
Binary files a/po/es.gmo and /dev/null differ
diff --git a/po/et.gmo b/po/et.gmo
deleted file mode 100644 (file)
index 33b20d3..0000000
Binary files a/po/et.gmo and /dev/null differ
diff --git a/po/eu.gmo b/po/eu.gmo
deleted file mode 100644 (file)
index c45d867..0000000
Binary files a/po/eu.gmo and /dev/null differ
diff --git a/po/fr.gmo b/po/fr.gmo
deleted file mode 100644 (file)
index bc7d07c..0000000
Binary files a/po/fr.gmo and /dev/null differ
diff --git a/po/ga.gmo b/po/ga.gmo
deleted file mode 100644 (file)
index 1070b8c..0000000
Binary files a/po/ga.gmo and /dev/null differ
diff --git a/po/gl.gmo b/po/gl.gmo
deleted file mode 100644 (file)
index d5b2d64..0000000
Binary files a/po/gl.gmo and /dev/null differ
diff --git a/po/hu.gmo b/po/hu.gmo
deleted file mode 100644 (file)
index 1a6f260..0000000
Binary files a/po/hu.gmo and /dev/null differ
diff --git a/po/id.gmo b/po/id.gmo
deleted file mode 100644 (file)
index cc9df69..0000000
Binary files a/po/id.gmo and /dev/null differ
diff --git a/po/it.gmo b/po/it.gmo
deleted file mode 100644 (file)
index 19aee50..0000000
Binary files a/po/it.gmo and /dev/null differ
diff --git a/po/ja.gmo b/po/ja.gmo
deleted file mode 100644 (file)
index 90e8394..0000000
Binary files a/po/ja.gmo and /dev/null differ
diff --git a/po/ko.gmo b/po/ko.gmo
deleted file mode 100644 (file)
index 8a240f3..0000000
Binary files a/po/ko.gmo and /dev/null differ
diff --git a/po/lt.gmo b/po/lt.gmo
deleted file mode 100644 (file)
index dabbf08..0000000
Binary files a/po/lt.gmo and /dev/null differ
diff --git a/po/nl.gmo b/po/nl.gmo
deleted file mode 100644 (file)
index 3593d18..0000000
Binary files a/po/nl.gmo and /dev/null differ
diff --git a/po/pl.gmo b/po/pl.gmo
deleted file mode 100644 (file)
index a30cd5a..0000000
Binary files a/po/pl.gmo and /dev/null differ
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
deleted file mode 100644 (file)
index b71fbbb..0000000
Binary files a/po/pt_BR.gmo and /dev/null differ
diff --git a/po/ru.gmo b/po/ru.gmo
deleted file mode 100644 (file)
index 81e67ab..0000000
Binary files a/po/ru.gmo and /dev/null differ
diff --git a/po/sk.gmo b/po/sk.gmo
deleted file mode 100644 (file)
index 4dd742f..0000000
Binary files a/po/sk.gmo and /dev/null differ
diff --git a/po/sv.gmo b/po/sv.gmo
deleted file mode 100644 (file)
index 1ef9660..0000000
Binary files a/po/sv.gmo and /dev/null differ
diff --git a/po/tr.gmo b/po/tr.gmo
deleted file mode 100644 (file)
index 1b64dc4..0000000
Binary files a/po/tr.gmo and /dev/null differ
diff --git a/po/uk.gmo b/po/uk.gmo
deleted file mode 100644 (file)
index 6859a71..0000000
Binary files a/po/uk.gmo and /dev/null differ
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
deleted file mode 100644 (file)
index 248e207..0000000
Binary files a/po/zh_CN.gmo and /dev/null differ
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
deleted file mode 100644 (file)
index 69afacf..0000000
Binary files a/po/zh_TW.gmo and /dev/null differ