changeset 72243:0fc019770d97

(PC-expand-many-files): Avoid signalling an error when the current directory doesn't exist. Reported by Micha¸«³l Cadilhac.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 02 Aug 2006 14:08:49 +0000
parents ade26f82c364
children 63a604af4b8e
files lisp/ChangeLog lisp/complete.el
diffstat 2 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Aug 02 09:56:16 2006 +0000
+++ b/lisp/ChangeLog	Wed Aug 02 14:08:49 2006 +0000
@@ -1,3 +1,8 @@
+2006-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* complete.el (PC-expand-many-files): Avoid signalling an error when
+	the current directory doesn't exist.  Reported by Micha,Ak(Bl Cadilhac.
+
 2006-08-02  Andreas Schwab  <schwab@suse.de>
 
 	* bindings.el (mode-line-format): Simplify reference to vc-mode.
--- a/lisp/complete.el	Wed Aug 02 09:56:16 2006 +0000
+++ b/lisp/complete.el	Wed Aug 02 14:08:49 2006 +0000
@@ -811,6 +811,12 @@
 (defun PC-expand-many-files (name)
   (with-current-buffer (generate-new-buffer " *Glob Output*")
     (erase-buffer)
+    (when (and (file-name-absolute-p name)
+               (not (file-directory-p default-directory)))
+      ;; If the current working directory doesn't exist `shell-command'
+      ;; signals an error.  So if the file names we're looking for don't
+      ;; depend on the working directory, switch to a valid directory first.
+      (setq default-directory "/"))
     (shell-command (concat "echo " name) t)
     (goto-char (point-min))
     ;; CSH-style shells were known to output "No match", whereas