Skip to content
Thierry Volpiatto edited this page Jun 3, 2016 · 47 revisions

Frequently Asked Questions (FAQ).

Where is Helm documentation?

Hit “C-h m” within a Helm session, or use the “helm-documentation” command.

A tip to hit C-h m within a Helm session can be found on the mode line. All help pages are grouped in a Org file generated by the command helm-documentation.

Why does MELPA update give errors?

You should not encounter this problem anymore.

Helm, when installed from (M)ELPA, specifies a dependency on emacs-async, which should resolve this problem. If it does happen, however, do the following:

  1. Uninstall helm and async with package-list-packages.
  2. Close Emacs
  3. Start emacs -Q.
  4. Reinstall helm from package-list-packages.
  5. Restart Emacs

If problem persists, report an issue.

Notes

  • After upgrading (helm or whatever), you will have to restart emacs (expect problems otherwise).
  • emacs-async is available as async in MELPA.
  • Async compilation of packages can be disabled per package or globally in async-bytecomp.el. If you do so, don’t complain if you have errors after upgrading Helm or Helm modules.

Why is calling helm-M-x with a prefix argument giving an error?

Use prefix args after starting helm-M-x, not before.

Read the Helm documentation (helm-documentation, bound by default to <helm-prefix> h h).

Also see Uncyclo page for helm-M-x.

How do I get Helm and Popwin to play nice?

See the wiki page on working with Popwin.

What happened to the grep and multi-occur commands?

They have been removed due to redundancy.

The grep (helm-do-grep, helm-do-zgrep, helm-do-pdfgrep) and multi-occur (helm-multi-occur) commands got removed because they were unuseful as you can use them from helm-find-files and file-related commands (e.g. helm-locate). So now if you want to run helm grep, start helm-find-files, choose you files and hit C-s. The only difference now is that you hit C-s instead of RET. Not the end of the world!

Why can’t I exit completing-read with an empty string?

Hit C-RET or M-RET.

This can be seen in the mode line.

Why am I getting warnings when compiling with emacs-24.3.1?

Don’t be afraid, just ignore them ;-).

Helm has no warnings when compiling with emacs-24.4 or later. When compiling with 24.3, you may have many warnings (due to bugs in Emacs itself related to lexical binding and EIEIO).

Why is function-put void?

Reinstall Helm.

This is due to a bad installation of Helm (see here).

Why is a customizable Helm source nil?

If the source is nil, it is probably set up when command starts, and may be defined using helm-make-source with a specialized class.

If the source is defined with a specialized class (not a generic class like helm-source-sync, helm-source-async, helm-source-in-buffer, helm-source-dummy, etc.), you can add a new defmethod in your init file like:

(defmethod helm-setup-user-source ((source helm-source-ffiles))
  (helm-source-add-action-to-source-if
   "Byte compile file(s) async"
   'async-byte-compile-file
   source
   'helm-ff-candidates-lisp-p))

or

(defmethod helm-setup-user-source ((source helm-source-multi-occur))
  (oset source :follow 1))

You can also set up the source yourself:

(with-eval-after-load "helm-regexp.el"
  (setq helm-source-occur (helm-make-source "Occur" 'helm-source-multi-occur))
  (setq helm-source-moccur (helm-make-source "Moccur" 'helm-source-multi-occur)))

Notes

  • Don’t define a new defmethod helm-setup-user-source with generic classes as specified above.

Why did the debugger enter Lisp error (void-variable \.\.\.) when using session.el?

May be due to using session.el.

See here for how to fix this.

Why helm-mode is so long to startup?

See Issue 1000.

Clone this wiki locally