From: Eli Zaretskii Date: Sun, 4 Jun 2017 16:27:13 +0000 (+0300) Subject: Avoid slow startup in daemon mode when global-linum-mode is on X-Git-Tag: emacs-26.0.90~521^2~170^2~21 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bd3c6eeca1c69f95ab0c5eea5b542d0334abde68;p=emacs.git Avoid slow startup in daemon mode when global-linum-mode is on * lisp/linum.el (linum-on): Don't turn on linum-mode in a non-client frame of a daemon session. (Bug#27210) --- diff --git a/lisp/linum.el b/lisp/linum.el index 8baa263f0b3..9cfb94dab68 100644 --- a/lisp/linum.el +++ b/lisp/linum.el @@ -112,7 +112,16 @@ Linum mode is a buffer-local minor mode." (define-globalized-minor-mode global-linum-mode linum-mode linum-on) (defun linum-on () - (unless (minibufferp) + (unless (or (minibufferp) + ;; Turning linum-mode in the daemon's initial frame + ;; could significantly slow down startup, if the buffer + ;; in which this is done is large, because Emacs thinks + ;; the "window" spans the entire buffer then. This + ;; could happen when restoring session via desktop.el, + ;; if some large buffer was under linum-mode when + ;; desktop was saved. So we disable linum-mode for + ;; non-client frames in a daemon session. + (and (daemonp) (null (frame-parameter nil 'client)))) (linum-mode 1))) (defun linum-delete-overlays ()