diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/lsrc.in | 9 | ||||
-rwxr-xr-x | bin/mkrc.in | 9 | ||||
-rwxr-xr-x | bin/rcup.in | 5 |
3 files changed, 18 insertions, 5 deletions
diff --git a/bin/lsrc.in b/bin/lsrc.in index 8fb1fcd..b0dc30a 100755 --- a/bin/lsrc.in +++ b/bin/lsrc.in @@ -347,7 +347,8 @@ for DOTFILES_DIR in $DOTFILES_DIRS; do host_files="$DOTFILES_DIR/host-$HOSTNAME" if [ -d "$host_files" ]; then pushdir "$(basename "$host_files")" - for file in ${FILES:-*}; do + for escaped_file in ${FILES:-*}; do + file="$(decode "$escaped_file")" dotted=0 if is_excluded "$file" "$undotted_file_globs" "$never_undotted_file_globs"; then dotted=1 @@ -363,7 +364,8 @@ for DOTFILES_DIR in $DOTFILES_DIRS; do for tag in $TAGS; do if [ -d "tag-$tag" ]; then pushdir "$(basename "tag-$tag")" - for file in ${FILES:-*}; do + for escaped_file in ${FILES:-*}; do + file="$(decode "$escaped_file")" $DEBUG "TAG: $tag, exclude_file_globs: $exclude_file_globs" dotted=0 if is_excluded "$file" "$undotted_file_globs" "$never_undotted_file_globs"; then @@ -377,7 +379,8 @@ for DOTFILES_DIR in $DOTFILES_DIRS; do cd "$DOTFILES_DIR" - for file in ${FILES:-*}; do + for escaped_file in ${FILES:-*}; do + file="$(decode "$escaped_file")" dotted=0 if is_metafile "$file"; then continue diff --git a/bin/mkrc.in b/bin/mkrc.in index da22a63..5b2dea5 100755 --- a/bin/mkrc.in +++ b/bin/mkrc.in @@ -82,7 +82,10 @@ if [ $always_copy -eq 1 ]; then INSTALL="$INSTALL -C" fi -files=$@ +files="" +for i; do + files="$(printf "$files\n$i")" +done if [ $force_symlink -eq 1 ]; then for file in $files; do @@ -108,7 +111,11 @@ elif [ $undotted -eq 0 ]; then done fi +saved_IFS="$IFS" +IFS=' +' for file in $files; do + IFS="$saved_IFS" case "$file" in /*) : ;; *) [ -e "$PWD/$file" ] && file="$PWD/$file" ;; diff --git a/bin/rcup.in b/bin/rcup.in index de11751..932ac56 100755 --- a/bin/rcup.in +++ b/bin/rcup.in @@ -260,7 +260,10 @@ handle_command_line() { tags="${arg_tags:-$TAGS}" DOTFILES_DIRS="${dotfiles_dirs:-$DOTFILES_DIRS}" RUN_HOOKS=$run_hooks - files="$@" + files= + for file; do + files="$files $(encode "$file")" + done for tag in $tags; do LS_ARGS="$LS_ARGS -t $tag" |