Skip to content

Commit

Permalink
MacOS: "-e filename/." returns true even for non-directories.
Browse files Browse the repository at this point in the history
This has something to do with resource forks.  So use "-d filename/."
instead, which returns false if filename is not a directory.
  • Loading branch information
apenwarr committed Mar 6, 2011
1 parent 97eea66 commit c1a1f32
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 3 deletions.
2 changes: 1 addition & 1 deletion builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def _start_do(self):
sf.set_checked()
sf.save()
return self._after2(0)
if (os.path.exists(t) and not os.path.exists(t + '/.')
if (os.path.exists(t) and not os.path.isdir(t + '/.')
and not sf.is_generated):
# an existing source file that was not generated by us.
# This step is mentioned by djb in his notes.
Expand Down
2 changes: 1 addition & 1 deletion contrib/bash_completion.d/redo
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ __redo_completions()
rest=${name#$cur}
[ "$cur$rest" != "$name" ] && continue
name2="$cur${rest%%/*}"
[ -e "$name2/." ] || echo "$name2"
[ -d "$name2/." ] || echo "$name2"
done

# targets named explicitly by .do files
Expand Down
2 changes: 1 addition & 1 deletion minimal/do
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ _do()
{
DIR=$1
TARGET=$2
if [ ! -e "$TARGET" ] || [ -e "$TARGET/." -a ! -e "$TARGET.did" ]; then
if [ ! -e "$TARGET" ] || [ -d "$TARGET/." -a ! -e "$TARGET.did" ]; then
printf '%sdo %s%s%s%s\n' \
"$GREEN" "$DO_DEPTH" "$BOLD" "$DIR$TARGET" "$PLAIN" >&2
echo "$PWD/$TARGET" >>"$DO_BUILT"
Expand Down
2 changes: 2 additions & 0 deletions t/default.vartest.do
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
: ${PREFIX=not defined}
echo "$PREFIX"
3 changes: 3 additions & 0 deletions t/vartest.do
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
PREFIX=/a/b/c/d/e redo vartest2
read x <vartest2
[ "$x" = "/a/b/c/d/e" ] || exit 45

0 comments on commit c1a1f32

Please sign in to comment.