I have a bunch of packages installed.
One of them is adding ~/.emacs.d
to my load-path
, which Emacs is (unsurprisingly) complaining about.
I could be incorrect here, but:
Attempting to bisect my set of packages is a slow work, because I'd have to uninstall all my packages, and then re-install only half of them, which means downloading, and a lot of fairly manual work.
Is there an easier way to determine which package is setting the value of load-path
?
Extra information:
- This doesn't happen when loading emacs with
-Q
. - I've not changed my config between it working and breaking, only upgrade packages
This doesn't happen if I runI confused my flags here.emacs
without a site-file (--no-site-file
), regardless of whether I add--no-site-lisp
- This doesn't happen if run
emacs
with--no-init-file
.site-file
/site-lisp
have no effect - GNU Emacs 24.4.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8) of 2015-03-31
Bug Hunter
tells me thatpackage-initialise
is to blamegrep -aR "'load-path" ~/.emac.d/elpa --include '*el' | egrep -v ':[[:space:]]*;+' | fgrep -v "(add-to-list 'load-path (or (file-name-directory #$) (car load-path)))"
gives no results- Removing all my
.elc
files in~/.emacs.d/elpa
appeared to fix this problem, although it's not a great solution. I'm not going to submit & accept because I've no idea how works or whether it's really a fix. This is easily done withfind ~/.emacs.d/elpa -name '*.elc' -delete
~/.emacs.d/elpa/
sub-directories to theload-path
. Could you at least confirm to us that it's not your init file (or any other start-up library), by commenting out all of its contents and then runningemacs --no-site-file --no-site-lisp
and checking the value ofload-path
? (Offhand I'm not sure whether usingemacs -q
inhibits elpa packages or not.) – phils May 5 '15 at 11:38elpa
directory should help), and what parts of your init-file you recently changed. If you are using a version control system to keep track of changes to your config, this is trivial -- all you need to do is have a look at the most recent commits. – itsjeyd May 5 '15 at 13:27load-path
without the quote, there are plenty of ways to modify a variable without quoting the name. (2) If that doesn't work, also try grepping theelc
files. Grep will think they're binary files, but it'll still tell you which ones match. (3) In case you end up having to check packages one-by-one: I grepped my elpa and bothpython-mode
andw3m
made suspicious use of the load-path. I'm not saying they're wrong, I'm just saying I would start with them. – Malabarba May 15 '15 at 12:33