jwiegley / emacs-async

Simple library for asynchronous processing in Emacs
GNU General Public License v3.0
838 stars 68 forks source link

Can't copy and rename on Windows. #12

Closed myuhe closed 10 years ago

myuhe commented 11 years ago

On dired-async and helm-async, copy and rename don't work correctly. when copy an rename on dired using dired-async and helm-async, shows " copy/rename proceeding asynchronously..." on minibuffer.

But, It don't call callback, and files can't copy and rename.

This problem occur on Windows. On Linux, it works correctly.

thierryvolpiatto commented 11 years ago

Hi Myuhe,

I just tested now and it is working fine from helm.

1) be sure your emacs exe is in your PATH env var.

2) Load ONLY helm-async.el and NOT dired-async.el:

(when (require 'dired-aux)
  (require 'helm-async))

Should be enough to load package.

myuhe commented 11 years ago

I checked PATH, and loaded ONLY helm-async.el too. But don't fix it.

thierryvolpiatto commented 11 years ago

Yuhei Maeda notifications@github.com writes:

I checked PATH, and loaded ONLY helm-async.el too. But don't fix it. Hmm! still can't reproduce, works fine in WindowsXP.

I also tried starting from a dired buffer and hitting "C" which I usually don't do (I never use dired) and it worked fine too (In this case it use find-file+helm-mode)

From helm-find-files no problem too.

I think you still have a problem with emacs in path env which is not found by start-process, or autorisation problem (Windows7 ?), the point is your child emacs is never started, it is not a lisp problem.

When it is hanging try to see if you have a second emacs process running.

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997

myuhe commented 11 years ago

I tested this code. environment is Windows7 and Emacs 24.2.1.

(async-start
       (lambda ()
         (message "This is a test")
         (sleep-for 3)
         222)
       (lambda (result)
         (message "Async process done, result should be 222: %s"
                  result)))

In this code, child process boots fine.

But, copy and rename with helm-async can't boots child process.

thierryvolpiatto commented 11 years ago

Are you sure the definition of dired-create-file is not overwritten by something else ? Try to eval manually the definition of dired-create-file that is in helm-async.el with C-M x, or reload the file and try again (Also be sure to kill all running emacs in background).

myuhe commented 11 years ago

eval manually dired-create-file in helm-async.el, But don't fix...

thierryvolpiatto commented 11 years ago

So I don't know... I will try to setup a Windows7 machine in virtualbox as soon as possible and try to use helm-async.el there to see if I can reproduce.

thierryvolpiatto commented 11 years ago

It worked on Windows7 on some directories and fail in other ones with "file-error"'s, where it is working in WindowsXP in directories with similar names, so it is really something specific to Windows7, but my knowledge on this system is limited. Try to set helm-async-log-file to something that exists on Windows (e.g "~/.emacs.d/helm-async.log") to have errors logged. Thanks.

thierryvolpiatto commented 10 years ago

As helm-async doesn't exists anymore, I close this, feel free to reopen after trying the new dired-async.el