summaryrefslogtreecommitdiff
path: root/bin/rcup.in
diff options
context:
space:
mode:
authorGravatar Mike Burns and Eric Collins <mike@mike-burns.com>2016-12-23 16:18:40 -0500
committerGravatar Mike Burns and Eric Collins <mike@mike-burns.com>2016-12-26 16:39:20 -0500
commit147a7b66554b2b13bcbf6fec1204e0cc0a1790bf (patch)
tree6539b10986afe5babef3decb2991cd5bb11ac08b /bin/rcup.in
parent0651e4f5e0e71b57d6564f2f2887ab98f13f1995 (diff)
Handle spaces in dotfile name
In mkrc, separate the list of files with newlines instead of spaces. Change the `$IFS` when iterating to handle this. We hand the file off to rcup, which encodes the file name by replacing spaces with the bell character (`\a`). rcup then sends the file name off to lsrc, which decodes the bell back into a space. The test makes sure an `a` character is in the filename, in case some encoding goes wrong. We use tr(1) instead of sed(1) because tr(1) handles `\a`. Shoutout to Sublime Text 3 for forcing this issue.
Diffstat (limited to 'bin/rcup.in')
-rwxr-xr-xbin/rcup.in5
1 files changed, 4 insertions, 1 deletions
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"