GNU bug report logs -
#27933
emacs25: default info dir initialization slow with remote filesystems
Previous Next
Reported by: Rob Browning <rlb <at> defaultvalue.org>
Date: Thu, 3 Aug 2017 14:01:02 UTC
Severity: minor
Tags: moreinfo
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 27933 in the body.
You can then email your comments to 27933 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 14:01:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Rob Browning <rlb <at> defaultvalue.org>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Thu, 03 Aug 2017 14:01:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[If possible please preserve the 786707-forwarded <at> bugs.debian.org in replies]
It appears that when remote filesystems are involved, the probing to
initialize Info-default-directory-alist can be time consuming, even if
an INFOPATH has been specified.
This was reported as http://bugs.debian.org/786707, and additional
details are available there.
Thanks
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 15:31:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 27933 <at> debbugs.gnu.org (full text, mbox):
Presumably this is less bad since some changes in Emacs master.
See 8ff9c4109fd and 2a2c6ee8d18.
http://lists.gnu.org/archive/html/emacs-diffs/2016-05/msg00336.html
http://lists.gnu.org/archive/html/emacs-diffs/2016-05/msg00338.html
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 16:42:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 27933 <at> debbugs.gnu.org (full text, mbox):
On Thu, Aug 03, 2017 at 11:29:52AM -0400, Glenn Morris wrote:
>
>Presumably this is less bad since some changes in Emacs master.
>See 8ff9c4109fd and 2a2c6ee8d18.
>
>http://lists.gnu.org/archive/html/emacs-diffs/2016-05/msg00336.html
>http://lists.gnu.org/archive/html/emacs-diffs/2016-05/msg00338.html
Hi Glenn,
I've checked yesterday using emacs25 (version 25.1+1-4 in Debian
stretch). I guess those changes didn't make it in before that release
- the second diff you've linked is exactly the trivial change I've
been using locally to solve the problem for me... :-)
--
Steve McIntyre, Cambridge, UK. steve <at> einval.com
"I can't ever sleep on planes ... call it irrational if you like, but I'm
afraid I'll miss my stop" -- Vivek Das Mohapatra
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 16:43:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 27933 <at> debbugs.gnu.org (full text, mbox):
Steve McIntyre wrote:
> I've checked yesterday using emacs25 (version 25.1+1-4 in Debian
> stretch). I guess those changes didn't make it in before that release
Indeed not.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 16:51:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 27933 <at> debbugs.gnu.org (full text, mbox):
On Thu, Aug 03, 2017 at 12:41:48PM -0400, Glenn Morris wrote:
>Steve McIntyre wrote:
>
>> I've checked yesterday using emacs25 (version 25.1+1-4 in Debian
>> stretch). I guess those changes didn't make it in before that release
>
>Indeed not.
OK, cool - thanks for clarifying!
So, I am still curious about a couple of points from my initial bug
report. Maybe you can help with those too?
>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
--
Steve McIntyre, Cambridge, UK. steve <at> einval.com
"Arguing that you don't care about the right to privacy because you have
nothing to hide is no different than saying you don't care about free
speech because you have nothing to say."
-- Edward Snowden
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 17:27:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 27933 <at> debbugs.gnu.org (full text, mbox):
> Date: Thu, 3 Aug 2017 17:49:13 +0100
> From: Steve McIntyre <steve <at> einval.com>
> Cc: 27933 <at> debbugs.gnu.org, 786707 <at> bugs.debian.org,
> Rob Browning <rlb <at> defaultvalue.org>, 786707-forwarded <at> bugs.debian.org
>
> >2. Why on earth is emacs checking the info path at all on startup?
It doesn't do that here, not in the current development sources.
After I start "emacs -Q", (featurep 'info) evaluates to nil and
Info-directory-list is unbound.
> > Shouldn't it wait until info functions are actually called for?
It should, and it does.
> >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
My reading of the code is that if INFOPATH is set in the environment
of the shell from which Emacs is started, then the value of that
variable is used in preference to Info-default-directory-list. Maybe
you didn't start Emacs from the shell whose environment you changed?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 17:36:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 27933 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii wrote:
>> >2. Why on earth is emacs checking the info path at all on startup?
>
> It doesn't do that here, not in the current development sources.
> After I start "emacs -Q", (featurep 'info) evaluates to nil and
> Info-directory-list is unbound.
Info-default-directory-list, which is the thing that stats the
filesystem, is autoloaded.
This area seems overly complicated, probably due to hysterical raisins.
IIRC we've discussed it before.
>> >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
The default still gets set, just not used. You might wonder, why bother
setting something that's not used...
Ideally Info-default-directory-list would go away. leaving only
Info-directory-list initialized in a standard fashion. But I haven't
looked at the details.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 18:33:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 27933 <at> debbugs.gnu.org (full text, mbox):
> From: Glenn Morris <rgm <at> gnu.org>
> Cc: Steve McIntyre <steve <at> einval.com>, 27933 <at> debbugs.gnu.org, 786707 <at> bugs.debian.org, rlb <at> defaultvalue.org, 786707-forwarded <at> bugs.debian.org
> Date: Thu, 03 Aug 2017 13:35:25 -0400
>
> Eli Zaretskii wrote:
>
> >> >2. Why on earth is emacs checking the info path at all on startup?
> >
> > It doesn't do that here, not in the current development sources.
> > After I start "emacs -Q", (featurep 'info) evaluates to nil and
> > Info-directory-list is unbound.
>
> Info-default-directory-list, which is the thing that stats the
> filesystem, is autoloaded.
But who loads it?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Aug 2017 21:38:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 27933 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii wrote:
>> Info-default-directory-list, which is the thing that stats the
>> filesystem, is autoloaded.
>
> But who loads it?
Autoloaded variables are dumped with Emacs.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 03 Feb 2022 20:05:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 27933 <at> debbugs.gnu.org (full text, mbox):
Glenn Morris <rgm <at> gnu.org> writes:
> Ideally Info-default-directory-list would go away. leaving only
> Info-directory-list initialized in a standard fashion. But I haven't
> looked at the details.
I poked a bit at this, and it seems hard to make this work in a
backwards-compatible way. The problem is that we document stuff like
this to work:
(add-to-list 'Info-default-directory-list "~/Info")
And we compute Info-default-directory-list at startup (and it stats a
bunch of directories, which is what this bug report is about). The user
can therefore assume that it's been filled, and may be removing
directories from it, too, so if we just initialise it (or do statting
while initialising Info-directory-list), we'll be breaking people's
setups. I.e., people may have
(setq Info-default-directory-list (delete "/usr/share/info/" Info-default-directory-list))
in .emacs, and that won't work.
But I think we should indeed fix this, because statting those
directories at startup isn't ideal, but it'd be a breaking change.
I propose to make Info-default-directory-list nil by default, and
initialise Info-directory-alist from the directories that
Info-default-directory-list would normally find, as well as
Info-default-directory-list (unless INFODIR is set, and that overrides).
I think the breakage for users should be pretty minimal -- it would only
affect people that remove stuff from Info-default-directory-list, but
not those that add to it.
Any comments before I make this change?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Added tag(s) moreinfo.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Thu, 03 Feb 2022 20:05:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Fri, 04 Mar 2022 16:37:01 GMT)
Full text and
rfc822 format available.
Message #37 received at 27933 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> I think the breakage for users should be pretty minimal -- it would only
> affect people that remove stuff from Info-default-directory-list, but
> not those that add to it.
>
> Any comments before I make this change?
There were no comments in a month, so I went ahead and made the change
in Emacs 29.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
bug marked as fixed in version 29.1, send any further explanations to
27933 <at> debbugs.gnu.org and Rob Browning <rlb <at> defaultvalue.org>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Fri, 04 Mar 2022 16:37:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Mon, 14 Mar 2022 00:59:02 GMT)
Full text and
rfc822 format available.
Message #42 received at 27933 <at> debbugs.gnu.org (full text, mbox):
On Fri, Mar 04, 2022 at 05:36:38PM +0100, Lars Ingebrigtsen wrote:
>Lars Ingebrigtsen <larsi <at> gnus.org> writes:
>
>> I think the breakage for users should be pretty minimal -- it would only
>> affect people that remove stuff from Info-default-directory-list, but
>> not those that add to it.
>>
>> Any comments before I make this change?
>
>There were no comments in a month, so I went ahead and made the change
>in Emacs 29.
Thanks for your work Lars!
Cheers,
Steve
--
Steve McIntyre, Cambridge, UK. steve <at> einval.com
"This dress doesn't reverse." -- Alden Spiess
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 11 Apr 2022 11:24:05 GMT)
Full text and
rfc822 format available.
bug unarchived.
Request was from
"Alfred M. Szmidt" <ams <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Thu, 14 Apr 2022 06:51:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 14 Apr 2022 06:53:01 GMT)
Full text and
rfc822 format available.
Message #49 received at 27933 <at> debbugs.gnu.org (full text, mbox):
> > Standard info does the right thing, and shows both local (those listed
> > by INFOPATH) dir files, and the system ones.
> >
> > Reverting the change (5f7db63a93f0c670d6f88dd24f922462abce7d8c) makes
> > things work as expected.
>
> "Alfred M. Szmidt" <ams <at> gnu.org> writes:
>
> > Sorry -- too many distractions while writing, I missed to add one
> > additional (important) note. Started with -Q and then evaluating:
> >
> > (add-hook 'Info-mode-hook
> > (lambda ()
> > (setq Info-additional-directory-list Info-default-directory-list)))
> >
> > before entering info.
>
> Do you need to have both INFOPATH set and this hook set to reproduce the
> problem?
>
> Yes, exactly.
The code here is pretty convoluted, but reading it, I think we just
don't support doing something like that any more (since
Info-default-directory-list isn't populated any more at this point).
Which is why the changes here are listed under "Incompatible changes in
Emacs 29.1".
Yes, it is convulted. :-/
But I think the situation gets slightly more convulted with this
change. Now, there is no easy way of adding back the default
directories where Emacs searches.
The docstring could need a touch up, mentioning how
Info-default-directory-list and Info--default-directory-list work
together or hint towards it. The text is slightly misleading, since
the following is not really the case:
This variable is used as the default for initializing
`Info-default-directory-list' when Info is started, unless the
environment variable INFOPATH is set.
I've tried to get the same behaviour that I had, namley that of
INFOPATH + Info-default-directory-list (in that order). The only
thing that comes to mind is explicitly calling
Info--default-directory-list to set it up; which doesn't seem very
nice.
(add-hook 'Info-mode-hook
(lambda ()
(setq Info-additional-directory-list
(if (fboundp 'Info--default-directory-list)
(Info--default-directory-list)
Info-default-directory-list))))
If one could re-do all of this, having Info-additional-directory-list
be initialized to INFOPATH would have made most sense. There can be
very few reasons to delete the default Emacs info directory locations,
and having INFOPATH override those always seemed backwards, and not
what stand-alone Info does -- so while the Emacs documentation says
that one should customize INFOPATH for both, the customizations aren't
really the same :-(
PS. Shouldn't bugs become unarchived when someone replies to an
already archived one? The discussion here is now lost in the ether...
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 14 Apr 2022 13:42:01 GMT)
Full text and
rfc822 format available.
Message #52 received at 27933 <at> debbugs.gnu.org (full text, mbox):
"Alfred M. Szmidt" <ams <at> gnu.org> writes:
> I've tried to get the same behaviour that I had, namley that of
> INFOPATH + Info-default-directory-list (in that order). The only
> thing that comes to mind is explicitly calling
> Info--default-directory-list to set it up; which doesn't seem very
> nice.
>
> (add-hook 'Info-mode-hook
> (lambda ()
> (setq Info-additional-directory-list
> (if (fboundp 'Info--default-directory-list)
> (Info--default-directory-list)
> Info-default-directory-list))))
Yes, that's basically what I had in mind for people who wants both. But
in that case Info--default-directory-list should probably be renamed to
`Info-default-directory-list'...
> If one could re-do all of this, having Info-additional-directory-list
> be initialized to INFOPATH would have made most sense. There can be
> very few reasons to delete the default Emacs info directory locations,
> and having INFOPATH override those always seemed backwards, and not
> what stand-alone Info does -- so while the Emacs documentation says
> that one should customize INFOPATH for both, the customizations aren't
> really the same :-(
Yup. But that'd probably be even less backwards-compatible.
> PS. Shouldn't bugs become unarchived when someone replies to an
> already archived one? The discussion here is now lost in the ether...
Indeed; it's one of the most annoying things about debbugs.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 14 Apr 2022 14:59:02 GMT)
Full text and
rfc822 format available.
Message #55 received at 27933 <at> debbugs.gnu.org (full text, mbox):
> > PS. Shouldn't bugs become unarchived when someone replies to an
> > already archived one? The discussion here is now lost in the
> > ether...
>
> Indeed; it's one of the most annoying things about debbugs.
+1.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#27933
; Package
emacs
.
(Thu, 14 Apr 2022 15:44:02 GMT)
Full text and
rfc822 format available.
Message #58 received at 27933 <at> debbugs.gnu.org (full text, mbox):
(Dropped unrelated Debian addresses)
Lars Ingebrigtsen wrote:
>> PS. Shouldn't bugs become unarchived when someone replies to an
>> already archived one? The discussion here is now lost in the ether...
>
> Indeed; it's one of the most annoying things about debbugs.
Patches can be sent to https://debbugs.gnu.org/54940
(Since the Emacs project is keen to move to another platform,
it's hard to see the motivation.)
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 13 May 2022 11:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 195 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.