aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Rodgers2013-10-02 19:33:48 -0400
committerStefan Monnier2013-10-02 19:33:48 -0400
commit376f862a32805cdce7121a2800c2317d5614d750 (patch)
treeed2568028f0309d1e2af4dcb80deb83034c5a353
parentc348360a2bdf390fff9883c4c922804a67c9cc9e (diff)
downloademacs-376f862a32805cdce7121a2800c2317d5614d750.tar.gz
emacs-376f862a32805cdce7121a2800c2317d5614d750.zip
* lisp/progmodes/compile.el (compilation-start): Try globbing the arg to `cd'.
Fixes: debbugs:15417
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/progmodes/compile.el11
2 files changed, 15 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 14d6f8503f6..e1aab1a78bf 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12013-10-02 Kevin Rodgers <kevin.d.rodgers@gmail.com>
2
3 * progmodes/compile.el (compilation-start): Try globbing the arg to
4 `cd' (bug#15417).
5
12013-10-02 Michael Albinus <michael.albinus@gmx.de> 62013-10-02 Michael Albinus <michael.albinus@gmx.de>
2 7
3 Sync with Tramp 2.2.8. 8 Sync with Tramp 2.2.8.
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 8c981b36e56..e25be05fb09 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1583,7 +1583,16 @@ Returns the compilation buffer created."
1583 "\\\\\\(.\\)" "\\1" 1583 "\\\\\\(.\\)" "\\1"
1584 (substring command (1+ (match-beginning 1)) 1584 (substring command (1+ (match-beginning 1))
1585 (1- (match-end 1))))) 1585 (1- (match-end 1)))))
1586 (t (substitute-env-vars (match-string 1 command))))) 1586 ;; Try globbing as well (bug#15417).
1587 (t (let* ((substituted-dir
1588 (substitute-env-vars (match-string 1 command)))
1589 ;; FIXME: This also tries to expand `*' that were
1590 ;; introduced by the envvar expansion!
1591 (expanded-dir
1592 (file-expand-wildcards substituted-dir)))
1593 (if (= (length expanded-dir) 1)
1594 (car expanded-dir)
1595 substituted-dir)))))
1587 (erase-buffer) 1596 (erase-buffer)
1588 ;; Select the desired mode. 1597 ;; Select the desired mode.
1589 (if (not (eq mode t)) 1598 (if (not (eq mode t))