view lisp/forms-pass.el @ 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 1e3a407766b9
children ef719132ddfa
line wrap: on
line source

;;; forms-pass.el --- passwd file demo for forms-mode -*- no-byte-compile: t -*-

;; This file is part of GNU Emacs.

;;; Commentary:

;; This demo visits your passwd file.

;;; Code:

;; use yp if present
(or (file-exists-p (setq forms-file "/var/yp/src/passwd"))
    (setq forms-file "/etc/passwd"))

(setq forms-read-only t)		; to make sure
(setq forms-field-sep ":")
(setq forms-number-of-fields 7)

(setq forms-format-list
      (list
       "====== Visiting " forms-file " ======\n\n"
       "User : "	1
       "   Uid: "	3
       "   Gid: "	4
       "\n\n"
       "Name : "	5
       "\n\n"
       "Home : "	6
       "\n\n"
       "Shell: "	7
       "\n"))

;; arch-tag: 74801012-1a2d-4173-b9e4-fcfa241e2305
;;; forms-pass.el ends here