- gflag = 0, rscan(t->t_dcom, Dtest);
- if (gflag == 0)
- return;
- Dfix2(t->t_dcom);
- blkfree(t->t_dcom), t->t_dcom = gargv, gargv = 0;
+ /* Note that t_dcom isn't trimmed thus !...:q's aren't lost */
+ for (pp = t->t_dcom; p = *pp++;)
+ while (*p)
+ if (cmap(*p++, _DOL|QUOTES)) { /* $, \, ', ", ` */
+ Dfix2(t->t_dcom); /* found one */
+ blkfree(t->t_dcom);
+ t->t_dcom = gargv;
+ gargv = 0;
+ return;
+ }