[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - au
From: |
Juri Linkov |
Subject: |
bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list |
Date: |
Sun, 12 Nov 2023 10:13:10 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) |
>> I'm trying various completions after customizing completions-sort to nil,
>> so currently noticed a problem in the completions of file names.
>
> So you agree that the problem is wider than that?
The problem reported by this bug report is that the order is random by
`C-h v M-n M-n' because it uses obarray. There is no such problem for
`C-x C-f M-n M-n' because the list of default values is truncated
explicitly in `read-file-name-default' by
(minibuffer-with-setup-hook
(lambda ()
(setq-local minibuffer-default-add-function
...
So maybe to use the same to truncate the list of default values
for `C-h f', `C-h v', `C-h o'?
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index e93c535bbef..4931aeb49cd 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -234,18 +234,21 @@ help-fns--describe-function-or-command-prompt
"Describe function")
fn))
(enable-recursive-minibuffers t)
- (val (completing-read
- prompt
- #'help--symbol-completion-table
- (lambda (f) (if want-command
- (commandp f)
- (or (fboundp f) (get f 'function-documentation))))
- ;; We used `confirm' for a while because we may want to see the
- ;; meta-info about a function even if the function itself is not
- ;; defined, but this use case is too marginal and rarely tested,
- ;; not worth the trouble (bug#64902).
- t nil nil
- (and fn (symbol-name fn)))))
+ (val (minibuffer-with-setup-hook
+ (lambda ()
+ (setq-local minibuffer-default-add-function nil))
+ (completing-read
+ prompt
+ #'help--symbol-completion-table
+ (lambda (f) (if want-command
+ (commandp f)
+ (or (fboundp f) (get f
'function-documentation))))
+ ;; We used `confirm' for a while because we may want to see
the
+ ;; meta-info about a function even if the function itself is
not
+ ;; defined, but this use case is too marginal and rarely
tested,
+ ;; not worth the trouble (bug#64902).
+ t nil nil
+ (and fn (symbol-name fn))))))
(unless (equal val "")
(setq fn (intern val)))
;; These error messages are intended to be less technical for the
@@ -1269,18 +1272,21 @@ describe-variable
(enable-recursive-minibuffers t)
(orig-buffer (current-buffer))
val)
- (setq val (completing-read
- (format-prompt "Describe variable" (and (symbolp v) v))
- #'help--symbol-completion-table
- (lambda (vv)
- (or (get vv 'variable-documentation)
- (and (not (keywordp vv))
- ;; Since the variable may only exist in the
- ;; original buffer, we have to look for it
- ;; there.
- (buffer-local-boundp vv orig-buffer))))
- t nil nil
- (if (symbolp v) (symbol-name v))))
+ (setq val (minibuffer-with-setup-hook
+ (lambda ()
+ (setq-local minibuffer-default-add-function nil))
+ (completing-read
+ (format-prompt "Describe variable" (and (symbolp v) v))
+ #'help--symbol-completion-table
+ (lambda (vv)
+ (or (get vv 'variable-documentation)
+ (and (not (keywordp vv))
+ ;; Since the variable may only exist in the
+ ;; original buffer, we have to look for it
+ ;; there.
+ (buffer-local-boundp vv orig-buffer))))
+ t nil nil
+ (if (symbolp v) (symbol-name v)))))
(list (if (equal val "")
v (intern val)))))
(let (file-name
@@ -1876,14 +1882,17 @@ describe-symbol
(v-or-f (if found v-or-f (function-called-at-point)))
(found (or found v-or-f))
(enable-recursive-minibuffers t)
- (val (completing-read (format-prompt "Describe symbol"
- (and found v-or-f))
- #'help--symbol-completion-table
- (lambda (vv)
- (cl-some (lambda (x) (funcall (nth 1 x) vv))
- describe-symbol-backends))
- t nil nil
- (if found (symbol-name v-or-f)))))
+ (val (minibuffer-with-setup-hook
+ (lambda ()
+ (setq-local minibuffer-default-add-function nil))
+ (completing-read (format-prompt "Describe symbol"
+ (and found v-or-f))
+ #'help--symbol-completion-table
+ (lambda (vv)
+ (cl-some (lambda (x) (funcall (nth 1 x)
vv))
+ describe-symbol-backends))
+ t nil nil
+ (if found (symbol-name v-or-f))))))
(list (if (equal val "")
(or v-or-f "") (intern val)))))
(let ((help-buffer-under-preparation t))
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Juri Linkov, 2023/11/05
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Juri Linkov, 2023/11/06
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Juri Linkov, 2023/11/09
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Eli Zaretskii, 2023/11/09
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Juri Linkov, 2023/11/09
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Eli Zaretskii, 2023/11/09
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Juri Linkov, 2023/11/10
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Eli Zaretskii, 2023/11/10
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list,
Juri Linkov <=
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Juri Linkov, 2023/11/13
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Drew Adams, 2023/11/13
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Juri Linkov, 2023/11/14
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Juri Linkov, 2023/11/15
- bug#64656: 29.0.91; Doc of minibuffer histories and completing-read - automatic addition of completions to DEFAULT list, Stefan Monnier, 2023/11/10