From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Sebastien Vauban" Newsgroups: gmane.emacs.help Subject: Re: How to load recentf only after opening/saving a file for thefirsttime? Date: Thu, 13 Sep 2012 09:37:34 +0200 Organization: Sebastien Vauban Message-ID: <80fw6mfk5d.fsf@somewhere.org> References: <80txvarlnv.fsf@somewhere.org> <80pq5xswwt.fsf@somewhere.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1347522029 744 80.91.229.3 (13 Sep 2012 07:40:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 13 Sep 2012 07:40:29 +0000 (UTC) To: help-gnu-emacs-mXXj517/zsQ@public.gmane.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org-mXXj517/zsQ@public.gmane.org Thu Sep 13 09:40:32 2012 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TC42C-0004uq-9F for geh-help-gnu-emacs@m.gmane.org; Thu, 13 Sep 2012 09:40:24 +0200 Original-Received: from localhost ([::1]:55922 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TC428-0000OV-Jz for geh-help-gnu-emacs@m.gmane.org; Thu, 13 Sep 2012 03:40:20 -0400 Original-Received: by 10.180.75.8 with SMTP id y8mr4322706wiv.4.1347521856026; Thu, 13 Sep 2012 00:37:36 -0700 (PDT) Original-Path: usenet.stanford.edu!7no6844042wig.0!news-out.google.com!q11ni41270264wiw.1!nntp.google.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!195.62.100.242.MISMATCH!newsfeed.kamp.net!newsfeed.kamp.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 138 Injection-Info: mx04.eternal-september.org; posting-host="368fa3c7dc5c1bbe516391bd65bd1ab2"; logging-data="17843"; mail-complaints-to="abuse-VVbKFVtnif8H+i2N2EyTrmui9UKz+5OX@public.gmane.org"; posting-account="U2FsdGVkX1/VFj2oSoZAqJKYYAp1kcSD" User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2 (windows-nt) X-Archive: encrypt Cancel-Lock: sha1:UQ5EBQJMJ9QY3KcDzhKYLlB2veg= sha1:A3wGsYUkoQOpQTxHOfOtu/ec7gw= X-Url: Under construction... Original-Xref: usenet.stanford.edu gnu.emacs.help:194399 X-BeenThere: help-gnu-emacs-mXXj517/zsQ@public.gmane.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org-mXXj517/zsQ@public.gmane.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org-mXXj517/zsQ@public.gmane.org Xref: news.gmane.org gmane.emacs.help:86741 Archived-At: Hello Drew, "Drew Adams" wrote: > And maybe try profiling code for the worst parts of your problem. Perhaps > you've hit a bug or two, or perhaps you've found an opportunity for some = library > to be improved wrt load performance. I did not give, last time, the time needed to load `recentf'. Here it is (1.72=C2=A0s): --8<---------------cut here---------------start------------->8--- (info) +-> Requiring `recentf'... (info) +-> Requiring `easymenu'... c:/Program Files/Emacs-24.2/lisp/emacs= -lisp/easymenu.elc (loaded in 0.33 s) (info) +-> Requiring `tree-widget'... (info) +-> Requiring `wid-edit'... c:/Program Files/Emacs-24.2/lisp/wid= -edit.elc (loaded in 0.44 s) (info) +-> Requiring `tree-widget'... c:/Program Files/Emacs-24.2/lisp/tr= ee-widget.elc (loaded in 1.02 s) (info) +-> Requiring `timer'... already loaded (info) +-> Requiring `recentf'... c:/Program Files/Emacs-24.2/lisp/recentf.= elc (loaded in 1.72 s) --8<---------------cut here---------------end--------------->8--- About `vc' (3.00 s) -- which I need at startup time (?) for displaying an i= con in the modeline ("Unmodified-according-to-VC" buffer vs modified buffer) --= , I think it requires much more than needed (`ediff', for example, is not necessary at startup time)... --8<---------------cut here---------------start------------->8--- (info) +-> Requiring `vc'... (info) +-> Requiring `vc-hooks'... already loaded (info) +-> Requiring `vc-dispatcher'... c:/Program Files/Emacs-24.2/lisp/= vc/vc-dispatcher.elc (loaded in 0.33 s) (info) +-> Requiring `ediff'... (info) +-> Requiring `ediff-init'... c:/Program Files/Emacs-24.2/lisp/v= c/ediff-init.elc (loaded in 0.33 s) (info) +-> Requiring `ediff-mult'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-mult'... c:/Program Files/Emacs-24.2/lisp/v= c/ediff-mult.elc (loaded in 0.31 s) (info) +-> Requiring `ediff-util'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-help'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-help'... c:/Program Files/Emacs-24.2/lisp= /vc/ediff-help.elc (loaded in 0.28 s) (info) +-> Requiring `ediff-mult'... already loaded (info) +-> Requiring `ediff-wind'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-wind'... c:/Program Files/Emacs-24.2/lisp= /vc/ediff-wind.elc (loaded in 0.28 s) (info) +-> Requiring `ediff-diff'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-diff'... c:/Program Files/Emacs-24.2/lisp= /vc/ediff-diff.elc (loaded in 0.28 s) (info) +-> Requiring `ediff-merg'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-merg'... c:/Program Files/Emacs-24.2/lisp= /vc/ediff-merg.elc (loaded in 0.28 s) (info) +-> Requiring `ediff-util'... c:/Program Files/Emacs-24.2/lisp/v= c/ediff-util.elc (loaded in 1.45 s) (info) +-> Requiring `ediff'... c:/Program Files/Emacs-24.2/lisp/vc/ediff= .elc (loaded in 2.39 s) (info) +-> Requiring `vc'... c:/Program Files/Emacs-24.2/lisp/vc/vc.elc (lo= aded in 3.00 s) --8<---------------cut here---------------end--------------->8--- ... but I can't do anything about it, right, as it is hard-coded that way in `vc.el' (which I need for the vc-icon in every loaded file). Same for the (very) nice-to-have `dired+' which requires `ediff-util', henc= e a lot more at the end (4.20 s in total): --8<---------------cut here---------------start------------->8--- (info) +-> Requiring `dired+'... (info) +-> Requiring `easymenu'... already loaded (info) +-> Requiring `dired'... already loaded (info) +-> Requiring `dired-aux'... (info) +-> Requiring `dired'... already loaded (info) +-> Requiring `dired-aux'... c:/Program Files/Emacs-24.2/lisp/= dired-aux.elc (loaded in 0.25 s) (info) +-> Requiring `ediff-util'... (info) +-> Requiring `ediff-init'... c:/Program Files/Emacs-24.2/li= sp/vc/ediff-init.elc (loaded in 0.27 s) (info) +-> Requiring `ediff-help'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-help'... c:/Program Files/Emacs-24.2/li= sp/vc/ediff-help.elc (loaded in 0.28 s) (info) +-> Requiring `ediff-mult'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-mult'... c:/Program Files/Emacs-24.2/li= sp/vc/ediff-mult.elc (loaded in 0.28 s) (info) +-> Requiring `ediff-wind'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-wind'... c:/Program Files/Emacs-24.2/li= sp/vc/ediff-wind.elc (loaded in 0.27 s) (info) +-> Requiring `ediff-diff'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-diff'... c:/Program Files/Emacs-24.2/li= sp/vc/ediff-diff.elc (loaded in 0.25 s) (info) +-> Requiring `ediff-merg'... (info) +-> Requiring `ediff-init'... already loaded (info) +-> Requiring `ediff-merg'... c:/Program Files/Emacs-24.2/li= sp/vc/ediff-merg.elc (loaded in 0.23 s) (info) +-> Requiring `ediff-util'... c:/Program Files/Emacs-24.2/lisp= /vc/ediff-util.elc (loaded in 1.88 s) (info) +-> Requiring `dired-x'... (info) +-> Requiring `dired'... already loaded (info) +-> Requiring `easymenu'... already loaded (info) +-> Requiring `dired-x'... c:/Program Files/Emacs-24.2/lisp/di= red-x.elc (loaded in 0.47 s) (info) +-> Requiring `misc-fns'... nil (loaded in 0.30 s) (info) +-> Requiring `w32-browser'... nil (loaded in 0.25 s) (info) +-> Requiring `dired+'... already loaded (info) +-> Requiring `bookmark+'... nil (loaded in 0.25 s) (info) +-> Requiring `bookmark+'... nil (loaded in 0.25 s) (info) +-> Requiring `bookmark+'... nil (loaded in 0.23 s) (info) +-> Requiring `help-mode'... already loaded (info) +-> Requiring `dired+'... d:/home/sva/Downloads/emacs/site-lisp/= dired+.el (loaded in 4.20 s) --8<---------------cut here---------------end--------------->8--- Any way to lighten this? OK, maybe I should load `dired+' in an eval-after-load "dired" (if that one= is not loaded on its own, by Emacs?)... I'll try. Best regards, Seb -- Sebastien Vauban