--- /dev/null
+#!/bin/sh -eu
+# A target built with a default dofile in the parent directory must be rebuilt if a more specific dofile appears.
+
+[ -e dir ] \
+ || mkdir dir
+
+[ -e default.do ] \
+ && rm default.do
+
+[ -e dir/default.do ] \
+ && rm dir/default.do
+
+[ -e dir/a.do ] \
+ && rm dir/a.do
+
+>default.do cat <<EOF
+printf '1\n'
+EOF
+
+redo dir/a
+
+<dir/a read -r number_a1
+
+>dir/default.do cat <<EOF
+printf '2\n'
+EOF
+
+redo dir/a
+
+<dir/a read -r number_a2
+
+>dir/a.do cat <<EOF
+printf '3\n'
+EOF
+
+redo dir/a
+
+<dir/a read -r number_a3
+
+test 1 -eq "${number_a1}"
+test 2 -eq "${number_a2}"
+test 3 -eq "${number_a3}"