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.