From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: pierre.techoueyres@free.fr (Pierre =?UTF-8?Q?T=C3=A9choueyres?=) Newsgroups: gmane.emacs.bugs Subject: bug#30494: 25.2; (setting-constant nil) error in sql.el Date: Sat, 01 Dec 2018 01:30:29 +0100 Message-ID: <87pnumccm2.fsf@killashandra.ballybran.fr> References: <20180216214220.GA29493@localhost> <87d10e11xj.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: blaine.gmane.org 1543624149 8587 195.159.176.226 (1 Dec 2018 00:29:09 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 1 Dec 2018 00:29:09 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.90 (gnu/linux) Cc: sciamano@yandex.ru, 30494@debbugs.gnu.org To: Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Dec 01 01:29:04 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1gSt9a-00025Q-8c for geb-bug-gnu-emacs@m.gmane.org; Sat, 01 Dec 2018 01:29:02 +0100 Original-Received: from localhost ([::1]:35264 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gStBg-0004yD-RQ for geb-bug-gnu-emacs@m.gmane.org; Fri, 30 Nov 2018 19:31:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36226) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gStBZ-0004xw-Vg for bug-gnu-emacs@gnu.org; Fri, 30 Nov 2018 19:31:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gStBW-0007Jx-Rc for bug-gnu-emacs@gnu.org; Fri, 30 Nov 2018 19:31:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:52442) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gStBW-0007Jr-Mj for bug-gnu-emacs@gnu.org; Fri, 30 Nov 2018 19:31:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gStBW-00057z-IM for bug-gnu-emacs@gnu.org; Fri, 30 Nov 2018 19:31:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: pierre.techoueyres@free.fr (Pierre =?UTF-8?Q?T=C3=A9choueyres?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 01 Dec 2018 00:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30494 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed easy Original-Received: via spool by 30494-submit@debbugs.gnu.org id=B30494.154362423519675 (code B ref 30494); Sat, 01 Dec 2018 00:31:02 +0000 Original-Received: (at 30494) by debbugs.gnu.org; 1 Dec 2018 00:30:35 +0000 Original-Received: from localhost ([127.0.0.1]:56700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gStB5-00057G-4T for submit@debbugs.gnu.org; Fri, 30 Nov 2018 19:30:35 -0500 Original-Received: from smtp3-g21.free.fr ([212.27.42.3]:47210) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gStB3-000576-PJ for 30494@debbugs.gnu.org; Fri, 30 Nov 2018 19:30:34 -0500 Original-Received: from killashandra.ballybran.fr.free.fr (unknown [IPv6:2a01:e35:2e14:eab0:d4dc:72c5:daba:b8ca]) by smtp3-g21.free.fr (Postfix) with ESMTPS id 7BF2F13F86E; Sat, 1 Dec 2018 01:30:29 +0100 (CET) In-Reply-To: <87d10e11xj.fsf@gmail.com> (Noam Postavsky's message of "Thu, 08 Mar 2018 20:18:48 -0500") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:152943 Archived-At: --=-=-= Content-Type: text/plain Noam Postavsky writes: > tags 30494 + confirmed easy > quit > > sciamano@yandex.ru writes: > >> In 'emacs -Q' executing it step-by-step: >> >> (require 'sql) >> >> (sql-add-product 'xyz "XyzDB" >> '(:free-software t)) >> >> (defcustom my-sql-xyz-program "ixyz" >> "Command to start ixyz by XyzDB." >> :type 'file >> :group 'SQL) >> >> ;; NEXT STEP FAILS WITH: >> ;; Debugger entered--Lisp error: (setting-constant nil) >> ;; sql-set-product-feature(xyz :sqli-program my-sql-xyz-program) >> ;; eval((sql-set-product-feature (quote xyz) :sqli-program (quote my-sql-xyz-program)) nil) >> (sql-set-product-feature 'xyz >> :sqli-program 'my-sql-xyz-program) > > Looks like it's probably just a missing nil check in > sql-set-product-feature. > Does the attached patch do the trick ? --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Check-that-feature-exist-in-sql-set-product-feature-.patch Content-Description: Fix bug30494 >From fc0ee63bb0cadb054260ea74d310720ac3068f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20T=C3=A9choueyres?= Date: Sat, 1 Dec 2018 01:20:45 +0100 Subject: [PATCH] Check that feature exist in `sql-set-product-feature' (Bug#30494). * lisp/progmodes/sql.el: add check for feature existence. --- lisp/progmodes/sql.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index e7d7494d2c..9051a6ad07 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el @@ -2533,13 +2533,17 @@ sql-set-product-feature (let* ((p (assoc product sql-product-alist)) (v (plist-get (cdr p) feature))) - (if p + (if (and p v) (if (and (member feature sql-indirect-features) (symbolp v)) (set v newvalue) (setcdr p (plist-put (cdr p) feature newvalue))) - (error "`%s' is not a known product; use `sql-add-product' to add it first." product)))) + (progn + (when (null p) + (error "`%s' is not a known product; use `sql-add-product' to add it first." product)) + (when (null v) + (error "`%s' is not a known feature for `%s'; use `sql-add-product' to add it first." feature product)))))) (defun sql-get-product-feature (product feature &optional fallback not-indirect) "Lookup FEATURE associated with a SQL PRODUCT. -- 2.19.2 --=-=-=--