After adding the following code in my .emacs file, comes up some error during startup of emacs. I am a newbie of emacs, is there some one can help me figure out where are the errors come from?
Added code in .emacs:
;; Auto-saving the Desktop
(require 'desktop)
(desktop-save-mode 1)
(defun my-desktop-save ()
(interactive)
;; Don't call desktop-save-in-desktop-dir, as it prints a message.
(if (eq (desktop-owner) (emacs-pid))
(desktop-save desktop-dirname)))
(add-hook 'auto-save-hook 'my-desktop-save)
Errors:

Looking at the function definition for what’s breaking, it seems that the error is that prj-file is
NILin line 492. (The otherexpand-filenamecall in the function shouldn’t ever have a nil, since it’s the car of a non-nil list of filenames).Now,
prj-fileis the first filename in/home/shenyan/Test/memcached-1.4.11matching the regexp"\\(Root\\)?ProjStep.ede"and presumably there isn’t one. Since memcached presumably doesn’t have an EDE project file, what’s gone wrong must be that line 508’s call to ede-project-p did something weird when called with this subdirectory of/home/shenyan/Test/.I can’t work out exactly why that happened, but you can debug things quite easily. First bring up your
*scratch*buffer to type emacs lisp easily. To check my guess, insert the following code into the bufferand run it by hitting
C-x C-ewith cursor on the closing bracket. If it returnsnilI was wrong. Otherwise, you’ve found the culprit and should probably debug it further by hunting through the bits ofede-directory-project-pin ede-files.el.Probably what’s going on is that your
/home/shenyan/Test/directory has something that tells EDE to search subdirectories (or maybe that’s the default?) and then the memcached subdirectory has a file whose name makes EDE think it should be searched for a project file. If you work out exactly what happened, you might consider submitting a bug to the EDE developers: they probably shouldn’t error out if the project file doesn’t exist.