Mercurial > emacs
view msdos/sed6.inp @ 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 | 98fd8b0e411d 376148b31b5e |
line wrap: on
line source
# -sed6.inp------------------------------------------------------------------ # Configuration script for doc/emacs/Makefile, doc/lispref/Makefile, # doc/lispintro/Makefile, and doc/misc/Makefile under DJGPP v2.x # --------------------------------------------------------------------------- # # Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # # This file is free software; as a special exception, the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # This program 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. # # ---------------------------------------------------------------------- /^srcdir *=/s/@[^@\n]*@/./ /^VPATH *=/s/@[^@\n]*@/./ /^ENVADD/c\ ENVADD =\ export TEXINPUTS := $(srcdir)";"$(TEXINPUTS)\ export MAKEINFO := $(MAKEINFO) -I$(srcdir) /^texinputdir/c\ texinputdir =\ export texinputdir := $(srcdir)";"$(TEXINPUTS) /^SHELL *=/s/^/# / /^elisp.dvi:/,/^$/ { /^ *if \[ *\a${permuted_index}/,/^ *fi *$/c\ command.com /c 'if not a${permuted_index}==a sh ./permute-index' \ command.com /c 'if not a${permuted_index}==a mv permuted.fns elisp.fns' \ command.com /c 'if not a${permuted_index}==a texindex elisp.tp' \ command.com /c 'if a${permuted_index}==a texindex elisp.??' } /^index.texi:/,/^$/ { /^ *if \[ *\a${permuted_index}/,/^ *fi *$/c\ command.com /c 'if not a${permuted_index}==a cp -p ./index.perm index.texi' \ command.com /c 'if a${permuted_index}==a cp -p ./index.unperm index.texi' } /^maintainer-clean:/,/^$/ { s/^ for file in $(INFO_TARGETS)\; do rm -f.*$/ rm -f $(INFO_TARGETS)/ } # arch-tag: defe1001-f35a-47f7-9635-3f5d33ee5e97