emacs - Why is ido-mode trying to use this variable? -


i have emacs auto-save , backup single directory off in home directory. reason, when try exit variable name set save directory getting passed ido-mode , won't let me exit out of emacs. have tried deleting old versions of ido.last file (and symbolic link .#ido.last), doesn't seem consistently take care of problem. have full permissions , ownership of directory files stored in , files themselves. happens on several systems work on covering emacs major versions 21, 22 , 24.

here relevant parts of emacs configuration:

(defvar home (concat (getenv "home") "/")) (defvar emacs-dir (concat home ".emacs.d/")) (defvar savedir (concat home ".saves/"))  (setq backup-directory-alist `((".*" . savedir))) (setq auto-save-file-name-transforms `((".*" ,savedir t))) (setq backup-by-copying t) (setq delete-old-versions t       kept-new-versions 10       kept-old-versions 6       version-control t)  (setq ido-save-directory-list-file (concat emacs-dir "cache/ido.last")) (ido-mode t) (setq ido-enable-flex-matching t       ido-everywhere t) 

this debugger output looks when problem happens.

debugger entered--lisp error: (wrong-type-argument stringp savedir)   expand-file-name(savedir "/home/pinyaka/.emacs.d/cache/")   make-backup-file-name-1("/home/pinyaka/.emacs.d/cache/ido.last")   make-backup-file-name("/home/pinyaka/.emacs.d/cache/ido.last")   find-backup-file-name("/home/pinyaka/.emacs.d/cache/ido.last")   backup-buffer()   basic-save-buffer-2()   basic-save-buffer-1()   basic-save-buffer()   save-buffer()   write-file("/home/pinyaka/.emacs.d/cache/ido.last" nil)   ido-save-history()   ido-kill-emacs-hook()   run-hooks(kill-emacs-hook)   kill-emacs()   save-buffers-kill-emacs(nil)   call-interactively(save-buffers-kill-emacs) 

you can see reason ido has gotten hold of savedir though have never used variable in connection ido-mode (i have included everywhere that variable used ido calls make). why ido savedir?

i think problem is:

(setq backup-directory-alist `((".*" . savedir))) 

should be

(setq backup-directory-alist `((".*" . ,savedir))) 

explanation: when emacs exits, ido trying ta save history; standard backup procedure of emacs kicks in , try backup file. forget unquote savedir in configuration backup-directory-alist, cons cell pair of string , symbol instead of pair of strings expected.


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

android - Keyboard hides my half of edit-text and button below it even in scroll view -

css - Make div keyboard-scrollable in jQuery Mobile? -