From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer?=) Newsgroups: gmane.emacs.devel Subject: Re: Calling (package-initialize) sooner during initialization Date: Sat, 18 Apr 2015 20:04:40 +0200 Message-ID: <87pp71ia87.fsf@taylan.uni.cx> References: <87383xk4ia.fsf@taylan.uni.cx> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1429380301 5991 80.91.229.3 (18 Apr 2015 18:05:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 18 Apr 2015 18:05:01 +0000 (UTC) Cc: Artur Malabarba , emacs-devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 18 20:04:58 2015 Return-path: Envelope-to: ged-emacs-devel@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 1YjX6v-0003o0-IX for ged-emacs-devel@m.gmane.org; Sat, 18 Apr 2015 20:04:57 +0200 Original-Received: from localhost ([::1]:46472 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjX6u-0004fI-R0 for ged-emacs-devel@m.gmane.org; Sat, 18 Apr 2015 14:04:56 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39048) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjX6i-0004er-Mf for emacs-devel@gnu.org; Sat, 18 Apr 2015 14:04:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YjX6h-0001pc-6C for emacs-devel@gnu.org; Sat, 18 Apr 2015 14:04:44 -0400 Original-Received: from mail-wg0-x22b.google.com ([2a00:1450:400c:c00::22b]:34710) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YjX6g-0001pY-V7 for emacs-devel@gnu.org; Sat, 18 Apr 2015 14:04:43 -0400 Original-Received: by wgso17 with SMTP id o17so141677696wgs.1 for ; Sat, 18 Apr 2015 11:04:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=/RO4fTEJMsTgHiTfKfDz2O8+GJtldp/peUq+Slob59c=; b=kpPyLLOT8keIDdjeg9YiiV2QKTmLgcVFuh5ZLx7wdP+3EEmL/hwjIHJzxmpAUyLGTJ +0cshTurQq6pAlvUYnR9U1ZZUNBi9iZt9O7j0BSb7+KTRlaJL6UPs1IE+BEWacvDblls IJ1jtm4uijyzvCRiVIpgDvsZMX4rCha8X8rHMHPZ9UquA3TxwC3ke2+SMXYUozjRNkX7 t/kNNdPW/+fcSSeOMTcCvT2pNBYoC9mwkAn5aah8zngF/BMJNUCFiQpyL75jDEQnrO1s fiafd+MPxFtOIDrbyc2X53khtYNUTqFLTycf1/CcuR4Oj3emRitdQTD8LvWLO2j2Vvcr Dksw== X-Received: by 10.194.23.197 with SMTP id o5mr16619943wjf.75.1429380282349; Sat, 18 Apr 2015 11:04:42 -0700 (PDT) Original-Received: from taylan.uni.cx (p200300514A439B920213E8FFFEED36FB.dip0.t-ipconnect.de. [2003:51:4a43:9b92:213:e8ff:feed:36fb]) by mx.google.com with ESMTPSA id 16sm19830295wjs.41.2015.04.18.11.04.41 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 Apr 2015 11:04:41 -0700 (PDT) In-Reply-To: (Stefan Monnier's message of "Sat, 18 Apr 2015 13:16:54 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c00::22b X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:185622 Archived-At: Stefan Monnier writes: > I think all those discussions are missing the point. > If we want to improve the system to the point of considering adding new > init files, then we should try and fix other problems at the same time. > > So here's one of the larger problems: > > How can we make the system work such that the user can: > - Use customize to set package-user-dir, package-pinned-packages, etc... > - Use customize to configure a variable which has a :require which loads > a file that's only available after calling package-initialize. > The first requires package-initialize to be called late, the second > requires package-initialize to be called early. > > Maybe a solution is to simply make customize-set-variables lazier, so > that variables with a :require see their setting delayed to after > package-initialize was called. Or else, have package-initialize be > called by customize-set-variables. Or... I'm not sure if this isn't an orthogonal problem, but indeed as someone who doesn't use Customize I didn't think about it at all, and know little about it so excuses in advance for ignorance. How about Customize being "smart" and separating package-related configurations from other ones? I don't know how hard it would be to implement, but it feels like the right design; obviously package related customization should be applied before package-initialize, but all other customization should be applied after package-initialize, since it's a configuration system, meaning it should be one layer above the package system, going purely by intuition. So startup would look like: 1. pre-package-init.el 2. Package related customization. 3. package-initialize 4. init.el 5. All other customization. Would that work? Taylan