|
From: | Gregory Heytings |
Subject: | bug#65459: completing-read INITIAL-VALUE unaware of COLLECTION and REQUIRE-MATCH |
Date: | Thu, 24 Aug 2023 12:30:51 +0000 |
(defun my-completing-read (prompt collection start) (minibuffer-with-setup-hook (:append (lambda () (setq-local actual-minibuffer-default-add-function minibuffer-default-add-function) (setq-local minibuffer-default-add-function '(lambda () (setq minibuffer-default-add-done nil) (funcall actual-minibuffer-default-add-function)))Why use ' on `lambda`?
I think my finger slipped.
BTW, rather than the above two `setq-local`s, I think you can write: (add-function :before (local 'minibuffer-default-add-function) (lambda () (setq minibuffer-default-add-done nil)))
Right. I was writing that function as it if were for minibuffer.el, and was therefore avoiding advices. But now I see that there are a couple of add-function in core anyway (it's not clear to me where the dividing line is). So here's the final version:
(defun my-completing-read (prompt collection start) (minibuffer-with-setup-hook (:append (lambda () (add-function :before (local 'minibuffer-default-add-function) (lambda () (setq minibuffer-default-add-done nil))) (next-history-element start) (move-end-of-line nil))) (completing-read (format-prompt prompt nil) collection nil t))) (my-completing-read "Grapheme" '("alpha" "beta" "gamma" "delta" "epsilon" "zeta" "eta") 1) Heime, can you try that and tell us if it solves your problem?
[Prev in Thread] | Current Thread | [Next in Thread] |