From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master 012487b: * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it. Date: Mon, 24 Jul 2017 21:04:18 +0300 Message-ID: <83o9s97lul.fsf@gnu.org> References: <20170723072843.23485.53761@vcs0.savannah.gnu.org> <20170723072844.877FD22EF0@vcs0.savannah.gnu.org> <87inijxnda.fsf@detlef> <83r2x57orp.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1500919545 21516 195.159.176.226 (24 Jul 2017 18:05:45 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 24 Jul 2017 18:05:45 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 24 20:05:38 2017 Return-path: Envelope-to: ged-emacs-devel@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 1dZhjb-0005AO-LN for ged-emacs-devel@m.gmane.org; Mon, 24 Jul 2017 20:05:35 +0200 Original-Received: from localhost ([::1]:56216 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZhjh-00024X-4K for ged-emacs-devel@m.gmane.org; Mon, 24 Jul 2017 14:05:41 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44070) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZhiS-0001jE-9u for emacs-devel@gnu.org; Mon, 24 Jul 2017 14:04:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZhiP-000314-6W for emacs-devel@gnu.org; Mon, 24 Jul 2017 14:04:24 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45581) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZhiP-000310-2z; Mon, 24 Jul 2017 14:04:21 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3668 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dZhiO-00068l-Bn; Mon, 24 Jul 2017 14:04:21 -0400 In-reply-to: (message from Stefan Monnier on Mon, 24 Jul 2017 13:29:39 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:216990 Archived-At: > From: Stefan Monnier > Date: Mon, 24 Jul 2017 13:29:39 -0400 > > >> +;; Following function calls will autoload the library. > >> +(defvar display-line-numbers-type) > >> + > >> (defun menu-bar-display-line-numbers-mode (type) > >> (setq display-line-numbers-type type) > >> (if global-display-line-numbers-mode > > How is this better than the autoload? > > Autoloading variables is a source of corner-case problems, and > autoloading defcustoms even more so. Emacs is full of corner-case problems, one more or one less won't change anything. And can you PLEASE make the problems documented somewhere? The way you are fighting this makes it sound like some black magic that only you understand. Maybe if the problem description is out in the open, it will be easier to get people to follow your views? > It's not serious enough to ban such autoloads, but it's a good > practice to try and avoid them when it can be done cheaply, and to > clearly document them when we do need them. Good practice comes out from clearly documented problems and well explained solutions. We should _educate_ people to avoid such problems, not haunt them with review comments that, left unexplained, make little sense. If it's important, it should be in "code conventions" in the ELisp manual. > - the comment on the defvar isn't needed anyway: it's pretty clear why the > defvar is used It isn't clear to me, at least.