diff -up patch-2.7.1/src/patch.c.remove-empty-dir patch-2.7.1/src/patch.c --- patch-2.7.1/src/patch.c.remove-empty-dir 2012-10-18 17:57:41.708586721 +0100 +++ patch-2.7.1/src/patch.c 2013-03-11 11:35:54.607901400 +0000 @@ -646,8 +646,8 @@ main (int argc, char **argv) if (outstate.ofp && (ferror (outstate.ofp) || fclose (outstate.ofp) != 0)) write_fatal (); output_files (NULL); - delete_files (); cleanup (); + delete_files (); if (somefailed) exit (1); return 0; diff -up patch-2.7.1/tests/Makefile.am.remove-empty-dir patch-2.7.1/tests/Makefile.am --- patch-2.7.1/tests/Makefile.am.remove-empty-dir 2012-09-14 10:15:22.000000000 +0100 +++ patch-2.7.1/tests/Makefile.am 2013-03-11 11:35:54.619901466 +0000 @@ -49,6 +49,7 @@ TESTS = \ reject-format \ remember-backup-files \ remember-reject-files \ + remove-directories \ symlinks \ unmodified-files diff -up patch-2.7.1/tests/remove-directories.remove-empty-dir patch-2.7.1/tests/remove-directories --- patch-2.7.1/tests/remove-directories.remove-empty-dir 2013-03-11 11:35:54.619901466 +0000 +++ patch-2.7.1/tests/remove-directories 2013-03-11 11:35:54.619901466 +0000 @@ -0,0 +1,29 @@ +# Copyright (C) 2013 Free Software Foundation, Inc. +# +# Copying and distribution of this file, with or without modification, +# in any medium, are permitted without royalty provided the copyright +# notice and this notice are preserved. + +. $srcdir/test-lib.sh + +require_cat +use_local_patch +use_tmpdir + +# ============================================================== +# Remove empty parent diectories when removing a file + +mkdir dir +echo foobar > dir/file +cat > apatch <