The quotes are necessary or test -n always assumes the result is not
empty because it gets no parameters (the shell expands $set_background
which is empty and then doesn't pass anything to test -n).
fi
# Change the background if available.
-if test -f "$HOME/.background" && test -n $set_background; then
+if test -f "$HOME/.background" && test -n "$set_background"; then
if test -x /usr/bin/hsetroot; then
hsetroot -full "$HOME/.background"
elif test -x /usr/bin/feh; then