annotate lib-src/vcdiff @ 558:ed498ef2108b

[xemacs-hg @ 2001-05-23 09:59:33 by ben] xemacs.mak: call `ver' to get the exact os version and put it in the installation; suggestion from adrian. behavior-defs.el: Add scroll-in-place, jka-compr, efs, fix up some things. pop.c: Remove BROKEN_CYGWIN. etc\sample.init.el: Rewrite to be much more careful about loading features -- now it decays gracefully even in the complete absence of packages. Also avoid doing obnoxious things when loading efs. configure.in: add some support for eventually turning on file coding by default. Fix numerous places where AC_MSG_WARN had quotes around its arg, which is bad. Replace with []. Same for AC_MSG_ERROR. s\cygwin32.h, s\mingw32.h: remove support for way old beta versions of cygwin. don't put -Wno-sign-compare in the system switches; this isn't a system issue. define BROKEN_SIGIO for cygwin to get C-g support. device-msw.c: signal an error rather than crash with an unavailable network printer (from Mike Alexander). event-msw.c: cleanup headers. fix (hopefully) an error with data corruption when sending to a network connection. fileio.c: Fix evil code that attempts to handle the ~user prefix by (a) always assuming we're referencing ourselves and not even verifying the user -- hence any file with a tilde as its first char is invalid! (b) if there wasn't a slash following the filename, the pointer was set *past* the end of file and we started reading from uninitialized memory. Now we simply treat these as files, always. optionally for 21.4 (doc fix): lread.c: cambia de pas_de_lache_ici -- al minimo usa la palabra certa. frame.c: fix warnings. emacs.c, nt.c, ntproc.c, process-nt.c, realpath.c, unexnt.c: rename MAX_PATH to standard PATH_MAX. process-nt.c, realpath.c: cleanup headers. process-unix.c, sysdep.c, systime.h, syswindows.h: kill BROKEN_CYGWIN and support for way old beta versions of cygwin. sysfile.h: use _MAX_PATH (Windows) preferentially for PATH_MAX if defined. include io.h on Cygwin (we need get_osfhandle()). include sys/fcntl.h always, since we were including it in various header files anyway. unexcw.c: fix up style to conform to standard. remove duplicate definition of PERROR. buffer.c: comment change. database.c, debug.h, device-tty.c, dired-msw.c, glyphs-msw.c: header cleanups (remove places that directly include a system header file, because we have our own layer to do this more cleanly and portably); indentation fixes.
author ben
date Wed, 23 May 2001 09:59:48 +0000
parents 376386a54a3c
children 061f4f90f874 06dd936cde16
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 #!/bin/sh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 # Enhanced sccs diff utility for use with vc mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 # This version is more compatible with rcsdiff(1).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 # !Id: vcdiff,v 1.4 1993/12/03 09:29:18 eggert Exp !
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 # Modified by: vladimir@Eng.Sun.COM on 95-06-07
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 # * Made sure that file arguments are specifed as s.<filename>.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 # * Switched the assignments to $f inside the 3rd and 4th case statements of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 # the first for-loop
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 # * Removed the incorrect initialization of sid1 before the first for-loop.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 DIFF="diff"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 PATH=$PATH:/usr/ccs/bin:/usr/sccs # common SCCS hangouts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 echo=
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 sid1= sid2=
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 for f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 case $f in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 -*)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 case $f in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 --brief)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 DIFF=cmp;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 -q)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 echo=:;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 -r?*)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 case $sid1 in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 -r*)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 sid2=$f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 *)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 case $sid2 in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 ?*) echo "$usage" >&2; exit 2 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 esac
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 sid1=$f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 esac
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 *)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 options="$options $f"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 esac
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 shift
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 *)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 break
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 esac
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 done
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 case $# in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 echo "$usage" >&2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 exit 2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 esac
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 rev1= rev2= status=0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 trap 'status=2; exit' 1 2 13 15
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 for f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 s=2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 # For files under SCCS control, fixup the file name to be the s. filename
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 if [ -d SCCS ]; then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 if [ $f = `echo $f | sed -e 's|SCCS/s.||'` ]; then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 f="SCCS/s.$f"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 fi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 fi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 case $f in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 s.* | */s.*)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 rev1=/tmp/geta$$
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 get -s -p -k $sid1 "$f" > $rev1 &&
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 case $sid2 in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 '')
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 workfile=`expr " /$f" : '.*/s.\(.*\)'`
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 *)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 rev2=/tmp/getb$$
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 get -s -p -k $sid2 "$f" > $rev2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 workfile=$rev2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 esac
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 $echo $DIFF $options $sid1 $sid2 $workfile >&2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 $DIFF $options $rev1 $workfile
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 s=$?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 fi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 *)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 echo "$0: $f is not an SCCS file" >&2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 esac
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 if test $status -lt $s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 then status=$s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 fi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 done