Commit Briefs
bump version to 0.10 (tags/0.10)
Makefile: dist-hook: use $(distdir)
When running "make clean" in libgrapheme, do so in the $(distdir) target, and not the $(topsrc)/libgrapheme target, as by the time dist-hook runs, the files have already been prepared in $(distdir).
Makefile: add dist-hook target to clean libgrapheme
Make sure we clean out any unwanted files in libgrapheme/ when creeating a release tarball, as we don't want such files present.
release: include libgrapheme
When making release tarballs, ensure we also include libgrapheme in case that's not available system-wide.
move exec routines to their own file
This leaves the room open to further improvements and tries to keep it apart from the UI itself.
minibuffer: augment minibuffer_read with the initial input
fixes a regression where the text inputted via ui_read() can't be edited.
minibuffer: redesign enter_minibuffer and fix regression
use a struct to pass the arguments to enter_minibuffer since they're so many. While here, also allow to pass a printf(3)-like format string for the prompt and specify the initial input. Also, fix a regression: if we don't set vline.cplen we can't properly handle the input, so do that in enter_minibuffer to avoid having to fix all the callers.
minibuffer: fix insertion of candidate
we missed to update the vline.cplen field when inserting a candidate in the minibuffer.
mailcap: reset string parser state for cmd handling
When interpolating a mailcap command, make sure we reset the state of the string parser each time, otherwise the intended command is never interpolated. This would mean that previous commands would get run with old files, or worse still, segfault.
code: add wrappers for common failure cases
Certain calls to well-known functions sometimes result in similar error handling across the code base. Sometimes there's a need to centralise the failure case. Achieve this for common wrappers to often-used functions. The transformation is achieved via coccinelle, commited with this patch. Note that coccinelle can be told to ignore code blocks with comment delimiters. This transformation applies just to telescope's code, and not any of the bundled depdencies in telescope (libgrapheme).