diff lib-src/vcdiff @ 5491:06dd936cde16

Merge some stuff in lib-src -------------------- ChangeLog entries follow: -------------------- lib-src/ChangeLog addition: 2010-02-19 Ben Wing <ben@xemacs.org> * digest-doc.c: * digest-doc.c (main): * emacs.csh: * hexl.c: * hexl.c (Gabryelski): * hexl.c (main): * hexl.c (usage): * sorted-doc.c: * sorted-doc.c (fatal): * sorted-doc.c (xstrdup): * sorted-doc.c (main): * vcdiff: Merge up to FSF 23.1.92.
author Ben Wing <ben@xemacs.org>
date Fri, 19 Feb 2010 22:13:17 -0600
parents 376386a54a3c
children
line wrap: on
line diff
--- a/lib-src/vcdiff	Thu Feb 11 19:33:50 2010 -0500
+++ b/lib-src/vcdiff	Fri Feb 19 22:13:17 2010 -0600
@@ -1,23 +1,43 @@
-#!/bin/sh
-#
+#! /bin/sh
+
 # Enhanced sccs diff utility for use with vc mode.
 # This version is more compatible with rcsdiff(1).
-#
-#	!Id: vcdiff,v 1.4 1993/12/03 09:29:18 eggert Exp !
-#
+
+# Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
+#   2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+
+# Author: Paul Eggert
+# (according to authors.el)
+
+# This file is part of XEmacs.
+
+# XEmacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# XEmacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with XEmacs.  If not, see <http://www.gnu.org/licenses/>.
+
 # Modified by: vladimir@Eng.Sun.COM on 95-06-07
 # * Made sure that file arguments are specifed as s.<filename>.
-# * Switched the assignments to $f inside the 3rd and 4th case statements of
-#   the first for-loop
-# * Removed the incorrect initialization of sid1 before the first for-loop.
-#
+
+# Synced up with: GNU 23.1.92.
+# Synced by: Ben Wing, 2-17-10.
+
 
 DIFF="diff"
 usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..."
 
-PATH=$PATH:/usr/ccs/bin:/usr/sccs # common SCCS hangouts
+# Now that we use `sccs get' rather than just `get', we don't need this.
+# PATH=$PATH:/usr/ccs/bin:/usr/sccs:/usr/xpg4/bin # common SCCS hangouts
 
-echo=
+echo="echo"
 sid1= sid2=
 
 for f
@@ -31,14 +51,14 @@
 			echo=:;;
 		-r?*)
 			case $sid1 in
-			-r*)
-				sid2=$f
+			'')
+				sid1=$f
 				;;
 			*) 
 				case $sid2 in
-				  ?*) echo "$usage" >&2; exit 2 ;;
+				?*) echo "$usage" >&2; exit 2 ;;
 				esac
-				sid1=$f
+				sid2=$f
 				;;
 			esac
 			;;
@@ -67,31 +87,32 @@
 
 for f
 do
-  s=2
-
-  # For files under SCCS control, fixup the file name to be the s. filename
-  if [ -d SCCS ]; then
-    if [ $f = `echo $f | sed -e 's|SCCS/s.||'` ]; then
-      f="SCCS/s.$f"
-    fi
-  fi 
+	s=2
+	
+	# For files under SCCS control, fixup the file name to be the
+	# s. filename
+	if [ -d SCCS ]; then
+		if [ $f = `echo $f | sed -e 's|SCCS/s.||'` ]; then
+			f="SCCS/s.$f"
+		fi
+	fi 
 
 	case $f in
 	s.* | */s.*)
 		if
-			rev1=/tmp/geta$$
-			get -s -p -k $sid1 "$f" > $rev1 &&
+			rev1=`mktemp /tmp/geta.XXXXXXXX`
+			sccs get -s -p -k $sid1 "$f" > $rev1 &&
 			case $sid2 in
 			'')
 				workfile=`expr " /$f" : '.*/s.\(.*\)'`
 				;;
 			*)
-				rev2=/tmp/getb$$
-				get -s -p -k $sid2 "$f" > $rev2
+				rev2=`mktemp /tmp/getb.XXXXXXXX`
+				sccs get -s -p -k $sid2 "$f" > $rev2
 				workfile=$rev2
 			esac
 		then
-			$echo $DIFF $options $sid1 $sid2 $workfile >&2
+			$echo $DIFF $options $rev1 $workfile >&2
 			$DIFF $options $rev1 $workfile
 			s=$?
 		fi
@@ -104,3 +125,5 @@
 	then status=$s
 	fi
 done
+
+# arch-tag: 4344ba3a-bcbe-4f77-971c-f43c1606953a