diff options
author | Mike Burns and Eric Collins <mike@mike-burns.com> | 2016-12-23 16:18:40 -0500 |
---|---|---|
committer | Mike Burns and Eric Collins <mike@mike-burns.com> | 2016-12-26 16:39:20 -0500 |
commit | 147a7b66554b2b13bcbf6fec1204e0cc0a1790bf (patch) | |
tree | 6539b10986afe5babef3decb2991cd5bb11ac08b /bin/rcup.in | |
parent | 0651e4f5e0e71b57d6564f2f2887ab98f13f1995 (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-x | bin/rcup.in | 5 |
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" |