+2004-11-12 Paul D. Smith <psmith@gnu.org>
+
+ * job.c (child_execute_job) [VMS]: Don't treat "#" as a comment on
+ the command line if it's inside a string.
+ Patch by: Hartmut Becker <Hartmut.Becker@hp.com>
+
2004-10-21 Boris Kolpackov <boris@kolpackov.net>
* function.c (func_lastword): New function: return last word
idea behind Savannah Patch #3144 from david.baird@homemail.com.
If SHELL is set to CMD.EXE then assume it's batch-mode and
non-unixy. I wrote the code differently from the patch, though,
- to make it safer.
+ to make it safer. This also resolves bug #9174.
2004-09-20 Paul D. Smith <psmith@gnu.org>
char ifile[256], ofile[256], efile[256];
char *comname = 0;
char procname[100];
+ int in_string;
/* Parse IO redirection. */
pnamedsc.dsc$b_dtype = DSC$K_DTYPE_T;
pnamedsc.dsc$b_class = DSC$K_CLASS_S;
+ in_string = 0;
/* Handle comments and redirection. */
for (p = argv, q = cmd; *p; p++, q++)
{
+ if (*p == '"')
+ in_string = !in_string;
+ if (in_string)
+ {
+ *q = *p;
+ continue;
+ }
switch (*p)
{
case '#':
}
}
*q = *p;
+ while (isspace ((unsigned char)*--q))
+ *q = '\0';
if (strncmp (cmd, "builtin_", 8) == 0)
{