emacs-helm / helm-descbinds

A helm frontend for describe-bindings.
GNU General Public License v3.0
116 stars 12 forks source link

helm-descbinds-action:describe: Wrong type argument: symbolp, "ignore-event" #27

Closed achinhorn closed 5 years ago

achinhorn commented 5 years ago

Expected behavior

Useful help documentation should appear for commands at point when I use C-j or have C-c f enabled in a helm-descbinds window.

Actual behavior, from emacs-helm.sh if possible

C-j or C-c f and scroll around, helm documentation is not shown and I get the error helm-descbinds-action:describe: Wrong type argument: symbolp, "ignore-event"

Your issue template advises use of emacs-helm.sh. How do I use that with helm-descbinds? I tried and it doesn't load helm-descbinds...

Steps to reproduce

  1. Start emacs with helm + helm-descbinds installed via melpa.
  2. C-h b or C-h w, frame on default splash screen.
  3. Scroll down to <iconify-frame> or <make-frame-visible> which reference ignore-event, a command you might not understand and want to know more about.
  4. Press C-j (or scroll onto with C-c f helm-follow-mode enabled) to learn something about it, but instead get this error.

Not sure if important:

  1. C-h b ignore-event returns 2 hits.
  2. C-x c a ignore-events returns while-no-input-ignore-events var. It's value is (focus-in focus-out help-echo iconify-frame make-frame-visible selection-request). Not sure if this matters, but it looks ~~related. There is not explicit reference to ignore-events that I can find.

It appears iconify-frame and make-frame-visible are potentially menu (?) items referencing a non-existent function which aren't actually bound to any keys. (I have default gui menu, aka the top "toolbar", disabled)... So ultimately, all this work maybe just for what was an error message I didn't understand on a function I can't find...? Not sure what's going on here.

Backtraces (M-x toggle-debug-on-error)

WARNING: long lines. ~100k char line which seem to post my entire alist of keybinds. It is navigable for me but sluggish. helm-descbinds-debug.txt

Describe versions of Helm, Emacs, operating system, etc.

Side-note: Never posted on github before and want to say thanks for a super useful adoption/discovery package! I nearly stopped using the awesome helm-apropos since installing helm-descbinds. Most of what I need is help learning Major-mode specifics including bindings and usage docs--helm-descbinds is the one!

thierryvolpiatto commented 5 years ago

achinhorn notifications@github.com writes:

Expected behavior

Useful help documentation appears for commands at point when I use C-j or have C-c f enabled in a helm-descbinds window.

Actual behavior, from emacs-helm.sh if possible

C-j or C-c f` and scroll around, helm documentation is shown.

Your issue template advises use of emacs-helm.sh. How do I use that with helm-descbinds? I tried and it doesn't load helm-descbinds...

Yes, as helm-descbinds is not part of helm, it is not loaded, you have to load it manually (from helm-find-files, hit M-L).

Steps to reproduce

  1. Start emacs with helm + helm-descbinds installed via melpa.
  2. C-h b or C-h w on default splash screen. 3. Type "frame" and scroll down to or which reference ignore-event, a command you might not understand and want to know more about. 4. Press C-j (or scroll onto with C-c f helm-follow-mode enabled) to learn something about it, but instead get this error.

Thanks for the recipe, indeed the two entries with ignore event are treated specially by emacs (they are bound to ignore) see (info "(elisp) Misc Events") for more infos. I have fixed as well the default action (RET) on such entries, which send now a message explaining partially this. And also now helm-descbinds describe ignore function which is better than nothing.

Not sure if important: 5. C-h b ignore-event returns 2 hits. 6. C-x c a ignore-events returns while-no-input-ignore-events var. It's value is (focus-in focus-out help-echo iconify-frame make-frame-visible selection-request). Not sure if this matters, but it looks ~~related. There is not explicit reference to ignore-events that I can find.

Only iconify-frame and make-frame-visible are concerned AFAICS.

It appears iconify-frame and make-frame-visible are potentially menu (?) items referencing a non-existent function which aren't actually bound to any keys. (I have gui menu disabled)... So ultimately, all this work maybe just for what was an error message I didn't understand on a function I can't find...? Not sure what's going on here.

The info entry above explain this.

Thanks for your report.

-- Thierry

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

achinhorn commented 5 years ago

Hi, thanks so much for your response. Not accustomed to git'ting, apologies on delay.

Hits for iconify-frame return docstrings now, which is better but still somewhat confusing since I expect a matching name & function. I'll need to look into your provided info page. Thanks.

I thought I ran into a bug on your fix but looks like a separate issue, can you verify:

When I hit C-h b ignore and scroll to vc-ignore, nothing pops up on C-j. After some looking, I realized the library wasn't loaded, which fixed it after I loaded it. (I don't remember this ever being an issue)

PS ~Calling emacs-helm.sh, M-L on helm-find-files returns no such action 'helm-find-files-load-files' for this source. Same error when calling from regular config.~ Just kidding, I have to find the specific .el file before hitting it.

thierryvolpiatto commented 5 years ago

achinhorn notifications@github.com writes:

When I hit C-h b ignore and scroll to vc-ignore, nothing pops up on C-j. After some looking, I realized the library wasn't loaded, which fixed it after I loaded it. (I don't remember this ever being an issue)

Yes this is expected, the library needs to be loaded.

PS Calling emacs-helm.sh, M-L on helm-find-files returns no such action 'helm-find-files-load-files' for this source.

Because this action (helm-find-files-load-files') will appear only on .el or .elc files, I guess you called M-L on a non elisp file. Have a look at the action menu with selection on a *.el file and on any other file (non elisp), you will see the action present only with elisp files as selection. So no bug here, it is expected.

OTH.

-- Thierry

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

achinhorn commented 5 years ago

Roger--closing & thanks again