Subject: Re: bug#13921: 24.2; Misbehavior of expand-file-name on Cygwin with Emacs 24.2

From: Eli Zaretskii <[email-masked]>
Date: Mon, 11 Mar 2013 19:54:43 +0200

> Date: Mon, 11 Mar 2013 19:43:53 +0200
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > 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?
> 
> I have no idea.  I don't have Cygwin installed, so I cannot try what
> you did.  One way to try to figure that out would be for you to insert
> 'message' lines that display default-directory in a few places in the
> code that gets run by this command, and see when it changes, and then
> see why.

One particular place to take a look is here (from autoload.el):

(defun autoload-generated-file ()
  (expand-file-name generated-autoload-file
                    ;; File-local settings of generated-autoload-file should
                    ;; be interpreted relative to the file's location,
                    ;; of course.
                    (if (not (local-variable-p 'generated-autoload-file))
                        (expand-file-name "lisp" source-directory)))) <<<<<<<<

What is source-directory in that run?