-
-
Notifications
You must be signed in to change notification settings - Fork 393
- Errors with helm-adaptive-mode
- Errors when running make
- Where is Helm documentation?
- Why does MELPA update give errors?
- Why is calling
helm-M-x
with a prefix argument giving an error? - How do I get Helm and Popwin to play nice?
- What happened to the
grep
andmulti-occur
commands? - Why can’t I exit
completing-read
with an empty string? - Why am I getting warnings when compiling with emacs-24.3.1?
- Why is
function-put
void? - Why is a customizable Helm source
nil
? - Why did the debugger enter Lisp error when using session.el?
- Why helm-mode is so long to startup?
- helm-mode conflict with ido-everywhere
- Why after enabling helm-mode
M-x
andC-x C-f
are not helmized? - Can you modify the emacs vanilla helmized command to behave differently?
Probably your `helm-adaptive-history-file` is corrupted reset it with M-x helm-reset-adaptive-history.
See Issue #1764 for more infos.
When installing Helm from sources you may have such error when compiling with make:
helm.el:32:1:Error: Cannot open load file: aucun fichier ou dossier de ce type, async
If you have such error, that’s mean emacs-async package is not
installed, or it is installed but not in a standard place and helm
can’t find it, so you have to specify where to find it with
EMACSLOADPATH
environment variable. Specify it on the command line
like this:
EMACSLOADPATH="/path/to/emacs-async:" make
Or even better install emacs-async from sources with make
and make install
or from (M)ELPA.
See Installation for more details.
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
.
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:
- Uninstall
helm
andasync
withpackage-list-packages
. - Close Emacs
- Start
emacs -Q
. - Reinstall
helm
frompackage-list-packages
. - Restart Emacs
If problem persists, report an issue.
- 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.
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 Wiki page for helm-M-x
.
Update: After Helm v1.9.8, using a prefix argument before helm-M-x
is possible. See https://github.com/emacs-helm/helm/wiki/Commands
See the wiki page on working with Popwin.
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!
Hit C-RET or M-RET.
This can be seen in the mode line.
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).
Reinstall Helm.
This is due to a bad installation of Helm (see here).
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))
(setf (slot-value 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
:follow 1))
(setq helm-source-moccur (helm-make-source "Moccur" 'helm-source-multi-occur
:follow 1)))
NOTE: In these examples the follow
slot is used, but note that
starting from helm-2.1.0 to setup follow persistently, the only thing
you have to do is
(setq helm-follow-mode-persistent t)
and when you hit C-c C-f
in any source helm-follow-mode will be
turned on now and for next emacs sessions until you hit again C-c C-f
.
- Don’t define a new
defmethod
helm-setup-user-source
with generic classes as specified above.
You may endup with Lisp error (void-variable \.\.\.)
May be due to using session.el.
See here for how to fix this.
See Issue 1000.
Don’t use ido-everywhere
but only helm-mode
and customize which
commands you want to use ido with variable
helm-completing-read-handlers-alist
See Here
Commands execute-extended-command
and find-file
bound respectively
to M-x
and C-x C-f
have been disabled to force people using the
real things that are helm-M-x
and helm-find-files
, the only thing
you have to do to use these commands is to bound them respectively to
M-x
and C-x C-f
.
If you really want to have back the helmized commands (less powerfull
and slower for M-x
), remove them from helm-completing-read-handlers-alist
.
No, helm uses a generic function for helmizing emacs vanilla commands and should behave exactly like them except for the completion model. When available use instead its native helm counterpart.