mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 21:31:19 +08:00 
			
		
		
		
	fix(dirhistory): run properly if ksh_arrays is set (#11630)
				
					
				
			This commit is contained in:
		
							parent
							
								
									9139d30ca3
								
							
						
					
					
						commit
						18c837b136
					
				@ -19,15 +19,17 @@ export DIRHISTORY_SIZE=30
 | 
			
		||||
# Returns the element if the array was not empty,
 | 
			
		||||
# otherwise returns empty string.
 | 
			
		||||
function pop_past() {
 | 
			
		||||
  typeset -g $1="${dirhistory_past[$#dirhistory_past]}"
 | 
			
		||||
  setopt localoptions no_ksh_arrays
 | 
			
		||||
  if [[ $#dirhistory_past -gt 0 ]]; then
 | 
			
		||||
    typeset -g $1="${dirhistory_past[$#dirhistory_past]}"
 | 
			
		||||
    dirhistory_past[$#dirhistory_past]=()
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function pop_future() {
 | 
			
		||||
  typeset -g $1="${dirhistory_future[$#dirhistory_future]}"
 | 
			
		||||
  setopt localoptions no_ksh_arrays
 | 
			
		||||
  if [[ $#dirhistory_future -gt 0 ]]; then
 | 
			
		||||
    typeset -g $1="${dirhistory_future[$#dirhistory_future]}"
 | 
			
		||||
    dirhistory_future[$#dirhistory_future]=()
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
@ -35,6 +37,7 @@ function pop_future() {
 | 
			
		||||
# Push a new element onto the end of dirhistory_past. If the size of the array
 | 
			
		||||
# is >= DIRHISTORY_SIZE, the array is shifted
 | 
			
		||||
function push_past() {
 | 
			
		||||
  setopt localoptions no_ksh_arrays
 | 
			
		||||
  if [[ $#dirhistory_past -ge $DIRHISTORY_SIZE ]]; then
 | 
			
		||||
    shift dirhistory_past
 | 
			
		||||
  fi
 | 
			
		||||
@ -44,6 +47,7 @@ function push_past() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function push_future() {
 | 
			
		||||
  setopt localoptions no_ksh_arrays
 | 
			
		||||
  if [[ $#dirhistory_future -ge $DIRHISTORY_SIZE ]]; then
 | 
			
		||||
    shift dirhistory_future
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user