;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:25:03 2007 ;;; from file /home/cyd/emacs/lisp/progmodes/grep.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`grep.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\305\306\307\306\310&\207" [require compile custom-declare-group grep nil "Run grep as inferior of Emacs, parse error messages." :group tools processes] 8) #@78 *Number of lines in a grep window. If nil, use `compilation-window-height'. (custom-declare-variable 'grep-window-height 'nil '(#$ . -759) :type '(choice (const :tag "Default" nil) integer) :version "22.1" :group 'grep) #@535 If t, use special markers to highlight grep matches. Some grep programs are able to surround matches with special markers in grep output. Such markers can be used to highlight matches in grep mode. This option sets the environment variable GREP_COLOR to specify markers for highlighting and GREP_OPTIONS to add the --color option in front of any explicit grep options before starting the grep. The default value of this variable is set up by `grep-compute-defaults'; call that function before using this variable in your program. (custom-declare-variable 'grep-highlight-matches ''auto-detect '(#$ . 987) :type '(choice (const :tag "Do not highlight matches with grep markers" nil) (const :tag "Highlight matches with grep markers" t) (other :tag "Not Set" auto-detect)) :version "22.1" :group 'grep) #@222 *Non-nil to scroll the *grep* buffer window as output appears. Setting it causes the grep commands to put point at the end of their output window so that the end of the output is always visible rather than the begining. (custom-declare-variable 'grep-scroll-output 'nil '(#$ . -1799) :type 'boolean :version "22.1" :group 'grep) #@365 The default grep command for \[grep]. If the grep program used supports an option to always include file names in its output (such as the `-H' option to GNU grep), it's a good idea to include it when specifying `grep-command'. The default value of this variable is set up by `grep-compute-defaults'; call that function before using this variable in your program. (custom-declare-variable 'grep-command 'nil '(#$ . 2136) :type '(choice string (const :tag "Not Set" nil)) :group 'grep) #@411 The default command to run for \[lgrep]. The default value of this variable is set up by `grep-compute-defaults'; call that function before using this variable in your program. The following place holders should be present in the string: - place to put -i if case insensitive grep. - file names and wildcards to search. - the regular expression searched for. - place to insert null-device. (custom-declare-variable 'grep-template 'nil '(#$ . 2628) :type '(choice string (const :tag "Not Set" nil)) :version "22.1" :group 'grep) #@402 If t, append the value of `null-device' to `grep' commands. This is done to ensure that the output of grep includes the filename of any match in the case where only a single file is searched, and is not necessary if the grep program used supports the `-H' option. The default value of this variable is set up by `grep-compute-defaults'; call that function before using this variable in your program. (custom-declare-variable 'grep-use-null-device ''auto-detect '(#$ . 3183) :type '(choice (const :tag "Do Not Append Null Device" nil) (const :tag "Append Null Device" t) (other :tag "Not Set" auto-detect)) :group 'grep) #@180 The default find command for \[grep-find]. The default value of this variable is set up by `grep-compute-defaults'; call that function before using this variable in your program. (custom-declare-variable 'grep-find-command 'nil '(#$ . 3811) :type '(choice string (const :tag "Not Set" nil)) :group 'grep) #@470 The default command to run for \[rgrep]. The default value of this variable is set up by `grep-compute-defaults'; call that function before using this variable in your program. The following place holders should be present in the string: - base directory for find - find options to restrict or expand the directory list - find options to limit the files matched - place to put -i if case insensitive grep - the regular expression searched for. (custom-declare-variable 'grep-find-template 'nil '(#$ . 4123) :type '(choice string (const :tag "Not Set" nil)) :version "22.1" :group 'grep) #@66 *Alist of aliases for the FILES argument to `lgrep' and `rgrep'. (custom-declare-variable 'grep-files-aliases ''(("el" . "*.el") ("ch" . "*.[ch]") ("c" . "*.c") ("h" . "*.h") ("asm" . "*.[sS]") ("m" . "[Mm]akefile*") ("l" . "[Cc]hange[Ll]og*") ("tex" . "*.tex") ("texi" . "*.texi")) '(#$ . -4741) :type 'alist :group 'grep) #@73 *List of names of sub-directories which `rgrep' shall not recurse into. (custom-declare-variable 'grep-find-ignored-directories ''("CVS" ".svn" "{arch}" ".hg" "_darcs" ".git" ".bzr") '(#$ . -5071) :type '(repeat string) :group 'grep) #@101 *If non-nil, column numbers in grep hits are screen columns. See `compilation-error-screen-columns' (custom-declare-variable 'grep-error-screen-columns 'nil '(#$ . -5312) :type '(choice (const :tag "Default" nil) integer) :version "22.1" :group 'grep) #@71 List of hook functions run by `grep-process-setup' (see `run-hooks'). (custom-declare-variable 'grep-setup-hook 'nil '(#$ . 5570) :type 'hook :group 'grep) #@73 Keymap for grep buffers. `compilation-minor-mode-map' is a cdr of this. (defvar grep-mode-map (byte-code "\302B\303 \304\305#\210\303 \306\307#\210\303 \310\311#\210\303 \312\313#\210\303 \314\315#\210\303 \316\317#\210\303 \320\321#\210\303 \322\323#\210\303 \324\325#\210\303 \326\327#\210\303 \330\331\332\331!B#\210\303 \333\334#\210\303 \335\336#\210\303 \337\340#\210\303 \341\342#\210\303 \343\344#\210\303 \345\346#\210\303 \347\350#\210\303 \351\352#\210\303 \353\354#\210\303 \355\356#\210 )\207" [compilation-minor-mode-map map keymap define-key " " scroll-up "" scroll-down "" next-error-follow-minor-mode " " compile-goto-error "n" next-error-no-select "p" previous-error-no-select "{" compilation-previous-file "}" compilation-next-file " " compilation-next-error [backtab] compilation-previous-error [menu-bar grep] "Grep" make-sparse-keymap [menu-bar grep compilation-kill-compilation] ("Kill Grep" . kill-compilation) [menu-bar grep compilation-separator2] ("----") [menu-bar grep compilation-compile] ("Compile..." . compile) [menu-bar grep compilation-grep] ("Another grep..." . grep) [menu-bar grep compilation-grep-find] ("Recursive grep..." . grep-find) [menu-bar grep compilation-recompile] ("Repeat grep" . recompile) [menu-bar grep compilation-separator2] ("----") [menu-bar grep compilation-first-error] ("First Match" . first-error) [menu-bar grep compilation-previous-error] ("Previous Match" . previous-error) [menu-bar grep compilation-next-error] ("Next Match" . next-error)] 6) (#$ . 5732)) (defalias 'kill-grep 'kill-compilation) #@220 The most recent grep buffer. A grep buffer becomes most recent when you select Grep mode in it. Notice that using \[next-error] or \[compile-goto-error] modifies `complation-last-buffer' rather than `grep-last-buffer'. (defvar grep-last-buffer nil (#$ . 7307)) #@72 Regexp used to match grep hits. See `compilation-error-regexp-alist'. (defvar grep-regexp-alist '(("^\\(.+?\\)\\(:[ ]*\\)\\([0-9]+\\)\\2" 1 3) ("^\\(\\(.+?\\):\\([0-9]+\\):\\).*?\\(\\[01;31m\\(?:\\[K\\)?\\)\\(.*?\\)\\(\\[[0-9]*m\\)" 2 3 ((lambda nil (setq compilation-error-screen-columns nil) (- (match-beginning 4) (match-end 1))) lambda nil (- (match-end 5) (match-end 1) (- (match-end 4) (match-beginning 4)))) nil 1) ("^Binary file \\(.+\\) matches$" 1 nil nil 0 1)) (#$ . 7574)) #@45 Message to print when no matches are found. (defvar grep-error "grep hit" (#$ . 8070)) #@33 Face name to use for grep hits. (defvar grep-hit-face compilation-info-face (#$ . 8163)) #@43 Face name to use for grep error messages. (defvar grep-error-face 'compilation-error (#$ . 8258)) #@36 Face name to use for grep matches. (defvar grep-match-face 'match (#$ . 8362)) #@42 Face name to use for grep context lines. (defvar grep-context-face 'shadow (#$ . 8447)) #@106 Additional things to highlight in grep output. This gets tacked on the end of the generated expressions. (defvar grep-mode-font-lock-keywords '(("^\\([A-Za-z_0-9/.+-]+\\)[ ]*:" 1 font-lock-function-name-face) (": \\(.+\\): \\(?:Permission denied\\|No such \\(?:file or directory\\|device or address\\)\\)$" 1 grep-error-face) ("^Grep[/a-zA-z]* started.*" (0 '(face nil message nil help-echo nil mouse-face nil) t)) ("^Grep[/a-zA-z]* finished \\(?:(\\(matches found\\))\\|with \\(no matches found\\)\\).*" (0 '(face nil message nil help-echo nil mouse-face nil) t) (1 compilation-info-face nil t) (2 compilation-warning-face nil t)) ("^Grep[/a-zA-z]* \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" (0 '(face nil message nil help-echo nil mouse-face nil) t) (1 grep-error-face) (2 grep-error-face nil t)) ("^.+?-[0-9]+-.*\n" (0 grep-context-face)) ("\\(\\[01;31m\\)\\(.*?\\)\\(\\[[0-9]*m\\)" (2 (list 'face nil 'font-lock-face grep-match-face)) ((lambda (bound)) (progn (replace-match "" t t nil 3) (replace-match "" t t nil 1)))) ("\\(\\[[0-9;]*[mK]\\)" ((lambda (bound)) (replace-match "" t t nil 1)))) (#$ . 8542)) #@145 The default grep program for `grep-command' and `grep-find-command'. This variable's value takes effect when `grep-compute-defaults' is called. (defvar grep-program "grep" (#$ . 9716)) #@126 The default find program for `grep-find-command'. This variable's value takes effect when `grep-compute-defaults' is called. (defvar find-program "find" (#$ . 9908)) #@283 Non-nil means that `grep-find' uses the `xargs' utility by default. If `exec', use `find -exec'. If `gnu', use `find -print0' and `xargs -0'. Any other non-nil value means to use `find -print' and `xargs'. This variable's value takes effect when `grep-compute-defaults' is called. (defvar grep-find-use-xargs nil (#$ . 10081)) (byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\306B\302\306!\204-\303\306\304\"\210\307B\302\307!\204<\303\307\310\"\210\304\207" [current-load-list grep-history default-boundp set-default nil grep-find-history grep-regexp-history grep-files-history ("ch" "el")] 3) #@122 Setup compilation variables and buffer for `grep'. Set up `compilation-exit-message-function' and run `grep-setup-hook'. (defalias 'grep-process-setup #[nil "\203 \302=\204 \303 \210\302=\203&\304\305\306\305!\307P\"\210\304\310\311\"\210\304\312\313\"\210\314\301!\210\315\316\317!\207" [grep-highlight-matches compilation-exit-message-function t grep-compute-defaults setenv "GREP_OPTIONS" getenv " --color=always" "GREP_COLOR" "01;31" "GREP_COLORS" "mt=01;31:fn=:ln=:bn=:se=:ml=:cx=:ne" make-local-variable #[(status code msg) "\303=\203\304 !\203\305\207 \306U\203\307\207\n B\207\n B\207" [status code msg exit zerop ("finished (matches found)\n" . "matched") 1 ("finished with no matches found\n" . "no match")] 2] run-hooks grep-setup-hook] 4 (#$ . 10734)]) (defalias 'grep-probe #[(command args &optional func result) "\301\302\303\217\206 \304\232\207" [result nil (byte-code "\303\206\304 \n#\207" [func command args apply call-process] 4) ((error)) 0] 3]) (defalias 'grep-compute-defaults #[nil "\203F\306=\204F\307\310!\311\216r q\210\312\313\n\"\f\203+\314\f\315\306\315\316 \257\317#\2026\314 \315\306\315\320\316 \257\"\205Ceb\210\321\322 !\323P!,?\f\203Y/\203Y0\203Y1\2041\203a\324\202b\320\314 \315\211\211\325\3262\257\315\327$\205t\330P3\f\204\202\331\332 3#0\204\217\331\333 3#04\204\263\3145\315\211\2112\334BBBB\"\203\260\314\335\336\"\203\260\337\202\261\3404/\204\3624\337=\203\310\331\3415\f#\202\3604\340=\203\352\331\3425\f#6\331\34362\344\345!$6GT)B\202\360\331\3465\f#/1\2040\331\347 3#74\337=\203\331\35057#\202-4\340=\203&\331\351572\344\345!%\202-\331\35257#)1)8?\206;8\306=?\205b\307\310!9\353\216r9q\210\314 \354\"\205^eb\210\355\356\315\306#\205^\306+\2118\207" [grep-use-null-device #1=#:temp-buffer data-directory hello-file grep-command grep-program t generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) expand-file-name "HELLO" grep-probe nil "^English" call-process-shell-command "-nH" looking-at regexp-quote ":[0-9]+:English" "-n" "-e" "foo" 1 " -e" format "%s %s " "%s %s " ("-print0") "xargs" (nil nil nil "-0" "-e" "echo") gnu exec "%s . -type f -print0 | xargs -0 -e %s" "%s . -type f -exec %s" "%s {} %s %s" shell-quote-argument ";" "%s . -type f -print | xargs %s" "%s %s " "%s . -type f -print0 | xargs -0 -e %s" "%s . -type f -exec %s {} %s %s" "%s . -type f -print | xargs %s" ((byte-code "\301!\203\n\302!\210\301\207" [#2=#:temp-buffer buffer-name kill-buffer] 2)) (nil t nil "--help") search-forward "--color" grep-find-command grep-template grep-find-template null-device grep-options grep-find-use-xargs find-program cmd0 gcmd grep-highlight-matches #2#] 9]) (defalias 'grep-tag-default #[nil "\203 \203`\304 U\204\305`\304 \"\206'\n\206\" \302N\206\"\306 \206'\307\207" [transient-mark-mode mark-active find-tag-default-function major-mode mark buffer-substring-no-properties find-tag-default ""] 3]) #@61 Compute the default grep command for C-u M-x grep to offer. (defalias 'grep-default-command #[nil "\305\306 !\307@\206 \310\311 \312Q\n\"\204\310\313\n\"\205+\314\315\316\217\210\317\f\320\211\n\321%+\207" [grep-history grep-command grep-default sh-arg-re tag-default shell-quote-argument grep-tag-default "\\(\\(?:\"\\(?:[^\"]\\|\\\\\"\\)+\"\\|'[^']+'\\|[^\"' \n]\\)+\\)" string-match "[^ ]+\\s +\\(?:-[^ ]+\\s +\\)*" "\\(\\s +\\(\\S +\\)\\)?" "\\(\\)\\'" nil (byte-code ";\203+\303\224\203 \304 \305\216\306\307\310\311\312\n\"!!\310!\"*\204+\n\313\303\224O\314\315!Q\303\207" [buffer-file-name save-match-data-internal grep-default 2 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) string-match wildcard-to-regexp file-name-nondirectory match-string 3 0 " *." file-name-extension] 6) ((error)) replace-match t 1] 6 (#$ . 13816)]) (byte-code "\302\303N\204\f\304\302\303\305#\210\306\307!\204\304\307\310\311#\210\307B\312\307!\204(\313\307\314 \"\210\306\315!\2044\304\315\310\311#\210\315B\312\315!\204D\313\315\316 \"\210\304\301\310\311#\210\301B\312\301!\204^\313\301\317\301\320\"\210 \"\210\304\311\321\322#\207" [current-load-list grep-mode-abbrev-table grep-mode-hook variable-documentation put "Hook run when entering Grep mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp grep-mode-map definition-name grep-mode default-boundp set-default make-sparse-keymap grep-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent compilation-mode] 5) #@236 Sets `grep-last-buffer' and `compilation-window-height'. In addition to any hooks its parent mode `compilation-mode' might have run, this mode runs the hook `grep-mode-hook', as the final step during initialization. \{grep-mode-map} (defalias 'grep-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2036 \321 =\203<\322\f\323 \"\210)\324 !\210\325\f!\210$%\306\326!\210&\306\327!\210'\306\330!\210(\306\331!\210)\306\332!\210*p+\306\333!\210,\306\334!\210-\306\335!\210\336\306\337!\210\307)\340\341!\203\235\341\342!\207\343\342!\207" [delay-mode-hooks major-mode mode-name grep-mode-map grep-mode-syntax-table parent make-local-variable t compilation-mode grep-mode "Grep" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table compilation-error compilation-error-screen-columns compilation-mode-font-lock-keywords compilation-scroll-output compilation-window-height compilation-error-face compilation-error-regexp-alist compilation-process-setup-function grep-process-setup compilation-disable-input fboundp run-mode-hooks grep-mode-hook run-hooks grep-mode-abbrev-table local-abbrev-table grep-error grep-error-screen-columns grep-mode-font-lock-keywords grep-scroll-output grep-window-height grep-last-buffer grep-hit-face grep-regexp-alist] 6 (#$ . 15471) nil]) #@699 Run grep, with user-specified args, and collect output in a buffer. While grep runs asynchronously, you can use \[next-error] (M-x next-error), or \\[compile-goto-error] in the grep output buffer, to go to the lines where grep found matches. For doing a recursive `grep', see the `rgrep' command. For running `grep' in a specific directory, see `lgrep'. This command uses a special history list for its COMMAND-ARGS, so you can easily repeat a grep command. A prefix argument says to default the argument based upon the current tag the cursor is over, substituting it into the last grep command in the grep command history (or into `grep-command' if that history list is empty). (defalias 'grep #[(command-args) "\303\203 \203\n\304 Q\202\n\305\"\207" [grep-use-null-device null-device command-args compilation-start " " grep-mode] 4 (#$ . 16976) (progn (grep-compute-defaults) (let ((default (grep-default-command))) (list (read-from-minibuffer "Run grep (like this): " (if current-prefix-arg default grep-command) nil nil 'grep-history (if current-prefix-arg nil default)))))]) #@301 Run grep via find, with user-specified args COMMAND-ARGS. Collect output in a buffer. While find runs asynchronously, you can use the \[next-error] command to find the text that grep hits refer to. This command uses a special history list for its arguments, so you can easily repeat a find command. (defalias 'grep-find #[(command-args) "\205\n\302\303!)\207" [command-args null-device nil grep] 2 (#$ . 18089) (byte-code "\301 \210\203\302\303\304\211\305%C\207\306\307!\210\304C\207" [grep-find-command grep-compute-defaults read-from-minibuffer "Run find (like this): " nil grep-find-history read-string "compile.el: No `grep-find-command' command available. Press RET."] 6)]) (defalias 'find-grep 'grep-find) #@180 List of substitutions performed by `grep-expand-template'. If car of an element matches, the cdr is evalled in to get the substitution string. Note dynamic scoping of variables. (defconst grep-expand-keywords '(("" and cf (isearch-no-upper-case-p regexp t) "-i") ("" . dir) ("" . files) ("" . null-device) ("" . excl) ("" shell-quote-argument (or regexp ""))) (#$ . 18818)) #@66 Patch grep COMMAND string replacing , , , , and . (defalias 'grep-expand-template #[(template &optional regexp files dir excl) " \306\f\306\211\203E@\307 @ \"\203<\310 A9\203( AJ\2023\311 \312\216\313 A!*\2067\314\315\211 $A\211\204\306 -\207" [template case-fold-search cf command grep-expand-keywords kw nil string-match replace-match match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) eval "" t #1=#:--cl-dolist-temp-- save-match-data-internal] 6 (#$ . 19217)]) #@39 Read regexp arg for interactive grep. (defalias 'grep-read-regexp #[nil "\301 \302\303\203G\304V\203\305\306\"\202\307P\310\311$)\207" [default grep-tag-default read-string "Search for" 0 format " (default \"%s\"): " ": " nil grep-regexp-history] 5 (#$ . 19774)]) #@38 Read files arg for interactive grep. (defalias 'grep-read-files #[(regexp) "\306 \206\307 \211\205;\205\310!\211\203B\n\311\f\203<\f@\fA\312\313 A! \"\2037\311\211\202\311\202 A*\206^ \203U\314 !\211\205Q\315 P)\206^@\206^\n@@\316\317\320\205o\321\322Q\323\260\311\324$\211\205\210\325\n\"A\206\210,\207" [bn fn grep-files-aliases alias aliases ext buffer-file-name buffer-name file-name-nondirectory nil string-match wildcard-to-regexp file-name-extension "*." read-string "Search for \"" "\" in files" " (default " ")" ": " grep-files-history assoc default regexp files] 8 (#$ . 20055)]) #@704 Run grep, searching for REGEXP in FILES in directory DIR. The search is limited to file names matching shell pattern FILES. FILES may use abbreviations defined in `grep-files-aliases', e.g. entering `ch' is equivalent to `*.[ch]'. With \[universal-argument] prefix, you can edit the constructed shell command line before it is executed. With two \[universal-argument] prefixes, directly edit and run `grep-command'. Collect output in a buffer. While grep runs asynchronously, you can use \[next-error] (M-x next-error), or \\[compile-goto-error] in the grep output buffer, to go to the lines where grep found matches. This command shares argument histories with \[rgrep] and \[grep]. (defalias 'lgrep #[(regexp &optional files dir) ";\205oG\306V\205o\n\204 \230\203D\307\202D\310\311\f!!\312 \n#\211\203D\313\232\203?\314\315 \307\211\316%\202D\317\316 \"\210 \205n\f\320\203^\203^ \321Q\202_ \322\"\210)p=\205n\f\211)\207" [regexp command files grep-command dir grep-template 0 nil file-name-as-directory expand-file-name grep-expand-template (4) read-from-minibuffer "Confirm: " grep-history add-to-history compilation-start " " grep-mode current-prefix-arg default-directory grep-use-null-device null-device next-error-last-buffer] 7 (#$ . 20703) (byte-code "\306 \210\203 \307\232\203\310\311\312\211\313%\312D\207\n\204!\312\314\315!D\207\316 \317 !\320\321\312 \322$ \fE+\207" [grep-command current-prefix-arg grep-template regexp files default-directory grep-compute-defaults (16) read-from-minibuffer "Run: " nil grep-history read-string "grep.el: No `grep-template' available. Press RET." grep-read-regexp grep-read-files read-directory-name "In directory: " t dir] 6)]) #@726 Recursively grep for REGEXP in FILES in directory tree rooted at DIR. The search is limited to file names matching shell pattern FILES. FILES may use abbreviations defined in `grep-files-aliases', e.g. entering `ch' is equivalent to `*.[ch]'. With \[universal-argument] prefix, you can edit the constructed shell command line before it is executed. With two \[universal-argument] prefixes, directly edit and run `grep-find-command'. Collect output in a buffer. While find runs asynchronously, you can use \[next-error] (M-x next-error), or \\[compile-goto-error] in the grep output buffer, to go to the lines where grep found matches. This command shares argument histories with \[lgrep] and \[grep-find]. (defalias 'rgrep #[(regexp &optional files dir) ";\205\200G\306V\205\200 \204\n\230?\205\200\307\310\"\207\311\312 !!\313\f\314\315!\316\317\314\320 !\321#\322\314\323!\260 \205K\314\315!\324\317\325 \326#\322\314\323!\327\260%\211\205\203d\330\331\332\211\333%\202j\334\333\"\210 \307\310\"\210) p=\205 \211)\207" [regexp files grep-find-command dir grep-find-template grep-find-ignored-directories 0 compilation-start grep-mode file-name-as-directory expand-file-name grep-expand-template shell-quote-argument "(" " -name " mapconcat split-string " -o -name " " " ")" " -path " #[(dir) "\301\302P!\207" [dir shell-quote-argument "*/"] 3] " -o -path " " -prune -o " read-from-minibuffer "Confirm: " nil grep-find-history add-to-history command current-prefix-arg default-directory next-error-last-buffer] 12 (#$ . 22460) (byte-code "\306 \210\203 \307\232\203\310\311\312\211\313%\312D\207\n\204\"\312\211\314\315!E\207\316 \317 !\320\321\312 \322$ \fE+\207" [grep-find-command current-prefix-arg grep-find-template regexp files default-directory grep-compute-defaults (16) read-from-minibuffer "Run: " nil grep-find-history read-string "grep.el: No `grep-find-template' available. Press RET." grep-read-regexp grep-read-files read-directory-name "Base directory: " t dir] 6)]) (provide 'grep)