[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/complete.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/complete.el |
Date: |
Mon, 22 May 2006 18:09:42 +0000 |
Index: emacs/lisp/complete.el
diff -u emacs/lisp/complete.el:1.52 emacs/lisp/complete.el:1.53
--- emacs/lisp/complete.el:1.52 Tue Apr 18 17:33:33 2006
+++ emacs/lisp/complete.el Mon May 22 18:09:40 2006
@@ -369,7 +369,7 @@
(str (buffer-substring beg end))
(incname (and filename (string-match "<\\([^\"<>]*\\)>?$" str)))
(ambig nil)
- basestr
+ basestr origstr
env-on
regex
p offset
@@ -415,7 +415,7 @@
(file-name-nondirectory dir))
"*/" file))
(setq dir (file-name-directory dir)))
- (setq str (concat dir file))))
+ (setq origstr str str (concat dir file))))
;; Look for wildcard expansions in directory name
(and filename
@@ -443,7 +443,14 @@
(setq str (concat dir (file-name-nondirectory str)))
(insert str)
(setq end (+ beg (length str)))))
- (setq filename nil table nil pred nil))))
+ (if origstr
+ ;; If the wildcards were introduced by us, it's possible
+ ;; that read-file-name-internal (especially our
+ ;; PC-include-file advice) can still find matches for the
+ ;; original string even if we couldn't, so remove the
+ ;; added wildcards.
+ (setq str origstr)
+ (setq filename nil table nil pred nil)))))
;; Strip directory name if appropriate
(if filename
@@ -943,10 +950,11 @@
(if (string-match "<\\([^\"<>]*\\)>?\\'" (ad-get-arg 0))
(let* ((string (ad-get-arg 0))
(action (ad-get-arg 2))
- (name (substring string (match-beginning 1) (match-end 1)))
+ (name (match-string 1 string))
(str2 (substring string (match-beginning 0)))
(completion-table
- (mapcar (lambda (x) (format "<%s>" x))
+ (mapcar (lambda (x)
+ (format (if (string-match "/\\'" x) "<%s" "<%s>") x))
(PC-include-file-all-completions
name (PC-include-file-path)))))
(setq ad-return-value
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/complete.el,
Stefan Monnier <=