From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22091 invoked from network); 24 Mar 2001 18:06:57 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 24 Mar 2001 18:06:57 -0000 Received: (qmail 21344 invoked by alias); 24 Mar 2001 18:06:49 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 13740 Received: (qmail 21327 invoked from network); 24 Mar 2001 18:06:48 -0000 From: "Bart Schaefer" Message-Id: <1010324180607.ZM29285@candle.brasslantern.com> Date: Sat, 24 Mar 2001 18:06:07 +0000 References: X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.dk Subject: Re: PATCH: MH for Mailboxes (TM) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Fri, 23 Mar 2001, Peter Stephenson wrote: } } This makes _mailboxes a bit happier about MH mailboxes. I don't know } whether to alter _mh_cache directly or change it at the point of use. It needs to be changed at point of use, because other programs may use _mailboxes that understand MH directory format without understanding the MH `+folder' naming convention. So _mh_cache needs to contain full path names. } It still doesn't handle the feature of MH (which I don't suppose anyone } actually uses) that @folder is relative to the last folder you were looking } at. Where does one obtain the name of the last folder? Fill it in to the `lastmhbox' parameter below, and uncomment the corresponding lines. The following patch is INSTEAD OF Peter's, because Peter hasn't committed his yet. By the way (Sven), when I complete after "mutt -f " (with no prefix in the current word) I -still- get a blank item as the first menu-selection. I thought we fixed that bug a long time ago? Index: Completion/User/_mailboxes =================================================================== --- Completion/User/_mailboxes 2000/11/11 21:49:59 1.20 +++ Completion/User/_mailboxes 2001/03/24 18:00:29 @@ -84,6 +84,7 @@ _maildir_cache=( "${_maildir_cache[@]}" "$i" ) elif j=( "$i"/<1-> ) && [[ -n "$j" ]]; then _mh_cache=( "${_mh_cache[@]}" "$i" ) + dirboxes=( $dirboxes "$i"/*(/) ) else _mbox_cache=( "${_mbox_cache[@]}" "$i"/*(.) ) dirboxes=( $dirboxes "$i"/*(/) ) @@ -116,8 +117,17 @@ "${_mailbox_cache[@]}" ) fi ;; - (*:mh:*) # I've probably got this wrong, or at least incomplete - (( $#_mh_cache )) && _multi_parts "${expl[@]}" / _mh_cache && ret=0 + (*:mh:*) +# local lastmhbox=??? # Where does this come from? + if compset -P +; then + mbox_names=( "${(@)_mh_cache#$~maildirectory/}" ) +# elif compset -P @; then +# mbox_names=( "${(@)${(@M)_mh_cache:#$~lastmhbox/*}#$~lastmhbox/}" ) + else + mbox_names=( +"${(@)^_mh_cache#$~maildirectory/}" +# @"${(@)^${(@M)_mh_cache:#$~lastmhbox/*}#$~lastmhbox/}" + "${_mh_cache[@]}" ) + fi ;; (*:mush:*) if compset -P %; then -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net