Update FAQ about make diff rules
I have provided some examples as well and included how to use other diff programs like colordiff. Checking formatting (including how it looks on GitHub) and typo checks notwithstanding this entry is in good condition.
This commit is contained in:
1 parent
f882ea84dd
commit
55d09331d7
1 file changed
+62
-16
@@ -128,42 +128,88 @@ can look almost identical.
|
||||
## Q: How can I easily see what was changed in order to get an entry to work in modern systems?
|
||||
|
||||
Although the [thanks-for-fixes.md](/thanks-for-fixes.md) file sometimes gives
|
||||
commands to tell you how to do this, in general you can do:
|
||||
commands to tell you how to do this, we have set up make rules to easily do
|
||||
this. For these you should be in the directory of the entry you wish to see the
|
||||
diff output.
|
||||
|
||||
If you want to see the difference from the _original_ source try:
|
||||
|
||||
```sh
|
||||
diff entry.c entry.orig.c
|
||||
diff prog.c prog.orig.c
|
||||
make orig_prog_diff
|
||||
```
|
||||
|
||||
to see it as if you wanted to make it go back to the original and, to see the
|
||||
difference to fix it, you can do:
|
||||
|
||||
```
|
||||
make: [Makefile:158: orig_prog_diff] Error 1 (ignored)
|
||||
```
|
||||
|
||||
but this is perfectly fine and expected.
|
||||
|
||||
|
||||
If however you wish to see the difference between the alt code and the entry
|
||||
itself, try:
|
||||
|
||||
```sh
|
||||
diff entry.orig.c entry.c
|
||||
diff prog.orig.c prog.c
|
||||
make alt_prog_diff
|
||||
```
|
||||
|
||||
For instance to see how [2001/anonymous](2001/anonymous/README.md) was fixed you
|
||||
can do:
|
||||
NOTE: this might show at the end something like:
|
||||
|
||||
```
|
||||
make: [Makefile:163: alt_prog_diff] Error 1 (ignored)
|
||||
```
|
||||
|
||||
The `alt_prog_diff` rule will do nothing if no alt file exists.
|
||||
|
||||
If the alt code is the same as the original, say
|
||||
[1984/anonymous](1984/anonymous/README.md), there is no point in using this
|
||||
rule.
|
||||
|
||||
As some examples we'll first look at one, that has really long lines which
|
||||
will make it harder to see what is different,
|
||||
[2001/anonymous](2001/anonymous/README.md). What you would do is `cd
|
||||
2001/anonymous` and then do:
|
||||
|
||||
```sh
|
||||
diff 2001/anonymous/anonymous.orig.c 2001/anonymous/anonymous.c
|
||||
make orig_prog_diff
|
||||
```
|
||||
|
||||
and then be really confused! :-)
|
||||
|
||||
But for an entry like [1991/dds](1991/dds/README.md), you can see the
|
||||
differences much more easily. `1991/dds` is a good example where it's very
|
||||
simple to see what is different as it's just a couple lines.
|
||||
|
||||
You might be quite surprised how little some entries had to be changed and at
|
||||
the same time how much other entries had to be changed, often with quite complex
|
||||
differences! In some cases if the line is rather long, like the above mentioned
|
||||
one, it will be harder to see what changed but in other cases like
|
||||
[1984/decot](1984/decot/README.md) it's a lot easier:
|
||||
|
||||
```sh
|
||||
diff 1984/decot/decot.orig.c 1984/decot/decot.c
|
||||
```
|
||||
[1984/decot](1984/decot/README.md) or [1986/wall](1986/wall/README.md) it's a
|
||||
lot easier.
|
||||
|
||||
Well, at least it's easier see the differences on a line-by-line basis but maybe
|
||||
not what actually changed, especially since it's easier to know what was fixed
|
||||
when you have compiler errors :-)
|
||||
when you have compiler errors :-) (though there are, as noted, some examples
|
||||
where it's quite easy to see the differences).
|
||||
|
||||
[1991/dds](1991/dds/README.md) is also a good example to see the alt difference
|
||||
very easily. To do that `cd 1991/dds` and then do:
|
||||
|
||||
```sh
|
||||
make alt_prog_diff
|
||||
```
|
||||
|
||||
and you'll see a single line changed and very simply.
|
||||
|
||||
### Tip: if you have `colordiff` installed it's a lot easier to see the differences
|
||||
|
||||
To use these rules but provide a different `diff`, for instance `colordiff`,
|
||||
just do:
|
||||
|
||||
```sh
|
||||
make DIFF=colordiff orig_prog_diff # for original diff
|
||||
make DIFF=colordiff alt_prog_diff # for alt diff
|
||||
```
|
||||
|
||||
## Q: I cannot get entry XYZZY from year 19xx to compile!
|
||||
|
||||
|
||||
Reference in new issue
Block a user