Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tab-Completion in circe caught by helm-mode #673

Closed
wasamasa opened this issue Oct 22, 2014 · 18 comments
Closed

Tab-Completion in circe caught by helm-mode #673

wasamasa opened this issue Oct 22, 2014 · 18 comments

Comments

@wasamasa
Copy link

I've updated to Emacs 24.4, updated helm, too, and now face the problem that hitting TAB in circe with helm-mode enabled catches the completion-at-point function, so that instead of tabbing through the candidates in-place I get helm offering me to choose them. This behaviour wasn't present in 24.3.

Here's a backtrace created by using debug-on-entry on helm:

Debugger entered--entering a function:
  apply(debug--implement-debug-on-entry (:sources (((nomark) (name . "completion-at-point History") (candidates . #[0 "\304\302\300\305\303$\211\205)�\306\307\310\301\203$�\301\307\230\204$�\311\305\301\306\301��\"B\"\202%��\312\313#\"\207" [nil nil nil t helm-comp-read-get-candidates nil delete "" helm-fast-remove-dups delq :test equal] 10 "\n\n(fn)"]) (filtered-candidate-transformer lambda (candidates sources) (cl-loop for i in candidates for cand = (replace-regexp-in-string "\\s\\" "" i) do (set-text-properties 0 (length cand) nil cand) collect cand)) (persistent-action) (persistent-help . "DoNothing") (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (104 . undefined) (8 . undefined) (4 . helm-debug-output)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (triple-mouse-3 . ignore) (double-mouse-3 . ignore) (mouse-3 . ignore) (drag-mouse-3 . ignore) (down-mouse-3 . ignore) (triple-mouse-2 . ignore) (double-mouse-2 . ignore) (mouse-2 . ignore) (drag-mouse-2 . ignore) (down-mouse-2 . ignore) (triple-mouse-1 . ignore) (double-mouse-1 . ignore) (mouse-1 . ignore) (drag-mouse-1 . ignore) (down-mouse-1 . ignore) (67108897 . helm-toggle-suspend-update) (3 keymap (21 . helm-force-update) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (4 . helm-delete-current-selection) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (18 . undefined) (23 . helm-yank-text-at-point) (24 keymap (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) (0 . helm-toggle-visible-mark) ...) (mode-line . "\\<helm-comp-read-map>\\[helm-cr-empty-string]:Empty \\<helm-map>\\[helm-help]:Help \\[helm-select-action]:Act \\[helm-maybe-exit-minibuffer]/f1/f2/f-n:NthAct") (action ("Sole action (Identity)" lambda (candidate) (if nil (helm-marked-candidates) (identity candidate))))) ((nomark) (name . "completion-at-point") (candidates . #[0 "\306\300\301\304\305$\307��\303\242\310=\204?���\311\230\204?�\312���\"\204?�\312\313��!�\"\204?����\235\204?�\314\315\316\311��#C�\"\262�\310��\302\203U�\302\311\230\204U�\317\307\302\320\302�\"B\"\202V�\211\207" [("tychoish: " "twem2_: " "tvaalen: " "tuv: " "turbofail: " "tsdh: " "trey: " "trancaruas: " "tralala: " "torbjorn: " "tomterl: " "tommis: " "tobik: " "timvisher: " "thorkill: " "thomases: " "thomas: " "therp: " "theos: " "themightyabby: " "themightabby: " "theanalyst: " "theRoUS: " "theBlackDragon: " "the-kenny: " "tgkokk: " "tg: " "tessier: " "terrasapien: " "teiresias: " "technomancy: " "tbarletz: " "tazle: " "tazjin: " "taylanub: " "tasdomas: " "targzeta: " "talyz: " "tali713: " "taharqa: " "tadni: " "thevishy: " "Twey: " "Trivium: " "TheMoonMaster: " "TheCrittaC: " "TheBrayn: " "TallerGhostWalt: " "Takumo: ") nil nil (t) nil t helm-comp-read-get-candidates nil t "" assoc intern append replace-regexp-in-string "\\s\\" delq delete helm-cr-unknown-pattern-flag helm-pattern] 7 "\n\n(fn)"]) (filtered-candidate-transformer helm-cr-default-transformer #[514 "\300�\301\"\207" [sort helm-generic-sort-fn] 5 "\n\n(fn CANDIDATES SOURCE)"]) (requires-pattern . 0) (persistent-action) (persistent-help . "DoNothing") (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (104 . undefined) (8 . undefined) (4 . helm-debug-output)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (triple-mouse-3 . ignore) (double-mouse-3 . ignore) (mouse-3 . ignore) (drag-mouse-3 . ignore) (down-mouse-3 . ignore) (triple-mouse-2 . ignore) (double-mouse-2 . ignore) (mouse-2 . ignore) (drag-mouse-2 . ignore) (down-mouse-2 . ignore) (triple-mouse-1 . ignore) (double-mouse-1 . ignore) (mouse-1 . ignore) (drag-mouse-1 . ignore) (down-mouse-1 . ignore) (67108897 . helm-toggle-suspend-update) (3 keymap (21 . helm-force-update) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (4 . helm-delete-current-selection) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (18 . undefined) (23 . helm-yank-text-at-point) (24 keymap (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) (0 . helm-toggle-visible-mark) ...) (mode-line . "\\<helm-comp-read-map>\\[helm-cr-empty-string]:Empty \\<helm-map>\\[helm-help]:Help \\[helm-select-action]:Act \\[helm-maybe-exit-minibuffer]/f1/f2/f-n:NthAct") (action ("Sole action (Identity)" lambda (candidate) (if nil (helm-marked-candidates) (identity candidate)))) (volatile))) :input "t " :default nil :preselect nil :prompt "Pattern: " :resume noresume :case-fold-search smart :keymap (keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (104 . undefined) (8 . undefined) (4 . helm-debug-output)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (triple-mouse-3 . ignore) (double-mouse-3 . ignore) (mouse-3 . ignore) (drag-mouse-3 . ignore) (down-mouse-3 . ignore) (triple-mouse-2 . ignore) (double-mouse-2 . ignore) (mouse-2 . ignore) (drag-mouse-2 . ignore) (down-mouse-2 . ignore) (triple-mouse-1 . ignore) (double-mouse-1 . ignore) (mouse-1 . ignore) (drag-mouse-1 . ignore) (down-mouse-1 . ignore) (67108897 . helm-toggle-suspend-update) (3 keymap (21 . helm-force-update) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (4 . helm-delete-current-selection) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (18 . undefined) (23 . helm-yank-text-at-point) (24 keymap (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) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) ...) :history nil :buffer "*helm-mode-completion-at-point*"))
* helm(:sources (((nomark) (name . "completion-at-point History") (candidates . #[0 "\304\302\300\305\303$\211\205)�\306\307\310\301\203$�\301\307\230\204$�\311\305\301\306\301��\"B\"\202%��\312\313#\"\207" [nil nil nil t helm-comp-read-get-candidates nil delete "" helm-fast-remove-dups delq :test equal] 10 "\n\n(fn)"]) (filtered-candidate-transformer lambda (candidates sources) (cl-loop for i in candidates for cand = (replace-regexp-in-string "\\s\\" "" i) do (set-text-properties 0 (length cand) nil cand) collect cand)) (persistent-action) (persistent-help . "DoNothing") (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (104 . undefined) (8 . undefined) (4 . helm-debug-output)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (triple-mouse-3 . ignore) (double-mouse-3 . ignore) (mouse-3 . ignore) (drag-mouse-3 . ignore) (down-mouse-3 . ignore) (triple-mouse-2 . ignore) (double-mouse-2 . ignore) (mouse-2 . ignore) (drag-mouse-2 . ignore) (down-mouse-2 . ignore) (triple-mouse-1 . ignore) (double-mouse-1 . ignore) (mouse-1 . ignore) (drag-mouse-1 . ignore) (down-mouse-1 . ignore) (67108897 . helm-toggle-suspend-update) (3 keymap (21 . helm-force-update) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (4 . helm-delete-current-selection) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (18 . undefined) (23 . helm-yank-text-at-point) (24 keymap (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) (0 . helm-toggle-visible-mark) ...) (mode-line . "\\<helm-comp-read-map>\\[helm-cr-empty-string]:Empty \\<helm-map>\\[helm-help]:Help \\[helm-select-action]:Act \\[helm-maybe-exit-minibuffer]/f1/f2/f-n:NthAct") (action ("Sole action (Identity)" lambda (candidate) (if nil (helm-marked-candidates) (identity candidate))))) ((nomark) (name . "completion-at-point") (candidates . #[0 "\306\300\301\304\305$\307��\303\242\310=\204?���\311\230\204?�\312���\"\204?�\312\313��!�\"\204?����\235\204?�\314\315\316\311��#C�\"\262�\310��\302\203U�\302\311\230\204U�\317\307\302\320\302�\"B\"\202V�\211\207" [("tychoish: " "twem2_: " "tvaalen: " "tuv: " "turbofail: " "tsdh: " "trey: " "trancaruas: " "tralala: " "torbjorn: " "tomterl: " "tommis: " "tobik: " "timvisher: " "thorkill: " "thomases: " "thomas: " "therp: " "theos: " "themightyabby: " "themightabby: " "theanalyst: " "theRoUS: " "theBlackDragon: " "the-kenny: " "tgkokk: " "tg: " "tessier: " "terrasapien: " "teiresias: " "technomancy: " "tbarletz: " "tazle: " "tazjin: " "taylanub: " "tasdomas: " "targzeta: " "talyz: " "tali713: " "taharqa: " "tadni: " "thevishy: " "Twey: " "Trivium: " "TheMoonMaster: " "TheCrittaC: " "TheBrayn: " "TallerGhostWalt: " "Takumo: ") nil nil (t) nil t helm-comp-read-get-candidates nil t "" assoc intern append replace-regexp-in-string "\\s\\" delq delete helm-cr-unknown-pattern-flag helm-pattern] 7 "\n\n(fn)"]) (filtered-candidate-transformer helm-cr-default-transformer #[514 "\300�\301\"\207" [sort helm-generic-sort-fn] 5 "\n\n(fn CANDIDATES SOURCE)"]) (requires-pattern . 0) (persistent-action) (persistent-help . "DoNothing") (keymap keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (104 . undefined) (8 . undefined) (4 . helm-debug-output)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (triple-mouse-3 . ignore) (double-mouse-3 . ignore) (mouse-3 . ignore) (drag-mouse-3 . ignore) (down-mouse-3 . ignore) (triple-mouse-2 . ignore) (double-mouse-2 . ignore) (mouse-2 . ignore) (drag-mouse-2 . ignore) (down-mouse-2 . ignore) (triple-mouse-1 . ignore) (double-mouse-1 . ignore) (mouse-1 . ignore) (drag-mouse-1 . ignore) (down-mouse-1 . ignore) (67108897 . helm-toggle-suspend-update) (3 keymap (21 . helm-force-update) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (4 . helm-delete-current-selection) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (18 . undefined) (23 . helm-yank-text-at-point) (24 keymap (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) (0 . helm-toggle-visible-mark) ...) (mode-line . "\\<helm-comp-read-map>\\[helm-cr-empty-string]:Empty \\<helm-map>\\[helm-help]:Help \\[helm-select-action]:Act \\[helm-maybe-exit-minibuffer]/f1/f2/f-n:NthAct") (action ("Sole action (Identity)" lambda (candidate) (if nil (helm-marked-candidates) (identity candidate)))) (volatile))) :input "t " :default nil :preselect nil :prompt "Pattern: " :resume noresume :case-fold-search smart :keymap (keymap (keymap (13 . helm-confirm-and-exit-minibuffer)) keymap (C-return . helm-cr-empty-string) keymap (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 keymap (104 . undefined) (8 . undefined) (4 . helm-debug-output)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (triple-mouse-3 . ignore) (double-mouse-3 . ignore) (mouse-3 . ignore) (drag-mouse-3 . ignore) (down-mouse-3 . ignore) (triple-mouse-2 . ignore) (double-mouse-2 . ignore) (mouse-2 . ignore) (drag-mouse-2 . ignore) (down-mouse-2 . ignore) (triple-mouse-1 . ignore) (double-mouse-1 . ignore) (mouse-1 . ignore) (drag-mouse-1 . ignore) (down-mouse-1 . ignore) (67108897 . helm-toggle-suspend-update) (3 keymap (21 . helm-force-update) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (4 . helm-delete-current-selection) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (18 . undefined) (23 . helm-yank-text-at-point) (24 keymap (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) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) ...) :history nil :buffer "*helm-mode-completion-at-point*")
  helm-comp-read("Pattern: " ("tychoish: " "twem2_: " "tvaalen: " "tuv: " "turbofail: " "tsdh: " "trey: " "trancaruas: " "tralala: " "torbjorn: " "tomterl: " "tommis: " "tobik: " "timvisher: " "thorkill: " "thomases: " "thomas: " "therp: " "theos: " "themightyabby: " "themightabby: " "theanalyst: " "theRoUS: " "theBlackDragon: " "the-kenny: " "tgkokk: " "tg: " "tessier: " "terrasapien: " "teiresias: " "technomancy: " "tbarletz: " "tazle: " "tazjin: " "taylanub: " "tasdomas: " "targzeta: " "talyz: " "tali713: " "taharqa: " "tadni: " "thevishy: " "Twey: " "Trivium: " "TheMoonMaster: " "TheCrittaC: " "TheBrayn: " "TallerGhostWalt: " "Takumo: ") :name "completion-at-point" :nomark t :initial-input "t " :buffer "*helm-mode-completion-at-point*" :fc-transformer (helm-cr-default-transformer #[514 "\300�\301\"\207" [sort helm-generic-sort-fn] 5 "\n\n(fn CANDIDATES SOURCE)"]) :exec-when-only-one t :quit-when-no-cand #[0 "\300\301\302\303#\210\304\207" [run-with-timer 0.01 nil #[0 "\300\301!\207" [message "[No matches]"] 2 "\n\n(fn)"] t] 4 "\n\n(fn)"] :must-match t)
  helm--completion-in-region(#<marker at 10029 in #emacs> #<marker at 10030 in #emacs> circe-completion-table nil)
  completion-in-region(#<marker at 10029 in #emacs> #<marker at 10030 in #emacs> circe-completion-table nil)
  completion-at-point()
  lui-next-button-or-complete()
  call-interactively(lui-next-button-or-complete nil nil)
  command-execute(lui-next-button-or-complete)
@tuhdo
Copy link
Contributor

tuhdo commented Oct 22, 2014

You mean, instead of another plain buffer open side by side and display a list of possible completions, you get a helm buffer with candidates inside, right? This is intended in Emacs 24.4.

@tuhdo
Copy link
Contributor

tuhdo commented Oct 22, 2014

In Helm Wiki, the behaviour is mentioned here.

@wasamasa
Copy link
Author

But isn't completion-at-point (or completion-at-point-function) rather intended for things like company-mode? And no, I should just get an inline cycling in Circe instead of the well-known buffer Emacs pops up when you for instance tab-complete in M-:, that's why I'm rather confused by this change.

@tuhdo
Copy link
Contributor

tuhdo commented Oct 22, 2014

Yes, packages are fighting for it. I solved this problem by explicitly assigned TAB to company-complete. In general, I prefer Helm over company when it comes to standard completion-at-point, you can scroll with PgUp/PgDown and is faster for large number of candidates.

@thierryvolpiatto
Copy link
Member

Vasilij Schneidermann [email protected] writes:

I've updated to Emacs 24.4, updated helm, too, and now face the
problem that hitting TAB in circe with helm-mode enabled catches the
completion-at-point function, so that instead of tabbing through the
candidates in-place I get helm offering me to choose them. This
behaviour wasn't present in 24.3.

Starting from emacs-24.4 emacs use `completion-in-region-function', the
circe code is redefining completion-in-region function, so it is
breaking the completion-in-region mechanism of emacs-24.4.

IOW I can do nothing for this, you should report to circe instead.

NOTE: To have the behavior of emacs-24.3 you can modify
the default value of helm-mode-handle-completion-in-region'. (You will loose helm completion incompleting-read-multiple' and
`completion-at-point')

Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997

@jorgenschaefer
Copy link

Hi, author of Circe here.

the circe code is redefining completion-in-region function

I am not aware of Circe redefining completion-in-region. What makes you think so?

The only place this is mentioned in Circe's source code is a backported minibuffer.el excerpt that Circe is not loading at all and is only provided for users experiencing problems, and @wasamasa is not loading it (I asked).

@thierryvolpiatto
Copy link
Member

Jorgen Schäfer [email protected] writes:

Hi, author of Circe here.

the circe code is redefining completion-in-region function

I am not aware of Circe redefining completion-in-region. What makes you think so?

I don't use personally circe nor irc more generally, I have just
downloaded and grepped your code and found a redefinition of completion
in region there (circe-fix-minibuffer.el)

The only place this is mentioned in Circe's source code is a
backported minibuffer.el excerpt that Circe is not loading at all and
is only provided for users experiencing problems, and @wasamasa is not
loading it (I asked).

So I have no idea what's happening here, and don't know how to
reproduce this for now.

Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997

@wasamasa
Copy link
Author

After going with a suggestion by @jorgenschaefer it seems as if both Circe and M-TAB in programming modes using completion-at-point-functions use exactly the same mechanism that is taken over exactly the same way by helm. Therefore it doesn't surprise me helm can't tell the one from the other apart (in its current state that is).

So, what can be done to fix this issue? Does Circe have to go for a non-standard way of implementing its inline nickname completion? Or can helm be extended to recognize exceptions for completion-at-point-functions?

edit: company sidesteps this issue by only enabling its completion-at-point-functions support selectively and itself only for selected major modes.

@thierryvolpiatto
Copy link
Member

Vasilij Schneidermann [email protected] writes:

After going with a suggestion by @jorgenschaefer it seems as if both
Circe and M-TAB in programming modes using
completion-at-point-functions use exactly the same mechanism that is
taken over exactly the same way by helm. Therefore it doesn't surprise
me helm can't tell the one from the other apart (in its current state
that is).

So, what can be done to fix this issue? Does Circe have to go for a
non-standard way of implementing its inline nickname completion? Or
can helm be extended to recognize exceptions for
completion-at-point-functions?

Sorry but I don't understand what is the issue here.
Do you have errors when you press TAB ?

If you don't want completion just set
`helm-mode-handle-completion-in-region' to nil.

Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997

@wasamasa
Copy link
Author

I want completion-at-point not to trigger helm for Circe, not disable it for everything.

@tuhdo
Copy link
Contributor

tuhdo commented Oct 24, 2014

I want completion-at-point not to trigger helm for Circe, not disable it for everything.

If you want to press TAB for inline completion without losing Helm for everything else, you could just bind TAB to company-complete in Circe mode. Is there a problem with this? I think Circe should have a hook or a keymap.

@wasamasa
Copy link
Author

I don't want company-complete either, just the vanilla behaviour Emacs provides for this one instance. Circe provides code to do inline completion, but helm interferes before it can do its job and I want to avoid that for this one instance.

@jorgenschaefer
Copy link

Can you set helm-mode-handle-completion-in-region buffer-locally?

@wasamasa
Copy link
Author

No, it's an option that only takes effect globally when set before enabling helm-mode. In other words, it's inherently global.

@tuhdo
Copy link
Contributor

tuhdo commented Oct 24, 2014

How about merge it with hippie-expand when enter Circe? So, you add completion-at-point using setq-local, so you can cycle with M-/ and get a list of candidates by TABBING with Helm.

@wasamasa
Copy link
Author

Look, you guys may or may not agree on my choices, but considering the only useful suggestions I got were either disabling helm-mode entirely or using a different completion system I concur helm-mode cannot be controlled as granularly as the competition (and recommended alternatives) and is a bug to fix in helm.

thierryvolpiatto pushed a commit that referenced this issue Oct 24, 2014
(helm-mode-no-completion-in-region-in-modes): New user var.
(helm--completion-in-region): Use it.
@thierryvolpiatto
Copy link
Member

Vasilij Schneidermann [email protected] writes:

I want completion-at-point not to trigger helm for Circe, not disable it for everything.

Ok, I understand now what you want.
From exp branch try:

(add-to-list 'helm-mode-no-completion-in-region-in-modes 'your-circe-mode)

Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997

@wasamasa
Copy link
Author

Thanks, works with the following snippet for me:

(setq helm-mode-no-completion-in-region-in-modes
      '(circe-channel-mode
        circe-query-mode
        circe-server-mode))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants