From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alexander Shukaev Newsgroups: gmane.emacs.bugs Subject: bug#29095: Bug: The '20a09de953f437109a098fa8c4d380663d921481' merge increased my Emacs configuration loading time from 9 s to 60 s Date: Thu, 9 Nov 2017 23:09:47 +0100 Message-ID: References: <0899d792-c1fe-caa8-183e-298371d226a0@Alexander.Shukaev.name> <87h8ueaioy.fsf@users.sourceforge.net> <87zi858r9i.fsf@users.sourceforge.net> <87y3nl7g8l.fsf@users.sourceforge.net> <59FEEDA4.4040602@gmx.at> <87d14u5ua1.fsf@users.sourceforge.net> <5A02AE92.6010201@gmx.at> <87vaik51ld.fsf@users.sourceforge.net> <5A0403AE.6020305@gmx.at> <87po8r4mhp.fsf@users.sourceforge.net> <5A049A98.8020901@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1510265415 8916 195.159.176.226 (9 Nov 2017 22:10:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 9 Nov 2017 22:10:15 +0000 (UTC) Cc: 29095@debbugs.gnu.org To: martin rudalics , Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Nov 09 23:10:10 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCv1V-00022v-CH for geb-bug-gnu-emacs@m.gmane.org; Thu, 09 Nov 2017 23:10:09 +0100 Original-Received: from localhost ([::1]:38962 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCv1c-0003Vf-NR for geb-bug-gnu-emacs@m.gmane.org; Thu, 09 Nov 2017 17:10:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36727) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCv1S-0003U6-39 for bug-gnu-emacs@gnu.org; Thu, 09 Nov 2017 17:10:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCv1O-00031g-Rk for bug-gnu-emacs@gnu.org; Thu, 09 Nov 2017 17:10:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:52284) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eCv1O-00031X-ND for bug-gnu-emacs@gnu.org; Thu, 09 Nov 2017 17:10:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eCv1O-0005qo-DJ for bug-gnu-emacs@gnu.org; Thu, 09 Nov 2017 17:10:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Alexander Shukaev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 09 Nov 2017 22:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29095 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 29095-submit@debbugs.gnu.org id=B29095.151026539322471 (code B ref 29095); Thu, 09 Nov 2017 22:10:02 +0000 Original-Received: (at 29095) by debbugs.gnu.org; 9 Nov 2017 22:09:53 +0000 Original-Received: from localhost ([127.0.0.1]:60965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCv1F-0005qN-5t for submit@debbugs.gnu.org; Thu, 09 Nov 2017 17:09:53 -0500 Original-Received: from relay2-d.mail.gandi.net ([217.70.183.194]:41507) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eCv1C-0005qC-PU for 29095@debbugs.gnu.org; Thu, 09 Nov 2017 17:09:51 -0500 X-Originating-IP: 88.69.40.141 Original-Received: from [192.168.2.109] (dslb-088-069-040-141.088.069.pools.vodafone-ip.de [88.69.40.141]) (Authenticated sender: forum@alexander.shukaev.name) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id A3D97C5A51; Thu, 9 Nov 2017 23:09:48 +0100 (CET) In-Reply-To: <5A049A98.8020901@gmx.at> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:139696 Archived-At: Hi guys, On 11/09/2017 07:12 PM, martin rudalics wrote: > (2) Apparently sometimes the window system / manager does not inform us > that a frame has become visible although the frame apparently has become > visible.  If I'm not mistaken that's what Alexander sees (or is not able > to see). Apologies for the delay, I was off to another town for a couple of days. So let me provide some more details of what's going on and what is the use case. It's actually nothing special, and that's why I'm also confused how nobody noticed that before. All I do is just start new Emacs instance. My (tiling) window manager is BSPWM . Now let's see what happens when - `minibuffer-auto-raise' is nil, - `x-wait-for-event-timeout' is 0.1 (default): NOTE: [after-init] marks the point in time when executions of all functions attached to `after-init-hook' are finished. (... *cough* ... I got tons of packages, sorry ... *cough* ... ) Initializing... Loading ~/.emacs.d/init.el... Loading tramp...done Loading ~/.custom.el...done Compiling ~/.emacs.d/init/... Checking ~/.emacs.d/init/... [181 times] Done (Total of 0 files compiled, 180 skipped) Compiling ~/.emacs.d/init/...done Configuring package auto-compile...done Loading package with-after-load... Configuring package with-after-load...done Loading package with-after-load...done Configuring package menu-bar...done Configuring package tool-bar...done Configuring package scroll-bar...done Configuring package simple...done Configuring package button...done Configuring package completion-list...done Configuring package mouse...done Configuring package special...done Configuring package tabulated-list...done Configuring package font-lock...done Configuring package fill...done Configuring package auto-fill...done Configuring package newcomment...done Configuring package wid-edit...done Configuring package window...done Configuring package minibuffer...done Configuring package minibuffer-line...done Configuring package easymenu...done Configuring package eldoc...done Configuring package elisp-mode...done Configuring package lisp-mode...done Configuring package prog-mode...done Configuring package text-mode...done Configuring package files...done Loading package git... Configuring package git...done Loading package git...done Configuring package ansi-color...done Configuring package comint...done Configuring package shell...done Configuring package select...done Loading package dired... Configuring package dired...done Loading package dired...done Configuring package dired-x...done Configuring package compile...done Configuring package elec-pair...done Configuring package mb-depth...done Configuring package tramp...done Configuring package password-cache...done Configuring package vc-hooks...done Loading ~/.emacs.d/init.el...done (2.808s) Initializing...done (3.256s) Configuring package evil-vars...done Configuring package evil-core...done Configuring package evil-states...done Configuring package evil-search...done Configuring package evil... Configuring package evil-surround...done Configuring package evil...done Configuring package devil-vars...done Configuring package devil-ex...done Configuring package avy...done Configuring package devil-maps...done Configuring package devil...done Configuring package flx...done Configuring package ivy...done Configuring package counsel...done Configuring package savehist...done Configuring package server...done Configuring package hl-todo...done Configuring package hl-line...done Configuring package recentf... Loading ~/.emacs.d/.recentf.el (source)...done Configuring package recentf-ext...done Configuring package sync-recentf...done Configuring package recentf...done (0.135s) Configuring package help-mode...done Configuring package with-editor...done Configuring package git-commit...done Configuring package pdf-tools...done Configuring package diff...done Configuring package undo-tree...done Configuring package ycmd...done Configuring package flycheck...done Configuring package flycheck-ycmd...done Configuring package php-extras...done Configuring package company...done Configuring package company-ycmd...done Configuring package company-flx...done Configuring package paren...done Configuring package highlight-escape-sequences...done Loading ~/.emacs.d/init.el...done (6.496s) [after-init] Notice how configuring of package `recentf' suddenly appears to stand out and it contains that single 100 ms delay. Curiously no matter how many times I restart Emacs, it's always `recentf' that gets this delay. I have no idea why but it's for sure related. Anyway, let's disregard it for a moment and assume that it is still fine. Now let's see what happens when - `minibuffer-auto-raise' is t, - `x-wait-for-event-timeout' is 0.1 (default): Initializing... Loading ~/.emacs.d/init.el... Loading tramp...done Loading ~/.custom.el...done Compiling ~/.emacs.d/init/... Checking ~/.emacs.d/init/... [181 times] Done (Total of 0 files compiled, 180 skipped) Compiling ~/.emacs.d/init/...done Configuring package auto-compile...done Loading package with-after-load... Configuring package with-after-load...done Loading package with-after-load...done Configuring package menu-bar...done Configuring package tool-bar...done Configuring package scroll-bar...done Configuring package simple...done Configuring package button...done Configuring package completion-list...done Configuring package mouse...done Configuring package special...done Configuring package tabulated-list...done Configuring package font-lock...done Configuring package fill...done Configuring package auto-fill...done Configuring package newcomment...done Configuring package wid-edit...done Configuring package window...done --------------------------------------------------------- >>> *minibuffer-auto-raise is set to t at this point* <<< --------------------------------------------------------- Configuring package minibuffer-line...done (0.106s) Configuring package easymenu...done (0.102s) Configuring package eldoc...done (0.103s) Configuring package elisp-mode...done (0.104s) Configuring package lisp-mode...done (0.103s) Configuring package prog-mode...done (0.104s) Configuring package text-mode...done (0.104s) Configuring package files...done (0.104s) Loading package git... Configuring package git...done (0.103s) Loading package git...done (0.336s) Configuring package ansi-color...done (0.104s) Configuring package comint...done (0.105s) Configuring package shell...done (0.102s) Configuring package select...done (0.102s) Loading package dired... Configuring package dired...done (0.114s) Loading package dired...done (0.339s) Configuring package dired-x...done (0.102s) Configuring package compile...done (0.104s) Configuring package elec-pair...done (0.104s) Configuring package mb-depth...done (0.104s) Configuring package tramp...done (0.104s) Configuring package password-cache...done (0.104s) Configuring package vc-hooks...done (0.104s) Loading ~/.emacs.d/init.el...done (24.086s) Initializing...done (24.532s) Configuring package evil-vars...done (0.104s) Configuring package evil-core...done (0.102s) Configuring package evil-states...done (0.107s) Configuring package evil-search...done (0.103s) Configuring package evil... Configuring package evil-surround...done (0.104s) Configuring package evil...done (0.319s) Configuring package devil-vars...done (0.103s) Configuring package devil-ex...done (0.102s) Configuring package avy...done (0.102s) Configuring package devil-maps...done (0.107s) Configuring package devil...done (0.103s) Configuring package flx...done (0.103s) Configuring package ivy...done (0.107s) Configuring package counsel...done (0.104s) Configuring package savehist...done (0.104s) Configuring package server...done (0.103s) Configuring package hl-todo...done (0.103s) Configuring package hl-line...done (0.104s) Configuring package recentf... Loading ~/.emacs.d/.recentf.el (source)...done Configuring package recentf-ext...done (0.104s) Configuring package sync-recentf...done (0.103s) Configuring package recentf...done (15.669s) Configuring package help-mode...done (0.103s) Configuring package with-editor...done (0.104s) Configuring package git-commit...done (0.105s) Configuring package pdf-tools...done (0.102s) Configuring package diff...done (0.102s) Configuring package undo-tree...done (0.105s) Configuring package ycmd...done (0.102s) Configuring package flycheck...done (0.103s) Configuring package flycheck-ycmd...done (0.105s) Configuring package php-extras...done (0.104s) Configuring package company...done (0.106s) Configuring package company-ycmd...done (0.104s) Configuring package company-flx...done (0.104s) Configuring package paren...done (0.104s) Configuring package highlight-escape-sequences...done (0.104s) Loading ~/.emacs.d/init.el...done (53.348s) [after-init] Look how as soon as `minibuffer-auto-raise' is set to t, configurations of all subsequent packages obviously get delayed by 100 ms each. This is most probably caused by the messages being written to minibuffer. When - `x-wait-for-event-timeout' is nil, there are no additional delays at all. Regards, Alexander