%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/eshell/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/eshell/em-glob.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\312\313\314\315\316DD\317\320\321\322\323\310\303&	\210\312\324\314\315\325DD\326\322\327\310\303&\210\312\330\314\315\331DD\332\322\327\310\303&\210\312\333\314\315\334DD\335\322\327\310\303&\210\312\336\314\315\337DD\340\322\327\310\303&\210\312\341\314\315\342DD\343\322\327\310\303&\210\312\344\314\315\345DD\346\322\347\310\303&\210\312\350\314\315\351DD\352\322\353\310\303&\207" [require esh-util custom-declare-group eshell-glob nil "This module provides extended globbing syntax, similar what is used\nby zsh for filename generation." :tag "Extended filename globbing" :group eshell-module custom-declare-variable eshell-glob-load-hook funcall function #[0 "\300\207" [nil] 1] "A list of functions to run when `eshell-glob' is loaded." :version "24.1" :type hook eshell-glob-include-dot-files #[0 "\300\207" [nil] 1] "If non-nil, glob patterns will match files beginning with a dot." boolean eshell-glob-include-dot-dot #[0 "\300\207" [t] 1] "If non-nil, glob patterns that match dots will match . and .." eshell-glob-case-insensitive #[0 "\301>\207" [system-type (ms-dos windows-nt)] 2] "If non-nil, glob pattern matching will ignore case." eshell-glob-show-progress #[0 "\300\207" [nil] 1] "If non-nil, display progress messages during a recursive glob.\nThis option slows down recursive glob processing by quite a bit." eshell-error-if-no-glob #[0 "\300\207" [nil] 1] "If non-nil, it is an error for a glob pattern not to match.\n This mimics the behavior of zsh if non-nil, but bash if nil." eshell-glob-chars-list #[0 "\300\207" [(93 91 42 63 126 40 41 124 35 94)] 1] "List of additional characters used in extended globbing." (repeat character) eshell-glob-translate-alist #[0 "\300\207" [((93 . "]") (91 . "[") (94 . "^") (63 . ".") (42 . ".*") (126 . "~") (40 . "\\(") (41 . "\\)") (124 . "\\|") (35 lambda (str pos) (if (and (< (1+ pos) (length str)) (memq (aref str (1+ pos)) '(42 35 43 63))) (cons (if (eq (aref str (1+ pos)) 63) "?" (if (eq (aref str (1+ pos)) 42) "*" "+")) (+ pos 2)) (cons "*" (1+ pos)))))] 1] "An alist for translation of extended globbing characters." (alist :key-type character :value-type (choice string function))] 10)
#@40 Initialize the extended globbing code.
(defalias 'eshell-glob-initialize #[0 "\302\301!\203\303\301!\210\304	\"\305\306\307\310\211$\210\305\311\312\313\310$\207" [eshell-glob-chars-list eshell-special-chars-outside-quoting boundp make-local-variable append add-hook eshell-parse-argument-hook eshell-parse-glob-chars t eshell-pre-rewrite-command-hook eshell-no-command-globbing nil] 5 (#$ . 2644)])
#@80 Don't glob the command argument.  Reflect this by modifying TERMS.

(fn TERMS)
(defalias 'eshell-no-command-globbing #[257 "\300@<\203@@\301=\203\211@A@\240\210\207" [nil eshell-extended-glob] 4 (#$ . 3054)])
#@59 Add `eshell-extended-glob' to the argument modifier list.
(defalias 'eshell-add-glob-modifier #[0 "\301>\203\302\301\"\303\300\304\"\210\303\300\305\"\207" [eshell-current-modifiers expand-file-name delq add-to-list #[257 "\211<\203\n\300\301\"\207\301!\207" [mapcar expand-file-name] 4 "\n\n(fn LIST)"] eshell-extended-glob] 3 (#$ . 3276)])
#@175 Parse a globbing delimiter.
The character is not advanced for ordinary globbing characters, so
that other function may have a chance to override the globbing
interpretation.
(defalias 'eshell-parse-glob-chars #[0 "\303f>\205l\303f\304>\204\303\305 \210\207`\303u\210`Sf\306\211\307=\203&\310\202'\311\"\211\2043\312\313\"\202h\314\211	>\262\203[\211T\211\206C`\211dU\206M\211f\n>\262\262\203[\303b\210\202h\305 \210\315`ST\"Tb\210\266\202\262\207" [eshell-glob-chars-list eshell-modules-list eshell-delimiter-argument-list nil (40 91) eshell-add-glob-modifier eshell-find-delimiter 91 93 41 throw eshell-incomplete eshell-pred buffer-substring-no-properties] 7 (#$ . 3633)])
(defvar eshell-glob-chars-regexp nil)
#@737 Convert glob-pattern PATTERN to a regular expression.
The basic syntax is:

  glob  regexp   meaning
  ----  ------   -------
  ?      .       matches any single character
  *      .*      matches any group of characters (or none)
  #      *       matches zero or more occurrences of preceding
  ##     +       matches one or more occurrences of preceding
  (x)    \(x\)   makes `x' a regular expression group
  |      \|      boolean OR within an expression group
  [a-b]  [a-b]   matches a character or range
  [^a]   [^a]    excludes a character or range

If any characters in PATTERN have the text property `eshell-escaped'
set to true, then these characters will match themselves in the
resulting regular expression.

(fn PATTERN)
(defalias 'eshell-glob-regexp #[257 "\303\304\305\206\306\300!\210\307\310\311\312	\"\"\211#\203\303\224H\313\314#!P\262\315\316#\203F\313\317!!P\262T\262\202z\211\n\236\211\204U\320\321\"\210\202y\211A;\203hAP\262T\262\202y\211A\"@P\262\211A\262\210\210\266\202\322\313\314\"!\323R\207" [eshell-glob-chars-regexp eshell-glob-chars-list eshell-glob-translate-alist 0 nil string-match make-local-variable format "[%s]+" apply string regexp-quote substring get-text-property escaped char-to-string error "Unrecognized globbing character `%c'" "\\`" "\\'"] 11 (#$ . 4375)])
#@682 Return a list of files generated from GLOB, perhaps looking for DIRS-ONLY.
This function almost fully supports zsh style filename generation
syntax.  Things that are not supported are:

   ^foo        for matching everything but foo
   (foo~bar)   tilde within a parenthesis group
   foo<1-10>   numeric ranges
   foo~x(a|b)  (a|b) will be interpreted as a predicate/modifier list

Mainly they are not supported because file matching is done with Emacs
regular expressions, and these cannot support the above constructs.

If this routine fails, it returns nil.  Otherwise, it returns a list
the form:

   (INCLUDE-REGEXP EXCLUDE-REGEXP (PRED-FUNC-LIST) (MOD-FUNC-LIST))

(fn GLOB)
(defalias 'eshell-extended-glob #[257 "\304!\305\211\211\306\216\211A\203#\307@!\203#\310\311@!A\"\210\202*\310\311\312!\"\210)\n\2036\313\n\314\"\206B\203A\315\316\"\202B+\207" [ange-cache message-shown eshell-glob-matches eshell-error-if-no-glob eshell-split-path nil #[0 "\205\301\302!\207" [message-shown message nil] 2] file-name-absolute-p eshell-glob-entries file-name-as-directory "." sort string< error "No matches found: %s"] 5 (#$ . 5742)])
#@109 Glob the entries in PATHS, possibly recursing if RECURSE-P is non-nil.

(fn PATH GLOBS &optional RECURSE-P)
(defalias 'eshell-glob-entries #[770 "\3061\f\307\310\"0\202\210\311@\211G\311\211\211\211\211\211\211\312U\203?\313\232\203?\314\262A\262\f@\262	G\211\262	\202`\315U\203c\316\232\203c\312\262A\262\f@\262	G\211\262	\204\n\203q\204q\317\320!\210\321	\262\n=\203\264\322\323#\211\262\203\264\324\325\f#\204\232\211T	U\203\241\211T\262\202v\326\n\327#\262\326\nT\"\262\202v\210GSH\330=\203\310\326\327#\262\203\340GS\262H\330=\203\340\326\327#\262\210\331!\262\205\355\331!\262\n\204\374\327H\332=\203\204%A\204%\203\333\334Q\202\335\262\202%\203\"\336\334Q\202#\337\262\n\2039\f\2039\340\341
G#\210\342(\f\343\232\203C\310\262
	\203\341	@\262G\262SH\330=\262\344!\205e\322\"?\205n\322\"\262\203\220A\203\211\203\220\fPB\262\202\220\fP
B\n\203\331\203\331\312V\204\272\314U\203\255\343\232\204\331\312U\203\272\345\232\204\331\fP\211\262\203\331\n\314U\203\323\346\344!!\204\331\211B\262	A\262\n\202C\237\262\237\262\203\347@
A\"\210A\262\202\352\205\347@

#\210A\262\202)\207" [eshell-glob-case-insensitive case-fold-search eshell-glob-include-dot-files eshell-glob-include-dot-dot eshell-glob-show-progress eshell-glob-matches (error) file-name-all-completions "" nil 3 "**/" 2 4 "***/" error "`**' cannot end a globbing pattern" 1 string-match "~" get-text-property escaped substring 0 47 eshell-glob-regexp 46 "\\(\\`\\.\\.?\\'\\|" "\\)" "\\`\\.\\.?\\'" "\\(\\`\\.\\|" "\\`\\." message "Building file list...%d so far: %s" t "./" directory-file-name "../" file-symlink-p eshell-glob-entries message-shown] 18 (#$ . 6903)])
(provide 'em-glob)

Zerion Mini Shell 1.0