Received: (at 74410) by debbugs.gnu.org; 24 Nov 2024 17:46:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 24 12:46:33 2024 Received: from localhost ([127.0.0.1]:35937 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tFGgr-0001xQ-6B for submit <at> debbugs.gnu.org; Sun, 24 Nov 2024 12:46:33 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:36263) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tFGgp-0001wz-H2 for 74410 <at> debbugs.gnu.org; Sun, 24 Nov 2024 12:46:32 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id F27DD60002; Sun, 24 Nov 2024 17:46:21 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers In-Reply-To: <jwviksgime0.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Thu, 21 Nov 2024 11:28:19 -0500") Organization: LINKOV.NET References: <jwvplmtjwc8.fsf-monnier+@gnu.org> <871pz62v0o.fsf@HIDDEN> <jwv7c8xcwq5.fsf-monnier+emacs@HIDDEN> <87ttc181jp.fsf@HIDDEN> <jwviksgime0.fsf-monnier+emacs@HIDDEN> Date: Sun, 24 Nov 2024 19:35:28 +0200 Message-ID: <87ttbwee4n.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 74410 Cc: 74410 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> Or to make the binding conditional with something like this: >> >> @@ -1079,7 +1079,10 @@ widget-global-map >> (defvar widget-field-keymap >> (let ((map (copy-keymap widget-keymap))) >> (define-key map "\C-k" #'widget-kill-line) >> - (define-key map "\M-\t" #'widget-complete) >> + (define-key map "\M-\t" `(menu-item "" 'widget-complete >> + :filter ,(lambda (cmd) >> + (unless completion-at-point-functions >> + cmd)))) >> (define-key map "\C-m" #'widget-field-activate) >> ;; Since the widget code uses a `field' property to identify fields, >> ;; ordinary beginning-of-line does the right thing. > > Cute 🙂 > I really like the fact that Emacs can do this, but we shouldn't abuse > it, because it makes it more difficult for users to figure out > what's going on. Indeed, this was just an example. But it would be nice to do the same one way or another. Maybe 'widget-complete' itself should check for 'completion-at-point-functions', or something like this.
bug-gnu-emacs@HIDDEN
:bug#74410
; Package emacs
.
Full text available.Received: (at 74410) by debbugs.gnu.org; 21 Nov 2024 16:28:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 21 11:28:30 2024 Received: from localhost ([127.0.0.1]:51459 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tEA2g-0002pM-BO for submit <at> debbugs.gnu.org; Thu, 21 Nov 2024 11:28:30 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:57364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1tEA2d-0002p6-C7 for 74410 <at> debbugs.gnu.org; Thu, 21 Nov 2024 11:28:28 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B692D8093F; Thu, 21 Nov 2024 11:28:20 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1732206499; bh=zC/TPKdPf/FOyxhfCBEGvcamA4x6ptkc6GOCS0loaa0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=cXnwP3oFgExAGBJo264oC8tJYYcLgPXR88MWeHWhwzhrV0lnfr3O3AmrcwY8Koe8q XoMpSC0CnEVJHyBqYdP2aEUIwtCpa33SqHI+olm1jn/jfmDRBo2txbgA0LH4Jo6rz9 fEPl5SFMZc8rTM3QaSe+SSRobaOED8gsFnvWKVcA7acKkI20P1i6z8G7CgKR8/xlD5 3KdjHbCEd+boGXLtoZGc2+caUS6Q3QRPFvF35AonFenMzM1NGYofHyyusWO2oUWRgT 97n5xQkac0vDEBbwtTlMbCdwKFnTs2q3PAINmbunOwS55ei/mFrr9dVbGLokki1ihg g2wWFqDSn+fhA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E11CB80135; Thu, 21 Nov 2024 11:28:19 -0500 (EST) Received: from alfajor (unknown [192.197.121.90]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id CD5D61204D5; Thu, 21 Nov 2024 11:28:19 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Juri Linkov <juri@HIDDEN> Subject: Re: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers In-Reply-To: <87ttc181jp.fsf@HIDDEN> (Juri Linkov's message of "Thu, 21 Nov 2024 09:54:18 +0200") Message-ID: <jwviksgime0.fsf-monnier+emacs@HIDDEN> References: <jwvplmtjwc8.fsf-monnier+@gnu.org> <871pz62v0o.fsf@HIDDEN> <jwv7c8xcwq5.fsf-monnier+emacs@HIDDEN> <87ttc181jp.fsf@HIDDEN> Date: Thu, 21 Nov 2024 11:28:19 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.002 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 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 74410 Cc: 74410 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Or to make the binding conditional with something like this: > > diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el > index ba99847f488..0701442447c 100644 > --- a/lisp/wid-edit.el > +++ b/lisp/wid-edit.el > @@ -1079,7 +1079,10 @@ widget-global-map > (defvar widget-field-keymap > (let ((map (copy-keymap widget-keymap))) > (define-key map "\C-k" #'widget-kill-line) > - (define-key map "\M-\t" #'widget-complete) > + (define-key map "\M-\t" `(menu-item "" 'widget-complete > + :filter ,(lambda (cmd) > + (unless completion-at-point-fun= ctions > + cmd)))) > (define-key map "\C-m" #'widget-field-activate) > ;; Since the widget code uses a `field' property to identify fields, > ;; ordinary beginning-of-line does the right thing. Cute =F0=9F=99=82 I really like the fact that Emacs can do this, but we shouldn't abuse it, because it makes it more difficult for users to figure out what's going on. Stefan
bug-gnu-emacs@HIDDEN
:bug#74410
; Package emacs
.
Full text available.Received: (at 74410) by debbugs.gnu.org; 21 Nov 2024 07:56:37 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 21 02:56:37 2024 Received: from localhost ([127.0.0.1]:48977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tE23J-0004Dk-0l for submit <at> debbugs.gnu.org; Thu, 21 Nov 2024 02:56:37 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:35775) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tE23B-0004DR-Oj for 74410 <at> debbugs.gnu.org; Thu, 21 Nov 2024 02:56:36 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 751C74000E; Thu, 21 Nov 2024 07:56:21 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers In-Reply-To: <jwv7c8xcwq5.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Wed, 20 Nov 2024 18:31:07 -0500") Organization: LINKOV.NET References: <jwvplmtjwc8.fsf-monnier+@gnu.org> <871pz62v0o.fsf@HIDDEN> <jwv7c8xcwq5.fsf-monnier+emacs@HIDDEN> Date: Thu, 21 Nov 2024 09:54:18 +0200 Message-ID: <87ttc181jp.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 74410 Cc: 74410 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> Currently this works only when typing 'M-x completion-at-point RET', >> not by 'M-C-i' that is bound to 'widget-complete'. Maybe >> 'M-C-i' should be rebound to 'completion-at-point' in widgets? > > Maybe it would make even more sense to just remove the `widget-complete` > binding since M-TAB should already be bound appropriately, but the > problem is that we don't know that the code which inserts the widget > into a buffer has properly setup the `completion-at-point-functions` > hook for `completion-at-point` to work. > > Maybe we should try and detect when that is not the case and emit > a warning if so (with the hope to be able to obsolete `widget-complete` > in some future version). Or to make the binding conditional with something like this: diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index ba99847f488..0701442447c 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -1079,7 +1079,10 @@ widget-global-map (defvar widget-field-keymap (let ((map (copy-keymap widget-keymap))) (define-key map "\C-k" #'widget-kill-line) - (define-key map "\M-\t" #'widget-complete) + (define-key map "\M-\t" `(menu-item "" 'widget-complete + :filter ,(lambda (cmd) + (unless completion-at-point-functions + cmd)))) (define-key map "\C-m" #'widget-field-activate) ;; Since the widget code uses a `field' property to identify fields, ;; ordinary beginning-of-line does the right thing.
bug-gnu-emacs@HIDDEN
:bug#74410
; Package emacs
.
Full text available.Received: (at 74410) by debbugs.gnu.org; 20 Nov 2024 23:31:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 20 18:31:22 2024 Received: from localhost ([127.0.0.1]:48258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tDuAM-0006nI-E4 for submit <at> debbugs.gnu.org; Wed, 20 Nov 2024 18:31:22 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:59305) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1tDuAK-0006n5-7z for 74410 <at> debbugs.gnu.org; Wed, 20 Nov 2024 18:31:21 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 59D56100126; Wed, 20 Nov 2024 18:31:13 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1732145468; bh=eQCV2hIYemrCIaZNuuB/Vr9rN2/eHYeRCLfq8m44WFc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=g/q6iT4RWZwDw0VLwgiPGPpwNR//STYmdB2+zyh2nbtP8C4OmjsgszvbqvIcXPbeV ps5fpybNvYK0oa+tQW31AVdIC5PqECYEtQk+/d5U9XraOY9vbQe+iTgLksrH7c3akm ec6qYc3VXoSD9c6kLCdt4IIIIkRyVQpV01ONdxNKFZPJGabeC0G64XffOOBWVJe4EU 1aH54X7jedgUAZirYCaxxDTxVpnMT19vaawQdNyQoeMzor1AxVbTerq4B8WOXwQMfw 6dvRDTcJFuvK7ffoWBMyWTgJdOl0QQyDr6J2ShsaLMyzuiCZ9E7f1+4FRvbiFV/uR1 D17jn100axeUQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 57B0D100042; Wed, 20 Nov 2024 18:31:08 -0500 (EST) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 452C6120317; Wed, 20 Nov 2024 18:31:08 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Juri Linkov <juri@HIDDEN> Subject: Re: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers In-Reply-To: <871pz62v0o.fsf@HIDDEN> (Juri Linkov's message of "Wed, 20 Nov 2024 09:57:59 +0200") Message-ID: <jwv7c8xcwq5.fsf-monnier+emacs@HIDDEN> References: <jwvplmtjwc8.fsf-monnier+@gnu.org> <871pz62v0o.fsf@HIDDEN> Date: Wed, 20 Nov 2024 18:31:07 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) 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.205 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 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 74410 Cc: 74410 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Currently this works only when typing 'M-x completion-at-point RET', > not by 'M-C-i' that is bound to 'widget-complete'. Maybe > 'M-C-i' should be rebound to 'completion-at-point' in widgets? Maybe it would make even more sense to just remove the `widget-complete` binding since M-TAB should already be bound appropriately, but the problem is that we don't know that the code which inserts the widget into a buffer has properly setup the `completion-at-point-functions` hook for `completion-at-point` to work. Maybe we should try and detect when that is not the case and emit a warning if so (with the hope to be able to obsolete `widget-complete` in some future version). Stefan
bug-gnu-emacs@HIDDEN
:bug#74410
; Package emacs
.
Full text available.Received: (at 74410) by debbugs.gnu.org; 20 Nov 2024 08:04:35 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 20 03:04:35 2024 Received: from localhost ([127.0.0.1]:45104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tDfhT-00067Y-Hc for submit <at> debbugs.gnu.org; Wed, 20 Nov 2024 03:04:35 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:37337) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tDfhR-00067J-5o for 74410 <at> debbugs.gnu.org; Wed, 20 Nov 2024 03:04:34 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id BB8F860003; Wed, 20 Nov 2024 08:04:03 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers In-Reply-To: <jwvplmtjwc8.fsf-monnier+@gnu.org> (Stefan Monnier via's message of "Sun, 17 Nov 2024 18:15:36 -0500") Organization: LINKOV.NET References: <jwvplmtjwc8.fsf-monnier+@gnu.org> Date: Wed, 20 Nov 2024 09:57:59 +0200 Message-ID: <871pz62v0o.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 74410 Cc: 74410 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > For example: > > src/emacs -Q --eval '(customize-face `fixed-pitch)' > ... move point to the font family field ... > ... delete the "space" from "Monospace" then do: > M-x completion-at-point RET > > This will presumably do nothing at all. > `widget-complete` completes it back to "Monospace" (at least on > `master` where I installed a patch for that). > > The problem is that cus-edit doesn't setup > `completion-at-point-functions`. Instead it sets up a special keymap to > remap M-TAB to `widget-complete` instead of relying on the > global binding. > > It works OK for a default config, but it doesn't interact well with > setups that use different keybindings or different completion UIs based > on `completion-at-point-functions`. E.g. `corfu-mode` partly works but > not fully (e.g. `corfu-auto` doesn't have any effect). > > The patch below leaves the key remapping for now, but adds an > appropriate function to `completion-at-point-functions` so that > other UIs such as `completion-at-point` can do their job properly. > > Comments/objection? Now finally it's possible to select a completion using arrow keys like for in-buffer completions, thanks. Currently this works only when typing 'M-x completion-at-point RET', not by 'M-C-i' that is bound to 'widget-complete'. Maybe 'M-C-i' should be rebound to 'completion-at-point' in widgets?
bug-gnu-emacs@HIDDEN
:bug#74410
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 17 Nov 2024 23:16:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 17 18:16:03 2024 Received: from localhost ([127.0.0.1]:59064 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tCoUs-0004WV-Pd for submit <at> debbugs.gnu.org; Sun, 17 Nov 2024 18:16:03 -0500 Received: from lists.gnu.org ([209.51.188.17]:52280) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1tCoUo-0004W4-Bi for submit <at> debbugs.gnu.org; Sun, 17 Nov 2024 18:16:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <monnier@HIDDEN>) id 1tCoUZ-0005nz-8S for bug-gnu-emacs@HIDDEN; Sun, 17 Nov 2024 18:15:44 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <monnier@HIDDEN>) id 1tCoUX-0005YR-1v for bug-gnu-emacs@HIDDEN; Sun, 17 Nov 2024 18:15:43 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 48FDC8053B for <bug-gnu-emacs@HIDDEN>; Sun, 17 Nov 2024 18:15:39 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1731885338; bh=L3Wnwuak8KWWGa+SaePJ7/af5vv9d/9phfU/EFyP+ME=; h=From:To:Subject:Date:From; b=TVh9FILjRN/rdNLT+egU80sD35WipC+259JXnOHj2YS9tE/Q+OYKsACxe2KOzntYo IIV7r/4oBqOs2pCkvOmgwJF3TS0t5mXLaZZ1TTDAXbpRkMsNh+1vWPNWIC2r/uSRte NignxDgYFJqnwDIy2D1yw8yORvHvbw4rrSZoL00E7wgbKb+1DiyJzdzkhfesudQUrZ oLSCVhHoZTtIwQds9ZhyAPoXdNkSH7xax+omBxFDfdoRtVjUgh4q8ie8PRG+LlO/DF LK4kftpAklGT1A1kR05TFOz6hqX2rpmm2NywEgCgVNJk4SWCrh3UC+oROAxL4J4lLb CKcuceyC01daA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id F03148075E for <bug-gnu-emacs@HIDDEN>; Sun, 17 Nov 2024 18:15:37 -0500 (EST) Received: from alfajor (104-195-225-43.cpe.teksavvy.com [104.195.225.43]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id CFCD412024D for <bug-gnu-emacs@HIDDEN>; Sun, 17 Nov 2024 18:15:37 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 31.0.50; completion-at-point doesn't work in custom buffers Message-ID: <jwvplmtjwc8.fsf-monnier+@gnu.org> X-Debbugs-Cc: monnier@HIDDEN Date: Sun, 17 Nov 2024 18:15:36 -0500 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.012 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 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@HIDDEN; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) Package: Emacs Version: 31.0.50 For example: src/emacs -Q --eval '(customize-face `fixed-pitch)' ... move point to the font family field ... ... delete the "space" from "Monospace" then do: M-x completion-at-point RET This will presumably do nothing at all. `widget-complete` completes it back to "Monospace" (at least on `master` where I installed a patch for that). The problem is that cus-edit doesn't setup `completion-at-point-functions`. Instead it sets up a special keymap to remap M-TAB to `widget-complete` instead of relying on the global binding. It works OK for a default config, but it doesn't interact well with setups that use different keybindings or different completion UIs based on `completion-at-point-functions`. E.g. `corfu-mode` partly works but not fully (e.g. `corfu-auto` doesn't have any effect). The patch below leaves the key remapping for now, but adds an appropriate function to `completion-at-point-functions` so that other UIs such as `completion-at-point` can do their job properly. Comments/objection? Stefan diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index e0668d4ba86..02e0b541f05 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -5503,7 +5503,8 @@ Custom-mode (make-local-variable 'custom-options) (make-local-variable 'custom-local-buffer) (custom--initialize-widget-variables) - (add-hook 'widget-edit-functions 'custom-state-buffer-message nil t)) + (add-hook 'completion-at-point-functions #'widget-completions-at-point nil t) + (add-hook 'widget-edit-functions #'custom-state-buffer-message nil t)) (defun custom--revert-buffer (_ignore-auto _noconfirm) (unless custom--invocation-options diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 58a36820ac7..1538720adef 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -1399,7 +1399,7 @@ widget-complete "Complete content of editable field from point. When not inside a field, signal an error." (interactive) - (let ((data (widget-completions-at-point))) + (let ((data (widget-completions-at-point 'error))) (cond ((functionp data) (funcall data)) ((consp data) @@ -1414,11 +1414,11 @@ widget-complete ;; so it's not really obsolete (yet). ;; (make-obsolete 'widget-complete 'completion-at-point "24.1") -(defun widget-completions-at-point () +(defun widget-completions-at-point (&optional error) (let ((field (widget-field-find (point)))) (if field (widget-apply field :completions-function) - (error "Not in an editable field")))) + (if error (error "Not in an editable field"))))) ;;; Setting up the buffer.
Stefan Monnier <monnier@HIDDEN>
:monnier@HIDDEN, bug-gnu-emacs@HIDDEN
.
Full text available.monnier@HIDDEN, bug-gnu-emacs@HIDDEN
:bug#74410
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.