[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#767: 23.0.60; compilation-start gives bad default-directory
From: |
Lennart Borgman (gmail) |
Subject: |
bug#767: 23.0.60; compilation-start gives bad default-directory |
Date: |
Sat, 23 Aug 2008 15:05:04 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 |
If on w32 default-directory is something like c:\top\sub then the
subprocess started by compilation-start will get pwd=c:\top.
This can be cured by the attached patch for this special case, but it is
only a demonstration of the problem, not the right fix for this problem.
The attached patch only does
(let ((default-directory (file-name-as-directory default-directory))
just before calling `start-file-process-shell-command'.
A slightly better fix would probably be to add the same thing in
`start-file-process', but it seems to me that this should handled at the
C level to catch all cases. I do not know where to do that but it must
be done somewhere before make_process in start-process.
In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
of 2008-08-10
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags
-Ic:/g/include -fno-crossjumping'
? compile-start-default-directory.diff
Index: compile.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/progmodes/compile.el,v
retrieving revision 1.476
diff -b -u -r1.476 compile.el
--- compile.el 13 Jun 2008 16:22:16 -0000 1.476
+++ compile.el 23 Aug 2008 12:49:59 -0000
@@ -1246,7 +1246,8 @@
(funcall compilation-process-setup-function))
(compilation-set-window-height outwin)
;; Start the compilation.
- (let ((proc
+ (let* ((default-directory (file-name-as-directory default-directory))
+ (proc
(if (eq mode t)
;; comint uses `start-file-process'.
(get-buffer-process
- bug#767: 23.0.60; compilation-start gives bad default-directory,
Lennart Borgman (gmail) <=