home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / elisp / functions / search-buf.el < prev    next >
Encoding:
Text File  |  1990-07-22  |  962 b   |  37 lines

  1. ;From: allegra!tk@RESEARCH.ATT.COM
  2. ;Newsgroups: gnu.emacs
  3. ;Subject: Re: Multi-Buffer search?
  4. ;Message-ID: <8908260520.AA12914@life.ai.mit.edu>
  5. ;Date: 26 Aug 89 05:05:44 GMT
  6. ;References: <68700011@sts>
  7. ;Distribution: gnu
  8. ;Organization: GNUs Not Usenet
  9. ;Lines: 26
  10. ;
  11. ;
  12. ; how bout:
  13.  (defun search-buffers (s &optional fn)
  14.    (interactive "sString: ")
  15.    (if (null fn) (setq fn (symbol-function 'recursive-edit)))
  16.    (save-excursion
  17.      (catch 'search-buffers-abort
  18.        (mapcar (function
  19.         (lambda (x)
  20.           (message "searching %s..." (buffer-name x))
  21.           (set-buffer x)
  22.           (save-excursion
  23.             (save-restriction
  24.               (widen)
  25.               (goto-char (point-min))
  26.               (if (search-forward s nil t)
  27.               (progn
  28.                 (switch-to-buffer x)
  29.                 (funcall fn)
  30.                 (while (search-forward s nil t)
  31.                   (funcall fn))))))))
  32.            (buffer-list)))))
  33.  (defun screwit ()
  34.    "quick way out of search-buffers"
  35.    (interactive)
  36.    (throw 'search-buffers-abort nil))
  37.