Mercurial > emacs
annotate lib-src/vcdiff @ 15145:86a1f426871e
Include config.h after CRT headers. Include fcntl.h.
(child_process, MAX_CHILDREN, CHILD_ACTIVE): Moved to nt.h.
(DebugPrint): New macro.
(new_child): Create input event structures for child processes.
(delete_child): New function.
(reader_thread): Return nonzero upon failure. Use _sys_read_ahead.
(create_child): Add child_process and parent PID arguments.
Don't create input event or thread structures here.
Fixup Win95 negative process IDs.
(register_child): Don't set consumed event; instead, set thread
status so that select will release it.
(remove_child): Renamed to reap_process. Only free resources
of synchronous children.
(win32_wait): Renamed to sys_wait. Sanity check to make sure
handle to subprocess exists. Don't reclaim thread resources here.
(win32_spawnve): Renamed to sys_spawnve.
Check for proper wait mode first thing.
Convert command name to DOS format.
Quote whitespace and quotes in arguments to subprocess.
Use alloca instead of malloc.
If max subprocesses, return EAGAIN in hopes of another completing.
(sys_select): Add support for socket input. Remove dead code.
Check input from children fairly.
(sys_select) [HAVE_TIMEVAL]: Remove conditional check and code.
(win32_kill_process): Renamed to sys_kill. Use OpenProcess
to terminate process.
(prepate_standard_handles, reset_standard_handles): Moved here
from nt.c.
author | Geoff Voelker <voelker@cs.washington.edu> |
---|---|
date | Fri, 03 May 1996 18:35:50 +0000 |
parents | da322c027bf0 |
children | 0ba6599135d6 |
rev | line source |
---|---|
12507
da322c027bf0
Replace `#!/bin/sh' with `#! /bin/sh', for benefit of systems
Paul Eggert <eggert@twinsun.com>
parents:
5211
diff
changeset
|
1 #! /bin/sh |
928 | 2 # |
3 # Enhanced sccs diff utility for use with vc mode. | |
4 # This version is more compatible with rcsdiff(1). | |
5 # | |
12507
da322c027bf0
Replace `#!/bin/sh' with `#! /bin/sh', for benefit of systems
Paul Eggert <eggert@twinsun.com>
parents:
5211
diff
changeset
|
6 # $Id: vcdiff,v 1.4 1993/12/03 09:29:18 eggert Exp eggert $ |
928 | 7 # |
8 | |
9 DIFF="diff" | |
5211 | 10 usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..." |
928 | 11 |
4653
8e72792f2d18
Append /usr/ccs/bin and /usr/sccs to PATH.
Paul Eggert <eggert@twinsun.com>
parents:
3933
diff
changeset
|
12 PATH=$PATH:/usr/ccs/bin:/usr/sccs # common SCCS hangouts |
8e72792f2d18
Append /usr/ccs/bin and /usr/sccs to PATH.
Paul Eggert <eggert@twinsun.com>
parents:
3933
diff
changeset
|
13 |
3933 | 14 echo= |
928 | 15 sid1=-r sid2= |
16 | |
17 for f | |
18 do | |
19 case $f in | |
20 -*) | |
21 case $f in | |
5211 | 22 --brief) |
23 DIFF=cmp;; | |
3933 | 24 -q) |
25 echo=:;; | |
928 | 26 -r?*) |
27 case $sid1 in | |
28 -r) | |
29 sid1=$f | |
30 ;; | |
31 *) | |
32 case $sid2 in | |
33 ?*) echo "$usage" >&2; exit 2 ;; | |
34 esac | |
35 sid2=$f | |
36 ;; | |
37 esac | |
38 ;; | |
39 *) | |
40 options="$options $f" | |
41 ;; | |
42 esac | |
43 shift | |
44 ;; | |
45 *) | |
46 break | |
47 ;; | |
48 esac | |
49 done | |
50 | |
51 case $# in | |
52 0) | |
53 echo "$usage" >&2 | |
54 exit 2 | |
55 esac | |
56 | |
57 | |
58 rev1= rev2= status=0 | |
59 trap 'status=2; exit' 1 2 13 15 | |
60 trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0 | |
61 | |
62 for f | |
63 do | |
64 s=2 | |
65 | |
66 case $f in | |
67 s.* | */s.*) | |
68 if | |
69 rev1=/tmp/geta$$ | |
70 get -s -p -k $sid1 "$f" > $rev1 && | |
71 case $sid2 in | |
72 '') | |
73 workfile=`expr " /$f" : '.*/s.\(.*\)'` | |
74 ;; | |
75 *) | |
76 rev2=/tmp/getb$$ | |
77 get -s -p -k $sid2 "$f" > $rev2 | |
78 workfile=$rev2 | |
79 esac | |
80 then | |
3933 | 81 $echo $DIFF $options $sid1 $sid2 $workfile >&2 |
928 | 82 $DIFF $options $rev1 $workfile |
83 s=$? | |
84 fi | |
85 ;; | |
86 *) | |
87 echo "$0: $f is not an SCCS file" >&2 | |
88 esac | |
89 | |
90 if test $status -lt $s | |
91 then status=$s | |
92 fi | |
93 done |