> By contrast, compilation of CEDET was probably run somewhere on drive > D:, so /home/epich/sw/cedet/lisp/cedet/loaddefs.el got D: prepended to > it. No, it wasn't. I type these two commands at the Cygwin shell without changing anything, including pwd: emacs -batch --no-site-file --eval '(setq debug-on-error t)' -l "../../cedet-remove-builtin.el" -L . --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))' -L ../eieio/ -L ./ -L ./ --eval '(progn (setq generated-autoload-file "/home/epich/sw/cedet/lisp/cedet/loaddefs.el"))' -f batch-update-autoloads /home/epich/sw/cedet/lisp/cedet emacs -batch --no-site-file --eval '(setq debug-on-error t)' -l "../../cedet-remove-builtin.el" -L . --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))' -L ../eieio/ -L ./ -L ./ --eval '(progn (setq generated-autoload-file "/home/epich/sw/cedet/lisp/cedet/loaddefs.el") (message "DEBUG: expanded file name is %s" (expand-file-name "/home/epich/sw/cedet/lisp/cedet")))' /home/epich/sw/cedet/lisp/cedet The first yields an incorrect "d:" prefix, the second the "c:" prefix. Why would this be? This is evidence of an Emacs bug. > I don't know why you invoke Emacs from the Cygwin Bash. I suggest not > to, or to switch to a Cygwin build of Emacs. Mixing these two > environments is asking for trouble. When I set up Cygwin, I did not install Cygwin's Emacs installation. There is no conflict with an alternate Emacs. I am merely using Cygwin's GNU Make to execute makefiles, which correctly invoke the Windows emacs.exe binary. Why shouldn't that work?