[comp.sources.d] Problems with Nethack Patch #1 on Sys V

kevin@kosman.UUCP (Kevin O'Gorman) (08/21/87)

I got the "official" patch to Nethack a few days ago.  I grumbles for a while
about it being ed-style changes, but being an optimistic sort, I dusted off
my original distribution, made TWO directories of original sources, and went
to apply the patches to one of them.

I got several errors, as you can see from the output of the process included 
below.

I am running Sys V, with 14-byte names.  Patch adapts to this, sh scripts do
not.  Thus the first error.  The others I don't know about.

Anyone know what's going on?


--

Kevin O'Gorman ( kevin@kosman ) Vital Computer Systems, Oxnard, CA  93035

----------------------------------------------------------------------------
sh ../Patch1/update.patches | tee ../patchout
3966
4370
6967
7115
cp: Makefile.xenix and Makefile.xenix.orig are identical
8830
5873
13923
13871
10152
10265
7601
7719
../Patch1/update.patches: syntax error at line 5: `(' unexpected
1992
2216
8441
8434
7462
7237
4228
4557
7601
7691
13123
13128
7029
7213
12451
12921
15365
15054
7103
7086
24139
23779
1134
1642
5443
5982
2047
2121
22500
?
12696
12799
11657
12465
6426
6460
19671
18975
4084
3898
3448
3448
17706
17713
13705
13748
1203
1206
4636
4664
5427
5611
2176
2197
15108
15355
8991
10804
8734
9646
11187
11370
3882
5725
1850
3611
5723
5758
13424
13484
4040
5456
11689
11696
7614
7374
16877
16950
1965
2051
1904
3689
419
706
10331
10359
3458
3379
25711
25779
3702
3724
9414
9463
5079
5084
6845
7416
3941
4028
11138
11229
19282
19261
11925
12129
11886
12170
6815
8659
1672
1791
3307
3325
11381
11414
3864
3864
3576
3568
23766
24546

guy%gorodish@Sun.COM (Guy Harris) (08/23/87)

> I got several errors, as you can see from the output of the process included 
> below.
> 
> I am running Sys V, with 14-byte names.  Patch adapts to this, sh scripts do
> not.  Thus the first error.  The others I don't know about.

Well, two errors, anyway; I presume you meant "the other", not "the others".

The second error is caused by the "here documents" containing the "ed" scripts
not being protected by the end-of-document string being enclosed in quotes.  If
a "here document" isn't so protected, the shell does expansion of variable
names and command-substitution sequences in the document.  This causes nasty
problems if the "here document" contains e.g. Makefile text, since "make" and
the Bourne shell use the same basic syntax for variable references.  It also
causes the shell to get upset about certain syntax errors.

The person who posted the patches posted an update explaining this; the update
also included a new version of "invent.c", since the patch did NOT apply to
the distributed version.
	Guy Harris
	{ihnp4, decvax, seismo, decwrl, ...}!sun!guy
	guy@sun., an

knutson6@auscso.UUCP (John Knutson) (08/23/87)

Well, you can try deleting the news header on update.patches for one thing :-).
If you're running sysV, then the xenix makefile isn't needed, is it?
-- 
John Knutson   {ihnp4,allegra,ut-sally}!ut-ngp!auscso!knutson6

Communicating, like in the good ol' days.

craig@ncrcpx.UUCP (R. Craig Peterson) (08/24/87)

I've got the exact same problems!!  (Boy do I perfer Patch!)

-- 
R. Craig Peterson		"Don't speak unkindly of the Gods...
ihnp4!ncr-sd!ncrlnk!		 You never know when one may be listening!"
 ncrcam!ncrcpx!craig				O'Hara
N8INO

malcolm@keilir.UUCP (Malcolm Cohen) (08/26/87)

In article <26313@sun.uucp> guy%gorodish@Sun.COM (Guy Harris) writes:
>The second error is caused by the "here documents" containing the "ed" scripts
>not being protected by the end-of-document string being enclosed in quotes.  If

Unfortunately, on my system (HPUX), the shell script exits after applying
exactly one patch if quoting is used, i.e. it doesn't work right either way.

I'd not bother posting this but it really does point out that ed/shell scripts
like this are nowhere near as reliable as context diffs (or even ordinary
diffs) - and have the added advantage of being that much easier to fix up the
wonky bits by hand if it doesn't all work as expected.

-- 

Malcolm Cohen			       mcvax!keilir!malcolm
Utgardar, Computer Centre, University of Iceland, Reykjavik
-----------------------------------------------------------

kevin@kosman.UUCP (Kevin O'Gorman) (08/27/87)

In article <26313@sun.uucp>, guy%gorodish@Sun.COM (Guy Harris) writes:
| In whatever, I write
| > ...
| > I am running Sys V, with 14-byte names.  Patch adapts to this, sh scripts do
| > not.  Thus the first error.  The others I don't know about.
| 
| The second error is caused by the "here documents" containing the "ed" scripts
| not being protected by the end-of-document string being enclosed in quotes.
| ...
| 
| The person who posted the patches posted an update explaining this; the update
| also included a new version of "invent.c", since the patch did NOT apply to
| the distributed version.

Whew, now I can stop grumbling, except I don't know the article number, and
it has surely expired here.  Anyone got a copy of that darned thing?  Anyone
mail me the article number; my feed keeps stuff LOTS longer than I do and
may still have it.

Please