From 2c4044348d1f28e1b7632d6b0d8b8894361a10fe Mon Sep 17 00:00:00 2001 From: pthrasher Date: Thu, 1 Sep 2011 14:50:42 -0400 Subject: [PATCH 1/2] added functionality mentioned in issue #19 --- bashmarks.sh | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/bashmarks.sh b/bashmarks.sh index dff401c..4829159 100644 --- a/bashmarks.sh +++ b/bashmarks.sh @@ -43,9 +43,15 @@ function s { check_help $1 _bookmark_name_valid "$@" if [ -z "$exit_message" ]; then - _purge_line "$SDIRS" "export DIR_$1=" - CURDIR=$(echo $PWD| sed "s#^$HOME#\$HOME#g") - echo "export DIR_$1=\"$CURDIR\"" >> $SDIRS + if [ -z "$@" ]; then + _purge_line "$SDIRS" "export DIR_DEFAULT=" + CURDIR=$(echo $PWD| sed "s#^$HOME#\$HOME#g") + echo "export DIR_DEFAULT=\"$CURDIR\"" >> $SDIRS + else + _purge_line "$SDIRS" "export DIR_$1=" + CURDIR=$(echo $PWD| sed "s#^$HOME#\$HOME#g") + echo "export DIR_$1=\"$CURDIR\"" >> $SDIRS + fi fi } @@ -53,7 +59,11 @@ function s { function g { check_help $1 source $SDIRS - cd "$(eval $(echo echo $(echo \$DIR_$1)))" + if [ -z "$@" ]; then + cd "$(eval $(echo echo $(echo \$DIR_DEFAULT)))" + else + cd "$(eval $(echo echo $(echo \$DIR_$1)))" + fi } # print bookmark @@ -106,10 +116,7 @@ function _l { # validate bookmark name function _bookmark_name_valid { exit_message="" - if [ -z $1 ]; then - exit_message="bookmark name required" - echo $exit_message - elif [ "$1" != "$(echo $1 | sed 's/[^A-Za-z0-9_]//g')" ]; then + if [ "$1" != "$(echo $1 | sed 's/[^A-Za-z0-9_]//g')" ]; then exit_message="bookmark name is not valid" echo $exit_message fi From 7a9989b848453f49147ea6e7e464eb5d38646144 Mon Sep 17 00:00:00 2001 From: pthrasher Date: Thu, 1 Sep 2011 14:55:12 -0400 Subject: [PATCH 2/2] fix for issue #23, potential zsh problems. --- bashmarks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bashmarks.sh b/bashmarks.sh index 4829159..e14479c 100644 --- a/bashmarks.sh +++ b/bashmarks.sh @@ -144,7 +144,7 @@ function _purge_line { trap "rm -f -- '$t'" EXIT # purge line - sed "/$2/d" "$1" > "$t" + sed "/$2/d" "$1" >! "$t" mv "$t" "$1" # cleanup temp file