<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.mail.mutt.devel">
    <title>gmane.mail.mutt.devel</title>
    <link>http://blog.gmane.org/gmane.mail.mutt.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19837"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19835"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19833"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19832"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19831"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19830"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19829"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19826"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19825"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19821"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19815"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19813"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19812"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19806"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19800"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19799"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19798"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19796"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19794"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mutt.devel/19791"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19837">
    <title>[Mutt] #3585: Updated Italian translation</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19837</link>
    <description>&lt;pre&gt;#3585: Updated Italian translation
----------------------------+-----------------------------------------------
 Reporter:  marco           |       Owner:  mutt-dev
     Type:  enhancement     |      Status:  new     
 Priority:  minor           |   Milestone:          
Component:  user interface  |     Version:  HEAD    
 Keywords:                  |  
----------------------------+-----------------------------------------------
 Translations have been fixed and converted to UTF-8; some of them still
 need to be checked further.

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-05-25T20:36:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19835">
    <title>mutt: new changeset</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19835</link>
    <description>&lt;pre&gt;New changeset in mutt:

http://dev.mutt.org/hg/mutt/rev/0488deb39a35
changeset:   6205:0488deb39a35
branch:      HEAD
tag:         tip
user:        Brendan Cully &amp;lt;brendan&amp;lt; at &amp;gt;kublai.com&amp;gt;
date:        Thu May 24 22:02:57 2012 -0700
summary:     Remove AM_C_PROTOTYPES from configure.ac (closes #3579)

&lt;/pre&gt;</description>
    <dc:creator>Brendan Cully</dc:creator>
    <dc:date>2012-05-25T07:00:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19833">
    <title>[Mutt] #3584: 1.5.21 To/CC/Bc fields does not preserve values (inRFC comments)</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19833</link>
    <description>&lt;pre&gt;#3584: 1.5.21 To/CC/Bc fields does not preserve values (in RFC comments)
---------------------------------------+------------------------------------
 Reporter:  jaalto                     |       Owner:  mutt-dev
     Type:  defect                     |      Status:  new     
 Priority:  major                      |   Milestone:          
Component:  mutt                       |     Version:  1.5.21  
 Keywords:  rfc, standards, violation  |  
---------------------------------------+------------------------------------
 == Problem ==

 Mutt does not preserve the contents of fields To/CC/Bcc as is. An example:

    To: John Doe (Head of HR department) &amp;lt;jdoe&amp;lt; at &amp;gt;example.com&amp;gt;
    CC: Joe Average (HR Assistant) &amp;lt;jave&amp;lt; at &amp;gt;example.com&amp;gt;

 After composing this message in editor, back to "send screen", the parts
 in parenthesis have been stripped:

    To: John Doe &amp;lt;jdoe&amp;lt; at &amp;gt;example.com&amp;gt;
    CC: Joe Average &amp;lt;jave&amp;lt; at &amp;gt;example.com&amp;gt;

 == severity ==

 This is a serious defect in software that affects use daily; these fields
 are very important and as they used to carry important details to the
 parties that read and forward mails.

 == How to correct ==

 The parts in parenthesis are specifically mandated by RFC; they are to
 carry comments.

 Please preserve all fields as they are written.

 == Refrences ==

 http://www.ietf.org/rfc/rfc2822.txt

 {{{
 3.2.3. Folding white space and comments

    White space characters, including white space
    used in folding (described in section 2.2.3),
    may appear between many elements in header
 &amp;gt;&amp;gt; field bodies. Also, strings of characters that
 &amp;gt;&amp;gt; are treated as comments may be included in
 &amp;gt;&amp;gt; structured field bodies as characters enclosed
 &amp;gt;&amp;gt; in parentheses. The following defines the
    folding white space (FWS) and comment
    constructs.
 }}}

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-05-24T07:09:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19832">
    <title>mutt: new changeset</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19832</link>
    <description>&lt;pre&gt;New changeset in mutt:

http://dev.mutt.org/hg/mutt/rev/0fb6d7579fd1
changeset:   6204:0fb6d7579fd1
branch:      HEAD
tag:         tip
user:        Brendan Cully &amp;lt;brendan&amp;lt; at &amp;gt;kublai.com&amp;gt;
date:        Wed May 23 23:29:37 2012 -0400
summary:     Support passwords of up to 127 characters.

&lt;/pre&gt;</description>
    <dc:creator>Brendan Cully</dc:creator>
    <dc:date>2012-05-24T07:00:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19831">
    <title>[patch] fix TLS initialisation for OpenSSL1.0.1</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19831</link>
    <description>&lt;pre&gt;Folks,

OpenSSL 1.0.1 introduced support for TLSv1.1 and TLSv1.2.  These are not
used by mutt.  This patch fixes that.

Counter-intuitively, the OpenSSL folks have TLSv1_client_method()
negotiate *only* TLSv1.0, and SSLv23_client_method() remains the only
method which can negotiate different versions.  This is true at least as
of 1.0.1c (the latest release at time of writing).

The attached patch uses SSLv23_client_method() and SSL_CTX_set_options()
to then disable SSLv2 and SSLv3.

This mail is sent with such a patched mutt, and you should thus see that
the initial Received: header uses the cipher:
  TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256

Regards,
-Phil
&lt;/pre&gt;</description>
    <dc:creator>Phil Pennock</dc:creator>
    <dc:date>2012-05-23T19:57:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19830">
    <title>[Mutt] #3583: mutt-1.5.21: extract-keys does not extract PGP keysfrom S/MIME signed mail</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19830</link>
    <description>&lt;pre&gt;#3583: mutt-1.5.21: extract-keys does not extract PGP keys from S/MIME signed mail
---------------------------------+------------------------------------------
 Reporter:  matthias&amp;lt; at &amp;gt;…           |       Owner:  mutt-dev
     Type:  defect               |      Status:  new     
 Priority:  major                |   Milestone:          
Component:  mutt                 |     Version:          
 Keywords:                       |  
---------------------------------+------------------------------------------
 {{{
 Package: mutt
 Version: 1.5.21
 Severity: normal

 -- Please type your report below this line

 When viewing a mail with a PGP key attachment named *.asc but with MIME
 type
 text/plain that has been signed with S/MIME (weird combination, I know,
 but my
 bank sends this stuff and I think it should work), the extract-keys
 command
 correctly extracts the S/MIME certificate but ignores the PGP key. Just a
 minor
 annoyance as people who use mutt for this kind of stuff will probably know
 what
 to do, but perhaps mutt should just try all candidate attachments in this
 case
 instead of quitting after the first one.

 -- System Information
 System Version: Linux aldous 2.6.38-xen #2 SMP Mon Nov 28 17:45:50 GALT
 2011 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux

 -- Build environment information

 (Note: This is the build environment installed on the system
 muttbug is run on.  Information may or may not match the environment
 used to build mutt.)

 - gcc version information
 x86_64-pc-linux-gnu-gcc
 Using built-in specs.
 COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3/x86_64-pc-linux-gnu-gcc
 COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/lto-wrapper
 Target: x86_64-pc-linux-gnu
 Configured with: /tmp/portage/sys-
 devel/gcc-4.5.3-r2/work/gcc-4.5.3/configure --prefix=/usr
 --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3
 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include
 --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3
 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/man
 --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/info --with-gxx-
 include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/g++-v4
 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
 --disable-fixed-point --without-ppl --without-cloog --disable-lto
 --enable-nls --without-included-gettext --with-system-zlib --disable-
 werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-
 libssp --enable-libgomp --with-python-dir=/share/gcc-data/x86_64-pc-linux-
 gnu/4.5.3/python --enable-checking=release --enable-java-awt=gtk --enable-
 languages=c,c++,java,objc --enable-shared --enable-threads=posix --enable-
 __cxa_atexit --enable-clocale=gnu
   --enable-targets=all --with-bugurl=http://bugs.gentoo.org/ --with-
 pkgversion='Gentoo 4.5.3-r2 p1.2, pie-0.4.7'
 Thread model: posix
 gcc version 4.5.3 (Gentoo 4.5.3-r2 p1.2, pie-0.4.7)

 - CFLAGS
 -Wall -pedantic -Wno-long-long -Os -march=amdfam10 -pipe -fomit-frame-
 pointer -fno-ident -fforce-addr

 -- Mutt Version Information

 Mutt 1.5.21 (2010-09-15, Gentoo 1.5.21-r9)
 Copyright (C) 1996-2009 Michael R. Elkins and others.
 Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
 Mutt is free software, and you are welcome to redistribute it
 under certain conditions; type `mutt -vv' for details.

 System: Linux 2.6.38-xen (x86_64)
 ncurses: ncurses 5.9.20110404 (compiled with 5.9)
 libidn: 1.24 (compiled with 1.24)
 hcache backend: tokyocabinet 1.4.47
 Compile options:
 -DOMAIN
 -DEBUG
 -HOMESPOOL  +USE_SETGID  +USE_DOTLOCK  +DL_STANDALONE  -USE_FCNTL
 +USE_FLOCK
 +USE_POP  +USE_NNTP  +USE_IMAP  +USE_SMTP
 -USE_SSL_OPENSSL  +USE_SSL_GNUTLS  +USE_SASL  -USE_GSS  +HAVE_GETADDRINFO
 -HAVE_REGCOMP  +USE_GNU_REGEX  +COMPRESSED
 +HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET
 +HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM
 +CRYPT_BACKEND_CLASSIC_PGP  +CRYPT_BACKEND_CLASSIC_SMIME
 +CRYPT_BACKEND_GPGME
 -EXACT_ADDRESS  -SUN_ATTACHMENT
 +ENABLE_NLS  -LOCALES_HACK  +HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET
 +HAVE_LANGINFO_YESEXPR
 +HAVE_ICONV  -ICONV_NONTRANS  +HAVE_LIBIDN  +HAVE_GETSID  +USE_HCACHE
 -ISPELL
 SENDMAIL="/usr/sbin/sendmail"
 MAILPATH="/var/spool/mail"
 PKGDATADIR="/usr/share/mutt"
 SYSCONFDIR="/etc/mutt"
 EXECSHELL="/bin/sh"
 -MIXMASTER
 To contact the developers, please mail to &amp;lt;mutt-dev&amp;lt; at &amp;gt;mutt.org&amp;gt;.
 To report a bug, please visit http://bugs.mutt.org/.

 fg.sidebar-dotpathsep
 ar.sidebar-utf8
 sidebar
 fg.gpg_smime_output
 patch-1.5.11.vk.pgp_verbose_mime
 cd.trash_folder.3.4
 dgc.subjrx
 fg.change_folder_next
 fg.smarttime
 vvv.initials
 vvv.quote
 vvv.nntp
 dgc.xterm.titles.v3
 patch-1.5.20hg.pdmef.progress.vl.2
 rr.compressed
 patch-1.5.4.lpr.collapse_flagged Lukas P. Ruf &amp;lt;lukas.ruf&amp;lt; at &amp;gt;lpr.ch&amp;gt;
 }}}

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-05-23T18:54:06</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19829">
    <title>[Mutt] #3582: smtp_auth_sasl: error base64-decoding server response</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19829</link>
    <description>&lt;pre&gt;#3582: smtp_auth_sasl: error base64-decoding server response
------------------------+---------------------------------------------------
 Reporter:  tczengming  |       Owner:  mutt-dev
     Type:  defect      |      Status:  new     
 Priority:  major       |   Milestone:          
Component:  mutt        |     Version:  1.5.21  
 Keywords:              |  
------------------------+---------------------------------------------------
 mutt can't send email
 version : mutt 1.5.21
 host: smtp.163.com  (gmail test ok)
 command like this:echo "testmail" | mutt -d 5 -s "test" -e 'set
 smtp_url="smtp://user:pas&amp;lt; at &amp;gt;smtp.163.com:25/"' to&amp;lt; at &amp;gt;sina.com

 System: Linux 2.6.37.6-0.11-desktop (i686)
 ncurses: ncurses 5.7.20101009 (compiled with 5.7)
 compile options：
 -DOMAIN
 +DEBUG
 -HOMESPOOL  -USE_SETGID  +USE_DOTLOCK  -DL_STANDALONE  +USE_FCNTL
 -USE_FLOCK
 -USE_POP  -USE_IMAP  +USE_SMTP
 +USE_SSL_OPENSSL  -USE_SSL_GNUTLS  +USE_SASL  -USE_GSS  +HAVE_GETADDRINFO
 +HAVE_REGCOMP  -USE_GNU_REGEX
 +HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET
 +HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM
 +CRYPT_BACKEND_CLASSIC_PGP  +CRYPT_BACKEND_CLASSIC_SMIME
 -CRYPT_BACKEND_GPGME
 -EXACT_ADDRESS  -SUN_ATTACHMENT
 +ENABLE_NLS  -LOCALES_HACK  +HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET
 +HAVE_LANGINFO_YESEXPR
 +HAVE_ICONV  -ICONV_NONTRANS  -HAVE_LIBIDN  +HAVE_GETSID  -USE_HCACHE

 log:
 [2012-05-22 14:12:58] Mutt/1.5.21 (2010-09-15) debugging at level 5
 [2012-05-22 14:12:58] Reading configuration file '/usr/local/etc/Muttrc'.
 [2012-05-22 14:12:58] parse_attach_list: ldata = 0x80e49b0, *ldata = (nil)
 [2012-05-22 14:12:58] parse_attach_list: added */.* [9]
 [2012-05-22 14:12:58] parse_attach_list: ldata = 0x80e49b4, *ldata = (nil)
 [2012-05-22 14:12:58] parse_attach_list: added text/x-vcard [7]
 [2012-05-22 14:12:58] parse_attach_list: added application/pgp.* [2]
 [2012-05-22 14:12:58] parse_attach_list: ldata = 0x80e49b4, *ldata =
 0x80f2a08
 [2012-05-22 14:12:58] parse_attach_list: skipping text/x-vcard
 [2012-05-22 14:12:58] parse_attach_list: skipping application/pgp.*
 [2012-05-22 14:12:58] parse_attach_list: added application/x-pkcs7-.* [2]
 [2012-05-22 14:12:58] parse_attach_list: ldata = 0x80e49b8, *ldata = (nil)
 [2012-05-22 14:12:58] parse_attach_list: added text/plain [7]
 [2012-05-22 14:12:58] parse_attach_list: ldata = 0x80e49b4, *ldata =
 0x80f2a08
 [2012-05-22 14:12:58] parse_attach_list: skipping text/x-vcard
 [2012-05-22 14:12:58] parse_attach_list: skipping application/pgp.*
 [2012-05-22 14:12:58] parse_attach_list: skipping application/x-pkcs7-.*
 [2012-05-22 14:12:58] parse_attach_list: added message/external-body [4]
 [2012-05-22 14:12:58] parse_attach_list: ldata = 0x80e49bc, *ldata = (nil)
 [2012-05-22 14:12:58] parse_attach_list: added message/external-body [4]
 [2012-05-22 14:12:58] send.c:1214: mutt_mktemp returns "/tmp/mutt-
 linux-008-1000-28292-13932838271170144133".
 [2012-05-22 14:12:58] sendlib.c:2692: mutt_mktemp returns "/tmp/mutt-
 linux-008-1000-28292-726912188748030617".
 [2012-05-22 14:12:58] mwoh: buf[Subject: test] is short enough
 [2012-05-22 14:12:59] send.c:988: mutt_mktemp returns "/tmp/mutt-
 linux-008-1000-28292-2054191190810729236".
 [2012-05-22 14:12:59] mwoh: buf[Subject: test] is short enough
 [2012-05-22 14:12:59] Connected to smtp.163.com:25 on fd=4
 [2012-05-22 14:12:59] 4&amp;lt; 220 gz-t-163smtp1.163.com SMTP Server for Netease
 [466] 529b9177-52e3-4e81-a5e4-a21fdf2ced48
 [2012-05-22 14:12:59] 4&amp;gt; EHLO linux-008.site
 [2012-05-22 14:12:59] 4&amp;lt; 250-gz-t-163smtp1.163.com
 [2012-05-22 14:12:59] 4&amp;lt; 250-mail
 [2012-05-22 14:12:59] 4&amp;lt; 250-PIPELINING
 [2012-05-22 14:12:59] 4&amp;lt; 250-8BITMIME
 [2012-05-22 14:12:59] 4&amp;lt; 250-AUTH LOGIN PLAIN
 [2012-05-22 14:12:59] 4&amp;lt; 250-AUTH=LOGIN PLAIN
 [2012-05-22 14:12:59] 4&amp;lt; 250 STARTTLS 529b9177-52e3-4e81-a5e4-a21fdf2ced48
 [2012-05-22 14:12:59] 4&amp;gt; STARTTLS
 [2012-05-22 14:12:59] 4&amp;lt; 220 2.0.0 Start TLS
 529b9177-52e3-4e81-a5e4-a21fdf2ced48
 [2012-05-22 14:12:59] ssl_check_preauth: hostname check passed
 [2012-05-22 14:12:59] X509_STORE_load_locations failed
 [2012-05-22 14:12:59] X509_verify_cert: unable to get local issuer
 certificate (20)
 [2012-05-22 14:12:59]  [/serialNumber=p0JiiH1Hm6SVOaDND51IWyf9sq-
 PK1Td/C=CN/ST=Guangdong/L=Guangzhou/O=Guangzhou NetEase Computer System
 Co., Ltd./OU=MAIL Dept./CN=*.163.com]
 [2012-05-22 14:12:59] X509_STORE_load_locations failed
 [2012-05-22 14:12:59] ssl_check_preauth: signer check passed
 [2012-05-22 14:12:59] trusted: /C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA
 [2012-05-22 14:12:59] ssl_check_preauth: hostname check passed
 [2012-05-22 14:12:59] X509_STORE_load_locations failed
 [2012-05-22 14:12:59] ssl_check_preauth: signer check passed
 [2012-05-22 14:13:00] 4&amp;gt; EHLO linux-008.site
 [2012-05-22 14:13:00] 4&amp;lt; 250-gz-t-163smtp1.163.com
 [2012-05-22 14:13:00] 4&amp;lt; 250-mail
 [2012-05-22 14:13:00] 4&amp;lt; 250-PIPELINING
 [2012-05-22 14:13:00] 4&amp;lt; 250-8BITMIME
 [2012-05-22 14:13:00] 4&amp;lt; 250-AUTH LOGIN PLAIN
 [2012-05-22 14:13:00] 4&amp;lt; 250 AUTH=LOGIN PLAIN
 529b9177-52e3-4e81-a5e4-a21fdf2ced48
 [2012-05-22 14:13:00] SASL local ip: 192.168.0.111;45452, remote
 ip:113.108.225.9;25
 [2012-05-22 14:13:00] External SSF: 128
 [2012-05-22 14:13:00] External authentication name: tczengming
 [2012-05-22 14:13:00] 4&amp;gt; AUTH LOGIN
 [2012-05-22 14:13:00] 4&amp;lt; 334 VXNlcm5hbWU6
 529b9177-52e3-4e81-a5e4-a21fdf2ced48
 [2012-05-22 14:13:00] smtp_auth_sasl: error base64-decoding server
 response.
 [2012-05-22 14:13:01] mutt_free_body: unlinking /tmp/mutt-
 linux-008-1000-28292-13932838271170144133.

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-05-22T06:24:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19826">
    <title>[Mutt] #3581: Folder-history ignores -f folder from CLI</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19826</link>
    <description>&lt;pre&gt;#3581: Folder-history ignores -f folder from CLI
--------------------+-------------------------------------------------------
 Reporter:  Wastl   |       Owner:  mutt-dev
     Type:  defect  |      Status:  new     
 Priority:  minor   |   Milestone:          
Component:  mutt    |     Version:  HEAD    
 Keywords:          |  
--------------------+-------------------------------------------------------
 When you start mutt giving -f folder on the command line, that folder is
 not included among the suggestions (already seen folders) which appear
 when (later in the session) you press 'c' to change folder and use &amp;lt;up-
 arrow&amp;gt; at the prompt.

 For a fix, it may be enough to add something of the sense
     if (explicit_folder)
       mutt_history_add (HC_MBOX, folder, 1);
 in main.c e.g. somewhere around line 994, only in this form it is not
 possible because of variable scope. A hack with a wrapper in history.c
 worked for me.

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-05-18T12:07:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19825">
    <title>[Mutt] #3580: mutt -H $draft ignores recipient arguments on CLI</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19825</link>
    <description>&lt;pre&gt;#3580: mutt -H $draft ignores recipient arguments on CLI
-------------------------+--------------------------------------------------
 Reporter:  adam.spiers  |       Owner:  mutt-dev
     Type:  defect       |      Status:  new     
 Priority:  minor        |   Milestone:  1.6     
Component:  mutt         |     Version:  1.5.21  
 Keywords:               |  
-------------------------+--------------------------------------------------
 When using the -H option to compose using a draft message, mutt ignores
 any recipients specified at the end of the CLI arguments in favour of the
 contents of the To: header in the supplied draft. IOW, the subsequent
 interactive prompt for recipients will be populated with the contents of
 the To: header.  Furthermore, if the To: header is empty or non-existent,
 the subsequent interactive prompt will not be populated with anything.

 I suggest that a better behaviour would be to merge the contents of the
 draft's To: header (if any) with the recipients provided at the end of the
 CLI command (if any), and use that union to populate the interactive
 prompt.

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-05-17T22:16:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19821">
    <title>[Mutt] #3579: Automake 1.12 prevents mutt HEAD from configuring</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19821</link>
    <description>&lt;pre&gt;#3579: Automake 1.12 prevents mutt HEAD from configuring
----------------------+-----------------------------------------------------
 Reporter:  sinecure  |       Owner:  mutt-dev
     Type:  defect    |      Status:  new     
 Priority:  major     |   Milestone:          
Component:  mutt      |     Version:  1.5.21  
 Keywords:            |  
----------------------+-----------------------------------------------------
 The new automake removed AM_C_PROTOTYPES.  Removing that line from
 configure.ac (as shown in the `hg diff` below) allows the `./prepare`
 command to complete.

 {{{
 diff -r 41a8d7dceb6c configure.ac
 --- a/configure.ac      Sun Apr 29 22:15:19 2012 -0700
 +++ b/configure.ac      Fri May 11 16:17:15 2012 -0400
 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -30,7 +30,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;

  AC_PROG_CC
  AC_ISC_POSIX
 -AM_C_PROTOTYPES
  if test "x$U" != "x"; then
    AC_MSG_ERROR(Compiler not ANSI compliant)
  fi
 }}}

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-05-11T20:29:11</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19815">
    <title>Building mutt from HEAD on Mac OS X with automake 1.12</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19815</link>
    <description>&lt;pre&gt;I recently started using Mac OS X again, and installed HomeBrew [1] to
be able to automate the upgrade of various software components not
already included.

When installing the requisite programs to build mutt from HEAD, automake
1.12 was installed.  Unfortunately, this new version of automake caused
mutt not to prepare!  The output of my attempt to prepare follows.

#v+
dave&amp;lt; at &amp;gt;pooh:~/usr/src/mutt/mutt$ cat ../configure-mutt.sh
#!/bin/sh

# For FreeBSD, append '=/usr/local' to the --with-sasl line.
# For Mac OS X, append '=/usr/local' to the --with-tokyocabinet line.

./prepare \
--prefix=$HOME/usr \
--with-homespool=Maildir \
--enable-debug \
--enable-hcache \
--with-tokyocabinet=/usr/local \
--with-curses \
--enable-smtp \
--enable-imap \
--with-ssl \
--with-sasl
#v-

Note: This prepare command has worked in the past on Mac OS X.  Next, I
make sure my sources are up to date, and try to prepare.

#v+
dave&amp;lt; at &amp;gt;pooh:~/usr/src/mutt/mutt$ hg pull -u
pulling from http://dev.mutt.org/hg/mutt
searching for changes
no changes found
dave&amp;lt; at &amp;gt;pooh:~/usr/src/mutt/mutt$ ../configure-mutt.sh 
configure.ac:33: error: automatic de-ANSI-fication support has been removed
/usr/local/Cellar/automake/1.12/share/aclocal-1.12/protos.m4:13: AM_C_PROTOTYPES is expanded from...
configure.ac:33: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: /usr/local/Cellar/autoconf/2.69/bin/autom4te failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

Some part of the preparation process failed.
Please refer to doc/devel-notes.txt for details.
#v-

At least one other is seeing this (noted in mutt-kz's issues [2]).

If someone confirms, I will put a new issue in the tracker.

[1]: http://mxcl.github.com/homebrew/
[2]: https://github.com/karelzak/mutt-kz/issues/18

Regards,
&lt;/pre&gt;</description>
    <dc:creator>David J. Weller-Fahy</dc:creator>
    <dc:date>2012-05-11T01:49:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19813">
    <title>reply-to, mail-followup-to, cc and their relationship</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19813</link>
    <description>&lt;pre&gt;Hi,
first i have to say thanks for Mutt(1), i've used it for years.
Now i'm getting older and am currently on the «plain and antique»
trip and am therefore slowly extending nail(1), as of Heirloom.
Anyway, while doing some work on Mail-Followup-To: stuff i took
mutt(1) as reference and found that it reacts strange in respect
to interaction with the standardized Reply-To: field.
You can very well repeat this with having one or two entries
in Reply-To:, alone and ditto in conjunction with one+ entries
in Mail-Followup-To:; and see how nice it gets when there was
data in Cc:.

What i planned for my pfffff was that i join Reply-To:'s with
Mail-Followup-To:'s, keeping the stuff in Cc: around.
(Basic idea: editing later is possible.)
Basic thought: Reply-To:'s are often somewhat automatic, whereas
Mail-Followup-To:, though never beyond draft, is used and added to
mails by hand (examples can be found at least in last days of
OpenBSD-ports).

I just yet stumbled over that problem so the brain is behind
(with the real question being wether it will ever catch up,),
so don't ask me no questions.

I just thought the behaviour (of Mutt 1.5.21 (2010-09-15)) isn't
quite pragmatic.  Is it?

--steffen
Forza Figa!

&lt;/pre&gt;</description>
    <dc:creator>Steffen Daode Nurpmeso</dc:creator>
    <dc:date>2012-05-10T15:17:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19812">
    <title>mutt: 2 new changesets</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19812</link>
    <description>&lt;pre&gt;2 new changesets in mutt:

http://dev.mutt.org/hg/mutt/rev/41a8d7dceb6c
changeset:   6203:41a8d7dceb6c
branch:      HEAD
tag:         tip
user:        Brendan Cully &amp;lt;brendan&amp;lt; at &amp;gt;kublai.com&amp;gt;
date:        Sun Apr 29 22:15:19 2012 -0700
summary:     gnutls: catch gnutls_init failures

http://dev.mutt.org/hg/mutt/rev/aadaeb69cbd0
changeset:   6202:aadaeb69cbd0
branch:      HEAD
user:        Brendan Cully &amp;lt;brendan&amp;lt; at &amp;gt;kublai.com&amp;gt;
date:        Sun Apr 29 22:14:22 2012 -0700
summary:     give user time to read SASL init error message

&lt;/pre&gt;</description>
    <dc:creator>Brendan Cully</dc:creator>
    <dc:date>2012-04-30T07:00:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19806">
    <title>[Mutt] #3578: arbitrary MAILDIR outside HOME impossible</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19806</link>
    <description>&lt;pre&gt;#3578: arbitrary MAILDIR outside HOME impossible
---------------------+------------------------------------------------------
 Reporter:  jidanni  |       Owner:  mutt-dev
     Type:  defect   |      Status:  new     
 Priority:  minor    |   Milestone:          
Component:  mutt     |     Version:  1.5.21  
 Keywords:           |  
---------------------+------------------------------------------------------
 There is no way to use mutt with an arbitrary MAILDIR

 $ MAILDIR=/tmp/Mail/backup/ mutt

 In all cases it is assumed these reside within the users home directory,
 even if he does

 # su - nobody

 HOME=/tmp etc. etc.

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-04-26T19:29:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19800">
    <title>[Mutt] #3577: send-hook should not be executed if the mail is notgoing to be sent</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19800</link>
    <description>&lt;pre&gt;#3577: send-hook should not be executed if the mail is not going to be sent
-------------------------+--------------------------------------------------
 Reporter:  Y_Plentyn    |       Owner:  mutt-dev
     Type:  enhancement  |      Status:  new     
 Priority:  minor        |   Milestone:          
Component:  mutt         |     Version:          
 Keywords:               |  
-------------------------+--------------------------------------------------
 Forwarding from  http://bugs.debian.org/641457 :

 {{{
 I have a hook like this:

 send-hook '~s keyword' "push '&amp;lt;edit-subject&amp;gt;&amp;lt;kill-line&amp;gt;Thank you&amp;lt;enter&amp;gt;'"

 The idea is that I want the subject to be automatically modified if it
 contains
 a specific keyword. This works well when you actually reply to the mail
 (or
 write a new mail).

 But if you exit the text editor without having done any change, the
 confirmation
 screen is not displayed but the "push" is still executed and the various
 letters
 end up executing multiple commands that should not have been executed
 because
 they were intended for the "Compose menu" and not the "Index menu".

 So the send-hook/send2-hook should really only be executed if the mail is
 going
 to be sent...

 And ideally if a reply is cancelled, a push recorded in a reply-hook
 should
 also be cancelled. Because my first try was to use a reply-hook for my
 need.
 :-)

 Cheers,
 }}}

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-04-22T15:21:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19799">
    <title>[Mutt] #3576: Makes new connection to the SMTP server for everymail, even when sending several in one action</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19799</link>
    <description>&lt;pre&gt;#3576: Makes new connection to the SMTP server for every mail,  even when sending
several in one action
-----------------------+----------------------------------------------------
 Reporter:  Y_Plentyn  |       Owner:  mutt-dev
     Type:  defect     |      Status:  new     
 Priority:  minor      |   Milestone:          
Component:  mutt       |     Version:          
 Keywords:             |  
-----------------------+----------------------------------------------------
 Forwarding from  http://bugs.debian.org/633993 :

 {{{
 I selected an entire thread, and used ;b to bounce it to someone.  mutt
 made a new connection to the SMTP server for each mail it bounced,
 incurring the full latency of a connection to my SMTP server each time.
 mutt should have made a single connection to the SMTP server to send all
 the mails.

 - Josh Triplett
 }}}

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-04-22T14:51:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19798">
    <title>[Mutt] #3575: smime_keys.pl fails on filenames with spaces</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19798</link>
    <description>&lt;pre&gt;#3575: smime_keys.pl fails on filenames with spaces
-----------------------+----------------------------------------------------
 Reporter:  Y_Plentyn  |       Owner:  mutt-dev
     Type:  defect     |      Status:  new     
 Priority:  minor      |   Milestone:          
Component:  crypto     |     Version:          
 Keywords:             |  
-----------------------+----------------------------------------------------
 Forwarding from  http://bugs.debian.org/658324 :

 {{{
 Dear Maintainer,

 I recently needed to update by smime-keyring with a new version of my own
 certificate to a new one, and saved it to a file named
 "cacert kandre&amp;lt; at &amp;gt;ak-online.be renewed.p12".

 Unfortunately 'smime_keys add_p12 "cacert kandre&amp;lt; at &amp;gt;ak-online.be
 renewed.p12"'
 failed with the return code 256 from openssl and a dump of it's
 commandline
 options.

 I looked into smime_keys and found that the perl-script builds the command
 in line 156 directly from $ARGV[1]:

 &amp;gt;&amp;gt;&amp;gt;&amp;gt; snip &amp;lt;&amp;lt;&amp;lt;&amp;lt;
 156:    my $cmd = "$opensslbin pkcs12 -in $ARGV[1] -out $pem_file";
 157:        system $cmd and die "'$cmd' returned $?";
 &amp;gt;&amp;gt;&amp;gt;&amp;gt; snip &amp;lt;&amp;lt;&amp;lt;&amp;lt;

 The error-message also contained the exact commandline it tried to execute
 which was:
 &amp;gt;&amp;gt;&amp;gt;&amp;gt; snip &amp;lt;&amp;lt;&amp;lt;&amp;lt;
 '/usr/bin/openssl pkcs12 -in cacert kandre&amp;lt; at &amp;gt;ak-online.be renewed.p12 -out
 cacert kandre&amp;lt; at &amp;gt;ak-online.be renewed.p12.pem' returned 256 at
 /usr/bin/smime_keys line 157.
 &amp;gt;&amp;gt;&amp;gt;&amp;gt; snip &amp;lt;&amp;lt;&amp;lt;&amp;lt;

 As there were no quotation marks around the filename I tried it with a
 symlink to the same file, but without any space in the filename and it
 worked like a charm.

 I therefore think that there is some kind of escaping of $ARGV[1]
 neccesary
 to stop smime_keys from passing the spaces directly to the shell that
 executes openssl.

 Kind regards, Andre
 }}}

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-04-22T14:23:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19796">
    <title>[Mutt] #3574: SegFault on verifying gpg key for a message</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19796</link>
    <description>&lt;pre&gt;#3574: SegFault on verifying gpg key for a message
-----------------------+----------------------------------------------------
 Reporter:  Y_Plentyn  |       Owner:  mutt-dev
     Type:  defect     |      Status:  new     
 Priority:  major      |   Milestone:          
Component:  mutt       |     Version:          
 Keywords:             |  
-----------------------+----------------------------------------------------
 Forwarding from http://bugs.debian.org/668583 :

 {{{
 Hi,

 Simply reading debian mailing list, then, when reading this message:
 http://lists.debian.org/debian-devel/2012/04/msg00245.html
 mutt segfaulted during the verification of the signature.

 The bug is totally reproductible and segfault each time. But, maybe
 the keyring that I have locally can change the behavior (I have the
 Martin's pubkey).

 thank you.

 In attachment:
  - a tarball with the message.
  - my config file with personal data anonymized
  - a _full_ coredump
 }}}

 Comment of the forwarder: This seems to be an issue with crypt_use_gpgme .

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-04-22T10:45:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19794">
    <title>[Mutt] #3573: Run Script When New Mail Arrives</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19794</link>
    <description>&lt;pre&gt;#3573: Run Script When New Mail Arrives
------------------------------------------------+---------------------------
 Reporter:  stormdragon2976                     |       Owner:  mutt-dev
     Type:  enhancement                         |      Status:  new     
 Priority:  major                               |   Milestone:          
Component:  mutt                                |     Version:          
 Keywords:  sound,script,new mail notification  |  
------------------------------------------------+---------------------------
 It would be very useful to be able to run a script when new mail arrives.
 One use for this is to play a sound when you have new mail. I know screen
 or tmux can be set to beep or flash when something happens in another
 window, but a lot of blind users would not be able to notice the flash,
 and the beep thing does not always work, like on my computer for example.
 I had thought about just asking for the ability to play sound, but being
 able to execute a script has so much more potential and would solve more
 than just one kind of problem.

&lt;/pre&gt;</description>
    <dc:creator>Mutt</dc:creator>
    <dc:date>2012-04-19T15:33:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19791">
    <title>[PATCH v3] Terminal status line support, based on the xterm title patch</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19791</link>
    <description>&lt;pre&gt;Incorporating Thomas Dickey's suggestions and corrections. :)

 curs_main.c |  81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 globals.h   |   3 ++
 init.h      |  30 ++++++++++++++++++++++
 main.c      |   3 ++
 mutt.h      |   1 +
 mutt_menu.h |   3 ++
 pager.c     |   7 +++++
 status.c    |   2 +
 8 files changed, 130 insertions(+), 0 deletions(-)


# HG changeset patch
# User David Champion &amp;lt;dgc&amp;lt; at &amp;gt;uchicago.edu&amp;gt;
# Date 1334407343 18000
# Node ID 7016e467e1b4902db1f54146242b9db1758aedd7
# Parent  f467353f5657d9504dc5924fefc804fadc586f57
Terminal status line support, based on the xterm title patch.

Christoph Berg took the xterm title patch from the mutt mailing list and
maintained it for Debian:
* 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)

This update reworks the Debian version as generic support for tsl/fsl
terminfo capability.  It no longer depends on a static list of supported
terminal types, although it will use default support for these terminal
types *if* they do not advertise tsl/fsl or XT in terminfo.

The generic terminal status line can be implemented in any fashion, and
on hardware terminals it can be a special out-of-screen region of the
display.  Most modern terminal emulators appear to emulate the status
line in the window title; thus the notion of the tsl escape as an xterm
window title escape.

Configuration variables have been renamed:
$ts_status_format
    format string (using $status_format codes) for the terminal status line
$ts_icon_format
    format string (using $status_format codes) for the xterm icon name
$ts_enabled
    toggle for whether to issue status updates

The old configuration names exist as synonyms.

Logic flow:
* If tsl (string) is set in terminfo, mutt will use that escape to switch
  to the status area, and will use fsl to switch back to the regular
  display area.
* Otherwise, if XT (boolean) is set in terminfo, mutt will use the
  standard xterm-compatible escapes.
* Otherwise, if $TERM matches a known terminal type, mutt will use the
  standard xterm-compatible escapes.
* Otherwise, this feature is disabled.

= NOTE =

The XTerm icon escape sequence is not formalized in terminfo, so the
egregious kludge of hardcoding the escape is necessary in this case.
However, some terminal emulators (e.g. MacOS X Terminal.app) will set
the status line (window title) when the icon sequence is received.
Since there is no way to detect this behavior, the only solution is to
write your configuration to take it into account.  Rather than add a
variable to control icon escapes separately, we just provide the advice:
if you use such a terminal, you may wish to set ts_icon_format to an
empty string.  This will cause it not to be used.

diff --git a/curs_main.c b/curs_main.c
--- a/curs_main.c
+++ b/curs_main.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -112,6 +112,80 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 extern size_t UngetCount;
 
+/* de facto standard escapes for tsl/fsl */
+static char *tsl = "\033]0;";
+static char *fsl = "\007";
+
+/* terminal status capability check. terminfo must have been initialized. */
+short mutt_ts_capability(void)
+{
+  char *term = getenv("TERM");
+  char *tcaps;
+  int tcapi;
+  char **termp;
+  char *known[] = {
+    "color-xterm",
+    "cygwin",
+    "eterm",
+    "kterm",
+    "nxterm",
+    "putty",
+    "rxvt",
+    "screen",
+    "xterm",
+    NULL
+  };
+
+  /* If tsl is set, then terminfo says that status lines work. */
+  tcaps = tigetstr("tsl");
+  if (tcaps &amp;amp;&amp;amp; tcaps != (char *)-1 &amp;amp;&amp;amp; *tcaps)
+  {
+    /* update the static defns of tsl/fsl from terminfo */
+    tsl = safe_strdup(tcaps);
+
+    tcaps = tigetstr("fsl");
+    if (tcaps &amp;amp;&amp;amp; tcaps != (char *)-1 &amp;amp;&amp;amp; *tcaps)
+      fsl = safe_strdup(tcaps);
+
+    return 1;
+  }
+
+  /* If XT (boolean) is set, then this terminal supports the standard escape. */
+  /* Beware: tigetflag returns -1 if XT is invalid or not a boolean. */
+  tcapi = tigetflag("XT");
+  if (tcapi == 1)
+    return 1;
+
+  /* Check term types that are known to support the standard escape without
+   * necessarily asserting it in terminfo. */
+  for (termp = known; termp; termp++)
+  {
+    if (term &amp;amp;&amp;amp; *termp &amp;amp;&amp;amp; mutt_strncasecmp (term, *termp, strlen(*termp)))
+      return 1;
+  }
+
+  /* not supported */
+  return 0;
+}
+
+void mutt_ts_status(char *str)
+{
+  /* If empty, do not set.  To clear, use a single space. */
+  if (str == NULL || *str == '\0')
+    return;
+  fprintf(stderr, "%s%s%s", tsl, str, fsl);
+}
+
+void mutt_ts_icon(char *str)
+{
+  /* If empty, do not set.  To clear, use a single space. */
+  if (str == NULL || *str == '\0')
+    return;
+
+  /* icon setting is not supported in terminfo, so hardcode the escape - yuck */
+  fprintf(stderr, "\033]1;%s\007", str);
+}
+
 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;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -574,6 +648,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 SETCOLOR (MT_COLOR_NORMAL);
         BKGDSET (MT_COLOR_NORMAL);
 menu-&amp;gt;redraw &amp;amp;= ~REDRAW_STATUS;
+if (option(OPTTSENABLED) &amp;amp;&amp;amp; TSSupported)
+{
+  menu_status_line (buf, sizeof (buf), menu, NONULL (TSStatusFormat));
+  mutt_ts_status(buf);
+  menu_status_line (buf, sizeof (buf), menu, NONULL (TSIconFormat));
+  mutt_ts_icon(buf);
+}
       }
 
       menu-&amp;gt;redraw = 0;
diff --git a/globals.h b/globals.h
--- a/globals.h
+++ b/globals.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -142,6 +142,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 WHERE char *Status;
 WHERE char *Tempdir;
 WHERE char *Tochars;
+WHERE char *TSStatusFormat;
+WHERE char *TSIconFormat;
+WHERE short TSSupported;
 WHERE char *Username;
 WHERE char *Visual;
 
diff --git a/init.h b/init.h
--- a/init.h
+++ b/init.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2852,6 +2852,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   ** by \fIyou\fP.  The sixth character is used to indicate when a mail
   ** was sent to a mailing-list you subscribe to (default: L).
   */
+  {"ts_icon_format",DT_STR,  R_BOTH, UL &amp;amp;TSIconFormat, UL "M%?n?AIL&amp;amp;ail?"},
+  /*
+  ** .pp
+  ** Controls the format of the icon title, as long as ``$$ts_enabled'' is set.
+  ** This string is identical in formatting to the one used by
+  ** ``$$status_format''.
+  */
+  {"ts_enabled",DT_BOOL,  R_BOTH, OPTTSENABLED, 0},
+  /* The default must be off to force in the validity checking. */
+  /*
+  ** .pp
+  ** Controls whether mutt tries to set the terminal status line and icon name.
+  ** Most terminal emulators emulate the status line in the window title.
+  */
+  {"ts_status_format",DT_STR,   R_BOTH, UL &amp;amp;TSStatusFormat, UL "Mutt with %?m?%m messages&amp;amp;no messages?%?n? [%n NEW]?"},
+  /*
+  ** .pp
+  ** Controls the format of the terminal status line (or window title),
+  ** provided that ``$$ts_enabled'' has been set. This string is identical in
+  ** formatting to the one used by ``$$status_format''.
+  */
 #ifdef USE_SOCKET
   { "tunnel",            DT_STR, R_NONE, UL &amp;amp;Tunnel, UL 0 },
   /*
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2994,6 +3015,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   ** option does nothing: mutt will never write out the BCC header
   ** in this case.
   */
+  {"xterm_icon",DT_SYN,  R_NONE, UL "ts_icon_format", 0 },
+  /*
+  */
+  {"xterm_title",DT_SYN,  R_NONE, UL "ts_status_format", 0 },
+  /*
+  */
+  {"xterm_set_titles",DT_SYN,  R_NONE, UL "ts_enabled", 0 },
+  /*
+  */
   /*--*/
   { NULL }
 };
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -701,6 +701,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   if (!option (OPTNOCURSES))
     start_curses ();
 
+  /* check whether terminal status is supported (must follow curses init) */
+  TSSupported = mutt_ts_capability();
+
   /* set defaults and read init files */
   mutt_init (flags &amp;amp; M_NOSYSRC, commands);
   mutt_free_list (&amp;amp;commands);
diff --git a/mutt.h b/mutt.h
--- a/mutt.h
+++ b/mutt.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -437,6 +437,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   OPTTHOROUGHSRC,
   OPTTHREADRECEIVED,
   OPTTILDE,
+  OPTTSENABLED,
   OPTUNCOLLAPSEJUMP,
   OPTUSE8BITMIME,
   OPTUSEDOMAIN,
diff --git a/mutt_menu.h b/mutt_menu.h
--- a/mutt_menu.h
+++ b/mutt_menu.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -103,6 +103,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 void menu_current_bottom (MUTTMENU *);
 void menu_check_recenter (MUTTMENU *);
 void menu_status_line (char *, size_t, MUTTMENU *, const char *);
+short mutt_ts_capability (void);
+void mutt_ts_status (char *);
+void mutt_ts_icon (char *);
 
 MUTTMENU *mutt_new_menu (void);
 void mutt_menuDestroy (MUTTMENU **);
diff --git a/pager.c b/pager.c
--- a/pager.c
+++ b/pager.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1762,6 +1762,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 addstr (topline == 0 ? "all)" : "end)");
       BKGDSET (MT_COLOR_NORMAL);
       SETCOLOR (MT_COLOR_NORMAL);
+      if (option(OPTTSENABLED) &amp;amp;&amp;amp; TSSupported)
+      {
+menu_status_line (buffer, sizeof (buffer), index, NONULL (TSStatusFormat));
+mutt_ts_status(buffer);
+menu_status_line (buffer, sizeof (buffer), index, NONULL (TSIconFormat));
+mutt_ts_icon(buffer);
+      }
     }
 
     if ((redraw &amp;amp; REDRAW_INDEX) &amp;amp;&amp;amp; index)
diff --git a/status.c b/status.c
--- a/status.c
+++ b/status.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -191,6 +191,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       break;
 
     case 'P':
+      if (!menu)
+break;
       if (menu-&amp;gt;top + menu-&amp;gt;pagelen &amp;gt;= menu-&amp;gt;max)
 cp = menu-&amp;gt;top ? "end" : "all";
       else


&lt;/pre&gt;</description>
    <dc:creator>David Champion</dc:creator>
    <dc:date>2012-04-14T12:44:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mutt.devel/19788">
    <title>[PATCH v2] Terminal status line support, based on the xterm title patch</title>
    <link>http://comments.gmane.org/gmane.mail.mutt.devel/19788</link>
    <description>&lt;pre&gt;This update incorporates Thomas Dickey's advice concerning "xt".

 curs_main.c |  81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 globals.h   |   3 ++
 init.h      |  30 ++++++++++++++++++++++
 main.c      |   3 ++
 mutt.h      |   1 +
 mutt_menu.h |   3 ++
 pager.c     |   7 +++++
 status.c    |   2 +
 8 files changed, 130 insertions(+), 0 deletions(-)


# HG changeset patch
# User David Champion &amp;lt;dgc&amp;lt; at &amp;gt;uchicago.edu&amp;gt;
# Date 1334366508 18000
# Node ID 2491e0d4f51693ba0f5caab7455174eccfe2501e
# Parent  f467353f5657d9504dc5924fefc804fadc586f57
Terminal status line support, based on the xterm title patch.

Christoph Berg took the xterm title patch from the mutt mailing list and
maintained it for Debian:
* 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)

This update reworks the Debian version as generic support for tsl/fsl
terminfo capability.  It no longer depends on a static list of supported
terminal types, although it will use default support for these terminal
types *if* they do not advertise tsl/fsl or xt in terminfo.

The generic terminal status line can be implemented in any fashion, and
on hardware terminals it can be a special out-of-screen region of the
display.  Most modern terminal emulators appear to emulate the status
line in the window title; thus the notion of the tsl escape as an xterm
window title escape.

Configuration variables have been renamed:
$ts_status_format
    format string (using $status_format codes) for the terminal status line
$ts_icon_format
    format string (using $status_format codes) for the xterm icon name
$ts_enabled
    toggle for whether to issue status updates

The old configuration names exist as synonyms.

Logic flow:
* If tsl (string) is set in terminfo, mutt will use that escape to switch
  to the status area, and will use fsl to switch back to the regular
  display area.
* Otherwise, if xt (boolean) is set in terminfo, mutt will use the
  standard xterm-compatible escapes.
* Otherwise, if $TERM matches a known terminal type, mutt will use the
  standard xterm-compatible escapes.
* Otherwise, this feature is disabled.

= NOTE =

The XTerm icon escape sequence is not formalized in terminfo, so the
egregious kludge of hardcoding the escape is necessary in this case.
However, some terminal emulators (e.g. MacOS X Terminal.app) will set
the status line (window title) when the icon sequence is received.
Since there is no way to detect this behavior, the only solution is to
write your configuration to take it into account.  Rather than add a
variable to control icon escapes separately, we just provide the advice:
if you use such a terminal, you may wish to set ts_icon_format to an
empty string.  This will cause it not to be used.

diff --git a/curs_main.c b/curs_main.c
--- a/curs_main.c
+++ b/curs_main.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -112,6 +112,80 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 extern size_t UngetCount;
 
+/* de facto standard escapes for tsl/fsl */
+static char *tsl = "\033]0;";
+static char *fsl = "\007";
+
+/* terminal status capability check. terminfo must have been initialized. */
+short mutt_ts_capability(void)
+{
+  char *term = getenv("TERM");
+  char *tcaps;
+  int tcapi;
+  char **termp;
+  char *known[] = {
+    "color-xterm",
+    "cygwin",
+    "eterm",
+    "kterm",
+    "nxterm",
+    "putty",
+    "rxvt",
+    "screen",
+    "xterm",
+    NULL
+  };
+
+  /* If tsl is set, then terminfo says that status lines work. */
+  tcaps = tigetstr("tsl");
+  if (tcaps &amp;amp;&amp;amp; tcaps != (char *)-1 &amp;amp;&amp;amp; *tcaps)
+  {
+    /* update the static defns of tsl/fsl from terminfo */
+    tsl = safe_strdup(tcaps);
+
+    tcaps = tigetstr("fsl");
+    if (tcaps &amp;amp;&amp;amp; tcaps != (char *)-1 &amp;amp;&amp;amp; *tcaps)
+      fsl = safe_strdup(tcaps);
+
+    return 1;
+  }
+
+  /* If xt (boolean) is set, then this terminal supports the standard escape. */
+  /* Beware: tigetflag returns -1 if xt is invalid or not a boolean. */
+  tcapi = tigetflag("xt");
+  if (tcapi == 1)
+    return 1;
+
+  /* Check term types that are known to support the standard escape without
+   * necessarily asserting it in terminfo. */
+  for (termp = known; termp; termp++)
+  {
+    if (term &amp;amp;&amp;amp; *termp &amp;amp;&amp;amp; mutt_strncasecmp (term, *termp, strlen(*termp)))
+      return 1;
+  }
+
+  /* not supported */
+  return 0;
+}
+
+void mutt_ts_status(char *str)
+{
+  /* If empty, do not set.  To clear, use a single space. */
+  if (str == NULL || *str == '\0')
+    return;
+  fprintf(stderr, "%s%s%s", tsl, str, fsl);
+}
+
+void mutt_ts_icon(char *str)
+{
+  /* If empty, do not set.  To clear, use a single space. */
+  if (str == NULL || *str == '\0')
+    return;
+
+  /* icon setting is not supported in terminfo, so hardcode the escape - yuck */
+  fprintf(stderr, "\033]1;%s\007", str);
+}
+
 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;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -574,6 +648,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 SETCOLOR (MT_COLOR_NORMAL);
         BKGDSET (MT_COLOR_NORMAL);
 menu-&amp;gt;redraw &amp;amp;= ~REDRAW_STATUS;
+if (option(OPTTSENABLED) &amp;amp;&amp;amp; TSSupported)
+{
+  menu_status_line (buf, sizeof (buf), menu, NONULL (TSStatusFormat));
+  mutt_ts_status(buf);
+  menu_status_line (buf, sizeof (buf), menu, NONULL (TSIconFormat));
+  mutt_ts_icon(buf);
+}
       }
 
       menu-&amp;gt;redraw = 0;
diff --git a/globals.h b/globals.h
--- a/globals.h
+++ b/globals.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -142,6 +142,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 WHERE char *Status;
 WHERE char *Tempdir;
 WHERE char *Tochars;
+WHERE char *TSStatusFormat;
+WHERE char *TSIconFormat;
+WHERE short TSSupported;
 WHERE char *Username;
 WHERE char *Visual;
 
diff --git a/init.h b/init.h
--- a/init.h
+++ b/init.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2852,6 +2852,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   ** by \fIyou\fP.  The sixth character is used to indicate when a mail
   ** was sent to a mailing-list you subscribe to (default: L).
   */
+  {"ts_icon_format",DT_STR,  R_BOTH, UL &amp;amp;TSIconFormat, UL "M%?n?AIL&amp;amp;ail?"},
+  /*
+  ** .pp
+  ** Controls the format of the icon title, as long as ``$$ts_enabled'' is set.
+  ** This string is identical in formatting to the one used by
+  ** ``$$status_format''.
+  */
+  {"ts_enabled",DT_BOOL,  R_BOTH, OPTTSENABLED, 0},
+  /* The default must be off to force in the validity checking. */
+  /*
+  ** .pp
+  ** Controls whether mutt tries to set the terminal status line and icon name.
+  ** Most terminal emulators emulate the status line in the window title.
+  */
+  {"ts_status_format",DT_STR,   R_BOTH, UL &amp;amp;TSStatusFormat, UL "Mutt with %?m?%m messages&amp;amp;no messages?%?n? [%n NEW]?"},
+  /*
+  ** .pp
+  ** Controls the format of the terminal status line (or window title),
+  ** provided that ``$$ts_enabled'' has been set. This string is identical in
+  ** formatting to the one used by ``$$status_format''.
+  */
 #ifdef USE_SOCKET
   { "tunnel",            DT_STR, R_NONE, UL &amp;amp;Tunnel, UL 0 },
   /*
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2994,6 +3015,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   ** option does nothing: mutt will never write out the BCC header
   ** in this case.
   */
+  {"xterm_icon",DT_SYN,  R_NONE, UL "ts_icon_format", 0 },
+  /*
+  */
+  {"xterm_title",DT_SYN,  R_NONE, UL "ts_status_format", 0 },
+  /*
+  */
+  {"xterm_set_titles",DT_SYN,  R_NONE, UL "ts_enabled", 0 },
+  /*
+  */
   /*--*/
   { NULL }
 };
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -701,6 +701,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   if (!option (OPTNOCURSES))
     start_curses ();
 
+  /* check whether terminal status is supported (must follow curses init) */
+  TSSupported = mutt_ts_capability();
+
   /* set defaults and read init files */
   mutt_init (flags &amp;amp; M_NOSYSRC, commands);
   mutt_free_list (&amp;amp;commands);
diff --git a/mutt.h b/mutt.h
--- a/mutt.h
+++ b/mutt.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -437,6 +437,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   OPTTHOROUGHSRC,
   OPTTHREADRECEIVED,
   OPTTILDE,
+  OPTTSENABLED,
   OPTUNCOLLAPSEJUMP,
   OPTUSE8BITMIME,
   OPTUSEDOMAIN,
diff --git a/mutt_menu.h b/mutt_menu.h
--- a/mutt_menu.h
+++ b/mutt_menu.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -103,6 +103,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 void menu_current_bottom (MUTTMENU *);
 void menu_check_recenter (MUTTMENU *);
 void menu_status_line (char *, size_t, MUTTMENU *, const char *);
+short mutt_ts_capability (void);
+void mutt_ts_status (char *);
+void mutt_ts_icon (char *);
 
 MUTTMENU *mutt_new_menu (void);
 void mutt_menuDestroy (MUTTMENU **);
diff --git a/pager.c b/pager.c
--- a/pager.c
+++ b/pager.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1762,6 +1762,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 addstr (topline == 0 ? "all)" : "end)");
       BKGDSET (MT_COLOR_NORMAL);
       SETCOLOR (MT_COLOR_NORMAL);
+      if (option(OPTTSENABLED) &amp;amp;&amp;amp; TSSupported)
+      {
+menu_status_line (buffer, sizeof (buffer), index, NONULL (TSStatusFormat));
+mutt_ts_status(buffer);
+menu_status_line (buffer, sizeof (buffer), index, NONULL (TSIconFormat));
+mutt_ts_icon(buffer);
+      }
     }
 
     if ((redraw &amp;amp; REDRAW_INDEX) &amp;amp;&amp;amp; index)
diff --git a/status.c b/status.c
--- a/status.c
+++ b/status.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -191,6 +191,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       break;
 
     case 'P':
+      if (!menu)
+break;
       if (menu-&amp;gt;top + menu-&amp;gt;pagelen &amp;gt;= menu-&amp;gt;max)
 cp = menu-&amp;gt;top ? "end" : "all";
       else


&lt;/pre&gt;</description>
    <dc:creator>David Champion</dc:creator>
    <dc:date>2012-04-14T01:23:01</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.mail.mutt.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.mail.mutt.devel</link>
  </textinput>
</rdf:RDF>

