Mercurial > emacs
view lib-src/vcdiff @ 31795:868648c4a36b
* diff-mode.el (diff-add-log-file-name, diff-current-defun): New funs.
(diff-mode): Add support for add-log.el.
(diff-hunk-text): Use char offsets rather than line offsets.
(diff-find-source-location): Replace LINE with line-offset (nil
if not found) and always set POS to a meaningful position.
Adapt to the new char-offsets.
(diff-apply-hunk): Drop support for the unused `select' POPUP.
Adapt to the new diff-find-source-location.
(diff-goto-source): Adapt to the new diff-find-source-location.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 20 Sep 2000 22:36:23 +0000 |
parents | 0ba6599135d6 |
children | c8fb06423da0 |
line wrap: on
line source
#! /bin/sh # # Enhanced sccs diff utility for use with vc mode. # This version is more compatible with rcsdiff(1). # # $Id: vcdiff,v 1.5 1995/07/07 22:47:57 eggert Exp $ # DIFF="diff" usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..." PATH=$PATH:/usr/ccs/bin:/usr/sccs:/usr/xpg4/bin # common SCCS hangouts echo= sid1= sid2= for f do case $f in -*) case $f in --brief) DIFF=cmp;; -q) echo=:;; -r?*) case $sid1 in '') sid1=$f ;; *) case $sid2 in ?*) echo "$usage" >&2; exit 2 ;; esac sid2=$f ;; esac ;; *) options="$options $f" ;; esac shift ;; *) break ;; esac done case $# in 0) echo "$usage" >&2 exit 2 esac rev1= rev2= status=0 trap 'status=2; exit' 1 2 13 15 trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0 for f do s=2 case $f in s.* | */s.*) if rev1=/tmp/geta$$ get -s -p -k $sid1 "$f" > $rev1 && case $sid2 in '') workfile=`expr " /$f" : '.*/s.\(.*\)'` ;; *) rev2=/tmp/getb$$ get -s -p -k $sid2 "$f" > $rev2 workfile=$rev2 esac then $echo $DIFF $options $sid1 $sid2 $workfile >&2 $DIFF $options $rev1 $workfile s=$? fi ;; *) echo "$0: $f is not an SCCS file" >&2 esac if test $status -lt $s then status=$s fi done