Add support for completing quoted variables in Eshell like $'FOO'
This also adds the ability for Pcomplete handlers to set their own
exit functions that will get called as appropriate.
* lisp/pcomplete.el (pcomplete-default-exit-function): New function.
(pcomplete-exit-function): New variable...
(pcomplete-completions-at-point): ... let-bind and use it.
* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Handle
quoted variables. We also build the 'posns' list from right-to-left
now.
* lisp/eshell/esh-var.el (eshell-envvar-names): Ensure that variable
aliases are included in this list.
(eshell-complete-variable-reference): Handle quoted variables and set
the exit function on the completions.
(eshell-variables-list): Simplify. We now add the trailing slash for
directories in the exit function inside
'eshell-complete-variable-reference'.
* test/lisp/eshell/em-cmpl-tests.el
(em-cmpl-test/quoted-variable-ref-completion)
(em-cmpl-test/variable-ref-completion/directory): New tests.