all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* apply start-process fails because of invalid current directory
@ 2013-07-31  7:46 Pascal Quesseveur
  2013-07-31 10:38 ` Juanma Barranquero
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Pascal Quesseveur @ 2013-07-31  7:46 UTC (permalink / raw
  To: help-gnu-emacs

Hello,

From time to time i encounter problems with commands running
start-process for ex. eimp-start-process. Trace follows:

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (file-error "Setting current directory"
  "no such file or directory" "y:/")
   start-process("eimp-5468Kgf" nil "mogrify" "-resize" "66%"
   "c:/Users/pascalq/AppData/Local/Temp/eimp-5468x-x")
  apply(start-process "eimp-5468Kgf" nil "mogrify" ("-resize" "66%"
  "c:/Users/pascalq/AppData/Local/Temp/eimp-5468x-x"))
...
--8<---------------cut here---------------end--------------->8---


Problem occurs on Windows. Directory y:/ was a removable device
which is no more connected. I have read/written to that directory
before calling start-process. When I connect the device again
start-process runs fine. I have looked through apropos-value for y:/
but I don't see anything valuable.


-- 
Pascal Quesseveur
pascal.quesseveur@free.fr


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31  7:46 apply start-process fails because of invalid current directory Pascal Quesseveur
@ 2013-07-31 10:38 ` Juanma Barranquero
  2013-07-31 12:37   ` Pascal Quesseveur
  2013-07-31 13:05 ` Pascal Quesseveur
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Juanma Barranquero @ 2013-07-31 10:38 UTC (permalink / raw
  To: pascal.quesseveur; +Cc: Emacs Help List

On Wed, Jul 31, 2013 at 9:46 AM, Pascal Quesseveur
<pascal.quesseveur@free.fr> wrote:

> Directory y:/ was a removable device
> which is no more connected.

Then the behavior doesn't seem surprising, though it is hard to say
without a recipe to reproduce it.

Which sequence of commands are you running, and what did you expect to
happen instead?

   J



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31 10:38 ` Juanma Barranquero
@ 2013-07-31 12:37   ` Pascal Quesseveur
  2013-07-31 14:10     ` Juanma Barranquero
  0 siblings, 1 reply; 12+ messages in thread
From: Pascal Quesseveur @ 2013-07-31 12:37 UTC (permalink / raw
  To: Juanma Barranquero; +Cc: Emacs Help List

>"JB" == Juanma Barranquero <lekktu@gmail.com> a écrit :

  JB> Then the behavior doesn't seem surprising, though it is hard to say
  JB> without a recipe to reproduce it.

I should have detailed more:

  - I plug the device
  - I do some things with files on the device
  - I unplug the device
  - Then I work in a buffer which has nothing to do with the device (gnus)
  - I call a command from eimp-mode
  - The command fails

  JB> Which sequence of commands are you running,

I am unable to tell exactly what I did with device (basically open
files with find-file, update and save) and I am unable to reproduce
the problem but it is not the first time I see it.


-- 
Pascal Quesseveur
pascal.quesseveur@free.fr



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31  7:46 apply start-process fails because of invalid current directory Pascal Quesseveur
  2013-07-31 10:38 ` Juanma Barranquero
@ 2013-07-31 13:05 ` Pascal Quesseveur
  2013-07-31 14:42   ` Juanma Barranquero
  2013-07-31 14:47 ` Stefan Monnier
       [not found] ` <mailman.2237.1375282221.12400.help-gnu-emacs@gnu.org>
  3 siblings, 1 reply; 12+ messages in thread
From: Pascal Quesseveur @ 2013-07-31 13:05 UTC (permalink / raw
  To: help-gnu-emacs

I have looked in the code and the message is sent after a call to
Ffile_acessible_directory_p. The problem seems coming from the fact
there is no file associated with the current-buffer (it is a gnus
article). When the directory is unreachable the code says it uses a
sensible default which is ~/. For some reason it is not working for me
in some situations.


-- 
Pascal Quesseveur
pascal.quesseveur@free.fr


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31 12:37   ` Pascal Quesseveur
@ 2013-07-31 14:10     ` Juanma Barranquero
  0 siblings, 0 replies; 12+ messages in thread
From: Juanma Barranquero @ 2013-07-31 14:10 UTC (permalink / raw
  To: pascal.quesseveur; +Cc: Emacs Help List

On Wed, Jul 31, 2013 at 2:37 PM, Pascal Quesseveur
<pascal.quesseveur@free.fr> wrote:

> I should have detailed more:
>
>   - I plug the device
>   - I do some things with files on the device
>   - I unplug the device
>   - Then I work in a buffer which has nothing to do with the device (gnus)
>   - I call a command from eimp-mode
>   - The command fails

That's weird. You're not starting Emacs from y:\, or you'll  get a
warning (from Windows) when trying to unplug the device.

> I am unable to tell exactly what I did with device (basically open
> files with find-file, update and save) and I am unable to reproduce
> the problem but it is not the first time I see it.

Well, if you come with a reproducible recipe please file a bug report.

    J



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31 13:05 ` Pascal Quesseveur
@ 2013-07-31 14:42   ` Juanma Barranquero
  2013-07-31 15:18     ` Pascal Quesseveur
  0 siblings, 1 reply; 12+ messages in thread
From: Juanma Barranquero @ 2013-07-31 14:42 UTC (permalink / raw
  To: pascal.quesseveur; +Cc: Emacs Help List

On Wed, Jul 31, 2013 at 3:05 PM, Pascal Quesseveur
<pascal.quesseveur@free.fr> wrote:

> When the directory is unreachable the code says it uses a
> sensible default which is ~/.

You mean, the code that calls file-accesible-directory-p. Where is
that code? Which package?

   J



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31  7:46 apply start-process fails because of invalid current directory Pascal Quesseveur
  2013-07-31 10:38 ` Juanma Barranquero
  2013-07-31 13:05 ` Pascal Quesseveur
@ 2013-07-31 14:47 ` Stefan Monnier
       [not found] ` <mailman.2237.1375282221.12400.help-gnu-emacs@gnu.org>
  3 siblings, 0 replies; 12+ messages in thread
From: Stefan Monnier @ 2013-07-31 14:47 UTC (permalink / raw
  To: help-gnu-emacs

> From time to time i encounter problems with commands running
> start-process for ex. eimp-start-process. Trace follows:

> --8<---------------cut here---------------start------------->8---
> Debugger entered--Lisp error: (file-error "Setting current directory"
>   "no such file or directory" "y:/")

That's a common problem: start-process runs an external process and for
that it needs to decide what the "current working directory" of that
process should be.  Elisp says that this should be the directory
specified by `default-directory'.

If your process doesn't use the current directory, then the Elisp code
that runs it should explicitly rebind `default-directory' to some "safe"
choice (e.g. (expand-file-name "~/")) around the call to start-process.


        Stefan




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31 14:42   ` Juanma Barranquero
@ 2013-07-31 15:18     ` Pascal Quesseveur
  2013-07-31 15:21       ` Juanma Barranquero
  0 siblings, 1 reply; 12+ messages in thread
From: Pascal Quesseveur @ 2013-07-31 15:18 UTC (permalink / raw
  To: Juanma Barranquero; +Cc: Emacs Help List

>"JB" == Juanma Barranquero <lekktu@gmail.com> writes:

  JB> You mean, the code that calls file-accesible-directory-p. Where is
  JB> that code? Which package?

  The C source code. start-process is a built-in function.


-- 
Pascal Quesseveur
pascal.quesseveur@free.fr



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31 15:18     ` Pascal Quesseveur
@ 2013-07-31 15:21       ` Juanma Barranquero
  0 siblings, 0 replies; 12+ messages in thread
From: Juanma Barranquero @ 2013-07-31 15:21 UTC (permalink / raw
  To: pascal.quesseveur; +Cc: Emacs Help List

On Wed, Jul 31, 2013 at 5:18 PM, Pascal Quesseveur
<pascal.quesseveur@free.fr> wrote:

>   The C source code. start-process is a built-in function.

OK. Anyway, Stefan already answered. Seems a bug in the code that
calls start-process.

  J



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
       [not found] ` <mailman.2237.1375282221.12400.help-gnu-emacs@gnu.org>
@ 2013-07-31 15:25   ` Pascal Quesseveur
  2013-07-31 18:19     ` Stefan Monnier
       [not found]     ` <mailman.2253.1375306429.12400.help-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 12+ messages in thread
From: Pascal Quesseveur @ 2013-07-31 15:25 UTC (permalink / raw
  To: help-gnu-emacs

>"SM" == Stefan Monnier <monnier@iro.umontreal.ca> writes:

  SM> That's a common problem: start-process runs an external process
  SM> and for that it needs to decide what the "current working
  SM> directory" of that process should be.  Elisp says that this
  SM> should be the directory specified by `default-directory'.

When problem occured I looked at default-directory and if I'm not
mistaken it was not set to y:/

  SM> If your process doesn't use the current directory, then the
  SM> Elisp code that runs it should explicitly rebind
  SM> `default-directory' to some "safe" choice
  SM> (e.g. (expand-file-name "~/")) around the call to start-process.

Is that not what is supposed to do start-process?


-- 
Pascal Quesseveur
pascal.quesseveur@free.fr


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
  2013-07-31 15:25   ` Pascal Quesseveur
@ 2013-07-31 18:19     ` Stefan Monnier
       [not found]     ` <mailman.2253.1375306429.12400.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 12+ messages in thread
From: Stefan Monnier @ 2013-07-31 18:19 UTC (permalink / raw
  To: help-gnu-emacs

> When problem occured I looked at default-directory and if I'm not
> mistaken it was not set to y:/

Maybe you looked in a different buffer: each buffer has its own notion
of default-directory.

SM> If your process doesn't use the current directory, then the
SM> Elisp code that runs it should explicitly rebind
SM> `default-directory' to some "safe" choice
SM> (e.g. (expand-file-name "~/")) around the call to start-process.

> Is that not what is supposed to do start-process?

It could, but that would be risky, if you do (start-process "rm -rf
foo") and Emacs decides "oh I can't find the current directory, let's
run this from $HOME instead".
So you have to do it by hand, explicitly.


        Stefan




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: apply start-process fails because of invalid current directory
       [not found]     ` <mailman.2253.1375306429.12400.help-gnu-emacs@gnu.org>
@ 2013-08-01  6:22       ` Pascal Quesseveur
  0 siblings, 0 replies; 12+ messages in thread
From: Pascal Quesseveur @ 2013-08-01  6:22 UTC (permalink / raw
  To: help-gnu-emacs

>"SM" == Stefan Monnier <monnier@iro.umontreal.ca> writes:

  SM> Maybe you looked in a different buffer: each buffer has its own notion
  SM> of default-directory.

  SM> It could, but that would be risky, if you do (start-process "rm -rf
  SM> foo") and Emacs decides "oh I can't find the current directory, let's
  SM> run this from $HOME instead".
  SM> So you have to do it by hand, explicitly.

Thank you for all these explanations.


-- 
Pascal Quesseveur
pascal.quesseveur@free.fr


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-08-01  6:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-31  7:46 apply start-process fails because of invalid current directory Pascal Quesseveur
2013-07-31 10:38 ` Juanma Barranquero
2013-07-31 12:37   ` Pascal Quesseveur
2013-07-31 14:10     ` Juanma Barranquero
2013-07-31 13:05 ` Pascal Quesseveur
2013-07-31 14:42   ` Juanma Barranquero
2013-07-31 15:18     ` Pascal Quesseveur
2013-07-31 15:21       ` Juanma Barranquero
2013-07-31 14:47 ` Stefan Monnier
     [not found] ` <mailman.2237.1375282221.12400.help-gnu-emacs@gnu.org>
2013-07-31 15:25   ` Pascal Quesseveur
2013-07-31 18:19     ` Stefan Monnier
     [not found]     ` <mailman.2253.1375306429.12400.help-gnu-emacs@gnu.org>
2013-08-01  6:22       ` Pascal Quesseveur

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.