summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/lsrc.in9
-rwxr-xr-xbin/mkrc.in9
-rwxr-xr-xbin/rcup.in5
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"