Minor bug fix in diff_file_change, and improved implementation that uses pipes instead of temporary files