From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Artur Malabarba Newsgroups: gmane.emacs.devel Subject: Re: Incorporating caching into defgroup/defcustom/defvar for Emacs 25 Date: Mon, 2 Feb 2015 20:48:09 +0000 Message-ID: References: <6AD4DF07-EFCD-48F4-AEE6-333F8D27BA87@seanallred.com> Reply-To: bruce.connor.am@gmail.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a113d596677a53a050e211209 X-Trace: ger.gmane.org 1422910111 1432 80.91.229.3 (2 Feb 2015 20:48:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 2 Feb 2015 20:48:31 +0000 (UTC) Cc: Sean Allred , emacs-devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 02 21:48:30 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 1YINv1-00050j-GX for ged-emacs-devel@m.gmane.org; Mon, 02 Feb 2015 21:48:27 +0100 Original-Received: from localhost ([::1]:56681 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YINv0-0001pe-Qx for ged-emacs-devel@m.gmane.org; Mon, 02 Feb 2015 15:48:26 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40529) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YINum-0001pW-Fq for emacs-devel@gnu.org; Mon, 02 Feb 2015 15:48:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YINul-0003DW-JK for emacs-devel@gnu.org; Mon, 02 Feb 2015 15:48:12 -0500 Original-Received: from mail-oi0-x234.google.com ([2607:f8b0:4003:c06::234]:58564) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YINul-0003D5-Dp for emacs-devel@gnu.org; Mon, 02 Feb 2015 15:48:11 -0500 Original-Received: by mail-oi0-f52.google.com with SMTP id h136so46095135oig.11 for ; Mon, 02 Feb 2015 12:48:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=s/xDsdWOjHl4cONwQoNaZ3b8mU70LCequzQ5U+KFJG4=; b=N4507PfVM5DyDNUAZYXHR1XqetRuTUz6cIt6E5V6k3Uvv6lp9JtDzGGg+I6ZjWiDmu aNXqt0hHRhp2YkUV5wNhkhszRJNTubNCebMQBRkNjkJNw+m51s0qkKKVHWUmloKKKJgH svpqH2cly7hXJZJhNxy4ZJB8B7oKrSjRF/40Pc2NvGhPLiW7aAdvdnZDvG5oPntFZX4h 2mvf2GHqNp07t4BGfdwYRLT3+yVcNEYE+xr0CeFkDESPXMGBJEK9xfhzuDQhJtCyXpzg ZheaN1ZYV/g4pApHNDRr2VVyIgF1aZTj3fxibYLtLo+OrC0sKoZi+cZENQcYm0UT3uAG 6hpA== X-Received: by 10.202.97.130 with SMTP id v124mr12597029oib.34.1422910090091; Mon, 02 Feb 2015 12:48:10 -0800 (PST) Original-Received: by 10.76.125.1 with HTTP; Mon, 2 Feb 2015 12:48:09 -0800 (PST) Original-Received: by 10.76.125.1 with HTTP; Mon, 2 Feb 2015 12:48:09 -0800 (PST) In-Reply-To: X-Google-Sender-Auth: wQqap2GLIJw9aaR9GvK1arUlGvc X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4003:c06::234 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:182290 Archived-At: --001a113d596677a53a050e211209 Content-Type: text/plain; charset=UTF-8 > Also, based on the desktop.el and Gnus use cases, it seems important to > be able to save a state which is not in a variable (e.g. the frame > configuration), I'll look into these specific use cases, but ultimately everything can be (and probably already is) stored in variables. Also, I don't know if that's what you meant, but I see now it would be useful to have an :init property on stash variables (similar to the one in defcustoms), which would only be called if the stash was loaded from disk. This could be used to restore frame configuration, for instance. > and it's also important that those persistent vars don't > be reloaded eagerly at init time, but later on when the corresponding > package is loaded/activated. Yes, that's how it works. --001a113d596677a53a050e211209 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

> Also, based on the desktop.el and Gnus use cases, it se= ems important to
> be able to save a state which is not in a variable (e.g. the frame
> configuration),

I'll look into these specific use cases, but ultimately = everything can be (and probably already is) stored in variables.

Also, I don't know if that's what you meant, but I s= ee now it would be useful to have an :init property on stash variables (sim= ilar to the one in defcustoms), which would only be called if the stash was= loaded from disk. This could be used to restore frame configuration, for i= nstance.

> and it's also important that those persistent vars = don't
> be reloaded eagerly at init time, but later on when the corresponding<= br> > package is loaded/activated.

Yes, that's how it works.

--001a113d596677a53a050e211209--