From unknown Sun Jun 22 08:00:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#53012: 28.0.90; completion--nth-completion: Throw a meaningful error Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 04 Jan 2022 20:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 53012 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 53012@debbugs.gnu.org Cc: Stefan Monnier X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.164132719431724 (code B ref -1); Tue, 04 Jan 2022 20:14:02 +0000 Received: (at submit) by debbugs.gnu.org; 4 Jan 2022 20:13:14 +0000 Received: from localhost ([127.0.0.1]:38830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n4qBF-0008Fc-RF for submit@debbugs.gnu.org; Tue, 04 Jan 2022 15:13:14 -0500 Received: from lists.gnu.org ([209.51.188.17]:34456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n4qBE-0008FV-7o for submit@debbugs.gnu.org; Tue, 04 Jan 2022 15:13:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41478) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n4qBE-0002Ke-40 for bug-gnu-emacs@gnu.org; Tue, 04 Jan 2022 15:13:12 -0500 Received: from [2a01:4f8:121:346::180] (port=58921 helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n4qBB-0005tg-5V for bug-gnu-emacs@gnu.org; Tue, 04 Jan 2022 15:13:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Date: Message-ID:Subject:From:Cc:To:Sender:Reply-To: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=CTpNyzF74NoBnVR6BOQrTdwzfJJoizCiYmxO9h0d2gc=; b=Z9y1gDLQFkl8J+OZ3PIfgYobev lWUcFo8PmGus4BFYZMdqUjJi4eugnyuTB/8z0B11558qPNIPgT8uXUmA93pwZaHoOxSbAG1XZW5WG xbAM/zqo6CBMirsOfYZf8ZXhxSuxHzNdMWfpNJdLmy8kGquzIKHi+ECUnCv/xEuVS720=; From: Daniel Mendler Message-ID: <9908ba86-2117-9025-559c-dc7bc868b371@daniel-mendler.de> Date: Tue, 4 Jan 2022 21:12:47 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a01:4f8:121:346::180 (failed) Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, RDNS_NONE=0.793, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) 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.4 (--) In the context of the GNU ELPA Vertico/Mct/Orderless/Embark ecosystem we teach users to adjust the completion style. Unfortunately completion--nth-completion is not very robust against misconfiguration. I propose to throw a more meaningful error instead of the nil error. Patch follows. --- >From da92169572e375facabb28b6d3c14cb2158ab1c9 Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 4 Jan 2022 21:08:04 +0100 Subject: [PATCH] completion--nth-completion: Throw meaningful error If a configured completion style does not exist, throw a meaningful error. Also make completion-styles-alist a defvar, since completion styles like orderless extend it. --- lisp/minibuffer.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 1d596694e4..ab760a42d1 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -900,7 +900,7 @@ completion-auto-help the second failed attempt to complete." :type '(choice (const nil) (const t) (const lazy))) -(defconst completion-styles-alist +(defvar completion-styles-alist '((emacs21 completion-emacs21-try-completion completion-emacs21-all-completions "Simple prefix-based completion. @@ -1076,9 +1076,10 @@ completion--nth-completion (result-and-style (completion--some (lambda (style) - (let ((probe (funcall (nth n (assq style - completion-styles-alist)) - string table pred point))) + (let ((probe (funcall + (or (nth n (assq style completion-styles-alist)) + (error "Invalid completion style %s" style)) + string table pred point))) (and probe (cons probe style)))) (completion--styles md))) (adjust-fn (get (cdr result-and-style) 'completion--adjust-metadata))) -- 2.20.1 From unknown Sun Jun 22 08:00:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#53012: 28.0.90; completion--nth-completion: Throw a meaningful error Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jan 2022 00:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53012 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Daniel Mendler Cc: 53012@debbugs.gnu.org Received: via spool by 53012-submit@debbugs.gnu.org id=B53012.164134197532052 (code B ref 53012); Wed, 05 Jan 2022 00:20:01 +0000 Received: (at 53012) by debbugs.gnu.org; 5 Jan 2022 00:19:35 +0000 Received: from localhost ([127.0.0.1]:39185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n4u1f-0008Ku-Dk for submit@debbugs.gnu.org; Tue, 04 Jan 2022 19:19:35 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:34422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n4u1c-0008Ke-82 for 53012@debbugs.gnu.org; Tue, 04 Jan 2022 19:19:34 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 2C416805B4; Tue, 4 Jan 2022 19:19:25 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id BDA3F80365; Tue, 4 Jan 2022 19:19:23 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1641341963; bh=YJwPT5mhpHoC+6UfQ6oo4kStmU4jGGrTZ1l4f0nV1Hs=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=T4veXgXF2eQXLyIEjY0XW0tqBM7j05AgGFjtMfKKNt1XO51/1Yj2YsloIE6bsPhwr ORxUDLqWMidfRQL51J47G5ubf35LOooAGF3SKon0UOguolZfoHNRXEapVJb2X9bxwJ BK5XKaMP7iuNC1vk8wdbehAsVwytoQSmGE3Xoo68HXAsit/pBCoxJT9oS4c3CZnxDq xbDQRGSVKlWxkYrzKd21ATccXtyan0zZQOnkCBq3nKsO+Cj+bi7P4pxMyCJbXzXQEN tXciXz+dEIS8gVHa8oLqLtmRPCbSilO2J6muqcIPzramE0rNGQrZUzdQpd02Zo5yLO KHVUZRvpjnkBg== Received: from pastel (unknown [216.154.30.173]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 941C612023C; Tue, 4 Jan 2022 19:19:23 -0500 (EST) From: Stefan Monnier Message-ID: References: <9908ba86-2117-9025-559c-dc7bc868b371@daniel-mendler.de> Date: Tue, 04 Jan 2022 19:19:22 -0500 In-Reply-To: <9908ba86-2117-9025-559c-dc7bc868b371@daniel-mendler.de> (Daniel Mendler's message of "Tue, 4 Jan 2022 21:12:47 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.085 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.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: -3.3 (---) Daniel Mendler [2022-01-04 21:12:47] wrote: > In the context of the GNU ELPA Vertico/Mct/Orderless/Embark ecosystem we > teach users to adjust the completion style. Unfortunately > completion--nth-completion is not very robust against misconfiguration. > I propose to throw a more meaningful error instead of the nil error. Thanks, looks good. Pushed to `master`. Stefan From unknown Sun Jun 22 08:00:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#53012: 28.0.90; completion--nth-completion: Throw a meaningful error Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jan 2022 00:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53012 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 53012@debbugs.gnu.org Received: via spool by 53012-submit@debbugs.gnu.org id=B53012.16413433511727 (code B ref 53012); Wed, 05 Jan 2022 00:43:01 +0000 Received: (at 53012) by debbugs.gnu.org; 5 Jan 2022 00:42:31 +0000 Received: from localhost ([127.0.0.1]:39205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n4uNq-0000Rn-Pn for submit@debbugs.gnu.org; Tue, 04 Jan 2022 19:42:30 -0500 Received: from server.qxqx.de ([178.63.65.180]:42183 helo=mail.qxqx.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n4uNo-0000RX-0R for 53012@debbugs.gnu.org; Tue, 04 Jan 2022 19:42:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: 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=ZFpgA1Rgs4GrUDWhchDhMUQ3qxvnAEBOSXCoGwBqABo=; b=UAof8nReeku3efd8N+qJbj57fO 98JLZbUlw8Oc/ficLBrJ6tA2A946tDNQmZCVERUQ/In0V3QBxqLEL3GiFN+84YFN9cpCz1Yc34Hk9 Y8KpXC7AJ6JCuOSrenzWYOKSrqO3fbexOQzr/XXmOI0fmJ79RPIKqeIs/2y7CbGXJeYE=; References: <9908ba86-2117-9025-559c-dc7bc868b371@daniel-mendler.de> From: Daniel Mendler Message-ID: <6249b9dc-6fd4-b57d-f707-414287c3dcc2@daniel-mendler.de> Date: Wed, 5 Jan 2022 01:42:19 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -2.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: -3.3 (---) On 1/5/22 1:19 AM, Stefan Monnier wrote: > Daniel Mendler [2022-01-04 21:12:47] wrote: >> In the context of the GNU ELPA Vertico/Mct/Orderless/Embark ecosystem we >> teach users to adjust the completion style. Unfortunately >> completion--nth-completion is not very robust against misconfiguration. >> I propose to throw a more meaningful error instead of the nil error. > > Thanks, looks good. > Pushed to `master`. Thanks! From unknown Sun Jun 22 08:00:51 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Daniel Mendler Subject: bug#53012: closed (Re: bug#53012: 28.0.90; completion--nth-completion: Throw a meaningful error) Message-ID: References: <9908ba86-2117-9025-559c-dc7bc868b371@daniel-mendler.de> X-Gnu-PR-Message: they-closed 53012 X-Gnu-PR-Package: emacs Reply-To: 53012@debbugs.gnu.org Date: Sun, 09 Jan 2022 15:32:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1641742322-25428-1" This is a multi-part message in MIME format... ------------=_1641742322-25428-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #53012: 28.0.90; completion--nth-completion: Throw a meaningful error which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 53012@debbugs.gnu.org. --=20 53012: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D53012 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1641742322-25428-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 53012-done) by debbugs.gnu.org; 9 Jan 2022 15:31:46 +0000 Received: from localhost ([127.0.0.1]:51167 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n6aAc-0006bY-Fu for submit@debbugs.gnu.org; Sun, 09 Jan 2022 10:31:46 -0500 Received: from mail-pj1-f53.google.com ([209.85.216.53]:39627) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n6aAY-0006b6-QC for 53012-done@debbugs.gnu.org; Sun, 09 Jan 2022 10:31:45 -0500 Received: by mail-pj1-f53.google.com with SMTP id c14-20020a17090a674e00b001b31e16749cso17994519pjm.4 for <53012-done@debbugs.gnu.org>; Sun, 09 Jan 2022 07:31:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:user-agent :mime-version:date:message-id:subject:to:cc; bh=GlZqpf8+Z/yDYdDAs1Xx0teE+ssf2VbJuMt3lrg/OCM=; b=y/CJUu5DXDPYpjeJA7fnWg2aTF+ebJTgPjqCsrQ/fUVQCmRE/R3kJQSnAXPJCsN3y7 tfOba3XBv0VdG8L7M/hWWzyTSkpwsJxkxjnZSyBtTNUmLbhA2r+j/6Vt1nMhZNoJoPia cy2mBdwGbKlAjcje5qYD5387R3kbzKkUMYE4zvrLBruCwtKnDL0orDmaAkVAlKNQ2gU1 wR9zBxGbRy5X42QAH930ttLF+1vTOHNQSlXcCjU/seeJLdqj39GO8RRaJrM8z62Jell/ XlzFcDhZ3CrdssYUCL2Lz/SPBHD//W5ubV/yjpSD5XCdjzfbBxkzy/HI1YhMhgFS6sCZ /48Q== X-Gm-Message-State: AOAM533i6TCmPlf60tS1UuqgSxbSbMB7km6U5v78/syHmku+2GEMBO1S OZ3LuSh/c2u92+5HgCIa5tSLnHl/WVgS6vZHVwrCmkRNGug= X-Google-Smtp-Source: ABdhPJx7Om3+zxNUvR+UDNuLYGCLFLooislVvx9kFK3/SkR7Au0zWbbdvM3+6xhAghwV5Z8bndsswA0G/nXL0q4C3N8= X-Received: by 2002:a17:902:d507:b0:149:e668:e340 with SMTP id b7-20020a170902d50700b00149e668e340mr17570470plg.66.1641742297058; Sun, 09 Jan 2022 07:31:37 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 9 Jan 2022 09:31:36 -0600 From: Stefan Kangas In-Reply-To: <6249b9dc-6fd4-b57d-f707-414287c3dcc2@daniel-mendler.de> (Daniel Mendler's message of "Wed, 5 Jan 2022 01:42:19 +0100") References: <9908ba86-2117-9025-559c-dc7bc868b371@daniel-mendler.de> <6249b9dc-6fd4-b57d-f707-414287c3dcc2@daniel-mendler.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Date: Sun, 9 Jan 2022 09:31:36 -0600 Message-ID: Subject: Re: bug#53012: 28.0.90; completion--nth-completion: Throw a meaningful error To: Daniel Mendler Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 53012-done Cc: 53012-done@debbugs.gnu.org, Stefan Monnier 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: -0.5 (/) Daniel Mendler writes: > On 1/5/22 1:19 AM, Stefan Monnier wrote: >> Daniel Mendler [2022-01-04 21:12:47] wrote: >>> In the context of the GNU ELPA Vertico/Mct/Orderless/Embark ecosystem we >>> teach users to adjust the completion style. Unfortunately >>> completion--nth-completion is not very robust against misconfiguration. >>> I propose to throw a more meaningful error instead of the nil error. >> >> Thanks, looks good. >> Pushed to `master`. > > Thanks! I'm therefore closing this bug report. ------------=_1641742322-25428-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 4 Jan 2022 20:13:14 +0000 Received: from localhost ([127.0.0.1]:38830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n4qBF-0008Fc-RF for submit@debbugs.gnu.org; Tue, 04 Jan 2022 15:13:14 -0500 Received: from lists.gnu.org ([209.51.188.17]:34456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n4qBE-0008FV-7o for submit@debbugs.gnu.org; Tue, 04 Jan 2022 15:13:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41478) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n4qBE-0002Ke-40 for bug-gnu-emacs@gnu.org; Tue, 04 Jan 2022 15:13:12 -0500 Received: from [2a01:4f8:121:346::180] (port=58921 helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n4qBB-0005tg-5V for bug-gnu-emacs@gnu.org; Tue, 04 Jan 2022 15:13:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Date: Message-ID:Subject:From:Cc:To:Sender:Reply-To: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=CTpNyzF74NoBnVR6BOQrTdwzfJJoizCiYmxO9h0d2gc=; b=Z9y1gDLQFkl8J+OZ3PIfgYobev lWUcFo8PmGus4BFYZMdqUjJi4eugnyuTB/8z0B11558qPNIPgT8uXUmA93pwZaHoOxSbAG1XZW5WG xbAM/zqo6CBMirsOfYZf8ZXhxSuxHzNdMWfpNJdLmy8kGquzIKHi+ECUnCv/xEuVS720=; To: bug-gnu-emacs@gnu.org From: Daniel Mendler Subject: 28.0.90; completion--nth-completion: Throw a meaningful error Message-ID: <9908ba86-2117-9025-559c-dc7bc868b371@daniel-mendler.de> Date: Tue, 4 Jan 2022 21:12:47 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a01:4f8:121:346::180 (failed) Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, RDNS_NONE=0.793, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Stefan Monnier 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.4 (--) In the context of the GNU ELPA Vertico/Mct/Orderless/Embark ecosystem we teach users to adjust the completion style. Unfortunately completion--nth-completion is not very robust against misconfiguration. I propose to throw a more meaningful error instead of the nil error. Patch follows. --- >From da92169572e375facabb28b6d3c14cb2158ab1c9 Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 4 Jan 2022 21:08:04 +0100 Subject: [PATCH] completion--nth-completion: Throw meaningful error If a configured completion style does not exist, throw a meaningful error. Also make completion-styles-alist a defvar, since completion styles like orderless extend it. --- lisp/minibuffer.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 1d596694e4..ab760a42d1 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -900,7 +900,7 @@ completion-auto-help the second failed attempt to complete." :type '(choice (const nil) (const t) (const lazy))) -(defconst completion-styles-alist +(defvar completion-styles-alist '((emacs21 completion-emacs21-try-completion completion-emacs21-all-completions "Simple prefix-based completion. @@ -1076,9 +1076,10 @@ completion--nth-completion (result-and-style (completion--some (lambda (style) - (let ((probe (funcall (nth n (assq style - completion-styles-alist)) - string table pred point))) + (let ((probe (funcall + (or (nth n (assq style completion-styles-alist)) + (error "Invalid completion style %s" style)) + string table pred point))) (and probe (cons probe style)))) (completion--styles md))) (adjust-fn (get (cdr result-and-style) 'completion--adjust-metadata))) -- 2.20.1 ------------=_1641742322-25428-1--