Mercurial > emacs
annotate admin/diff-tar-files @ 107653:bfde3c2dbef5
Make occur handle multi-line matches cleanly with context.
http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01280.html
* replace.el (occur-accumulate-lines): Add optional arg `pt'.
(occur-engine): Add local variables `ret', `prev-after-lines',
`prev-lines'. Use more arguments for `occur-context-lines'.
Set first elem of its returned list to `data', and the second elem
to `prev-after-lines'. Don't print the separator line.
In the end, print remaining context after-lines.
(occur-context-lines): Add new arguments `begpt', `endpt',
`lines', `prev-lines', `prev-after-lines'. Rewrite to combine
after-lines of the previous match with before-lines of the
current match and not overlap them. Return a list with two
values: the output line and the list of context after-lines.
* search.texi (Other Repeating Search): Remove line that `occur'
can not handle multiline matches.
* occur-testsuite.el (occur-tests): Add tests for context lines.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 30 Mar 2010 19:03:08 +0300 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
rev | line source |
---|---|
39058 | 1 #! /bin/sh |
2 | |
106815 | 3 # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
75348 | 4 # Free Software Foundation, Inc. |
94833
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
5 |
39058 | 6 # This file is part of GNU Emacs. |
94833
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
7 |
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
8 # GNU Emacs is free software: you can redistribute it and/or modify |
39058 | 9 # it under the terms of the GNU General Public License as published by |
94833
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
10 # the Free Software Foundation, either version 3 of the License, or |
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
11 # (at your option) any later version. |
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
12 |
39058 | 13 # GNU Emacs is distributed in the hope that it will be useful, |
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 # GNU General Public License for more details. | |
94833
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
17 |
39058 | 18 # You should have received a copy of the GNU General Public License |
94833
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
19 # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
e6db9ee945b8
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79744
diff
changeset
|
20 |
39058 | 21 |
22 if [ $# != 2 ]; then | |
23 cat <<EOF | |
24 Usage: $0 OLD-TAR NEW-TAR | |
25 | |
26 Print a diff of the files in OLD-TAR and NEW-TAR. Used for checking | |
27 the contents of Emacs tar files. | |
28 EOF | |
29 exit 1; | |
30 fi | |
31 | |
32 old_tar=$1 | |
33 new_tar=$2 | |
34 | |
35 old_tmp=/tmp/old.$$ | |
36 new_tmp=/tmp/new.$$ | |
37 trap "rm -f $old_tmp $new_tmp; exit 1" 1 2 15 | |
38 | |
39 tar tzf $old_tar | sed -e 's,^[^/]*,,' | sort > $old_tmp | |
40 tar tzf $new_tar | sed -e 's,^[^/]*,,' | sort > $new_tmp | |
41 diff -u $old_tmp $new_tmp | |
42 rm -f $new_tmp $old_tmp | |
43 | |
44 | |
52401 | 45 # arch-tag: ef2c96e2-ea67-4668-925c-d9a6f3d205cf |