diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-06-30 19:09:27 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-06-30 19:09:27 +0200 |
commit | 3ec84c5d7364c8ed4602561743bf35e3b399e53d (patch) | |
tree | 7a61b62553d8f938b223ca35d91b30fdab048fbb /sys/src/cmd/rc/code.c | |
parent | cabbe0a84c7aae53316347185a5bdf8095bac9c8 (diff) |
rc: implement 9atoms ` split {command} syntax extension
Diffstat (limited to 'sys/src/cmd/rc/code.c')
-rw-r--r-- | sys/src/cmd/rc/code.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/src/cmd/rc/code.c b/sys/src/cmd/rc/code.c index 9ec637988..927273275 100644 --- a/sys/src/cmd/rc/code.c +++ b/sys/src/cmd/rc/code.c @@ -125,9 +125,19 @@ outcode(tree *t, int eflag) emitf(Xconc); break; case '`': + emitf(Xmark); + if(c0){ + outcode(c0, 0); + emitf(Xglob); + } else { + emitf(Xmark); + emitf(Xword); + emits(estrdup("ifs")); + emitf(Xdol); + } emitf(Xbackq); p = emiti(0); - outcode(c0, 0); + outcode(c1, 0); emitf(Xexit); stuffdot(p); break; |