Control: reassign -1 emacs25 On Sun, May 24, 2015 at 04:53:16PM +0100, Steve McIntyre wrote: >Package: emacs24 >Version: 24.4+1-5 >Severity: important > >Hi! > >Since the Jessie upgrade, I've been having some occasional very long >startup delays with emacs. Using strace, I can see that emacs is >looking in /share/info at startup, and /share on my machine is an >auto-mounted network share on my home network. On that network, things >work OK but when elsewhere it's been taking quite a long time for the >autmount to timeout and fail. This is the cause of the delay. > >However, in looking this up I can see that there's been quite a I've >tracked it down to quite a major change in info path handling from >emacs23 to emacs24 in lisp/info.el and it seems quite broken, in 3 >different ways. > >1. In Info-default-directory-list, the code builds a large set of > possible info dirs to scan, combining ths set of prefixes > ("/usr/local/" "/usr/" "/opt/" "/") and suffixes ("share/" "" > "gnu/" "gnu/lib/" "gnu/lib/emacs/" "emacs/" "lib/" > "lib/emacs/")). This includes a whole slew of directory > combinations that I think make no sense for an info path on a > Debian system, including things under /share, /gnu etc. > >2. Why on earth is emacs checking the info path at all on startup? > Shouldn't it wait until info functions are actually called for? > >3. The documentation talks about setting INFOPATH in the environment > to over-ride the use of this default directory list, but again > using strace I can see no change to behaviour here at all if I set > INFOPATH > >I've trivially patched my own local emacs to at least remove the "/" >from the list of prefixes - patch available if you'd like to see it...
Hi, I can see that this same issue is still present in emacs25 - I've just installed that and looked in strace output (see below). Any chance of a response here, please? ... 14564 stat("/opt/gnu/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/opt/gnu/lib/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/opt/gnu/lib/emacs/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/opt/emacs/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/opt/lib/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/opt/lib/emacs/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/share/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/info", 0x7ffd0eeb52e0) = -1 ENOENT (No such file or directory) 14564 stat("/gnu/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/gnu/lib/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/gnu/lib/emacs/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/emacs/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/lib/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) 14564 stat("/lib/emacs/info", 0x7ffd0eeb5b30) = -1 ENOENT (No such file or directory) ... -- Steve McIntyre, Cambridge, UK. st...@einval.com < Aardvark> I dislike C++ to start with. C++11 just seems to be handing rope-creating factories for users to hang multiple instances of themselves.