about summary refs log tree commit diff
path: root/Src/zsh.h
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2001-12-17 17:17:38 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2001-12-17 17:17:38 +0000
commit52b8303537015f603f35351abe2a01d8779868fe (patch)
treed5a16605b10781a3924555f089390f4c7bd27ddc /Src/zsh.h
parent8659013fb8c76fdaac1baa43b09393ec10948a93 (diff)
downloadzsh-52b8303537015f603f35351abe2a01d8779868fe.tar.gz
zsh-52b8303537015f603f35351abe2a01d8779868fe.tar.xz
zsh-52b8303537015f603f35351abe2a01d8779868fe.zip
16353: add += parameter assignments
Diffstat (limited to 'Src/zsh.h')
-rw-r--r--Src/zsh.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/Src/zsh.h b/Src/zsh.h
index cd6caf3b3..28a3c20e9 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -591,10 +591,13 @@ struct eccstr {
 #define WCB_REDIR(T)        wc_bld(WC_REDIR, (T))
 
 #define WC_ASSIGN_TYPE(C)   (wc_data(C) & ((wordcode) 1))
+#define WC_ASSIGN_TYPE2(C)  ((wc_data(C) & ((wordcode) 2)) >> 1)
 #define WC_ASSIGN_SCALAR    0
 #define WC_ASSIGN_ARRAY     1
-#define WC_ASSIGN_NUM(C)    (wc_data(C) >> 1)
-#define WCB_ASSIGN(T,N)     wc_bld(WC_ASSIGN, ((T) | ((N) << 1)))
+#define WC_ASSIGN_NEW       0
+#define WC_ASSIGN_INC       1
+#define WC_ASSIGN_NUM(C)    (wc_data(C) >> 2)
+#define WCB_ASSIGN(T,A,N)   wc_bld(WC_ASSIGN, ((T) | ((A) << 1) | ((N) << 2)))
 
 #define WC_SIMPLE_ARGC(C)   wc_data(C)
 #define WCB_SIMPLE(N)       wc_bld(WC_SIMPLE, (N))
@@ -1198,6 +1201,9 @@ struct paramdef {
     { name, PM_ARRAY, (void *) var, (void *) arrvarsetfn, \
       (void *) arrvargetfn, (void *) stdunsetfn }
 
+#define setsparam(S,V) assignsparam(S,V,0)
+#define setaparam(S,V) assignaparam(S,V,0)
+
 /* node for named directory hash table (nameddirtab) */
 
 struct nameddir {