From: Antonio Radici Date: Sun, 24 May 2009 10:41:52 +0000 (+0100) Subject: removing debian/ from upstream X-Git-Tag: upstream/1.5.18~1 X-Git-Url: https://git.llucax.com/software/mutt-debian.git/commitdiff_plain/3a6f7bb92a915750fcb0eac1a732a1bc002475b1?ds=sidebyside removing debian/ from upstream --- diff --git a/debian/MY-TODO b/debian/MY-TODO deleted file mode 100644 index e9494c7..0000000 --- a/debian/MY-TODO +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index d00133e..0000000 --- a/debian/NEWS +++ /dev/null @@ -1,46 +0,0 @@ -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 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 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 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 Sun, 4 Apr 2004 14:04:03 +0200 diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 9ac18c8..0000000 --- a/debian/README.Debian +++ /dev/null @@ -1,81 +0,0 @@ -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 Sat, 03 Nov 2007 21:02:26 +0100 diff --git a/debian/README.source b/debian/README.source deleted file mode 100644 index 8646078..0000000 --- a/debian/README.source +++ /dev/null @@ -1,57 +0,0 @@ -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 - -where 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 - -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 /path/to/patch - quilt push -a - -(add -p 0 to quilt import if needed). 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 - -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 deleted file mode 100644 index 1d19eee..0000000 --- a/debian/bug/control +++ /dev/null @@ -1 +0,0 @@ -package-status: mutt mutt-patched mutt-dbg diff --git a/debian/bug/script b/debian/bug/script deleted file mode 100755 index d5f4c44..0000000 --- a/debian/bug/script +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -echo "Including output of \`mutt -v'..." - -LC_ALL=C mutt -v >&3 diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index db2c6ff..0000000 --- a/debian/changelog +++ /dev/null @@ -1,1491 +0,0 @@ -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 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 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 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 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 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 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 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 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 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ó 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 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 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 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 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 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 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 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 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 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 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 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 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 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ó 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ó 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ó 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ó 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ó 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ó 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: - - - + 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ó 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ó 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ó 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ó 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ó 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ó 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ó 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 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ó 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ó 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ó 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ó 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ó 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 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 . 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ó 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ó 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: - . For a quick - start, read documentation for the $header_cache variable. - (Closes: #242762, #255475) - - * Added the maildir-mtime patch by Dale Woolridge, see - . 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ó 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 . (Closes: #260638) - - -- Adeodato Simó 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ó 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 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ó . - * 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sun, 1 Apr 2001 22:09:27 +0200 - -mutt (1.3.15-2) unstable; urgency=high - - * Built again without linking libiconv. - - -- Marco d'Itri 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 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 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 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 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 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 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 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 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 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 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 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 Sat, 26 Feb 2000 15:13:09 +0100 - -mutt (1.1.4-1) unstable; urgency=low - - * New upstream release. - - -- Marco d'Itri 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 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 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 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 Sun, 19 Dec 1999 12:08:53 +0100 - diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 7ed6ff8..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/control b/debian/control deleted file mode 100644 index b76863b..0000000 --- a/debian/control +++ /dev/null @@ -1,57 +0,0 @@ -Source: mutt -Section: mail -Priority: standard -Maintainer: Christoph Berg -Uploaders: Adeodato Simó , Antonio Radici -Build-Depends: debhelper (>> 5), quilt, automake, gawk, gettext, xsltproc, - docbook-xml, docbook-xsl, links, libncurses5-dev, libsasl2-dev, libgnutls-dev, - libidn11-dev, zlib1g-dev, libncursesw5-dev, libgdbm-dev, libkrb5-dev -Standards-Version: 3.8.0 -XS-Vcs-Git: git://git.debian.org/git/pkg-mutt/mutt.git -XS-Vcs-Browser: http://git.debian.org/?p=pkg-mutt/mutt.git -Homepage: http://www.mutt.org/ - -Package: mutt -Architecture: any -Priority: standard -Depends: ${shlibs:Depends}, ${misc:Depends} -Recommends: exim4 | 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}, 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 -Priority: extra -Depends: ${shlibs: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. diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index 2feccaf..0000000 --- a/debian/copyright +++ /dev/null @@ -1,89 +0,0 @@ -This is Debian's prepackaged version of Mutt, a powerful text-mode mail -user agent. - -The current maintainers for this package are: - Adeodato Simó - Christoph Berg - -Previous maintainers were: - Stephen Pitts - J.H.M. Dassen - Marco d'Itri - -Original source has been downloaded from ftp://ftp.mutt.org/mutt/: - - URL: - -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 -Copyright (C) 1996-2002 Brandon Long -Copyright (C) 1997-2008 Thomas Roessler -Copyright (C) 1998-2005 Werner Koch -Copyright (C) 1999-2009 Brendan Cully -Copyright (C) 1999-2002 Tommi Komulainen -Copyright (C) 2000-2004 Edmund Grimley Evans -Copyright (C) 2006-2008 Rocco Rutte - - 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 - Copyright (C) 2005 Peter J. Holzer - -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 deleted file mode 100644 index 6bd4aa2..0000000 --- a/debian/extra/README.SMIME +++ /dev/null @@ -1,56 +0,0 @@ -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 - diff --git a/debian/extra/lib/debian-ldap-query b/debian/extra/lib/debian-ldap-query deleted file mode 100755 index f4e3ae4..0000000 --- a/debian/extra/lib/debian-ldap-query +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/perl -w -# by Ben Collins , butchered by Marco d'Itri -# 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 [...]\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 deleted file mode 100755 index 79e0e03..0000000 --- a/debian/extra/lib/mailspell +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/perl -# -# Wrapper to call ispell on mail messages, ignoring quoted portions -# and signatures. -# By Brendan O'Dea , 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/source-muttrc.d b/debian/extra/lib/source-muttrc.d deleted file mode 100755 index ee177b9..0000000 --- a/debian/extra/lib/source-muttrc.d +++ /dev/null @@ -1,7 +0,0 @@ -#!/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 deleted file mode 100644 index b8ae716..0000000 --- a/debian/extra/mutt-patched.rc/sidebar.rc +++ /dev/null @@ -1,5 +0,0 @@ -# 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 deleted file mode 100644 index ff7bd9d..0000000 --- a/debian/extra/mutt.xpm +++ /dev/null @@ -1,49 +0,0 @@ -/* 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 deleted file mode 100644 index 0c0b8d7..0000000 --- a/debian/extra/rc/Muttrc.foot +++ /dev/null @@ -1,2 +0,0 @@ -# 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 deleted file mode 100644 index ebbeb3e..0000000 --- a/debian/extra/rc/charset.rc +++ /dev/null @@ -1,9 +0,0 @@ -# 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 deleted file mode 100644 index 5eae80a..0000000 --- a/debian/extra/rc/colors.rc +++ /dev/null @@ -1,19 +0,0 @@ -# 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 deleted file mode 100644 index d21b725..0000000 --- a/debian/extra/rc/compressed-folders.rc +++ /dev/null @@ -1,8 +0,0 @@ -# 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 deleted file mode 100644 index efba1cb..0000000 --- a/debian/extra/samples/colors.angdraug +++ /dev/null @@ -1,91 +0,0 @@ -# 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 - -# 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 deleted file mode 100644 index e05c22e..0000000 --- a/debian/extra/samples/ray.muttrc +++ /dev/null @@ -1,48 +0,0 @@ -# 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-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 deleted file mode 100644 index 8bb1574..0000000 --- a/debian/extra/samples/sidebar.muttrc +++ /dev/null @@ -1,74 +0,0 @@ -# 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 'toggle sidebar_visible' -macro pager b 'toggle sidebar_visible' - -# Remap bounce-message function to "B" -bind index B bounce-message - -# -# Mario Holbe suggests: -# macro index b 'toggle sidebar_visible' -# macro pager b 'toggle sidebar_visible' -# - - -# 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/fix-PATCHES.pl b/debian/fix-PATCHES.pl deleted file mode 100755 index fafd7b9..0000000 --- a/debian/fix-PATCHES.pl +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/perl -wi - -use strict; - -my ($PATCHES, @patches); -while (<>) { - if (/^(---|Index:|diff) .*PATCHES/) { - $PATCHES = 1; - } elsif (/^(-|Index|diff)/) { # next patch - $PATCHES = 0; - print; - } elsif ($PATCHES) { - next if /^(===|\+\+\+|@@)/; # patch header - next if /^ /; # context - push @patches, $_; - } else { - print; - } - if (eof) { - if (@patches) { - print "--- a/PATCHES\n"; - print "+++ b/PATCHES\n"; - print "@@ -0,0 +" . scalar (@patches) . " @@\n"; - print @patches; - } - @patches = (); - $PATCHES = 0; - } -} - diff --git a/debian/header.awk b/debian/header.awk deleted file mode 100755 index 82cf656..0000000 --- a/debian/header.awk +++ /dev/null @@ -1,23 +0,0 @@ -#! /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 deleted file mode 100644 index c803d03..0000000 --- a/debian/mutt-dbg.links +++ /dev/null @@ -1 +0,0 @@ -usr/share/doc/mutt usr/share/doc/mutt-dbg diff --git a/debian/mutt-patched.install b/debian/mutt-patched.install deleted file mode 100644 index 00d4950..0000000 --- a/debian/mutt-patched.install +++ /dev/null @@ -1 +0,0 @@ -debian/extra/mutt-patched.rc/*.rc etc/Muttrc.d diff --git a/debian/mutt-patched.links b/debian/mutt-patched.links deleted file mode 100644 index d15e658..0000000 --- a/debian/mutt-patched.links +++ /dev/null @@ -1 +0,0 @@ -usr/share/doc/mutt usr/share/doc/mutt-patched diff --git a/debian/mutt-patched.postrm b/debian/mutt-patched.postrm deleted file mode 100644 index 39a1eec..0000000 --- a/debian/mutt-patched.postrm +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -e - -if [ "$1" = remove ] ; then - dpkg-divert --remove --package mutt-patched --rename \ - --divert /usr/bin/mutt.org /usr/bin/mutt -fi - -#DEBHELPER# - -exit 0 diff --git a/debian/mutt-patched.preinst b/debian/mutt-patched.preinst deleted file mode 100644 index 86fce1b..0000000 --- a/debian/mutt-patched.preinst +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -e - -# Divert mutt to mutt.org so the binary from mutt-patched can replace it. -# We do not need to divert the debugging symbols in the mutt-dbg package -# as the debugging link in there points to the correct file in any case. - -if [ "$1" = install ] || [ "$1" = upgrade ] ; then - dpkg-divert --add --package mutt-patched --rename \ - --divert /usr/bin/mutt.org /usr/bin/mutt -fi - -#DEBHELPER# - -exit 0 diff --git a/debian/mutt.dirs b/debian/mutt.dirs deleted file mode 100644 index 60d4e9a..0000000 --- a/debian/mutt.dirs +++ /dev/null @@ -1,2 +0,0 @@ -etc/Muttrc.d -usr/share/bug/mutt diff --git a/debian/mutt.doc-base b/debian/mutt.doc-base deleted file mode 100644 index 76036a2..0000000 --- a/debian/mutt.doc-base +++ /dev/null @@ -1,14 +0,0 @@ -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 deleted file mode 100644 index 670b635..0000000 --- a/debian/mutt.docs +++ /dev/null @@ -1,10 +0,0 @@ -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 deleted file mode 100644 index b20617c..0000000 --- a/debian/mutt.examples +++ /dev/null @@ -1,3 +0,0 @@ -debian/extra/samples/* -debian/tmp/etc/Muttrc -debian/tmp/usr/share/doc/samples/* diff --git a/debian/mutt.install b/debian/mutt.install deleted file mode 100644 index 9f1c8e3..0000000 --- a/debian/mutt.install +++ /dev/null @@ -1,17 +0,0 @@ -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/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 deleted file mode 100644 index 8c256d9..0000000 --- a/debian/mutt.lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -mutt: setgid-binary usr/bin/mutt_dotlock 2755 root/mail diff --git a/debian/mutt.manpages b/debian/mutt.manpages deleted file mode 100644 index 6b6053e..0000000 --- a/debian/mutt.manpages +++ /dev/null @@ -1,5 +0,0 @@ -debian/tmp/usr/share/man/man1/mutt.1 -debian/tmp/usr/share/man/man1/mutt_dotlock.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 deleted file mode 100644 index a82236f..0000000 --- a/debian/mutt.menu +++ /dev/null @@ -1,5 +0,0 @@ -?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 deleted file mode 100644 index 79f40a4..0000000 --- a/debian/mutt.mime +++ /dev/null @@ -1 +0,0 @@ -message/rfc822; mutt -Rf '%s'; edit=mutt -f '%s'; needsterminal diff --git a/debian/mutt.preinst b/debian/mutt.preinst deleted file mode 100644 index fd2ecf8..0000000 --- a/debian/mutt.preinst +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -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/patches/debian-specific/Md.etc_mailname_gethostbyname.diff b/debian/patches/debian-specific/Md.etc_mailname_gethostbyname.diff deleted file mode 100644 index f7a94b0..0000000 --- a/debian/patches/debian-specific/Md.etc_mailname_gethostbyname.diff +++ /dev/null @@ -1,68 +0,0 @@ ---- a/init.c -+++ b/init.c -@@ -46,6 +46,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -2911,6 +2912,31 @@ static int mutt_execute_commands (LIST * - 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; -@@ -2982,10 +3008,25 @@ void mutt_init (int skip_sys_rc, LIST *c - 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 deleted file mode 100644 index bc8db21..0000000 --- a/debian/patches/debian-specific/Muttrc +++ /dev/null @@ -1,68 +0,0 @@ -# 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,32 @@ unignore from: subject to cc date x-mail - # Display the fields in this order - hdr_order date from to cc subject - -+# emacs-like bindings -+bind editor "\e" kill-word -+bind editor "\e" kill-word -+ -+# map delete-char to a sane value -+bind editor delete-char -+ -+# some people actually like these settings -+#set pager_stop -+#bind pager previous-line -+#bind pager next-line -+ -+# Specifies how to sort messages in the index menu. -+set sort=threads -+ -+# Uncomment if your MTA does not strip Bcc: headers. -+# (exim4 and postfix strip them, exim(3) does not.) -+#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 "~b " "search in message bodies" - -@@ -23,7 +49,7 @@ macro index,pager,attach,compose \cb "\ - "call urlview to extract URLs out of a message" - - # Show documentation when pressing F1 --macro generic,pager " less @docdir@/manual.txt" "show Mutt documentation" -+macro generic,pager " zcat @docdir@/mutt/manual.txt.gz | sensible-pager" "show Mutt documentation" - - # show the incoming mailboxes list (just like "mutt -y") and back when pressing "y" - macro index,pager y "?" "show incoming mailboxes list" -@@ -35,7 +61,7 @@ bind browser y exit - # 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 - -@@ -101,6 +127,9 @@ attachments +I text/plain - 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 deleted file mode 100644 index 3a6c763..0000000 --- a/debian/patches/debian-specific/assumed_charset-compat +++ /dev/null @@ -1,17 +0,0 @@ -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. - -Index: mutt/init.h -=================================================================== ---- mutt.orig/init.h 2007-03-12 19:11:53.000000000 +0100 -+++ mutt/init.h 2007-03-12 19:13:56.000000000 +0100 -@@ -248,6 +248,9 @@ struct option_t MuttVars[] = { - ** Note: "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 deleted file mode 100644 index 6a5159f..0000000 --- a/debian/patches/debian-specific/build_doc_adjustments.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -98,7 +98,8 @@ uninstall-local: - - check: - manual.txt: manual.html -- -LC_ALL=C lynx -dump -nolist -with_backspaces manual.html > $@ || \ -+ links.main -dump $< > $@ || links -dump $< > $@ || \ -+ 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' > $@ - -@@ -112,10 +113,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 - - $(HTML_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 deleted file mode 100644 index dcfdd4f..0000000 --- a/debian/patches/debian-specific/correct_docdir_in_man_page.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- a/doc/mutt.man -+++ b/doc/mutt.man -@@ -167,7 +167,7 @@ User's personal mapping between MIME typ - 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 deleted file mode 100644 index a2efe86..0000000 --- a/debian/patches/debian-specific/document_debian_defaults +++ /dev/null @@ -1,73 +0,0 @@ ---- a/init.h -+++ b/init.h -@@ -304,6 +304,9 @@ struct option_t MuttVars[] = { - ** .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 }, - /* -@@ -866,6 +869,9 @@ struct option_t MuttVars[] = { - ** 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 }, - /* -@@ -1399,6 +1405,9 @@ struct option_t MuttVars[] = { - ** 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 }, -@@ -1999,6 +2008,10 @@ struct option_t MuttVars[] = { - ** 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 }, - /* -@@ -2237,6 +2250,9 @@ struct option_t MuttVars[] = { - ** .ts - ** set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt - ** .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_SSL_GNUTLS */ - #endif /* defined(USE_SSL) */ -@@ -2873,6 +2889,9 @@ struct option_t MuttVars[] = { - ** .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 }, - /* -@@ -3306,6 +3325,9 @@ struct option_t MuttVars[] = { - ** 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. - */ - {"xterm_icon", DT_STR, R_BOTH, UL &XtermIcon, UL "M%?n?AIL&ail?"}, - /* diff --git a/debian/patches/debian-specific/dont_document_not_present_features.diff b/debian/patches/debian-specific/dont_document_not_present_features.diff deleted file mode 100644 index 59844ee..0000000 --- a/debian/patches/debian-specific/dont_document_not_present_features.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- 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/sort-patchlist b/debian/patches/debian-specific/sort-patchlist deleted file mode 100644 index a2fd47f..0000000 --- a/debian/patches/debian-specific/sort-patchlist +++ /dev/null @@ -1,12 +0,0 @@ -Index: trunk/patchlist.sh -=================================================================== ---- trunk.orig/patchlist.sh 2007-03-15 15:50:14.000000000 +0100 -+++ trunk/patchlist.sh 2007-03-15 15:50:41.000000000 +0100 -@@ -15,6 +15,6 @@ EOF - - while read patch ; do - echo " puts (\"${patch}\");" --done -+done | LC_COLLATE=C sort - - echo "}" diff --git a/debian/patches/debian-specific/use_usr_bin_editor.diff b/debian/patches/debian-specific/use_usr_bin_editor.diff deleted file mode 100644 index 13baea5..0000000 --- a/debian/patches/debian-specific/use_usr_bin_editor.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- a/init.c -+++ b/init.c -@@ -3114,7 +3114,7 @@ void mutt_init (int skip_sys_rc, LIST *c - { - 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 -@@ -589,7 +589,7 @@ struct option_t MuttVars[] = { - ** .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 deleted file mode 100644 index 0ea9b73..0000000 --- a/debian/patches/features-old/patch-1.5.4.vk.pgp_verbose_mime +++ /dev/null @@ -1,50 +0,0 @@ -diff -ruN mutt.orig/globals.h mutt/globals.h ---- mutt.orig/globals.h 2003-09-13 16:23:24.000000000 +0200 -+++ mutt/globals.h 2003-09-13 16:23:18.000000000 +0200 -@@ -195,6 +195,8 @@ - WHERE char *PgpListSecringCommand; - WHERE char *PgpListPubringCommand; - WHERE char *PgpGetkeysCommand; -+WHERE char *PgpMimeSignatureFilename; -+WHERE char *PgpMimeSignatureDescription; - - /*-- formerly in smime.h --*/ - WHERE char *SmimeDefaultKey; -diff -ruN mutt.orig/init.h mutt/init.h ---- mutt.orig/init.h 2003-09-13 16:23:24.000000000 +0200 -+++ mutt/init.h 2003-09-13 16:21:53.000000000 +0200 -@@ -1458,6 +1458,18 @@ - ** This option overrides ``$$pgp_create_traditional'' - ** (PGP only) - */ -+ { "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. -+ */ - - /* XXX Default values! */ - -diff -ruN mutt.orig/pgp.c mutt/pgp.c ---- mutt.orig/pgp.c 2003-09-13 16:23:24.000000000 +0200 -+++ mutt/pgp.c 2003-09-13 16:21:53.000000000 +0200 -@@ -998,6 +998,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); - } ---- a/PATCHES -+++ b/PATCHES -@@ -0,0 +1 @@ -+patch-1.5.4.vk.pgp_verbose_mime diff --git a/debian/patches/features/compressed-folders b/debian/patches/features/compressed-folders deleted file mode 100644 index b1abd8c..0000000 --- a/debian/patches/features/compressed-folders +++ /dev/null @@ -1,1189 +0,0 @@ -# vi: ft=diff -This is the compressed folders patch by Roland Rosenfeld -. - -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) - -== END PATCH ---- /dev/null -+++ b/compress.c -@@ -0,0 +1,499 @@ -+/* -+ * Copyright (C) 1997 Alain Penders -+ * -+ * 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 -+#include -+#include -+#include -+ -+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); -+ -+ ctx->magic = DefaultMagic; -+ -+ if (!is_new (ctx->realpath)) -+ if (ctx->magic == M_MBOX || ctx->magic == M_MMDF) -+ 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 -+ * -+ * 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 -@@ -795,6 +795,11 @@ AC_ARG_ENABLE(locales-fix, AC_HELP_STRIN - 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 -@@ -1128,6 +1128,11 @@ int mutt_index_menu (void) - { - 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 -@@ -5160,6 +5160,205 @@ macro pager \cb |urlview\n - - - -+ -+Compressed folders Support (OPTIONAL) -+ -+ -+If Mutt was compiled with compressed folders support (by running the -+configure script with the -+--enable-compressed 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 (open-hook, close-hook and append-hook) which define commands to -+uncompress and compress a folder and to append messages to an existing -+compressed folder respectively. -+ -+For example: -+ -+ -+open-hook \\.gz$ "gzip -cd %f > %t" -+close-hook \\.gz$ "gzip -c %t > %f" -+append-hook \\.gz$ "gzip -c %t >> %f" -+ -+ -+You do not have to specify all of the commands. If you omit append-hook, the folder will be open and -+closed again each time you will add to it. If you omit close-hook (or give empty command) , the -+folder will be open in the mode. If you specify append-hook 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 -+"." as a regexp. But this may be surprising if your -+compressing script produces empty files. In this situation, unset -+$save_empty, so that -+the compressed file will be removed if you delete all of the messages. -+ -+ -+ -+Open a compressed mailbox for reading -+ -+ -+Usage: open-hook regexp "command" -+ -+The command is the command that can be used for -+opening the folders whose names match regexp. -+ -+The command string is the printf-like format -+string, and it should accept two parameters: %f, which is -+replaced with the (compressed) folder name, and %t which is -+replaced with the name of the temporary folder to which to write. -+ -+%f and %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, %% is replaced by -+%, as in printf, and any other %anything is left as is. -+ -+The command should not remove the original compressed file. The -+command should return non-zero exit status if it -+fails, so mutt knows something's wrong. -+ -+Example: -+ -+ -+open-hook \\.gz$ "gzip -cd %f > %t" -+ -+ -+If the command is empty, this operation is -+disabled for this file type. -+ -+ -+ -+ -+Write a compressed mailbox -+ -+ -+Usage: close-hook regexp "command" -+ -+This is used to close the folder that was open with the open-hook command after some changes were -+made to it. -+ -+The command string is the command that can be -+used for closing the folders whose names match -+regexp. It has the same format as in the open-hook command. Temporary folder in this -+case is the folder previously produced by the open-hook command. -+ -+The command should not remove the decompressed file. The -+command should return non-zero exit status if it -+fails, so mutt knows something's wrong. -+ -+Example: -+ -+ -+close-hook \\.gz$ "gzip -c %t > %f" -+ -+ -+If the command is empty, this operation is -+disabled for this file type, and the file can only be open in the -+read-only mode. -+ -+close-hook is not called when you -+exit from the folder if the folder was not changed. -+ -+ -+ -+ -+Append a message to a compressed mailbox -+ -+ -+Usage: append-hook regexp "command" -+ -+This command is used for saving to an existing compressed folder. The -+command is the command that can be used for -+appending to the folders whose names match -+regexp. It has the same format as in the open-hook command. The temporary folder in -+this case contains the messages that are being appended. -+ -+The command should not remove the decompressed file. The -+command should return non-zero exit status if it -+fails, so mutt knows something's wrong. -+ -+Example: -+ -+ -+append-hook \\.gz$ "gzip -c %t >> %f" -+ -+ -+When append-hook 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 ($mbox_type) 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, close-hook is called, and not append-hook. append-hook is only for appending to -+existing folders. -+ -+If the command is empty, this operation is -+disabled for this file type. In this case, the folder will be open and -+closed again (using open-hook and -+close-hookrespectively) each time you -+will add to it. -+ -+ -+ -+ -+Encrypted folders -+ -+ -+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: -+ -+ -+open-hook \\.pgp$ "pgp -f < %f > %t" -+close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId < %t > %f" -+ -+ -+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: -+ -+ -+open-hook \\.gpg$ "gpg --decrypt < %f > %t" -+close-hook \\.gpg$ "gpg --encrypt --recipient YourGpgUserIdOrKeyId < %t > %f" -+ -+ -+Note: 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. -+ -+ -+ -+ - - Mutt's MIME Support - ---- a/doc/Muttrc.head -+++ b/doc/Muttrc.head -@@ -29,6 +29,11 @@ macro generic,pager " - macro index,pager y "?" "show incoming mailboxes list" - bind browser y exit - -+# Use folders which match on \\.gz$ as gzipped folders: -+# open-hook \\.gz$ "gzip -cd %f > %t" -+# close-hook \\.gz$ "gzip -c %t > %f" -+# 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. - # ---- a/doc/muttrc.man.head -+++ b/doc/muttrc.man.head -@@ -345,6 +345,24 @@ specify the ID of the public key to be u - 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 - #include - #include -@@ -92,6 +96,16 @@ int mutt_parse_hook (BUFFER *buf, BUFFER - 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 -@@ -3452,6 +3452,11 @@ struct command_t Commands[] = { - { "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 @@ static void show_version (void) - #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 @@ BUILT_SOURCES = keymap_defs.h patchlist. - 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 @@ EXTRA_mutt_SOURCES = account.c bcache.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 \ -+ 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 - #include - #include -@@ -1038,6 +1042,12 @@ bail: /* Come here in case of disaster - 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 -@@ -140,6 +140,11 @@ typedef enum - #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 -@@ -872,6 +877,11 @@ typedef struct _context - 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 -@@ -445,6 +449,10 @@ int mx_get_magic (const char *path) - return (-1); - } - -+#ifdef USE_COMPRESSED -+ if (magic == 0 && mutt_can_read_compressed (path)) -+ return M_COMPRESSED; -+#endif - return (magic); - } - -@@ -484,6 +492,13 @@ static int mx_open_mailbox_append (CONTE - { - 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 -@@ -647,7 +662,12 @@ CONTEXT *mx_open_mailbox (const char *pa - } - - 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); - -@@ -748,6 +768,10 @@ void mx_fastclose_mailbox (CONTEXT *ctx) - 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) -@@ -800,6 +824,12 @@ static int sync_mailbox (CONTEXT *ctx, i - - 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; - } - -@@ -1058,6 +1088,11 @@ int mx_close_mailbox (CONTEXT *ctx, int - !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; -@@ -1373,6 +1408,11 @@ int mx_check_mailbox (CONTEXT *ctx, int - { - 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 @@ enum - #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 -@@ -3,7 +3,7 @@ msgstr "" - "Project-Id-Version: 1.5.18\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2009-01-05 16:36-0800\n" --"PO-Revision-Date: 2008-05-18 10:28+0200\n" -+"PO-Revision-Date: 2009-01-15 23:09+0100\n" - "Last-Translator: Roland Rosenfeld \n" - "Language-Team: German \n" - "MIME-Version: 1.0\n" -@@ -1975,6 +1975,10 @@ msgstr "Hilfe für %s" - 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." -@@ -2718,18 +2722,10 @@ msgstr "Lese %s..." - msgid "Mailbox is corrupt!" - msgstr "Mailbox fehlerhaft!" - --#: mbox.c:678 --msgid "Mailbox was corrupted!" --msgstr "Mailbox wurde zerstört!" -- - #: mbox.c:719 mbox.c:976 - msgid "Fatal error! Could not reopen mailbox!" - msgstr "Fataler Fehler, konnte Mailbox nicht erneut öffnen!" - --#: mbox.c:728 --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. -@@ -5298,3 +5294,45 @@ msgstr "Zeige S/MIME Optionen" - - #~ msgid "Authentication method is unknown." - #~ msgstr "Authentifizierungsmethode unbekannt." -+ -+#: compress.c:203 mbox.c:661 -+msgid "Mailbox was corrupted!" -+msgstr "Mailbox wurde zerstört!" -+ -+#: compress.c:228 compress.c:253 -+#, c-format -+msgid "Decompressing %s...\n" -+msgstr "Entpacke %s...\n" -+ -+#: 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!" -+ -+#: compress.c:264 -+#, c-format -+msgid "Error executing: %s : unable to open the mailbox!\n" -+msgstr "Fehler beim Ausführen von %s : Kann die Mailbox nicht öffnen!\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 @@ charset.c - 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 @@ status_format_str (char *buf, size_t buf - - 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)); ---- a/PATCHES -+++ b/PATCHES -@@ -0,0 +1 @@ -+patch-1.5.18.rr.compressed.1 diff --git a/debian/patches/features/compressed-folders.debian b/debian/patches/features/compressed-folders.debian deleted file mode 100644 index c077697..0000000 --- a/debian/patches/features/compressed-folders.debian +++ /dev/null @@ -1,7 +0,0 @@ ---- 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 deleted file mode 100644 index 661bb2f..0000000 --- a/debian/patches/features/ifdef +++ /dev/null @@ -1,155 +0,0 @@ -# vim:ft=diff: -This is the ifdef patch by Cedric Duval . - -This command allows to test if a feature has been compiled in before actually -attempting to configure / use it. - -Syntax: - -ifdef - -where 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 -Index: mutt/init.c -=================================================================== ---- mutt.orig/init.c 2006-12-12 14:15:03.000000000 +0100 -+++ mutt/init.c 2007-02-15 23:38:45.597907432 +0100 -@@ -624,6 +624,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 -Index: mutt/init.h -=================================================================== ---- mutt.orig/init.h 2006-12-12 14:15:03.000000000 +0100 -+++ mutt/init.h 2007-02-15 23:26:21.160079184 +0100 -@@ -3017,6 +3017,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 *); -@@ -3068,6 +3069,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 -Index: mutt/doc/manual.xml.head -=================================================================== ---- mutt.orig/doc/manual.xml.head 2007-02-15 21:53:09.312169280 +0100 -+++ mutt/doc/manual.xml.head 2007-02-15 23:42:23.875724160 +0100 -@@ -3091,6 +3091,28 @@ considered to be an executable program f - - - -+ -+ -+Configuring features conditionnaly -+ -+ -+Usage: ifdef item command -+ -+ -+ -+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: -+ -+ -+ -+ -+ifdef imap_keepalive 'source ~/.mutt/imap_setup' -+ -+ -+ -+ -+ - - Removing hooks - ---- a/PATCHES -+++ b/PATCHES -@@ -0,0 +1 @@ -+patch-1.5.13.cd.ifdef.2 diff --git a/debian/patches/features/maildir-mtime b/debian/patches/features/maildir-mtime deleted file mode 100644 index 92c2909..0000000 --- a/debian/patches/features/maildir-mtime +++ /dev/null @@ -1,180 +0,0 @@ -# vi: ft=diff -This is the maildir mtime patch by Dale Woolridge. - -The home page for this patch is: - - http://www.mutt.ca/maildir-mtime.html - -* Patch last synced with upstream: - - Date: 2004-08-10 - - File: http://www.mutt.ca/patches/patch-1.5.6.dw.maildir-mtime.1 - -* Changes made: - - removed a spurious const in add_folder() definition. - - added a $maildir_mtime option to allow this patch to be disabled at - runtime (see Bug#253261, comments from Zephaniah E. Hull). - - 2007-04-03 myon: resolved conflict in browser.c - -== END PATCH ---- a/buffy.c -+++ b/buffy.c -@@ -226,6 +226,7 @@ int mutt_parse_mailboxes (BUFFER *path, - (*tmp)->new = 0; - (*tmp)->notified = 1; - (*tmp)->newly_created = 0; -+ (*tmp)->mtime = 0; - - /* for check_mbox_size, it is important that if the folder is new (tested by - * reading it), the size is set to 0 so that later when we check we see -@@ -254,6 +255,7 @@ int mutt_buffy_check (int force) - { - BUFFY *tmp; - struct stat sb; -+ struct stat smd; - struct dirent *de; - DIR *dirp; - char path[_POSIX_PATH_MAX]; -@@ -298,6 +300,7 @@ int mutt_buffy_check (int force) - if (tmp->magic != M_IMAP) - #endif - tmp->new = 0; -+ tmp->mtime = 0; - - #ifdef USE_IMAP - if (tmp->magic != M_IMAP) -@@ -380,10 +383,20 @@ int mutt_buffy_check (int force) - 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; -+ if (!tmp->new) -+ { -+ /* one new and undeleted message is enough */ -+ BuffyCount++; -+ tmp->new = 1; -+ -+ if (! option (OPTMAILDIRMTIME)) /* prevent stat calls */ -+ break; -+ } -+ snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name); -+ if (!stat (path, &smd) && smd.st_mtime > tmp->mtime) -+ { -+ tmp->mtime = smd.st_mtime; -+ } - } - } - closedir (dirp); ---- a/init.h -+++ b/init.h -@@ -1086,6 +1086,16 @@ struct option_t MuttVars[] = { - ** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE - ** DOING!\fP - */ -+ { "maildir_mtime", DT_BOOL, R_NONE, OPTMAILDIRMTIME, 0 }, -+ /* -+ ** .pp -+ ** If set, the sort-by-date option in the browser will sort maildirs -+ ** smartly, not using the mtime of the maildir itself but that of the -+ ** newest message in the new subdirectory, making the sorting by -+ ** reverse date much more useful. People with maildirs over NFS may -+ ** wish to leave this option unset. -+ ** -+ */ - #ifdef USE_HCACHE - { "header_cache", DT_PATH, R_NONE, UL &HeaderCache, 0 }, - /* ---- a/mutt.h -+++ b/mutt.h -@@ -395,6 +395,7 @@ enum - OPTINCLUDEONLYFIRST, - OPTKEEPFLAGGED, - OPTMAILCAPSANITIZE, -+ OPTMAILDIRMTIME, - OPTMAILDIRTRASH, - OPTMARKERS, - OPTMARKOLD, ---- a/browser.c -+++ b/browser.c -@@ -32,6 +32,7 @@ - #ifdef USE_IMAP - #include "imap.h" - #endif -+#include "mx.h" - - #include - #include -@@ -307,8 +308,10 @@ folder_format_str (char *dest, size_t de - } - - static void add_folder (MUTTMENU *m, struct browser_state *state, -- const char *name, const struct stat *s, int new) -+ const char *name, /*DEB const IAN*/ struct stat *s, BUFFY *mbuf) - { -+ int new = (mbuf) ? mbuf->new : 0; -+ - if (state->entrylen == state->entrymax) - { - /* need to allocate more space */ -@@ -320,6 +323,9 @@ static void add_folder (MUTTMENU *m, str - m->data = state->entry; - } - -+ if (mbuf && mbuf->magic == M_MAILDIR && mbuf->mtime) -+ s->st_mtime = mbuf->mtime; -+ - if (s != NULL) - { - (state->entry)[state->entrylen].mode = s->st_mode; -@@ -414,7 +420,7 @@ 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, tmp); - } - closedir (dp); - browser_sort (state); -@@ -438,14 +444,15 @@ 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); -+ tmp->new = mbox.new; -+ add_folder (menu, state, tmp->path, NULL, tmp); - 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, tmp); - continue; - } - #endif -@@ -459,7 +466,7 @@ static int examine_mailboxes (MUTTMENU * - strfcpy (buffer, NONULL(tmp->path), sizeof (buffer)); - mutt_pretty_mailbox (buffer); - -- add_folder (menu, state, buffer, &s, tmp->new); -+ add_folder (menu, state, buffer, &s, tmp); - } - while ((tmp = tmp->next)); - browser_sort (state); ---- a/buffy.h -+++ b/buffy.h -@@ -25,6 +25,7 @@ typedef struct buffy_t - char *path; - long size; - struct buffy_t *next; -+ time_t mtime; /* for maildirs...time of newest entry */ - short new; /* mailbox has new mail */ - short notified; /* user has been notified */ - short magic; /* mailbox type */ ---- a/PATCHES -+++ b/PATCHES -@@ -0,0 +1 @@ -+patch-1.5.6.dw.maildir-mtime.1 diff --git a/debian/patches/features/purge-message b/debian/patches/features/purge-message deleted file mode 100644 index 69851f2..0000000 --- a/debian/patches/features/purge-message +++ /dev/null @@ -1,231 +0,0 @@ -# vim:ft=diff: -This is the purge message patch by Cedric Duval . - -(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 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: trash/OPS -=================================================================== ---- trash.orig/OPS 2006-12-12 14:15:02.000000000 +0100 -+++ trash/OPS 2007-02-15 19:39:57.479112576 +0100 -@@ -140,6 +140,7 @@ OP_PREV_ENTRY "move to the previous entr - 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: trash/curs_main.c -=================================================================== ---- trash.orig/curs_main.c 2006-12-12 14:15:02.000000000 +0100 -+++ trash/curs_main.c 2007-02-15 19:39:57.480112424 +0100 -@@ -1778,6 +1778,7 @@ int mutt_index_menu (void) - MAYBE_REDRAW (menu->redraw); - break; - -+ case OP_PURGE_MESSAGE: - case OP_DELETE: - - CHECK_MSGCOUNT; -@@ -1788,6 +1789,7 @@ int mutt_index_menu (void) - 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; -@@ -1795,6 +1797,8 @@ int mutt_index_menu (void) - 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)) -@@ -2088,11 +2092,13 @@ int mutt_index_menu (void) - 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++; -@@ -2113,9 +2119,11 @@ int mutt_index_menu (void) - 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: trash/flags.c -=================================================================== ---- trash.orig/flags.c 2007-02-15 19:38:00.433906152 +0100 -+++ trash/flags.c 2007-02-15 19:39:57.480112424 +0100 -@@ -105,6 +105,16 @@ void _mutt_set_flag (CONTEXT *ctx, HEADE - } - 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: trash/functions.h -=================================================================== ---- trash.orig/functions.h 2005-09-18 13:16:40.000000000 +0200 -+++ trash/functions.h 2007-02-15 19:39:57.481112272 +0100 -@@ -103,6 +103,7 @@ struct binding_t OpMain[] = { - { "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" }, -@@ -189,6 +190,7 @@ struct binding_t OpPager[] = { - { "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: trash/mutt.h -=================================================================== ---- trash.orig/mutt.h 2007-02-15 19:38:00.435905848 +0100 -+++ trash/mutt.h 2007-02-15 19:40:38.768835584 +0100 -@@ -201,6 +201,7 @@ enum - M_UNDELETE, - M_DELETED, - M_APPENDED, -+ M_PURGED, - M_FLAG, - M_TAG, - M_UNTAG, -@@ -705,6 +706,7 @@ typedef struct header - 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: trash/mx.c -=================================================================== ---- trash.orig/mx.c 2007-02-15 19:38:00.436905696 +0100 -+++ trash/mx.c 2007-02-15 19:39:57.482112120 +0100 -@@ -852,6 +852,7 @@ static int trash_append (CONTEXT *ctx) - { - 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: trash/pager.c -=================================================================== ---- trash.orig/pager.c 2006-12-12 14:15:03.000000000 +0100 -+++ trash/pager.c 2007-02-15 19:39:57.482112120 +0100 -@@ -2254,12 +2254,15 @@ search_next: - 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; -@@ -2572,6 +2575,7 @@ search_next: - 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)) - { -@@ -2587,9 +2591,11 @@ search_next: - 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: trash/pattern.c -=================================================================== ---- trash.orig/pattern.c 2007-01-25 21:44:41.000000000 +0100 -+++ trash/pattern.c 2007-02-15 19:39:57.483111968 +0100 -@@ -1338,8 +1338,10 @@ int mutt_pattern_func (int op, char *pro - { - 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; ---- a/PATCHES -+++ b/PATCHES -@@ -0,0 +1 @@ -+patch-1.5.13.cd.purge_message.3.4 diff --git a/debian/patches/features/sensible_browser_position b/debian/patches/features/sensible_browser_position deleted file mode 100644 index 3ee8ce2..0000000 --- a/debian/patches/features/sensible_browser_position +++ /dev/null @@ -1,100 +0,0 @@ -# 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 - * myon 2009-01-15: refreshed for mutt-1.5.19 - -== END PATCH ---- a/menu.c -+++ b/menu.c -@@ -859,8 +859,12 @@ int menu_redraw (MUTTMENU *menu) - - int mutt_menuLoop (MUTTMENU *menu) - { -+ static int last_position = -1; - int i = OP_NULL; - -+ if (menu->is_mailbox_list && last_position >= 0) -+ menu->current = last_position; -+ - FOREVER - { - if (option (OPTMENUCALLER)) -@@ -1088,6 +1092,8 @@ int mutt_menuLoop (MUTTMENU *menu) - break; - - default: -+ if (menu->is_mailbox_list) -+ last_position = menu->current; - return (i); - } - } ---- a/browser.c -+++ b/browser.c -@@ -56,6 +56,7 @@ typedef struct folder_t - int num; - } FOLDER; - -+static char OldLastDir[_POSIX_PATH_MAX] = ""; - static char LastDir[_POSIX_PATH_MAX] = ""; - static char LastDirBackup[_POSIX_PATH_MAX] = ""; - -@@ -511,9 +512,13 @@ static void init_menu (struct browser_st - 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 -@@ -522,8 +527,23 @@ static void init_menu (struct browser_st - 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; - } -@@ -706,7 +726,6 @@ void _mutt_select_file (char *f, size_t - #endif - ) - { -- char OldLastDir[_POSIX_PATH_MAX]; - - /* save the old directory */ - strfcpy (OldLastDir, LastDir, sizeof (OldLastDir)); ---- a/mutt_menu.h -+++ b/mutt_menu.h -@@ -49,6 +49,7 @@ typedef struct menu_t - 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 deleted file mode 100644 index 718c082..0000000 --- a/debian/patches/features/trash-folder +++ /dev/null @@ -1,283 +0,0 @@ -# vim:ft=diff: -This is the trash folder patch by Cedric Duval . - -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 ---- a/commands.c -+++ b/commands.c -@@ -688,6 +688,7 @@ int _mutt_save_message (HEADER *h, CONTE - if (option (OPTDELETEUNTAG)) - mutt_set_flag (Context, h, M_TAG, 0); - } -+ mutt_set_flag (Context, h, M_APPENDED, 1); - - return 0; - } ---- a/flags.c -+++ b/flags.c -@@ -69,7 +69,13 @@ void _mutt_set_flag (CONTEXT *ctx, HEADE - { - 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) -@@ -91,6 +97,17 @@ void _mutt_set_flag (CONTEXT *ctx, HEADE - } - 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)) ---- a/globals.h -+++ b/globals.h -@@ -142,6 +142,7 @@ WHERE char *StChars; - WHERE char *Status; - WHERE char *Tempdir; - WHERE char *Tochars; -+WHERE char *TrashPath; - WHERE char *Username; - WHERE char *Visual; - WHERE char *XtermTitle; ---- a/imap/message.c -+++ b/imap/message.c -@@ -816,6 +816,7 @@ int imap_copy_messages (CONTEXT* ctx, HE - 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); - } -@@ -823,6 +824,7 @@ int imap_copy_messages (CONTEXT* ctx, HE - 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); - } ---- a/init.h -+++ b/init.h -@@ -2881,6 +2881,16 @@ struct option_t MuttVars[] = { - ** by \fIyou\fP. The sixth character is used to indicate when a mail - ** was sent to a mailing-list you subscribe to (default: L). - */ -+ { "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 }, - /* ---- a/mutt.h -+++ b/mutt.h -@@ -201,6 +201,7 @@ enum - M_DELETE, - M_UNDELETE, - M_DELETED, -+ M_APPENDED, - M_FLAG, - M_TAG, - M_UNTAG, -@@ -712,6 +713,7 @@ typedef struct header - 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 */ -@@ -883,6 +885,7 @@ typedef struct _context - 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 */ - ---- a/muttlib.c -+++ b/muttlib.c -@@ -1430,7 +1430,9 @@ int mutt_save_confirm (const char *s, st - - 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) ---- a/mx.c -+++ b/mx.c -@@ -803,6 +803,53 @@ static int sync_mailbox (CONTEXT *ctx, i - 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) - { -@@ -938,6 +985,7 @@ int mx_close_mailbox (CONTEXT *ctx, int - 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 - { -@@ -959,6 +1007,14 @@ int mx_close_mailbox (CONTEXT *ctx, int - return 0; - } - -+ /* copy mails to the trash before expunging */ -+ if (purge && ctx->deleted) -+ 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) -@@ -1154,6 +1210,12 @@ int mx_sync_mailbox (CONTEXT *ctx, int * - msgcount = ctx->msgcount; - deleted = ctx->deleted; - -+ if (purge && ctx->deleted) -+ { -+ if (trash_append (ctx) == -1) -+ return -1; -+ } -+ - #ifdef USE_IMAP - if (ctx->magic == M_IMAP) - rc = imap_sync_mailbox (ctx, purge, index_hint); ---- a/postpone.c -+++ b/postpone.c -@@ -279,6 +279,9 @@ int mutt_get_postponed (CONTEXT *ctx, HE - /* 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 deleted file mode 100644 index 6419282..0000000 --- a/debian/patches/features/xtitles +++ /dev/null @@ -1,170 +0,0 @@ -# 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 ---- a/curs_main.c -+++ b/curs_main.c -@@ -112,6 +112,19 @@ static const char *No_visible = N_("No v - - 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; -@@ -574,6 +587,13 @@ int mutt_index_menu (void) - 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; ---- a/globals.h -+++ b/globals.h -@@ -145,6 +145,8 @@ WHERE char *Tempdir; - WHERE char *Tochars; - WHERE char *Username; - WHERE char *Visual; -+WHERE char *XtermTitle; -+WHERE char *XtermIcon; - - WHERE char *CurrentFolder; - WHERE char *LastFolder; ---- a/init.c -+++ b/init.c -@@ -1870,6 +1870,26 @@ static int parse_set (BUFFER *tmp, BUFFE - 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 || ---- a/init.h -+++ b/init.h -@@ -3104,6 +3104,27 @@ struct option_t MuttVars[] = { - ** option does nothing: mutt will never write out the BCC header - ** in this case. - */ -+ {"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 } - }; ---- a/mutt.h -+++ b/mutt.h -@@ -458,6 +458,7 @@ enum - OPTWRAPSEARCH, - OPTWRITEBCC, /* write out a bcc header? */ - OPTXMAILER, -+ OPTXTERMSETTITLES, - - OPTCRYPTUSEGPGME, - OPTCRYPTUSEPKA, ---- a/pager.c -+++ b/pager.c -@@ -1767,6 +1767,13 @@ mutt_pager (const char *banner, const ch - mutt_paddstr (COLS, IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner); - 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) ---- a/status.c -+++ b/status.c -@@ -195,6 +195,8 @@ status_format_str (char *buf, size_t buf - break; - - case 'P': -+ if (!menu) -+ break; - if (menu->top + menu->pagelen >= menu->max) - cp = menu->top ? "end" : "all"; - else ---- a/mutt_menu.h -+++ b/mutt_menu.h -@@ -103,6 +103,8 @@ void menu_current_middle (MUTTMENU *); - 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 (void); - void mutt_menuDestroy (MUTTMENU **); ---- a/PATCHES -+++ b/PATCHES -@@ -0,0 +1 @@ -+patch-1.5.13.nt+ab.xtitles.4 diff --git a/debian/patches/misc/am-maintainer-mode b/debian/patches/misc/am-maintainer-mode deleted file mode 100644 index 19b9d83..0000000 --- a/debian/patches/misc/am-maintainer-mode +++ /dev/null @@ -1,12 +0,0 @@ -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 deleted file mode 100644 index b26727b..0000000 --- a/debian/patches/misc/define-pgp_getkeys_command.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 deleted file mode 100644 index a095085..0000000 --- a/debian/patches/misc/gpg.rc-paths +++ /dev/null @@ -1,18 +0,0 @@ -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/smime.rc b/debian/patches/misc/smime.rc deleted file mode 100644 index d7ac791..0000000 --- a/debian/patches/misc/smime.rc +++ /dev/null @@ -1,46 +0,0 @@ ---- 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/mutt-patched/sidebar b/debian/patches/mutt-patched/sidebar deleted file mode 100644 index 94de9cf..0000000 --- a/debian/patches/mutt-patched/sidebar +++ /dev/null @@ -1,1375 +0,0 @@ -# vim:ft=diff: -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.18.sidebar.20080611.txt - -* Changes made: - - 2008-08-02 myon: Refreshed patch using quilt push -f to remove hunks we do - not need (Makefile.in). - -== END PATCH ---- a/buffy.c -+++ b/buffy.c -@@ -261,7 +261,7 @@ int mutt_buffy_check (int force) - char path[_POSIX_PATH_MAX]; - struct stat contex_sb; - time_t t; -- -+ CONTEXT *ctx; - #ifdef USE_IMAP - /* update postponed count as well, on force */ - if (force) -@@ -296,6 +296,8 @@ int mutt_buffy_check (int force) - - for (tmp = Incoming; tmp; tmp = tmp->next) - { -+ if ( tmp->new == 1 ) -+ tmp->has_new = 1; - #ifdef USE_IMAP - if (tmp->magic != M_IMAP) - #endif -@@ -353,48 +355,112 @@ int mutt_buffy_check (int force) - 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)) - { - /* some other program has deleted mail from the folder */ - tmp->size = (long) sb.st_size; - } -- if (tmp->newly_created && -- (sb.st_ctime != sb.st_mtime || sb.st_ctime != sb.st_atime)) -- tmp->newly_created = 0; -- -- break; -+ 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 != '.' && -+ (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T'))) -+ { -+ tmp->msgcount++; -+ if (p && strchr(p + 3, 'F')) { -+ tmp->msg_flagged++; -+ } - } - } - closedir (dirp); - break; - - case M_MH: -- if ((tmp->new = mh_buffy (tmp->path)) > 0) -- BuffyCount++; -+ { -+ 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; - } - } ---- a/buffy.h -+++ b/buffy.h -@@ -25,7 +25,12 @@ typedef struct buffy_t - char *path; - long 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 */ ---- a/color.c -+++ b/color.c -@@ -93,6 +93,8 @@ static struct mapping_t Fields[] = - { "bold", MT_COLOR_BOLD }, - { "underline", MT_COLOR_UNDERLINE }, - { "index", MT_COLOR_INDEX }, -+ { "sidebar_new", MT_COLOR_NEW }, -+ { "sidebar_flagged", MT_COLOR_FLAGGED }, - { NULL, 0 } - }; - ---- a/compose.c -+++ b/compose.c -@@ -72,7 +72,7 @@ enum - - #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 @@ static void redraw_crypt_lines (HEADER * - 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 @@ static void redraw_crypt_lines (HEADER * - } - 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 @@ static void redraw_crypt_lines (HEADER * - && (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 @@ static void redraw_mix_line (LIST *chain - int c; - char *t; - -- mvaddstr (HDR_MIX, 0, " Mix: "); -+ mvaddstr (HDR_MIX, SidebarWidth, " Mix: "); - - if (!chain) - { -@@ -193,7 +193,7 @@ static void redraw_mix_line (LIST *chain - if (t && t[0] == '0' && t[1] == '\0') - t = ""; - -- if (c + mutt_strlen (t) + 2 >= COLS) -+ if (c + mutt_strlen (t) + 2 >= COLS - SidebarWidth) - break; - - addstr (NONULL(t)); -@@ -245,7 +245,7 @@ static void draw_envelope_addr (int line - - 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 @@ static void draw_envelope (HEADER *msg, - 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 @@ static void draw_envelope (HEADER *msg, - #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 @@ static int edit_address_list (int line, - /* 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; -@@ -553,7 +553,7 @@ int mutt_compose_menu (HEADER *msg, /* - 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); -@@ -570,7 +570,7 @@ int mutt_compose_menu (HEADER *msg, /* - { - strfcpy (fcc, buf, _POSIX_PATH_MAX); - mutt_pretty_mailbox (fcc); -- move (HDR_FCC, HDR_XOFFSET); -+ move (HDR_FCC, HDR_XOFFSET + SidebarWidth); - mutt_paddstr (W, fcc); - fccSet = 1; - } ---- a/curs_main.c -+++ b/curs_main.c -@@ -29,6 +29,7 @@ - #include "sort.h" - #include "buffy.h" - #include "mx.h" -+#include "sidebar.h" - - #ifdef USE_POP - #include "pop.h" -@@ -544,8 +545,12 @@ int mutt_index_menu (void) - 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; -@@ -557,6 +562,7 @@ int mutt_index_menu (void) - if (menu->redraw & REDRAW_FULL) - { - menu_redraw_full (menu); -+ draw_sidebar(menu->menu); - mutt_show_error (); - } - -@@ -579,10 +585,13 @@ int mutt_index_menu (void) - - 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); -@@ -603,7 +612,7 @@ int mutt_index_menu (void) - 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 -@@ -1072,6 +1081,7 @@ int mutt_index_menu (void) - menu->redraw = REDRAW_FULL; - break; - -+ case OP_SIDEBAR_OPEN: - case OP_MAIN_CHANGE_FOLDER: - case OP_MAIN_NEXT_UNREAD_MAILBOX: - -@@ -1103,7 +1113,11 @@ int mutt_index_menu (void) - { - 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) - { -@@ -1121,6 +1135,7 @@ int mutt_index_menu (void) - } - - mutt_expand_path (buf, sizeof (buf)); -+ set_curbuffy(buf); - if (mx_get_magic (buf) <= 0) - { - mutt_error (_("%s is not a mailbox."), buf); -@@ -2213,6 +2228,12 @@ int mutt_index_menu (void) - 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); ---- a/flags.c -+++ b/flags.c -@@ -22,8 +22,10 @@ - - #include "mutt.h" - #include "mutt_curses.h" -+#include "mutt_menu.h" - #include "sort.h" - #include "mx.h" -+#include "sidebar.h" - - #ifdef USE_IMAP - #include "imap_private.h" -@@ -294,6 +296,7 @@ void _mutt_set_flag (CONTEXT *ctx, HEADE - */ - 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) ---- a/functions.h -+++ b/functions.h -@@ -169,6 +169,11 @@ struct binding_t OpMain[] = { /* map: in - { "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 } - }; - -@@ -267,6 +272,11 @@ struct binding_t OpPager[] = { /* map: p - { "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 } - }; - ---- a/globals.h -+++ b/globals.h -@@ -116,6 +116,7 @@ WHERE char *Realname; - WHERE char *SendCharset; - WHERE char *Sendmail; - WHERE char *Shell; -+WHERE char *SidebarDelim; - WHERE char *Signature; - WHERE char *SimpleSearch; - #if USE_SMTP -@@ -212,6 +213,9 @@ WHERE short ScoreThresholdDelete; - 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; - #endif ---- a/init.h -+++ b/init.h -@@ -1532,6 +1532,22 @@ struct option_t MuttVars[] = { - ** you may unset this setting. - ** (Crypto 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 ---- a/mailbox.h -+++ b/mailbox.h -@@ -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 */ ---- a/Makefile.am -+++ b/Makefile.am -@@ -29,7 +29,8 @@ mutt_SOURCES = \ - 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 mutt_idna.c crypt-mod.c crypt-mod.h -+ url.c ascii.c mutt_idna.c crypt-mod.c crypt-mod.h \ -+ sidebar.c - - nodist_mutt_SOURCES = $(BUILT_SOURCES) - ---- a/mbox.c -+++ b/mbox.c -@@ -104,6 +104,7 @@ int mmdf_parse_mailbox (CONTEXT *ctx) - 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 @@ int mbox_parse_mailbox (CONTEXT *ctx) - - 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) ---- a/menu.c -+++ b/menu.c -@@ -24,6 +24,7 @@ - #include "mutt_curses.h" - #include "mutt_menu.h" - #include "mbyte.h" -+#include "sidebar.h" - - #ifdef USE_IMAP - #include "imap.h" -@@ -158,7 +159,7 @@ void menu_pad_string (char *s, size_t n) - { - 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; -@@ -209,6 +210,7 @@ void menu_redraw_index (MUTTMENU *menu) - char buf[LONG_STRING]; - int i; - -+ draw_sidebar(1); - for (i = menu->top; i < menu->top + menu->pagelen; i++) - { - if (i < menu->max) -@@ -219,7 +221,7 @@ void menu_redraw_index (MUTTMENU *menu) - if (option (OPTARROWCURSOR)) - { - attrset (menu->color (i)); -- CLEARLINE (i - menu->top + menu->offset); -+ CLEARLINE_WIN (i - menu->top + menu->offset); - - if (i == menu->current) - { -@@ -248,14 +250,14 @@ void menu_redraw_index (MUTTMENU *menu) - 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; - } -@@ -270,7 +272,7 @@ void menu_redraw_motion (MUTTMENU *menu) - 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); - -@@ -285,13 +287,13 @@ void menu_redraw_motion (MUTTMENU *menu) - 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 ("->"); -@@ -312,7 +314,7 @@ void menu_redraw_motion (MUTTMENU *menu) - 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); -@@ -324,7 +326,7 @@ void menu_redraw_current (MUTTMENU *menu - { - 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)); - -@@ -871,7 +873,7 @@ int mutt_menuLoop (MUTTMENU *menu) - - - 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 ---- a/mutt_curses.h -+++ b/mutt_curses.h -@@ -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 @@ enum - MT_COLOR_BOLD, - MT_COLOR_UNDERLINE, - MT_COLOR_INDEX, -+ MT_COLOR_NEW, -+ MT_COLOR_FLAGGED, - MT_COLOR_MAX - }; - ---- a/mutt.h -+++ b/mutt.h -@@ -437,6 +437,7 @@ enum - OPTSAVEEMPTY, - OPTSAVENAME, - OPTSCORE, -+ OPTSIDEBAR, - OPTSIGDASHES, - OPTSIGONTOP, - OPTSORTRE, -@@ -874,6 +875,7 @@ typedef struct _context - { - char *path; - FILE *fp; -+ time_t atime; - time_t mtime; - off_t size; - off_t vsize; -@@ -914,6 +916,7 @@ typedef struct _context - 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 */ ---- a/muttlib.c -+++ b/muttlib.c -@@ -1205,6 +1205,8 @@ void mutt_FormatString (char *dest, /* - pl = pw = 1; - - /* see if there's room to add content, else ignore */ -+ if ( DrawFullLine ) -+ { - if ((col < COLS && wlen < destlen) || soft) - { - int pad; -@@ -1247,6 +1249,52 @@ void mutt_FormatString (char *dest, /* - 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 == '|') ---- a/mx.c -+++ b/mx.c -@@ -626,6 +626,7 @@ static int mx_open_mailbox_append (CONTE - * 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) -@@ -648,6 +649,8 @@ CONTEXT *mx_open_mailbox (const char *pa - ctx->quiet = 1; - if (flags & M_READONLY) - ctx->readonly = 1; -+ if (flags & M_PEEK) -+ ctx->peekonly = 1; - - if (flags & (M_APPEND|M_NEWFOLDER)) - { -@@ -752,9 +755,21 @@ CONTEXT *mx_open_mailbox (const char *pa - 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); ---- a/OPS -+++ b/OPS -@@ -179,3 +179,8 @@ OP_WHAT_KEY "display the keycode for a k - 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" ---- a/pager.c -+++ b/pager.c -@@ -30,6 +30,7 @@ - #include "pager.h" - #include "attach.h" - #include "mbyte.h" -+#include "sidebar.h" - - #include "mx.h" - -@@ -1067,6 +1068,8 @@ static int format_line (struct line_t ** - 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)); -@@ -1700,7 +1703,7 @@ mutt_pager (const char *banner, const ch - if ((redraw & REDRAW_BODY) || topline != oldtopline) - { - do { -- move (bodyoffset, 0); -+ move (bodyoffset, SidebarWidth); - curline = oldtopline = topline; - lines = 0; - force_redraw = 0; -@@ -1713,6 +1716,7 @@ mutt_pager (const char *banner, const ch - &QuoteList, &q_level, &force_redraw, &SearchRE) > 0) - lines++; - curline++; -+ move(lines + bodyoffset, SidebarWidth); - } - last_offset = lineInfo[curline].offset; - } while (force_redraw); -@@ -1726,6 +1730,7 @@ mutt_pager (const char *banner, const ch - 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. */ -@@ -1749,22 +1754,22 @@ mutt_pager (const char *banner, const ch - /* print out the pager status bar */ - SETCOLOR (MT_COLOR_STATUS); - BKGDSET (MT_COLOR_STATUS); -- CLEARLINE (statusoffset); -+ CLEARLINE_WIN (statusoffset); - if (IsHeader (extra)) - { -- size_t l1 = COLS * MB_LEN_MAX; -+ size_t l1 = (COLS-SidebarWidth) * MB_LEN_MAX; - size_t l2 = sizeof (buffer); - hfi.hdr = extra->hdr; - mutt_make_string_info (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), &hfi, M_FORMAT_MAKEPRINT); - } - else if (IsMsgAttach (extra)) - { -- size_t l1 = COLS * MB_LEN_MAX; -+ size_t l1 = (COLS-SidebarWidth) * MB_LEN_MAX; - size_t l2 = sizeof (buffer); - hfi.hdr = extra->bdy->hdr; - mutt_make_string_info (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), &hfi, M_FORMAT_MAKEPRINT); - } -- mutt_paddstr (COLS, IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner); -+ mutt_paddstr (COLS-SidebarWidth, IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner); - BKGDSET (MT_COLOR_NORMAL); - SETCOLOR (MT_COLOR_NORMAL); - if (option(OPTXTERMSETTITLES)) -@@ -1781,18 +1786,23 @@ mutt_pager (const char *banner, const ch - /* 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)) { -@@ -2671,6 +2681,13 @@ search_next: - redraw = REDRAW_FULL; - 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; ---- /dev/null -+++ b/sidebar.c -@@ -0,0 +1,333 @@ -+/* -+ * Copyright (C) ????-2004 Justin Hibbits -+ * Copyright (C) 2004 Thomer M. Gil -+ * -+ * 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 -+#include "keymap.h" -+#include -+ -+/*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); -+} -+ ---- /dev/null -+++ b/sidebar.h -@@ -0,0 +1,36 @@ -+/* -+ * Copyright (C) ????-2004 Justin Hibbits -+ * Copyright (C) 2004 Thomer M. Gil -+ * -+ * 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 */ ---- a/doc/Muttrc -+++ b/doc/Muttrc -@@ -2090,6 +2090,26 @@ attachments -I message/external-body - # function. - # - # -+# 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 ---- a/imap/imap.c -+++ b/imap/imap.c -@@ -1484,7 +1484,7 @@ int imap_buffy_check (int force) - - 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_cmd_queue (idata, command) < 0) - { ---- a/imap/command.c -+++ b/imap/command.c -@@ -911,6 +911,13 @@ static void cmd_parse_status (IMAP_DATA* - 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; - } ---- a/PATCHES -+++ b/PATCHES -@@ -0,0 +1 @@ -+patch-1.5.18.sidebar.20080611.txt diff --git a/debian/patches/mutt-patched/sidebar-compat-apply.debian b/debian/patches/mutt-patched/sidebar-compat-apply.debian deleted file mode 100644 index c3ec129..0000000 --- a/debian/patches/mutt-patched/sidebar-compat-apply.debian +++ /dev/null @@ -1,30 +0,0 @@ -# vim:ft=diff: -[continued from sidebar-compat-revert] - -After having applied the sidebar patch, we now re-apply the relevant part of -the maildir-mtime patch. The hunk is considerably shorter as we are always -counting messages; the if..break part has been dropped. ---- a/buffy.c -+++ b/buffy.c -@@ -409,6 +409,11 @@ int mutt_buffy_check (int force) - tmp->has_new = tmp->new = 1; - tmp->msgcount++; - tmp->msg_unread++; -+ snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name); -+ if (!stat (path, &smd) && smd.st_mtime > tmp->mtime) -+ { -+ tmp->mtime = smd.st_mtime; -+ } - } - } - if(tmp->msg_unread) ---- a/buffy.h -+++ b/buffy.h -@@ -26,6 +26,7 @@ typedef struct buffy_t - long size; - struct buffy_t *next; - struct buffy_t *prev; -+ time_t mtime; /* for maildirs...time of newest entry */ - short new; /* mailbox has new mail */ - short has_new; /* set it new if new and not read */ - int msgcount; /* total number of messages */ diff --git a/debian/patches/mutt-patched/sidebar-compat-revert.debian b/debian/patches/mutt-patched/sidebar-compat-revert.debian deleted file mode 100644 index cabd8a2..0000000 --- a/debian/patches/mutt-patched/sidebar-compat-revert.debian +++ /dev/null @@ -1,48 +0,0 @@ -# vim:ft=diff: -The sidebar and maildir-mtime patches touch the same part of buffy.c and -generate a non-trivial conflict. This patch reverts the affected hunk from the -maildir-mtime patch so we can cleanly apply the sidebar patch from the patch -upstream site. While we are at it, we also revert the trivial buffy.h change. - -Previously, the mutt maintainer would manually re-resolve the conflict for each -new sidebar patch version which turned out to be too error-prone. -(cf. #484537, #484538) - -[see sidebar-compat-apply for part 2] ---- a/buffy.c -+++ b/buffy.c -@@ -383,20 +383,10 @@ int mutt_buffy_check (int force) - if (*de->d_name != '.' && - (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T'))) - { -- if (!tmp->new) -- { -- /* one new and undeleted message is enough */ -- BuffyCount++; -- tmp->new = 1; -- -- if (! option (OPTMAILDIRMTIME)) /* prevent stat calls */ -- break; -- } -- snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name); -- if (!stat (path, &smd) && smd.st_mtime > tmp->mtime) -- { -- tmp->mtime = smd.st_mtime; -- } -+ /* one new and undeleted message is enough */ -+ BuffyCount++; -+ tmp->new = 1; -+ break; - } - } - closedir (dirp); ---- a/buffy.h -+++ b/buffy.h -@@ -25,7 +25,6 @@ typedef struct buffy_t - char *path; - long size; - struct buffy_t *next; -- time_t mtime; /* for maildirs...time of newest entry */ - short new; /* mailbox has new mail */ - short notified; /* user has been notified */ - short magic; /* mailbox type */ diff --git a/debian/patches/mutt.org b/debian/patches/mutt.org deleted file mode 100644 index ee38563..0000000 --- a/debian/patches/mutt.org +++ /dev/null @@ -1,4 +0,0 @@ ---- /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 deleted file mode 100644 index a0fb00e..0000000 --- a/debian/patches/not-applied/chdir +++ /dev/null @@ -1,100 +0,0 @@ -# vim:ft=diff: -This is the chdir patch by Christoph Berg . - -* 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. - - - -+ -+Changing the current working directory -+ -+ -+ -+Usage: cd directory -+ -+ -+ -+ -+The cd command changes Mutt's current working directory. -+This affects commands and functions like source, -+change-folder, and save-entry that use -+relative paths. Using cd without directory changes to your -+home directory. -+ -+ -+ -+ - - Defining aliases for character sets - ---- 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 deleted file mode 100644 index c74ab3c..0000000 --- a/debian/patches/not-applied/indexcolor +++ /dev/null @@ -1,670 +0,0 @@ -# vim:ft=diff: -This is the indexcolor patch by Christian Aichinger . - -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, - - - Usage: color object foreground background [ regexp ] --Usage: color index foreground background pattern --Usage: uncolor index pattern [ pattern ... ] -+Usage: color index-object foreground background pattern -+ Usage: uncolor index-object pattern [ pattern ... ] - - - -@@ -1901,6 +1901,54 @@ index (match pattern - - -+index_author (color of the author name in the index, uses pattern) -+ -+ -+ -+ -+ -+index_collapsed (the number of messages in a collapsed thread in the index) -+ -+ -+ -+ -+ -+index_date (color of the date field in the index) -+ -+ -+ -+ -+ -+index_flags (color of the message flags in the index) -+ -+ -+ -+ -+ -+index_label (color of the message label in the index) -+ -+ -+ -+ -+ -+index_number (color of the message number in the index) -+ -+ -+ -+ -+ -+index_size (color of the message size and line number in the index) -+ -+ -+ -+ -+ -+index_subject (color of the subject in the index, uses pattern) -+ -+ -+ -+ -+ - indicator (arrow or bar used to indicate the current item in a menu) - - ---- 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 deleted file mode 100644 index 3dda72b..0000000 --- a/debian/patches/not-applied/w3mface +++ /dev/null @@ -1,308 +0,0 @@ -# vim:ft=diff: -This is the xface (w3mface) patch by TAKAHASHI Tamotsu -. - -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 deleted file mode 100644 index e73224c..0000000 --- a/debian/patches/series +++ /dev/null @@ -1,41 +0,0 @@ -# build system patches -misc/am-maintainer-mode -debian-specific/build_doc_adjustments.diff -debian-specific/sort-patchlist - -# features -features/ifdef -features/maildir-mtime -features/xtitles -features/trash-folder -features/purge-message -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 -misc/define-pgp_getkeys_command.diff -misc/gpg.rc-paths -misc/smime.rc - -upstream/500016-temp-cache-fix.patch -upstream/508988-inode-sort.patch - -mutt.org -# extra patches for mutt-patched -mutt-patched/sidebar-compat-revert.debian -#mutt-patched/sidebar -#mutt-patched/sidebar-compat-apply.debian - -# unapplied patches for custom packages -# not-applied/chdir -# not-applied/indexcolor -# not-applied/w3mface diff --git a/debian/patches/upstream/500016-temp-cache-fix.patch b/debian/patches/upstream/500016-temp-cache-fix.patch deleted file mode 100644 index 486f74e..0000000 --- a/debian/patches/upstream/500016-temp-cache-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -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/508988-inode-sort.patch b/debian/patches/upstream/508988-inode-sort.patch deleted file mode 100644 index 64192ad..0000000 --- a/debian/patches/upstream/508988-inode-sort.patch +++ /dev/null @@ -1,41 +0,0 @@ -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 -+ * Copyright (C) 1996-2002,2007,2009 Michael R. Elkins - * Copyright (C) 1999-2005 Thomas Roessler - * - * 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/rules b/debian/rules deleted file mode 100755 index 9edd5c8..0000000 --- a/debian/rules +++ /dev/null @@ -1,210 +0,0 @@ -#!/usr/bin/make -f - -include /usr/share/quilt/quilt.make - -###################### user serviceable parts ###################### - -### -# build a separate mutt-patched package? -#BUILD_PATCHED := yes -- disabled until there is a sidebar patch for 1.5.19 -### -# header cache backend -# HCACHE_DB := bdb -HCACHE_DB := gdbm -# HCACHE_DB := qdbm -### -# 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 -endif -ifeq ($(HCACHE_DB),gdbm) - hcache_db := --without-qdbm --without-bdb -endif -ifeq ($(HCACHE_DB),qdbm) - hcache_db := --without-gdbm --without-bdb -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 ###################### - 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_PATCHES=$(QUILT_PATCH_DIR) quilt --quiltrc /dev/null pop mutt.org - - 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_clean -k - 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 - -ifeq ($(BUILD_PATCHED),yes) - # temporarily call the binary mutt-patched so dh_strip gets the debug file name right - 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_install - 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 -ifeq ($(BUILD_PATCHED),yes) - mv debian/mutt-patched/usr/bin/mutt-patched debian/mutt-patched/usr/bin/mutt -endif - - 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 - touch 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 - - # clean PATCHES hunks (blame quilt refresh) - for p in `grep -rl PATCHES debian/patches` ; do perl -wi debian/fix-PATCHES.pl $$p ; done - - dh_clean - -.PHONY: configure build build-arch build-indep clean install binary binary-arch binary-indep patch diff --git a/debian/update-autotools.sh b/debian/update-autotools.sh deleted file mode 100755 index f161b02..0000000 --- a/debian/update-autotools.sh +++ /dev/null @@ -1,38 +0,0 @@ -#! /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 deleted file mode 100644 index eb29a9a..0000000 --- a/debian/watch +++ /dev/null @@ -1,2 +0,0 @@ -version=3 -opts=pasv ftp://ftp.mutt.org/mutt/devel/mutt-(.*).tar.gz