PasteBin.com [!Stack.nsh]
I'm not quite sure how I'd use this yet, but it's still cool. (Any ideas?)
EXAMPLE:
# Stack(TestStack): 5 4 2 1 0
${!Push} TestStack ${ValueTmp} # Stack(TestStack): 3 5 4 2 1 0
${!Exch} TestStack 2 # Stack(TestStack): 4 5 3 2 1 0
${!Exch} TestStack 1 # Stack(TestStack): 5 4 3 2 1 0
${!Pop} TestStack Value5 # Stack(TestStack): 4 3 2 1 0
${!Pop} TestStack Value4 # Stack(TestStack): 3 2 1 0
${!Peek} TestStack Value3 # Stack(TestStack): 3 2 1 0
${!Pop} TestStack Value3 # Stack(TestStack): 2 1 0
${!Pop} TestStack Value2 # Stack(TestStack): 1 0
${!Pop} TestStack Value1 # Stack(TestStack): 0
${!Pop} TestStack Value0 # Stack(TestStack): EMPTY
;${!Pop} TestStack ValueE # Stack(TestStack): ERROR! Stack is Empty!
!echo `5=${Value5}`
!echo `4=${Value4}`
!echo `3=${Value3}`
!echo `2=${Value2}`
!echo `1=${Value1}`
!echo `0=${Value0}`