home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / gnu / emacs / sources / 898 < prev    next >
Encoding:
Text File  |  1992-12-21  |  1.9 KB  |  50 lines

  1. Newsgroups: gnu.emacs.sources
  2. Path: sparky!uunet!ferkel.ucsb.edu!taco!rock!stanford.edu!agate!spool.mu.edu!uwm.edu!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!news.sei.cmu.edu!fs7.ece.cmu.edu!crabapple.srv.cs.cmu.edu!spot
  3. From: spot@CS.CMU.EDU (Scott Draves)
  4. Subject: Re: REQUEST: find-multiple-buffers.el
  5. In-Reply-To: spot@CS.CMU.EDU's message of Sun, 20 Dec 1992 18:57:08 GMT
  6. Message-ID: <BzKns5.Bu9.1@cs.cmu.edu>
  7. Originator: spot@COBOL.FOX.CS.CMU.EDU
  8. Sender: news@cs.cmu.edu (Usenet News System)
  9. Nntp-Posting-Host: cobol.fox.cs.cmu.edu
  10. Organization: School of Computer Science, Carnegie Mellon University
  11. References: <1992Dec20.054956.24937@murdoch.acc.Virginia.EDU>
  12.     <BzKnBA.BLr.1@cs.cmu.edu>
  13. Date: Sun, 20 Dec 1992 19:07:16 GMT
  14. Lines: 34
  15.  
  16. oops, sorry, i forgot the support functions.  btw, i didn't write this
  17. code, but i don't know who did.  it's been in my .emacs for years...
  18.  
  19. (defun csh-re-to-regexp (reg)
  20.   "Convert a C-shell regular expression to a true r.e."
  21.   (concat "^" (mapconcat 'convert-csh-re-to-regexp reg "") "$"))
  22.  
  23. (defun convert-csh-re-to-regexp (ch)
  24.   "Convert a C-shell wildcard to its regular expression counterpart"
  25.   (cond ((equal ch ?.) "\\.")
  26.         ((equal ch ?*) ".*")
  27.         ((equal ch ??) ".")
  28.         (t (char-to-string ch))))
  29.  
  30. ;;; should derive default RE from mode-alist
  31. (defun find-regexp-files (prefix dir reg)
  32.   "Prompt for a directory and a regular expression.  Open 
  33. buffers for all the files matching that regular expression in the
  34. directory.  The default RE is *.{c,h,y,l,sml,sig}."
  35.   (interactive "p\nDDirectory: \nsRegexp: ")
  36.   (if (equal reg "")
  37.       (setq reg ".*\\.\\(c\\|h\\|y\\|l\\|sml\\|sig\\)$")
  38.     (if (equal prefix 1)
  39.     (setq reg (csh-re-to-regexp reg))))
  40.   (setq files (directory-files dir t reg))
  41.   (if (not files)
  42.       (message "no matching files"))
  43.   (while files
  44.     (find-file (car files))
  45.     (setq files (cdr files))))
  46. -- 
  47.                 orgasm
  48. Scott Draves            nitrous
  49. spot@cs.cmu.edu            death
  50.