svn commit: r198173 - head/bin/sh
Jilles Tjoelker
jilles at FreeBSD.org
Fri Oct 16 16:17:58 UTC 2009
Author: jilles
Date: Fri Oct 16 16:17:57 2009
New Revision: 198173
URL: http://svn.freebsd.org/changeset/base/198173
Log:
sh: Show more information about syntax errors in command substitution:
the line number where the command substitution started.
This applies to both the $() and `` forms but is most useful for ``
because the other line number is relative to the enclosed text there.
(For older versions, -v can be used as a workaround.)
Modified:
head/bin/sh/parser.c
Modified: head/bin/sh/parser.c
==============================================================================
--- head/bin/sh/parser.c Fri Oct 16 12:42:02 2009 (r198172)
+++ head/bin/sh/parser.c Fri Oct 16 16:17:57 2009 (r198173)
@@ -1308,11 +1308,16 @@ parsebackq: {
struct jmploc *const savehandler = handler;
int savelen;
int saveprompt;
+ const int bq_startlinno = plinno;
if (setjmp(jmploc.loc)) {
if (str)
ckfree(str);
handler = savehandler;
+ if (exception == EXERROR) {
+ startlinno = bq_startlinno;
+ synerror("Error in command substitution");
+ }
longjmp(handler->loc, 1);
}
INTOFF;
More information about the svn-src-head
mailing list