Hello, the following change introduced a problem when forking inferiors when the path to the executable contains '!' characters. This only occurs with sh-like shells, like zsh/bash/ksh. I have reproduced this on Linux and HP/UX. * fork-inferior.c (fork_inferior): Add '!' to the list of characters that need to be quoted when building a string for the shell. Quote '!' specifically with a backslash, since CSH chokes when trying to evaluate "str!str". Witness: (gdb) run Starting program: /home/brobecke/tmp/GEO_ENV!9.159/foo zsh: no such file or directory: /home/brobecke/tmp/GEO_ENV\!9.159/foo Program exited with code 01. You can't do that without a process to debug. As far as I can tell from the comments in fork_inferior and my own experiments, the bang should be escaped only for C shells. To reflect this, I have made the following change to fork-child.c. 2002-05-02 J. Brobecker * fork-child.c (escape_bang_in_quoted_argument): New function. (fork_inferior): Escape '!' characters in quoted arguments only when needed. Tested on HP/UX, with SHELL set to ZSH. No regression. Also tested by verifying that it does fix the problem without breaking csh. Ok to apply? Some better suggestions, maybe? Thanks, -- Joel