From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [RFC] Change some defcustoms into defcont Date: Mon, 21 Oct 2013 12:51:55 +0200 Message-ID: <87a9i2522c.fsf@gmail.com> References: <871u3g5nwx.fsf@gmail.com> <87mwm33sv1.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51293) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VYD5S-00028P-6M for emacs-orgmode@gnu.org; Mon, 21 Oct 2013 06:51:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VYD5J-0000tW-L0 for emacs-orgmode@gnu.org; Mon, 21 Oct 2013 06:51:50 -0400 Received: from mail-wg0-x231.google.com ([2a00:1450:400c:c00::231]:47882) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VYD5J-0000tM-EB for emacs-orgmode@gnu.org; Mon, 21 Oct 2013 06:51:41 -0400 Received: by mail-wg0-f49.google.com with SMTP id x12so6241709wgg.4 for ; Mon, 21 Oct 2013 03:51:40 -0700 (PDT) In-Reply-To: (Carsten Dominik's message of "Mon, 21 Oct 2013 12:26:41 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: Org Mode List Carsten Dominik writes: > On 21.10.2013, at 10:56, Nicolas Goaziou wrote: >> That's exactly the point of the defconst: you can still modify the >> variable, but it sends a strong message to the user. Also, it's not >> about deprecation: code base should still rely on these variables. > > This is where I disagree. I think the Emacs implementation of defconst > is broken, and retained in this way only for backward compatibility. I won't judge Elisp implementation. AFAIC, defining a variable as a defconst means : "change it at your own risk", which is exactly my point. Anyway, FWIW, even a defvar would suffice. > If we still allow users to edit this in principle, We have no way to prevent them from modifying it. In principle, they mustn't be changed, but it's Free software. > I do not think we should make these variables defconst. If editing is > not even depreciated, there is even less reason to make this change. > How about we add a sentence like this: > > Changing this variable may cause compatibility problems with other users > trying to edit your file in Emacs. It's not only about compatibility problems. As I pointed out, modifying these variable can break your own Org. Using a defcustom is ambiguous here. On the one hand, we say "You can modify this variable, we even help you to do so" and on the other hand "Upon changing this variable, horrible things can happen". Let's, at least, not help users shoot themselves in the foot. Regards, -- Nicolas Goaziou