Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: fix tests
- X-seq: zsh-workers 35548
- From: Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx>
- To: Zsh hackers list <zsh-workers@xxxxxxx>
- Subject: PATCH: fix tests
- Date: Sat, 20 Jun 2015 19:52:09 +0100
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
All tests now passing on the typeset-array branch.
pws
diff --git a/Src/builtin.c b/Src/builtin.c
index 6cccf53..5eb7bfb 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -443,6 +443,28 @@ execbuiltin(LinkList args, LinkList assigns, Builtin bn)
fputc(' ', xtrerr);
quotedzputs(*fullargv++, xtrerr);
}
+ if (assigns) {
+ LinkNode node;
+ for (node = firstnode(assigns); node; incnode(node)) {
+ Asgment asg = (Asgment)node;
+ fputc(' ', xtrerr);
+ quotedzputs(asg->name, xtrerr);
+ if (asg->is_array) {
+ LinkNode arrnode;
+ fprintf(xtrerr, "=(");
+ for (arrnode = firstnode(asg->value.array);
+ arrnode;
+ incnode(arrnode)) {
+ fputc(' ', xtrerr);
+ quotedzputs((char *)getdata(arrnode), xtrerr);
+ }
+ fprintf(xtrerr, " )");
+ } else if (asg->value.scalar) {
+ fputc('=', xtrerr);
+ quotedzputs(asg->value.scalar, xtrerr);
+ }
+ }
+ }
fputc('\n', xtrerr);
fflush(xtrerr);
}
diff --git a/Src/exec.c b/Src/exec.c
index 967f86e..6066d55 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -3488,7 +3488,6 @@ execcmd(Estate state, int input, int output, int how, int last1)
wordcode ac = *state->pc++;
char *name = ecgetstr(state, EC_DUPTOK, &htok);
Asgment asg;
- int htok;
local_list1(svl);
DPUTS(wc_code(ac) != WC_ASSIGN,
diff --git a/Test/D01prompt.ztst b/Test/D01prompt.ztst
index 3074efe..2638e24 100644
--- a/Test/D01prompt.ztst
+++ b/Test/D01prompt.ztst
@@ -199,5 +199,5 @@
?+zsh_directory_name:4> [[ d == n ]]
?+zsh_directory_name:12> [[ <parent>/very_long_directory_name == (#b)(*)/very_long_directory_name ]]
?+zsh_directory_name:14> return 0
-?+fn:7> local 'd=~[<parent>:l]'
+?+fn:7> local d='~[<parent>:l]'
?+fn:8> print '~[<parent>:l]'
diff --git a/Test/E01options.ztst b/Test/E01options.ztst
index d64f7ac..ca3f06c 100644
--- a/Test/E01options.ztst
+++ b/Test/E01options.ztst
@@ -570,6 +570,15 @@
>unset
>globassign
+ # This test is now somewhat artificial as
+ # KSH_TYPESET only applies to the builtin
+ # interface. Tests to the more standard
+ # reserved word interface appear elsewhere.
+ (
+ # reserved words are handled during parsing,
+ # hence eval...
+ disable -r typeset
+ eval '
setopt kshtypeset
ktvars=(ktv1 ktv2)
typeset ktfoo=`echo arg1 arg2` $ktvars
@@ -580,6 +589,8 @@
print $noktfoo
print $+noktarg1 $+noktarg2
unset ktfoo ktv1 ktv2 noktfoo noktarg2
+ '
+ )
0:KSH_TYPESET option
>1 1 0
>arg1 arg2
Messages sorted by:
Reverse Date,
Date,
Thread,
Author