Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: Improved _mailboxes



Bart Schaefer wrote:

> ...
>  
> } > (3) I'm sometimes offered a blank completion -- an empty slot at the top
> } >     of the list of all completions.  I don't know where that comes from;
> } >     it shouldn't be there.  Quoting problem somewhere?
> } 
> } Almost. There was no test for $MAIL and in _multi_parts a missing ()
> } at an assignment. And some more of these in _mailboxes.
> 
> Hmm, I thought `typeset -U' would deal with that, but of course it also
> applies to colon-separated lists.  Could have used `typeset -Ua' though,
> nowadays, instead of all those empty initializations you added.

Right. I always forget to do that. Or think of it too late. I'm
planning to go through the completion functions again at least once
anyway to see where we can optimise them.

Btw, the patch I'm withholding that makes the parser emit wordcode
directly and that also contains several optimisations to the C-code
will make such assignments very cheap.

And since I'm talking about patches to come after 3.1.7: I've just
finished the patch to remove useheap we were talking about (i.e.
making all allocations use heap or real memory explicitly). It seems
to works fine until now and it will be tested even more until 3.1.7
appears, of course.

> } > And of course, I haven't yet written any actual completion functions to
> } > call this one; it's used only from _mutt, so far.
> } 
> } I think we should make the caching somewhat cleverer. I.e. only build
> } the caches for the commands really used (tried completion upon).
> 
> The problem is that mutt uses _maildir_cache, pine uses _mbox_cache, and
> zmail uses _mh_cache.  (Actually now that I think about it, pine can use
> _mh_cache too.)  How do you deal with the crossover without caching them
> all?  I'd rather not duplicate the knowledge of which programs can read
> which other programs' mailboxes in both caching and tag-testing sections.

I was thinking about an initial test for the command used which would
decide which caches are needed. In the next step, (only) theses caches
are created if they don't exist yet and finally we fall into the
completion generation phase using those caches.


Bye
 Sven


--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author