User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

stack [2006/08/29 16:08]
stack [2006/08/29 16:08] (current)
Line 1: Line 1:
 +__stack__ push|pop|list alias|assign|bind|on|set [<​item>​]
 +__STACK__ is a convenient mechanism for storing current aliases, variables,
 +hooks, sets, and binds in a stack. ​ New aliases, variables, hooks, etc
 +with the same names or scopes can be created without disturbing the
 +stacked ones.  Those that are stacked can be restored at any time
 +(clobbering any current settings in favor of the saved ones).
 +There are three commands currently available to __STACK__. ​ The first, push,
 +pushes an item onto a stack bearing its name.  The second, pop, removes
 +the most recent pushed item off its stack. ​ The last, list, shows the
 +contents of the named stack.
 +To push the current WHO hook onto the stack:
 +      stack push on who
 +To pop the most recently pushed $foo variable off its stack:
 +      stack pop assign foo
 +To list the current alias stack:
 +      stack list alias
 +__STACK__ LIST works, but not quite as one would expect. ​ Instead of listing
 +each individual alias, variable, or hook separately, all are clumped
 +together. ​ Their order is correct, but the output may be confusing.
 +Behavior between the five varieties can be confusing. ​ Aliases, assigns,
 +and hooks (ons) disappear when pushed on to the stack. ​ Keybindings and
 +sets do not (nor do they revert to defaults.) ​ Also, the on stack
 +requires a hook type when accessed with the '​list'​ command.
stack.txt ยท Last modified: 2006/08/29 16:08 (external edit)