From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: custom-set-variables considered harmful Date: Fri, 01 Dec 2017 19:10:42 -0500 Message-ID: References: <8782ed42-3aec-4111-b4f0-471c838e7370@default> Reply-To: rms@gnu.org NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1512173468 7255 195.159.176.226 (2 Dec 2017 00:11:08 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 2 Dec 2017 00:11:08 +0000 (UTC) Cc: philippe.vaucher@gmail.com, lokedhs@gmail.com, monnier@iro.umontreal.ca, drew.adams@oracle.com, emacs-devel@gnu.org To: rswgnu@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 02 01:11:00 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 1eKvOS-00016L-3d for ged-emacs-devel@m.gmane.org; Sat, 02 Dec 2017 01:10:56 +0100 Original-Received: from localhost ([::1]:33611 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eKvOX-00036I-LE for ged-emacs-devel@m.gmane.org; Fri, 01 Dec 2017 19:11:01 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37582) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eKvOQ-000362-SS for emacs-devel@gnu.org; Fri, 01 Dec 2017 19:10:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eKvOP-0007s1-VU for emacs-devel@gnu.org; Fri, 01 Dec 2017 19:10:54 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39519) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eKvOF-0007lM-7o; Fri, 01 Dec 2017 19:10:43 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1eKvOE-00008g-KB; Fri, 01 Dec 2017 19:10:42 -0500 In-reply-to: (message from Robert Weiner on Fri, 1 Dec 2017 15:42:13 -0500) 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:220603 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > ​I have been wondering about this too. Are there any arguments for not > having setq run the setter of a custom option when available? That change would create a risk of bugs in many parts of the code. Each differnt kind of setter function creates a different risk of possible errors. That change would mean that making an ordinary let binding could run arbitrary Lisp code. Unwinding the binding could also run arbitrary Lisp code. Finally, it could cause errors in places that set the variable and expect that to do nothing but put a new value in it. This includes the definitions of setter functions, right? -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) Skype: No way! See https://stallman.org/skype.html.