My
~/.emacs
start-up file is stored in my AFS home directory. Often when I login to a linux machine I will forget to renew my AFS credentials before attempting to edit a local (non-AFS) file with Emacs.When this happens Emacs will attempt to load
~./emacs
but cannot because it is in AFS space where I do not have access. Eventually (after a minute or so) Emacs will give up trying to load~./emacs
and continue. But waiting for Emacs to timeout is annoying (typing Ctrl-Z does not seem to interrupt this timeout).I want to shorten the amount of time that Emacs waits before giving up. I have tried the suggestion at this site which says to put the following code in the
site-start.el
file:(with-timeout (4) (load remote-.emacs))
However, when I do that I get the error
Error in init file: Symbol's value as variable is void: remote-\.emacs
whenever starting Emacs.How can I shorten this timeout?
Answer
Your example fails because remote-.emacs isn’t quoted. This will work:
(with-timeout (4)
(load “remote-.emacs”))
However, from the emacs docs:
…timers can run within a Lisp program only when the program calls a primitive that can wait, with-timeout cannot stop executing body while it is in the midst of a computation…
I assume that emacs is blocked by your OS waiting for a timeout on the remote file over AFS. Thus I suspect that setting a timeout in emacs may have no effect.
Attribution
Source : Link , Question Author : user35042 , Answer Author : Phil Hollenback