New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

using ivy as projectile completion systems breaks ivy #779

Closed
CSRaghunandan opened this Issue Nov 16, 2016 · 5 comments

Comments

Projects
None yet
4 participants
@CSRaghunandan

CSRaghunandan commented Nov 16, 2016

This took me hours to figure out what was causing this bug :( ivy was working fine with projectile till yesterday. That's when things started acting really weird and buggy. I notice 2 really bad problems so far :

  • find-file is broken. emacs opens the wrong directory when I execute find-file on a file (this problem whens I've at least 2 projectile projects open).
  • projectile mixes up files from different projects as it's own. Here is an example :

screen shot 2016-11-16 at 9 05 19 pm

When I execute projectile-switch-to-buffer the 4-length.hs file belong to a completely different project, yet it's identified as being part of arcade-rs project.

I'm not sure what's wrong with my emacs config that's causing ivy to break like this :( I tried tinkering with ivy and projectile config files, but I was unable to find what's causing this problem. I suspect some dependent package got updated which broke my config??

Link to config files :

I'm running emacs 25.1.1 on mac osx el capitan.

@abo-abo

This comment has been minimized.

Owner

abo-abo commented Nov 16, 2016

I haven't had any problems, and I can't guess the cause of the error.

If you want help, you'll need to provide a recipe to reproduce this with emacs -Q and:

  1. Relevant elisp setup.
  2. Relevant files for projects.
  3. List of key sequences to reproduce the bug.
@swarnendubiswas

This comment has been minimized.

swarnendubiswas commented Nov 16, 2016

I have the same issue with find-file after the recent update, I will see if I can provide a recipe. But maybe it is other projects which are breaking ivy.

@CSRaghunandan

This comment has been minimized.

CSRaghunandan commented Nov 17, 2016

@abo-abo Sorry for the late replies. Here's how I reproduced the problem in emacs -q :

  • evaluate (package-initialize)
  • enable projectile -> enable ivy -> enable counsel
  • evaluate (setq projectile-completion-system 'ivy)
  • open at least 2 files from any two(or more) projectile projects
  • use projectile-switch-project to switch from one project to another
  • run projectile-switch-to-buffer (sometimes find-file opens wrong directory, and other times it works correctly. There is no surefire way of reproducing the bug. It depends on your project) and watch out for files that don't belong in the project.

@swarnendubiswas Can you check if you encounter any problems by following the steps I wrote above?

@swarnendubiswas

This comment has been minimized.

swarnendubiswas commented Nov 18, 2016

@CSRaghunandan It worked during my test, no problems.

I also tried to narrow down the source, but it seems a bit non-deterministic.

@kaushalmodi

This comment has been minimized.

Contributor

kaushalmodi commented Nov 18, 2016

Found the culprit commit!

2237916#commitcomment-19874210

kaushalmodi referenced this issue Nov 18, 2016

ivy.el (ivy-call): setq default-directory instead of let
Fixes #760

May cause a regression w.r.t. file-based commands.
Nothing strange observed so far.

@abo-abo abo-abo closed this in 576a1e3 Nov 18, 2016

abo-abo added a commit that referenced this issue Nov 29, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment