mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			418 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			418 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| # pushd function to emulate the old zsh behaviour.  With this function
 | |
| # pushd +/-n just lifts the selected element to the top of the stack
 | |
| # instead of just cycling the stack.
 | |
| 
 | |
| local puid
 | |
| [[ -o pushdignoredups ]] && puid=1
 | |
| 
 | |
| emulate -R zsh
 | |
| setopt localoptions
 | |
| 
 | |
| if [[ ARGC -eq 1 && "$1" == [+-]<-> ]] then
 | |
| 	setopt pushdignoredups
 | |
| 	builtin pushd ~$1
 | |
| else
 | |
| 	[[ -n $puid ]] && setopt pushdignoredups
 | |
| 	builtin pushd "$@"
 | |
| fi
 |