Mercurial > emacs
changeset 80878:98ca0b616c89
(compilation-find-file): Add a big comment.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 08 May 2007 16:02:14 +0000 |
parents | 52034b3003ea |
children | cdee0fbb5943 |
files | lisp/progmodes/compile.el |
diffstat | 1 files changed, 18 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/compile.el Tue May 08 15:59:45 2007 +0000 +++ b/lisp/progmodes/compile.el Tue May 08 16:02:14 2007 +0000 @@ -1863,7 +1863,24 @@ (let* ((name (read-file-name (format "Find this %s in (default %s): " compilation-error filename) - spec-dir filename t nil)) + spec-dir filename t nil + ;; The predicate below is fine when called from + ;; minibuffer-complete-and-exit, but it's too + ;; restrictive otherwise, since it also prevents the + ;; user from completing "fo" to "foo/" when she + ;; wants to enter "foo/bar". + ;; + ;; Try to make sure the user can only select + ;; a valid answer. This predicate may be ignored, + ;; tho, so we still have to double-check afterwards. + ;; TODO: We should probably fix read-file-name so + ;; that it never ignores this predicate, even when + ;; using popup dialog boxes. + ;; (lambda (name) + ;; (if (file-directory-p name) + ;; (setq name (expand-file-name filename name))) + ;; (file-exists-p name)) + )) (origname name)) (cond ((not (file-exists-p name))