From: Michael Heerdegen Date: Sat, 24 Oct 2015 22:06:22 +0000 (+0200) Subject: el-search--read-pattern: fix default(s) X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/df283ac0bf6b19d7afdfa882fd3bb786b8e0012a el-search--read-pattern: fix default(s) --- diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el index e2f1b5abb..13bfdfa5a 100644 --- a/packages/el-search/el-search.el +++ b/packages/el-search/el-search.el @@ -236,11 +236,17 @@ prompt to refer to the value of the currently tested expression." (or hist 'read-expression-history) default))) (defun el-search--read-pattern (prompt &optional default read) - (el-search-read-expression - prompt el-search--initial-mb-contents 'el-search-history - (or default (when-let ((this-sexp (sexp-at-point))) - (concat "'" (el-search--print this-sexp)))) - read)) + (let ((this-sexp (sexp-at-point))) + (minibuffer-with-setup-hook + (lambda () + (when this-sexp + (let ((more-defaults (list (concat "'" (el-search--print this-sexp))))) + (setq-local minibuffer-default-add-function + (lambda () (if (listp minibuffer-default) + (append minibuffer-default more-defaults) + (cons minibuffer-default more-defaults))))))) + (el-search-read-expression + prompt el-search--initial-mb-contents 'el-search-history default read)))) (defun el-search--end-of-sexp () ;;Point must be at sexp beginning