run_test 'ali' ''
# check with nonexistent alias file
-run_test 'ali -alias aliases' \
- "ali: aliasing error in aliases - unable to read 'aliases'"
+run_test 'ali -alias nonexistent' \
+ "ali: aliasing error in nonexistent - unable to read 'nonexistent'"
-cat >${MH_TEST_DIR}/Mail/aliases <<EOF
+cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
me: me@example.com
-rush: geddy@example.com, alex@example.com, neil@example.com
+rush: geddy, alex, neil
+geddy: geddy@example.com
+alex: alex@example.com
+neil: neil@example.com
EOF
# check -alias
run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases" \
'me: me@example.com
-rush: geddy@example.com, alex@example.com, neil@example.com'
+rush: geddy@example.com, alex@example.com, neil@example.com
+geddy: geddy@example.com
+alex: alex@example.com
+neil: neil@example.com'
# check for a specific alias
run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
'me: me@example.com
rush: geddy@example.com
alex@example.com
- neil@example.com'
+ neil@example.com
+geddy: geddy@example.com
+alex: alex@example.com
+neil: neil@example.com'
# check -nolist, which is the default
run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list -nolist" \
'me: me@example.com
-rush: geddy@example.com, alex@example.com, neil@example.com'
+rush: geddy@example.com, alex@example.com, neil@example.com
+geddy: geddy@example.com
+alex: alex@example.com
+neil: neil@example.com'
# check -user
run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -user geddy@example.com" \
- 'rush'
+ 'rush, geddy'
# check -nouser
run_test \
"ali -alias ${MH_TEST_DIR}/Mail/aliases -user -nouser geddy@example.com" \
'geddy@example.com'
+# check expansion of first address of blind list [Bug #15604]
+cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
+rush: Rush: geddy, alex, neil
+geddy: geddy@example.com
+alex: alex@example.com
+neil: neil@example.com
+EOF
+
+run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
+ 'Rush: geddy@example.com, alex@example.com, neil@example.com'
+
+# check that aliases followed by ; are not expanded [Bug #15604]
+cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
+rush: Rush: geddy, alex, neil;
+geddy: geddy@example.com
+alex: alex@example.com
+neil: neil@example.com
+EOF
+
+run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
+ 'Rush: geddy@example.com, alex@example.com, neil;'
+
exit $failed