Files
mercury/samples/diff/TODO
Andrew Bromage b3af56e8fa Modified files
Estimated hours taken: 30

Modified files
--------------

samples/diff/Mmakefile:
	Minor documentation update.

samples/diff/README:
samples/diff/TODO:
	Update stuff that's now done, do a couple of minor wording
	changes.

samples/diff/diff.m:
	Fix case of identical filenames (which implicitly assumed
	no_diff_implies_no_output).  Add new match pass, call the
	new diff algorithm.

samples/diff/diff_out.m:
	Add --cvs-merge-conflict output style.  Slight reorganisation
	of top-level predicate.  Lots of small fixes to use better
	syntax (e.g. functional style for integer maths operations).

samples/diff/difftype.m:
	Added first_mentioned_positions/3, last_mentioned_positions/3,
	add_edit/4.

samples/diff/file.m:
	Use io__read_line_as_string.

samples/diff/filter.m:
	Minor syntax/wording changes.

samples/diff/options.m:
	Update all the newly handled options.

New files
---------

samples/diff/myers.m:
	New diff algorithm.

samples/diff/match.m:
	New pass to match common lines in the files to be diffed.

Removed file
------------

samples/diff/lcss.m:
	Functionality replaced by myers.m.
1998-09-15 04:54:41 +00:00

39 lines
1.2 KiB
Plaintext

Things which should be straightforward:
* The `--sdiff-merge-assist' option is accepted but does nothing. What
precisely does it do anyway?
* Optimise the case of the --brief output style, where a full-blown diff
isn't necessary but we currently do it.
* We currently aren't careful about noticing the difference between a
file which has a return/new line on the last line and one which
doesn't. In "robust" output styles, this should result in a warning.
Admittedly this distinction has never made a difference to any
diffing I've done, but if we're going try to be compliant...
* We do produce the minimal diff (at least if --minimal is enabled we
do), but we don't produce the "prettiest" diff. We should post-
process our diffs to make them prettier.
Things which need a bit more work:
* Implement --speed-large-files (or at least examine whether or not
it's worth it to do so).
* Support diffing of binary files. Mostly this just requires being
more careful than we currently are.
Things which would be nice but may/will require a lot of work:
* Implement a "regexp" module so we can handle more options.
* Output file dates on context/unified diffs.
* Directory diffs.