Emacs elisp expand-file-name window behavior

I found strange behavior of the file name extension function in windows during the installation of the last cedet using el-get. The problem is related to the generation of startups.

In autoload.el, the latest emacs 24.1.50 contains the following function:

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

In my case, the generated-autoload file is:

"/home/ngulyamov/.emacs.d/el-get/cedet/lisp/cedet/srecode/loaddefs.el" 

since I have an $ HOME $ environment variable pointing to C: / home / ngulyamov. In this case, the function returns above:

"d:/home/ngulyamov/.emacs.d/el-get/cedet/lisp/cedet/srecode/loaddefs.el" 

because of the source directory contains:

"d:/devel/emacs/emacs-bzr/trunk_jenkins/".

As you can see, this changes the drive letter from C: to D :. At the same time, in emacs 23.3, this function returns a semi-correct value, since the source directory contains the value:

"c:/Users/Sean/Downloads/emacs-23.3/".

According to the function description, the file name of the file:

<i> (expand-file-name NAME and optional DEFAULT-DIRECTORY)

NAME . DEFAULT-DIRECTORY - , , NAME ( ); DEFAULT-DIRECTORY , `default-directory '.

Windows .

: 1. Windows? 2. source ?

- ? autoload.el?

.

+5
1
. Makefile cedet, $(abspath) make 3.8. cygwin make UNIX, /home/ngulyamov/... source-directory autoload d:/home/ngulyamov/.... make GnuWin32 , :
C:\home\ngulyamov\.emacs.d\el-get\cedet>\gnuwin32\bin\make all
Removing loaddefs.el files from subprojects.
Generating autoloads.
make[1]: Entering directory `C:/home/ngulyamov/.emacs.d/el-get/cedet/lisp/cedet'
    > autoloads
Wrote C:/home/ngulyamov/.emacs.d/el-get/cedet/lisp/cedet/loaddefs.el
Loading vc-bzr...
Generating autoloads for C:/home/ngulyamov/.emacs.d/el-get/cedet/lisp/cedet/cedet-android.el...
Memory exhausted--use C-x s then exit and restart Emacs
make[1]: *** [autoloads] Error 127

- autoload.el :

(setq-default source-directory "C:/home/ngulyamov/.emacs.d/")

, , .

+2

All Articles