From unknown Mon Aug 11 12:53:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#44852: [PATCH] Fix modification check when custom-form is 'lisp Resent-From: Dario Gjorgjevski Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Nov 2020 18:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 44852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 44852@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.160624390731202 (code B ref -1); Tue, 24 Nov 2020 18:52:01 +0000 Received: (at submit) by debbugs.gnu.org; 24 Nov 2020 18:51:47 +0000 Received: from localhost ([127.0.0.1]:32996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khdPn-00087C-Dk for submit@debbugs.gnu.org; Tue, 24 Nov 2020 13:51:47 -0500 Received: from lists.gnu.org ([209.51.188.17]:49104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khdPl-000874-8n for submit@debbugs.gnu.org; Tue, 24 Nov 2020 13:51:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54172) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khdPk-0000g6-V5 for bug-gnu-emacs@gnu.org; Tue, 24 Nov 2020 13:51:44 -0500 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]:38724) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1khdPi-0006Gq-Ul for bug-gnu-emacs@gnu.org; Tue, 24 Nov 2020 13:51:44 -0500 Received: by mail-ed1-x536.google.com with SMTP id y4so21995842edy.5 for ; Tue, 24 Nov 2020 10:51:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=Hb3i68C96dbLJZ/xjlbr07e7y3GIAa4+Vma7fYpegO8=; b=PjZI2L9tBCyt4iHi0s57ss/mF4wO79MHaebGpf42dOS/BsBBVIzJNZ/kB36qSxQQNx WCQ3njfSLA2+R7EOaXfRZp5dBIqmkV4bdm6V+yyP0v7o3e2wG7z0p8AySd6bvCGjG3S6 xakmrrVRwNiKd9NulhBfNv+9KIdNuwGSrg/7FLKU+lkVJPEN+3Mtn8QdyM/mFjuuezfC Jk9FvS3gcsKK2crWHdXGbFnsY+JdEmWoTjsE3gXIxmmWa//7WAqTqmbP9F+Fm8DT6Qnh RTU8IqasiEZHyL7DDlZG+M1um7t7RyYqNcMklVgLHLuS79bfnX7L9v9ZDl3mITcLnFHA 5lPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=Hb3i68C96dbLJZ/xjlbr07e7y3GIAa4+Vma7fYpegO8=; b=XFqu7Tgg/dB4JAaA5xIc2KGQKIvO4yjehdaHUXmlJnCMa134qTuASTHYihoqGwj+ew IVF6FwRx4GjncTXt18sVDN42hLbCKUcLpdQtdZ8ClrPebdYC5fZCsZGPt1cy6K0BZ4Kb U9HWWoYpzsjgY3zIiNQ0Lnrz3FAW5hZyNcvDNn6ohWAytr21koxaha5pP7rcOG4c809O bD3urSx4RgIT1rq0Gdjck3Dqy6gItlNhax0sclUc0CZy88vq2Ptqq7reGoE7RKSUI7+3 AFQ0xGQVpojJfGCamPcK3Jjqq+Q8z96HDFMnhHuP4ayqkT/0dUVLO4uD41Kg/H1WGXee bukQ== X-Gm-Message-State: AOAM530sCEUFuFwLEvvP4+HFCJORhUR2cNfyGNU9534rDw5+YNC5nyz3 gpQE85khTYs3A+VILW+TdCP8ss19EVI= X-Google-Smtp-Source: ABdhPJzXH0DwWC8bLc45mLxsV47q0EvMuP+wyY3mMZFXrKt8wTJWWfixY3hF+arZDhHYDTq9UNr5XA== X-Received: by 2002:a50:d742:: with SMTP id i2mr5154387edj.154.1606243900274; Tue, 24 Nov 2020 10:51:40 -0800 (PST) Received: from ZALANDO-31298 ([79.140.123.205]) by smtp.gmail.com with ESMTPSA id g13sm7603681edy.7.2020.11.24.10.51.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 24 Nov 2020 10:51:39 -0800 (PST) From: Dario Gjorgjevski Date: Tue, 24 Nov 2020 19:51:38 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2a00:1450:4864:20::536; envelope-from=dario.gjorgjevski@gmail.com; helo=mail-ed1-x536.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable When a variable=E2=80=99s custom-form is 'lisp (or 'mismatch), `custom-variable-value-create' will quote its value prior to storing it inside the widget. Afterwards, `custom-variable-modified-p' will try to compare this quoted form to the (unquoted) value and think that the variable has been modified. To reproduce, fire up emacs -Q and do: 1. (setq custom-variable-default-form 'lisp) 2. M-x customize-variable RET auto-save-file-name-transforms RET You will notice that Customize thinks that the variable has been modified even though that is not true. If step 1. is omitted, everything is fine. The patch attached below fixes that. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Fix-modification-check-when-custom-form-is-lisp.patch Content-Description: Fix modification check when custom-form is 'lisp >From 1e2b5ce115d67d350e27d7d3bd33ef5131cc59fa Mon Sep 17 00:00:00 2001 From: Dario Gjorgjevski Date: Tue, 24 Nov 2020 17:34:08 +0100 Subject: [PATCH] Fix modification check when custom-form is 'lisp * lisp/cus-edit.el (custom-variable-modified-p): Quote the value when custom form is 'lisp (or 'mismatch) prior to comparing in order to accommodate `custom-variable-value-create'. --- lisp/cus-edit.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index eceba8fa4d..27c0147f58 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -2900,14 +2900,19 @@ custom-variable-modified-p in a customize buffer. To check for other states, call `custom-variable-state'." (catch 'get-error - (let* ((symbol (widget-get widget :value)) + (let* ((form (widget-get widget :custom-form)) + (symbol (widget-get widget :value)) (get (or (get symbol 'custom-get) 'default-value)) (value (if (default-boundp symbol) (condition-case nil (funcall get symbol) (error (throw 'get-error t))) - (symbol-value symbol)))) - (not (equal value (widget-value (car (widget-get widget :children)))))))) + (symbol-value symbol))) + (orig-value (widget-value (car (widget-get widget :children))))) + (not (equal (if (memq form '(lisp mismatch)) + (custom-quote value) ; Mimic `custom-variable-value-create'. + value) + orig-value))))) (defun custom-variable-state-set (widget &optional state) "Set the state of WIDGET to STATE. -- 2.28.0 --=-=-= Content-Type: text/plain Best regards, Dario -- $ keyserver=hkps://hkps.pool.sks-keyservers.net $ keyid=744A4F0B4F1C9371 $ gpg --keyserver $keyserver --search-keys $keyid --=-=-=-- From unknown Mon Aug 11 12:53:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#44852: [PATCH] Fix modification check when custom-form is 'lisp Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Nov 2020 11:00:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44852 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dario Gjorgjevski Cc: 44852@debbugs.gnu.org Received: via spool by 44852-submit@debbugs.gnu.org id=B44852.160638839624576 (code B ref 44852); Thu, 26 Nov 2020 11:00:03 +0000 Received: (at 44852) by debbugs.gnu.org; 26 Nov 2020 10:59:56 +0000 Received: from localhost ([127.0.0.1]:38635 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiF0F-0006OK-Oy for submit@debbugs.gnu.org; Thu, 26 Nov 2020 05:59:56 -0500 Received: from quimby.gnus.org ([95.216.78.240]:48524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiF0E-0006O3-0C for 44852@debbugs.gnu.org; Thu, 26 Nov 2020 05:59:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=CEX58DDn5mIW2vjeZ1lzgOj+9B/WpFCBid2VG2QtipQ=; b=QAGsKM78KlybAbwQYAk4hAnwCJ Sj2SDtWW7X0GK5G0/waaHIF55nm9doXQNrX7RKoPAO6K6lqLTpPKDGZXm3J47d1714DH2KpLuv/UO bUoQvkhlYr9wsx/xy9/95W0Av1+9hPtN3Can11sRduUZrchEydJHulbD7N0jMDmFq5Hs=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kiF05-0000Wa-BQ; Thu, 26 Nov 2020 11:59:47 +0100 From: Lars Ingebrigtsen References: X-Now-Playing: Soft Cell's _Tainted Love_: "Tainted Love" Date: Thu, 26 Nov 2020 11:59:44 +0100 In-Reply-To: (Dario Gjorgjevski's message of "Tue, 24 Nov 2020 19:51:38 +0100") Message-ID: <87r1ogwfhb.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Dario Gjorgjevski writes: > You will notice that Customize thinks that the variable has been > modified even though that is not true. If step 1. is omitted, > everything is fine. > > The patch attached below fixes that. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Dario Gjorgjevski writes: > You will notice that Customize thinks that the variable has been > modified even though that is not true. If step 1. is omitted, > everything is fine. > > The patch attached below fixes that. Thanks; applied to Emacs 28. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 26 06:00:02 2020 Received: (at control) by debbugs.gnu.org; 26 Nov 2020 11:00:02 +0000 Received: from localhost ([127.0.0.1]:38638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiF0M-0006P0-1n for submit@debbugs.gnu.org; Thu, 26 Nov 2020 06:00:02 -0500 Received: from quimby.gnus.org ([95.216.78.240]:48538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiF0K-0006OJ-Ta for control@debbugs.gnu.org; Thu, 26 Nov 2020 06:00:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=0BZfbKaosmdZTvIz2EvzsSl2Sa9v/7BG1jNe8n0PbE8=; b=NylxNN9ofBO2aQKtqYv1JTmKO5 8q3rPL/q0LbBkxTjs5Ddf4fTiBdSQS5Tb7+pOmfGkjUHAt8Z2FUUtlO2eC0WUvuGMI3HXAgM4P056 VCuuM3HFljTdCwAHemXF5iiQuSrhcPU6pZmJph8PjUdO7Bgv58UsEPjZOwUMXAe4z03A=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kiF0D-0000Wj-7f for control@debbugs.gnu.org; Thu, 26 Nov 2020 11:59:55 +0100 Date: Thu, 26 Nov 2020 11:59:52 +0100 Message-Id: <87pn40wfh3.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #44852 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: tags 44852 fixed close 44852 28.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 44852 fixed close 44852 28.1 quit