emacs-helm / helm

Emacs incremental completion and selection narrowing framework
https://emacs-helm.github.io/helm/
GNU General Public License v3.0
3.37k stars 390 forks source link

Woman and Helm #2527

Closed t4sk3 closed 2 years ago

t4sk3 commented 2 years ago

What happened?

I get the error "Trying to run helm within a running helm session" when calling woman when helm-mode is activated. I don't know if this is a bug in Helm or in Woman.

How to reproduce?

Call woman and select an entry.

Helm Version

Master branch

Emacs Version

Emacs-28/29

OS

MacOSX

Relevant backtrace (if possible)

No response

Minimal configuration

t4sk3 commented 2 years ago

Specifically, this happens if you select an entry with helm that has two possible man page files. woman then queries you for which you want to choose (if you turn off helm-mode you get to this stage, if not then it crashes with the error above).

thierryvolpiatto commented 2 years ago

t4sk3 @.***> writes:

What happened?

I get the error "Trying to run helm within a running helm session" when calling woman when helm-mode is activated. I don't know if this is a bug in Helm or in Woman.

Not reproductible, please provide a backtrace and reproduce your bug from a MINIMAL EMACS CONFIG (emacs-helm.sh). There is no relation with this and helm-mode.

-- Thierry

thierryvolpiatto commented 2 years ago

t4sk3 @.***> writes:

Specifically, this happens if you select an entry with helm that has two possible man page files. woman then queries you for which you want to choose (if you turn off helm-mode you get to this stage, if not then it crashes with the error above).

Please provide as well the name of the page which have more than one entry. Anyway I tried reproducing by modifying the code (car wfiles) instead of (cdr wfiles) to force the helm-comp-read to popup from action and couldn't reproduce, all work fine.

-- Thierry

t4sk3 commented 2 years ago

Here is the backtrace I get when evaluating (woman "fd"):

Debugger entered--Lisp error: (error "Error: Trying to run helm within a running helm se...")
  error("Error: Trying to run helm within a running helm se...")
  helm(:sources (((nomark) (name . "minibuffer-complete Histor...") (candidates . #f(compiled-function () #<bytecode 0xc48d20cad05dc4d>)) (keymap keymap ... keymap ... ... ... keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ...) (persistent-help . "DoNothing") (requires-pattern . 0) (filtered-candidate-transformer ... helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match) (redisplay . identity) (mode-line . "\\<helm-comp-read-map>C/\\[h...") (header-line . ...) (multimatch . t) (must-match . 1) (group . helm)) ((nomark) (name . "minibuffer-complete") (candidates . #f(compiled-function () #<bytecode -0xcff568cd0b48165>)) (keymap keymap ... keymap ... ... ... keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ...) (persistent-help . "DoNothing") (requires-pattern . 0) (filtered-candidate-transformer helm-cr-default-transformer helm-completion-in-region-sort-fn helm-fuzzy-highlight-matches) (volatile . t) (match helm-mm-exact-match helm-mm-match) (redisplay . identity) (mode-line . "\\<helm-comp-read-map>C/\\[h...") (header-line . ...) (multimatch . t) (must-match . 1) (group . helm))) :input nil :default nil :preselect nil :prompt "Pattern: " :resume noresume :keymap (keymap (127 . helm-mode-delete-char-backward-maybe) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f12 . #f(compiled-function () ... #<bytecode 0x1fdce6668d76e80>)) (f11 . #f(compiled-function () ... #<bytecode 0x1fdce6668d15e80>)) (f10 . #f(compiled-function () ... #<bytecode 0x1fdce6668d04e80>)) (f9 . #f(compiled-function () ... #<bytecode 0x1fdce666894be80>)) (f8 . #f(compiled-function () ... #<bytecode 0x1fdce666895ae80>)) (f7 . #f(compiled-function () ... #<bytecode 0x1fdce6668939e80>)) (f6 . #f(compiled-function () ... #<bytecode 0x1fdce6668928e80>)) (f5 . #f(compiled-function () ... #<bytecode 0x1fdce666890fe80>)) (f4 . #f(compiled-function () ... #<bytecode 0x1fdce666891ee80>)) (f3 . #f(compiled-function () ... #<bytecode 0x1fdce6668f1de80>)) (f2 . #f(compiled-function () ... #<bytecode 0x1fdce6668f0ce80>)) (menu-bar keymap (help-menu keymap ...)) (help keymap (109 . helm-help)) (23 . #f(compiled-function () ... #<bytecode -0x80727589b35ed11>)) (f1 . #f(compiled-function () ... #<bytecode 0x1fdce6668993e80>)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (110 . #f(compiled-function () ... #<bytecode -0x807277de0cffd11>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-insert-or-copy) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) ...) :allow-nest nil :candidate-number-limit 100 :case-fold-search smart :history nil :buffer "*helm-mode-minibuffer-comp...")
  helm-comp-read("Pattern: " (#("/usr/share/man/man4/fd.4" 0 5 (face (completions-common-part)) 5 6 (face (completions-first-difference))) #("/usr/local/share/man/man1/fd.1" 0 5 (face (completions-common-part)) 5 6 (face (completions-first-difference)))) :name "minibuffer-complete" :nomark t :marked-candidates nil :initial-input nil :buffer "*helm-mode-minibuffer-complete*" :fc-transformer (helm-cr-default-transformer helm-completion-in-region-sort-fn) :match-dynamic nil :fuzzy nil :exec-when-only-one t :quit-when-no-cand #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_59> :must-match 1)
  helm--completion-in-region(completion--in-region 14 19 (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil)
  apply(helm--completion-in-region completion--in-region (14 19 (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil))
  #f(advice helm--completion-in-region :around completion--in-region)(14 19 (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil)
  completion-in-region(14 19 (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil)
  minibuffer-complete()
  #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_41>()
  minibuffer-setup()
  helm-read-from-minibuffer("Manual file: " "/usr/" nil noresume (keymap (127 . helm-mode-delete-char-backward-maybe) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f12 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce6668d76e80>)) (f11 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce6668d15e80>)) (f10 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce6668d04e80>)) (f9 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce666894be80>)) (f8 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce666895ae80>)) (f7 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce6668939e80>)) (f6 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce6668928e80>)) (f5 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce666890fe80>)) (f4 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce666891ee80>)) (f3 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce6668f1de80>)) (f2 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce6668f0ce80>)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode -0x80727589b35ed11>)) (f1 . #f(compiled-function () (interactive nil) #<bytecode 0x1fdce6668993e80>)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (110 . #f(compiled-function () (interactive nil) #<bytecode -0x807277de0cffd11>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-insert-or-copy) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-scroll-down) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark-backward) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-scroll-up)) (next . helm-next-page) (prior . helm-previous-page) (C-up . helm-follow-action-backward) (C-down . helm-follow-action-forward) ...) "" woman-file-history)
  helm-internal((((nomark) (name . "woman") (init #f(compiled-function () #<bytecode -0x1c926f8c4d00ee35>)) (candidates . helm-candidates-in-buffer) (keymap keymap ... keymap ... ... ... keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ...) (persistent-help . "DoNothing") (help-message . helm-comp-read-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-cr-default-transformer helm-fuzzy-highlight-matches) (volatile . t) (match identity) (redisplay . identity) (mode-line . "\\<helm-comp-read-map>C/\\[h...") (header-line . ...) (multimatch . t) (must-match . 1) (group . helm) (data . #f(compiled-function () #<bytecode 0x76ddc8f0dff2037>)) (get-line . buffer-substring-no-properties) (search helm-mm-exact-search helm-mm-search helm-candidates-in-buffer-search-default-fn)) ((nomark) (name . "woman History") (candidates . #f(compiled-function () #<bytecode 0xc768a83acc5ddd5>)) (keymap keymap ... keymap ... ... ... keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ...) (persistent-help . "DoNothing") (help-message . helm-comp-read-help-message) (requires-pattern . 0) (filtered-candidate-transformer ... helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match) (redisplay . identity) (mode-line . "\\<helm-comp-read-map>C/\\[h...") (header-line . ...) (multimatch . t) (must-match . 1) (group . helm))) "/usr/" "Manual file: " noresume nil "*helm-mode-woman*" (keymap (127 . helm-mode-delete-char-backward-maybe) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f12 . #f(compiled-function () ... #<bytecode 0x1fdce6668d76e80>)) (f11 . #f(compiled-function () ... #<bytecode 0x1fdce6668d15e80>)) (f10 . #f(compiled-function () ... #<bytecode 0x1fdce6668d04e80>)) (f9 . #f(compiled-function () ... #<bytecode 0x1fdce666894be80>)) (f8 . #f(compiled-function () ... #<bytecode 0x1fdce666895ae80>)) (f7 . #f(compiled-function () ... #<bytecode 0x1fdce6668939e80>)) (f6 . #f(compiled-function () ... #<bytecode 0x1fdce6668928e80>)) (f5 . #f(compiled-function () ... #<bytecode 0x1fdce666890fe80>)) (f4 . #f(compiled-function () ... #<bytecode 0x1fdce666891ee80>)) (f3 . #f(compiled-function () ... #<bytecode 0x1fdce6668f1de80>)) (f2 . #f(compiled-function () ... #<bytecode 0x1fdce6668f0ce80>)) (menu-bar keymap (help-menu keymap ...)) (help keymap (109 . helm-help)) (23 . #f(compiled-function () ... #<bytecode -0x80727589b35ed11>)) (f1 . #f(compiled-function () ... #<bytecode 0x1fdce6668993e80>)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (110 . #f(compiled-function () ... #<bytecode -0x807277de0cffd11>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-insert-or-copy) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) ...) "" woman-file-history)
  helm((((nomark) (name . "woman") (init #f(compiled-function () #<bytecode -0x1c926f8c4d00ee35>)) (candidates . helm-candidates-in-buffer) (keymap keymap ... keymap ... ... ... keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ...) (persistent-help . "DoNothing") (help-message . helm-comp-read-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-cr-default-transformer helm-fuzzy-highlight-matches) (volatile . t) (match identity) (redisplay . identity) (mode-line . "\\<helm-comp-read-map>C/\\[h...") (header-line . ...) (multimatch . t) (must-match . 1) (group . helm) (data . #f(compiled-function () #<bytecode 0x76ddc8f0dff2037>)) (get-line . buffer-substring-no-properties) (search helm-mm-exact-search helm-mm-search helm-candidates-in-buffer-search-default-fn)) ((nomark) (name . "woman History") (candidates . #f(compiled-function () #<bytecode 0xc768a83acc5ddd5>)) (keymap keymap ... keymap ... ... ... keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ...) (persistent-help . "DoNothing") (help-message . helm-comp-read-help-message) (requires-pattern . 0) (filtered-candidate-transformer ... helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match) (redisplay . identity) (mode-line . "\\<helm-comp-read-map>C/\\[h...") (header-line . ...) (multimatch . t) (must-match . 1) (group . helm))) "/usr/" "Manual file: " noresume nil "*helm-mode-woman*" (keymap (127 . helm-mode-delete-char-backward-maybe) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f12 . #f(compiled-function () ... #<bytecode 0x1fdce6668d76e80>)) (f11 . #f(compiled-function () ... #<bytecode 0x1fdce6668d15e80>)) (f10 . #f(compiled-function () ... #<bytecode 0x1fdce6668d04e80>)) (f9 . #f(compiled-function () ... #<bytecode 0x1fdce666894be80>)) (f8 . #f(compiled-function () ... #<bytecode 0x1fdce666895ae80>)) (f7 . #f(compiled-function () ... #<bytecode 0x1fdce6668939e80>)) (f6 . #f(compiled-function () ... #<bytecode 0x1fdce6668928e80>)) (f5 . #f(compiled-function () ... #<bytecode 0x1fdce666890fe80>)) (f4 . #f(compiled-function () ... #<bytecode 0x1fdce666891ee80>)) (f3 . #f(compiled-function () ... #<bytecode 0x1fdce6668f1de80>)) (f2 . #f(compiled-function () ... #<bytecode 0x1fdce6668f0ce80>)) (menu-bar keymap (help-menu keymap ...)) (help keymap (109 . helm-help)) (23 . #f(compiled-function () ... #<bytecode -0x80727589b35ed11>)) (f1 . #f(compiled-function () ... #<bytecode 0x1fdce6668993e80>)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (110 . #f(compiled-function () ... #<bytecode -0x807277de0cffd11>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-insert-or-copy) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) ...) "" woman-file-history)
  helm(:sources (((nomark) (name . "woman") (init #f(compiled-function () #<bytecode -0x1c926f8c4d00ee35>)) (candidates . helm-candidates-in-buffer) (keymap keymap ... keymap ... ... ... keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ...) (persistent-help . "DoNothing") (help-message . helm-comp-read-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-cr-default-transformer helm-fuzzy-highlight-matches) (volatile . t) (match identity) (redisplay . identity) (mode-line . "\\<helm-comp-read-map>C/\\[h...") (header-line . ...) (multimatch . t) (must-match . 1) (group . helm) (data . #f(compiled-function () #<bytecode 0x76ddc8f0dff2037>)) (get-line . buffer-substring-no-properties) (search helm-mm-exact-search helm-mm-search helm-candidates-in-buffer-search-default-fn)) ((nomark) (name . "woman History") (candidates . #f(compiled-function () #<bytecode 0xc768a83acc5ddd5>)) (keymap keymap ... keymap ... ... ... keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (action ...) (persistent-help . "DoNothing") (help-message . helm-comp-read-help-message) (requires-pattern . 0) (filtered-candidate-transformer ... helm-fuzzy-highlight-matches) (match helm-mm-exact-match helm-mm-match) (redisplay . identity) (mode-line . "\\<helm-comp-read-map>C/\\[h...") (header-line . ...) (multimatch . t) (must-match . 1) (group . helm))) :input "/usr/" :default "" :preselect nil :prompt "Manual file: " :resume noresume :keymap (keymap (127 . helm-mode-delete-char-backward-maybe) (27 keymap (13 . helm-cr-empty-string)) (C-return . helm-cr-empty-string) keymap (f12 . #f(compiled-function () ... #<bytecode 0x1fdce6668d76e80>)) (f11 . #f(compiled-function () ... #<bytecode 0x1fdce6668d15e80>)) (f10 . #f(compiled-function () ... #<bytecode 0x1fdce6668d04e80>)) (f9 . #f(compiled-function () ... #<bytecode 0x1fdce666894be80>)) (f8 . #f(compiled-function () ... #<bytecode 0x1fdce666895ae80>)) (f7 . #f(compiled-function () ... #<bytecode 0x1fdce6668939e80>)) (f6 . #f(compiled-function () ... #<bytecode 0x1fdce6668928e80>)) (f5 . #f(compiled-function () ... #<bytecode 0x1fdce666890fe80>)) (f4 . #f(compiled-function () ... #<bytecode 0x1fdce666891ee80>)) (f3 . #f(compiled-function () ... #<bytecode 0x1fdce6668f1de80>)) (f2 . #f(compiled-function () ... #<bytecode 0x1fdce6668f0ce80>)) (menu-bar keymap (help-menu keymap ...)) (help keymap (109 . helm-help)) (23 . #f(compiled-function () ... #<bytecode -0x80727589b35ed11>)) (f1 . #f(compiled-function () ... #<bytecode 0x1fdce6668993e80>)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (110 . #f(compiled-function () ... #<bytecode -0x807277de0cffd11>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-insert-or-copy) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) ...) :allow-nest nil :candidate-number-limit 100 :case-fold-search smart :history woman-file-history :buffer "*helm-mode-woman*")
  helm-comp-read("Manual file: " (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) :test nil :history woman-file-history :reverse-history t :input-history woman-file-history :must-match 1 :alistp nil :diacritics nil :help-message helm-comp-read-help-message :name "woman" :requires-pattern 0 :quit-when-no-cand nil :nomark t :candidates-in-buffer t :exec-when-only-one nil :fuzzy nil :buffer "*helm-mode-woman*" :default "" :initial-input "/usr/")
  helm-completing-read-default-1("Manual file: " (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil 1 "/usr/" woman-file-history nil nil "woman" "*helm-mode-woman*" t)
  helm-completing-read-default-handler("Manual file: " (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil 1 "/usr/" woman-file-history nil nil "woman" "*helm-mode-woman*")
  helm--completing-read-default("Manual file: " (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil 1 "/usr/" woman-file-history nil nil)
  apply(helm--completing-read-default ("Manual file: " (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil 1 "/usr/" woman-file-history nil nil))
  #f(advice helm--completing-read-default :override completing-read-default)("Manual file: " (("/usr/share/man/man4/fd.4") ("/usr/local/share/man/man1/fd.1")) nil 1 "/usr/" woman-file-history nil nil)
  woman-file-name("fd" nil)
  woman("fd")
  (progn (woman "fd"))
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  command-execute(eval-last-sexp)
t4sk3 commented 2 years ago

Thierry Volpiatto notifications@github.com writes:

Please provide as well the name of the page which have more than one entry. Anyway I tried reproducing by modifying the code (car wfiles) instead of (cdr wfiles) to force the helm-comp-read to popup from action and couldn't reproduce, all work fine.

I'm on macOS. By default there's a man page for the file descriptorn file fd (from 1993, of course) and it's located at

/usr/share/man/man4/fd.4.

Now I also installed fd [1] using Homebrew. Its man page is located at

/usr/local/share/man/man1/fd.1.

Using M-x man or man in the command-line, it just selects the latter. But woman asks me which one to choose. When helm-mode is enabled, this causes the error I mentioned.

It also happens with mg [2] whose man page for some reason is installed in both

man /usr/share/man/man1/mg.1

and

/usr/local/share/man/man1/mg.1.

If I select an entry with only one file, it works fine. I am using the minimal Helm config.

t4sk3 commented 2 years ago

Thank you! It works for me on master now.

thierryvolpiatto commented 2 years ago

t4sk3 @.***> writes:

Thank you! It works for me on master now.

Thanks to confirm. Also completing-read popup with a false entry in addition of the two you should have e.g. "[?] /usr/share/man/", this because completing-read use wrongly 1 instead of t for require-match, it should be fixed as well.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.*Message ID: @.***>

-- Thierry

thierryvolpiatto commented 2 years ago

t4sk3 @.***> writes:

Here is the backtrace I get when evaluating (woman "fd"):

Thanks for the backtrace, the problem comes from woman-file-name which call from minibuffer-setup-hook minibuffer-complete which defeat Helm and possibly other completions packages. It should be fixed in '93e94284' by disabling minibuffer-complete (please confirm).

Thanks to catch this.

-- Thierry

t4sk3 commented 2 years ago

Thierry Volpiatto @.***> writes:

Please provide as well the name of the page which have more than one entry. Anyway I tried reproducing by modifying the code (car wfiles) instead of (cdr wfiles) to force the helm-comp-read to popup from action and couldn't reproduce, all work fine.

I'm on macOS. By default there's a man page for the file descriptorn file fd (from 1993, of course) and it's located at

/usr/share/man/man4/fd.4.

Now I also installed fd [1] using Homebrew. Its man page is located at

/usr/local/share/man/man1/fd.1.

Using M-x man or man in the command-line, it just selects the latter. But woman asks me which one to choose. When helm-mode is enabled, this causes the error I mentioned.

It also happens with mg [2] whose man page for some reason is installed in both

man /usr/share/man/man1/mg.1

and

/usr/local/share/man/man1/mg.1.

If I select an entry with only one file, it works fine. I am using the minimal Helm config.