|
Re[2]: [CEDET-devel] ede-new infinite loop on Win32
From: Eric M. Ludlam <eric@si...> - 2005-09-13 19:06
|
Ooops, I see I got my arguments to string-match backward. Swap them.
Eric
>>> "Eric M. Ludlam" <eric@...> seems to think that:
>It seems to be most confused by "c:/". There probably needs to be
>some sort of MS windows specific short cut matching the drive letter
>in there, sort of like:
>
>(defun ede-up-directory (dir)
> "Return a path that is up one directory.
>Argument DIR is the directory to trim upwards."
> (if (string-match dir "^[A-Z]:[\\/]$")
> nil
> (let ((parent (expand-file-name ".." dir)))
> (if (and (> (length parent) 1) (string= ".." (substring parent -2)))
> nil
> (file-name-as-directory parent)))))
>
>Can you give that a try?
>
>Thanks
>Eric
>
>>>> "Andrey Zhdanov" <susuman@...> seems to think that:
>>Hello,
>>I run native msvc emacs build from cvs.
>>After issuing ede-new command (after entering Name:),
>>emacs just hangs eating up all CPU time.
>>(All parent dirs do not have Project.ede files)
>>I trace the problem and it looks like there is an infinite
>>loop between (while ... ) in ede-new->ede-parent-project->ede-up-directory.
>>
>>Stack trace:
>>(if (edebug-after (edebug-before 5) 16 (and ... ...)) nil (edebug-after
>>(edebug-before 17) 19 (file-name-as-directory ...)))
>> (let ((parent ...)) (edebug-after (edebug-before 4) 20 (if ... nil ...)))
>> ede-up-directory("c:/")
>> (setq p (ede-up-directory p))
>> (while (and p (not ...)) (setq p (ede-up-directory p)))
>> (let ((p path)) (while (and p ...) (setq p ...)) (if p
>>(ede-load-project-file p) nil))
>> (cond ((not pfc) (let ... ... ...)) (ede-constructing nil) (t (setq
>>toppath ...) (setq pfc ...) (setq o ...) (if ... ...) (let ... ... ... ...
>>.. ... found)))
>> (let* ((path ...) (pfc ...) (toppath nil) (o nil)) (cond (... ...)
>>(ede-constructing nil) (t ... ... ... ... ...)))
>> ede-load-project-file("c:/temp/NetManG2/python//")
>> ede-parent-project()
>> (if (ede-parent-project) (ede-add-subproject (ede-parent-project) nobj))
>> (let* ((obj ...) (nobj ...) (inits ...)) (while inits (eieio-oset nobj ...
>>..) (setq inits ...)) (if (ede-parent-project) (ede-add-subproject ...
>>nobj)) (ede-commit-project nobj))
>> ede-new("Automake")
>> call-interactively(ede-new)
>> execute-extended-command(nil)
>> call-interactively(execute-extended-command)
>>
>>It happens when dir reaches "c:/" it never returns nil
>>because (file-name-as-directory "c:/") returns "c:/" on win32.
>>
>>Thanks.
>>
>>
>>-------------------------------------------------------
>>SF.Net email is Sponsored by the Better Software Conference & EXPO
>>September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
>>Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
>>Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
>>_______________________________________________
>>Cedet-devel mailing list
>>Cedet-devel@...
>>https://lists.sourceforge.net/lists/listinfo/cedet-devel
>>
>
>
>-------------------------------------------------------
>SF.Net email is sponsored by:
>Tame your development challenges with Apache's Geronimo App Server. Download
>it for free - -and be entered to win a 42" plasma tv or your very own
>Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
>_______________________________________________
>Cedet-devel mailing list
>Cedet-devel@...
>https://lists.sourceforge.net/lists/listinfo/cedet-devel
>
|
| Thread | Author | Date | |
|---|---|---|---|
| Re: [CEDET-devel] ede-new infinite loop on Win32 | Eric M. Ludlam <eric@si...> |
|
|
|