aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/eshell
diff options
context:
space:
mode:
authorJohn Wiegley <[email protected]>2004-05-08 12:39:01 +0000
committerJohn Wiegley <[email protected]>2004-05-08 12:39:01 +0000
commit4403b1e1e066dd85757aecacc115bc3d221f4c93 (patch)
tree95f98003dae1f1b67959623727d42a0dfa44089a /lisp/eshell
parentdb2814522c9d78489c9dd2fa2fee128d71e2ad44 (diff)
2004-05-08 John Wiegley <[email protected]>
* eshell/em-glob.el (eshell-glob-initialize): Move initialization of `eshell-glob-chars-regexp' into `eshell-glob-regexp', so that function can be used outside of eshell buffers. (eshell-glob-regexp): Initialize `eshell-glob-chars-regexp' here.
Diffstat (limited to 'lisp/eshell')
-rw-r--r--lisp/eshell/em-glob.el15
1 files changed, 7 insertions, 8 deletions
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el
index 24447c3e66..c84962e66b 100644
--- a/lisp/eshell/em-glob.el
+++ b/lisp/eshell/em-glob.el
@@ -122,10 +122,6 @@ This option slows down recursive glob processing by quite a bit."
:type '(repeat (cons character (choice regexp function)))
:group 'eshell-glob)
-;;; Internal Variables:
-
-(defvar eshell-glob-chars-regexp nil)
-
;;; Functions:
(defun eshell-glob-initialize ()
@@ -134,8 +130,6 @@ This option slows down recursive glob processing by quite a bit."
(when (boundp 'eshell-special-chars-outside-quoting)
(set (make-local-variable 'eshell-special-chars-outside-quoting)
(append eshell-glob-chars-list eshell-special-chars-outside-quoting)))
- (set (make-local-variable 'eshell-glob-chars-regexp)
- (format "[%s]+" (apply 'string eshell-glob-chars-list)))
(add-hook 'eshell-parse-argument-hook 'eshell-parse-glob-chars t t)
(add-hook 'eshell-pre-rewrite-command-hook
'eshell-no-command-globbing nil t))
@@ -184,6 +178,8 @@ interpretation."
(buffer-substring-no-properties (1- (point)) (1+ end))
(goto-char (1+ end))))))))))
+(defvar eshell-glob-chars-regexp nil)
+
(defun eshell-glob-regexp (pattern)
"Convert glob-pattern PATTERN to a regular expression.
The basic syntax is:
@@ -204,8 +200,11 @@ set to true, then these characters will match themselves in the
resulting regular expression."
(let ((matched-in-pattern 0) ; How much of PATTERN handled
regexp)
- (while (string-match eshell-glob-chars-regexp
- pattern matched-in-pattern)
+ (while (string-match
+ (or eshell-glob-chars-regexp
+ (set (make-local-variable 'eshell-glob-chars-regexp)
+ (format "[%s]+" (apply 'string eshell-glob-chars-list))))
+ pattern matched-in-pattern)
(let* ((op-begin (match-beginning 0))
(op-char (aref pattern op-begin)))
(setq regexp