mirror of
				https://github.com/wting/autojump
				synced 2025-06-13 12:54:07 +00:00 
			
		
		
		
	quick fix so thant it works on mingw and bash 3.1
This commit is contained in:
		
							parent
							
								
									a4f4472046
								
							
						
					
					
						commit
						a6410994c2
					
				
							
								
								
									
										35
									
								
								autojump
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								autojump
									
									
									
									
									
								
							@ -55,23 +55,24 @@ def save(path_dict, dic_file):
 | 
			
		||||
       a backup file."""
 | 
			
		||||
    # If the dic_file exists, check that it belongs to us
 | 
			
		||||
    # Otherwise, fail quietly
 | 
			
		||||
    if (not os.path.exists(dic_file)) or os.getuid() == os.stat(dic_file)[4]:
 | 
			
		||||
        temp = NamedTemporaryFile(dir=CONFIG_DIR, delete=False)
 | 
			
		||||
        pickle.dump(path_dict, temp, 2)
 | 
			
		||||
        temp.flush()
 | 
			
		||||
        os.fsync(temp)
 | 
			
		||||
        temp.close()
 | 
			
		||||
        #cf. http://thunk.org/tytso/blog/2009/03/15/dont-fear-the-fsync/
 | 
			
		||||
        os.rename(temp.name, dic_file) 
 | 
			
		||||
        try: #backup file
 | 
			
		||||
            import time 
 | 
			
		||||
            if (not os.path.exists(dic_file+".bak") or
 | 
			
		||||
                    time.time()-os.path.getmtime(dic_file+".bak")>86400):
 | 
			
		||||
                import shutil
 | 
			
		||||
                shutil.copy(dic_file, dic_file+".bak")
 | 
			
		||||
        except OSError as ex:
 | 
			
		||||
            print("Error while creating backup autojump file. (%s)" %
 | 
			
		||||
                    ex, file=stderr)
 | 
			
		||||
    temp = NamedTemporaryFile(dir=CONFIG_DIR, delete=False)
 | 
			
		||||
    pickle.dump(path_dict, temp, 2)
 | 
			
		||||
    temp.flush()
 | 
			
		||||
    os.fsync(temp)
 | 
			
		||||
    temp.close()
 | 
			
		||||
    #cf. http://thunk.org/tytso/blog/2009/03/15/dont-fear-the-fsync/
 | 
			
		||||
    #os.rename(temp.name, dic_file) 
 | 
			
		||||
    import shutil
 | 
			
		||||
    shutil.copy(temp.name, dic_file)
 | 
			
		||||
    try: #backup file
 | 
			
		||||
        import time 
 | 
			
		||||
        if (not os.path.exists(dic_file+".bak") or
 | 
			
		||||
                time.time()-os.path.getmtime(dic_file+".bak")>86400):
 | 
			
		||||
            import shutil
 | 
			
		||||
            shutil.copy(dic_file, dic_file+".bak")
 | 
			
		||||
    except OSError as ex:
 | 
			
		||||
        print("Error while creating backup autojump file. (%s)" %
 | 
			
		||||
                ex, file=stderr)
 | 
			
		||||
 | 
			
		||||
def forget(path_dict, dic_file):
 | 
			
		||||
    """Gradually forget about directories. Only call
 | 
			
		||||
 | 
			
		||||
@ -19,10 +19,11 @@ _autojump()
 | 
			
		||||
{
 | 
			
		||||
        local cur
 | 
			
		||||
        cur=${COMP_WORDS[*]:1}
 | 
			
		||||
        while read i
 | 
			
		||||
        comps=$(autojump --bash --completion $cur)
 | 
			
		||||
        for i in $comps
 | 
			
		||||
        do
 | 
			
		||||
            COMPREPLY=("${COMPREPLY[@]}" "${i}")
 | 
			
		||||
        done  < <(autojump --bash --completion $cur)
 | 
			
		||||
        done
 | 
			
		||||
}
 | 
			
		||||
complete -F _autojump j
 | 
			
		||||
 | 
			
		||||
@ -43,9 +44,12 @@ then
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
export AUTOJUMP_HOME=${HOME}
 | 
			
		||||
AUTOJUMP='{ [[ "$AUTOJUMP_HOME" == "$HOME" ]] && (autojump -a "$(pwd -P)"&)>/dev/null 2>>${AUTOJUMP_DATA_DIR}/.autojump_errors;} 2>/dev/null'
 | 
			
		||||
if [[ ! $PROMPT_COMMAND =~ autojump ]]; then
 | 
			
		||||
  export PROMPT_COMMAND="$AUTOJUMP ; ${PROMPT_COMMAND:-:}"
 | 
			
		||||
fi 
 | 
			
		||||
AUTOJUMP='{ [[ "$AUTOJUMP_HOME" == "$HOME" ]] && (autojump -a "$(pwd -P)"&)>/dev/null 2>>"${AUTOJUMP_DATA_DIR}/.autojump_errors";} 2>/dev/null'
 | 
			
		||||
 | 
			
		||||
case $PROMPT_COMMAND in
 | 
			
		||||
    *autojump*)    ;;
 | 
			
		||||
    *)   export PROMPT_COMMAND="$AUTOJUMP ; ${PROMPT_COMMAND:-:}";;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
alias jumpstat="autojump --stat"
 | 
			
		||||
function j { new_path="$(autojump $@)";if [ -n "$new_path" ]; then echo -e "\\033[31m${new_path}\\033[0m"; cd "$new_path";else false; fi }
 | 
			
		||||
function j { new_path="$(autojump --bash $@)";if [ -n "$new_path" ]; then echo -e "\\033[31m${new_path}\\033[0m"; cd "$new_path";else false; fi }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								install.sh
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								install.sh
									
									
									
									
									
								
							@ -16,7 +16,7 @@
 | 
			
		||||
#along with autojump.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
function show_help {
 | 
			
		||||
        echo "sudo ./install.sh [--prefix /usr/local]"
 | 
			
		||||
        echo " ./install.sh [--prefix /usr/local]"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Default install directory.
 | 
			
		||||
@ -41,17 +41,17 @@ done
 | 
			
		||||
echo "Installing to ${prefix} ..."
 | 
			
		||||
 | 
			
		||||
# INSTALL AUTOJUMP
 | 
			
		||||
sudo mkdir -p ${prefix}/share/autojump/
 | 
			
		||||
sudo mkdir -p ${prefix}/bin/
 | 
			
		||||
sudo mkdir -p ${prefix}/share/man/man1/
 | 
			
		||||
sudo cp icon.png ${prefix}/share/autojump/
 | 
			
		||||
sudo cp jumpapplet ${prefix}/bin/
 | 
			
		||||
sudo cp autojump ${prefix}/bin/
 | 
			
		||||
sudo cp autojump.1 ${prefix}/share/man/man1/
 | 
			
		||||
 mkdir -p ${prefix}/share/autojump/
 | 
			
		||||
 mkdir -p ${prefix}/bin/
 | 
			
		||||
 mkdir -p ${prefix}/share/man/man1/
 | 
			
		||||
 cp icon.png ${prefix}/share/autojump/
 | 
			
		||||
 cp jumpapplet ${prefix}/bin/
 | 
			
		||||
 cp autojump ${prefix}/bin/
 | 
			
		||||
 cp autojump.1 ${prefix}/share/man/man1/
 | 
			
		||||
 | 
			
		||||
if [ -d "/etc/profile.d" ]; then
 | 
			
		||||
    sudo cp autojump.bash /etc/profile.d/
 | 
			
		||||
    sudo cp autojump.sh /etc/profile.d/
 | 
			
		||||
     cp autojump.bash /etc/profile.d/
 | 
			
		||||
     cp autojump.sh /etc/profile.d/
 | 
			
		||||
 | 
			
		||||
    # Make sure that the code we just copied has been sourced.
 | 
			
		||||
    # check if .bashrc has sourced /etc/profile or /etc/profile.d/autojump.bash
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user