Instead of just seeing if a line in a dired buffer is longer than 0 before marking it for deletion, check if a filename has the potential to be extracted from a line. ok?
-lum Index: dired.c =================================================================== RCS file: /cvs/src/usr.bin/mg/dired.c,v retrieving revision 1.78 diff -u -p -u -p -r1.78 dired.c --- dired.c 12 Oct 2015 19:08:39 -0000 1.78 +++ dired.c 12 Oct 2015 19:34:50 -0000 @@ -286,7 +286,7 @@ d_del(int f, int n) if (n < 0) return (FALSE); while (n--) { - if (llength(curwp->w_dotp) > 0) { + if (d_warpdot(curwp->w_dotp, &curwp->w_doto) == TRUE) { lputc(curwp->w_dotp, 0, DDELCHAR); curbp->b_flag |= BFDIREDDEL; }