1

I am struggling to get Everything working with anything in Emacs 24.3.1 on Windows 7. Ultimately I want to use anything-locate to browse code directories and subdirectories, as recommended in answers to this question. I did once, briefly, seem to have anything-locate working but I changed something and cannot get it back.

When I enter M-x anything-locate (or, using helm, M-x helm-locate) I get a pattern: prompt but when I enter a search term I get an error message like this:

Locate
'es' is not recognized as an internal or external command,
operable program or batch file.

locate

I assume but do not know for sure that this is related to es.exe which is the command line version of Everything. In my init file I have this:

(add-to-list 'load-path "~/.emacs.d/.emacs.d/elpa/everything")
(setq everything-ffap-integration nil)
(setq everything-cmd "~/.emacs.d/.emacs.d/elpa/everything/es.exe")
(require 'everything)

...and I have edited everything.el so that the

(defcustom everything-cmd "c:/Programme/Everything/es.exe" "Path to es.exe."

line now reads:

(defcustom everything-cmd "~/.emacs.d/.emacs.d/elpa/everything/es.exe" "Path to es.exe."

(EDIT Please note that despite the "~/" convention used above, in reality the paths are fully qualified with c:/blah/blah/blah/.emacs.d/)

I expected this to allow Emacs to find es.exe. And yet it still throws the error message. Any thoughts on how to fix this?

Community
  • 1
  • 1
SlowLearner
  • 7,907
  • 11
  • 49
  • 80
  • Anything has been dead for a while now, you should really try its successor [Helm](https://github.com/emacs-helm/helm) instead. – Bozhidar Batsov Sep 17 '13 at 17:15
  • I can't see an easy way to install `Helm` except from Git. `Anything` is bad enough... – SlowLearner Sep 17 '13 at 19:09
  • Helm has packages in Marmalade & MELPA. It also has an el-get recipe. Installations don't get much easier than that :-) – Bozhidar Batsov Sep 17 '13 at 21:14
  • Unfortunately I have had packages fail on me multiple times - look at R if you want to see a package system that works. However, I tried again today and managed to install helm where previously it barfed. However, using `M-x helm-locate` gives me the same error message ('es' not recognised) as with `anything`. – SlowLearner Sep 17 '13 at 21:25
  • Is the path to es.exe correct? Using Helm I have `(setq everything-cmd "C:/Program Files/Everything/es.exe")` in my init file and then setting the arguments `(setq helm-c-locate-command "es %s -r %s")`. – Otto Pichlhoefer Sep 18 '13 at 15:25
  • Thanks Otto, still no luck. Is the everything directory in your PATH environmental variable...? – SlowLearner Sep 18 '13 at 16:55

2 Answers2

1

I know this is old, but I found this question when I ran into the same problem with helm, so it might be useful. The problem was a conflict between how emacs specifies PATH, and how windows does it (similar to juanleon's suggestion). The solution was to remove all forms that modified the path in emacs, and instead just add es.exe to the windows path. es.exe is an extra download at the bottom of the voidtools download page, below the old versions, took me a while to find.

godan
  • 11
  • 1
0

It is possible that windows shell (whatever it is) does not know how to expand "~/" (even if emacs does understand it).

A very quick test would be to copy the es.exe in "c:\es.exe" and then repeat the test with the proper change in the configuration of everything-cmd; if it works then just use the whole path.

juanleon
  • 9,220
  • 30
  • 41
  • A reasonable supposition, but actually the paths are fully qualified - I just used the "~/" convention to preserve some privacy as the pathnames are quite informative. – SlowLearner Sep 17 '13 at 19:10
  • By looking at anything.el code I can infer that the file exists in the path you have configured (error message would be different if not). However, the file is not found by the "command launcher". Maybe there is a quoting problem (spaces in a directory, for example). – juanleon Sep 18 '13 at 08:12