Commit Briefs
readd "select first completion" when must_select is provided
The "don't automatically select the first completion" was a good change, but for commands that need a must_select policy it's annoying. This readds the automatic selection but only for those commands. It's still better than before the changes because now it's clear when and what gets automatically selected.
add must_select flag for enter_minibuffer
it only makes sense when entering the minibuffer with completions. This flag is useful for functions like tag-select where the user types something but one of the completions *must* be selected.
don't highlight the first completion by deafult
This is the first commit of a series to improve the handling of completions. Currently it's a mess: some commands look at the selected entry, others at what was typed in the minibuffer... it's not clear which commands does what. So, change of defaults: don't highlight anything by default to avoid confusing the user, C-n and C-p now are the obvious way to move the focus from the minibuffer to a completion. This doesn't change how the commands handle the selection, that will done in a follow-up commit.
partial revert of "abstract over evbuffers"
partial revert of commit d54dd8160b88709f3d243e1410a781e5de7fc187. We don't really need an abstraction over "printf-like" things. I can just use plain old FILEs. open_memstream (which conforms to POSIX.1) is what I should have used from the beginning in my mcache implementation.
add write-buffer
saves a page to the disk. Also, changes the order of the downloads so the new one is always at the top.