From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.help Subject: Re: How to save custom variable programmatically? Date: Tue, 10 Nov 2020 21:43:09 +0100 Message-ID: <87o8k5eyea.fsf@web.de> References: <87blg5e9re.fsf@web.de> <87o8k5b7oq.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20174"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:k7BVJf2KqzpV2nbwSSJxQQxUZy0= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Tue Nov 10 21:44:25 2020 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kcaV7-00056k-HM for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 10 Nov 2020 21:44:25 +0100 Original-Received: from localhost ([::1]:39196 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kcaV6-000087-JU for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 10 Nov 2020 15:44:24 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41134) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcaU4-0007wn-AC for help-gnu-emacs@gnu.org; Tue, 10 Nov 2020 15:43:20 -0500 Original-Received: from static.214.254.202.116.clients.your-server.de ([116.202.254.214]:51148 helo=ciao.gmane.io) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kcaU2-0001AW-CB for help-gnu-emacs@gnu.org; Tue, 10 Nov 2020 15:43:19 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1kcaTx-0003sN-Ux for help-gnu-emacs@gnu.org; Tue, 10 Nov 2020 21:43:13 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/10 09:16:09 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:125212 Archived-At: Jean Louis writes: > My strategy is to minimize number of packages used as dependencies so > I try to use what is built in or to re-use what is inside of Emacs. Eieio is part of Emacs. The Gnus registry is saved using eieio-persistent. This class is relatively new and was a bit buggy in the past, though. In new Emacs versions it works reliably AFAICT. > Personally I am using PostgreSQL. Then I just define the table > definition and that may be similar to eieio. Might also be interesting. The Eieio approach has the advantage that (an) Emacs Lisp (object) is saved as (an) Emacs Lisp (expression). It is slow, however. Michael.