GNU logs - #74410, boring messages


Message sent to monnier@HIDDEN, bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: monnier@HIDDEN, bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 17 Nov 2024 23:17:01 +0000
Resent-Message-ID: <handler.74410.B.173188536317396 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 74410
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 74410 <at> debbugs.gnu.org
Cc: monnier@HIDDEN
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
X-Debbugs-Original-Xcc: monnier@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.173188536317396
          (code B ref -1); Sun, 17 Nov 2024 23:17:01 +0000
Received: (at submit) by debbugs.gnu.org; 17 Nov 2024 23:16:03 +0000
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>
Message-ID: <jwvplmtjwc8.fsf-monnier+@gnu.org>
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-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.
 





Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Stefan Monnier <monnier@HIDDEN>
Subject: bug#74410: Acknowledgement (31.0.50; completion-at-point doesn't
 work in custom buffers)
Message-ID: <handler.74410.B.173188536317396.ack <at> debbugs.gnu.org>
References: <jwvplmtjwc8.fsf-monnier+@gnu.org>
X-Gnu-PR-Message: ack 74410
X-Gnu-PR-Package: emacs
Reply-To: 74410 <at> debbugs.gnu.org
Date: Sun, 17 Nov 2024 23:17:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

As you requested using X-Debbugs-CC, your message was also forwarded to
  monnier@HIDDEN
(after having been given a bug report number, if it did not have one).

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 74410 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
74410: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D74410
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 20 Nov 2024 08:05:01 +0000
Resent-Message-ID: <handler.74410.B74410.173208987523538 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 74410
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Stefan Monnier <monnier@HIDDEN>
Cc: 74410 <at> debbugs.gnu.org
Received: via spool by 74410-submit <at> debbugs.gnu.org id=B74410.173208987523538
          (code B ref 74410); Wed, 20 Nov 2024 08:05:01 +0000
Received: (at 74410) by debbugs.gnu.org; 20 Nov 2024 08:04:35 +0000
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>
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-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?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 20 Nov 2024 23:32:01 +0000
Resent-Message-ID: <handler.74410.B74410.173214548226124 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 74410
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Juri Linkov <juri@HIDDEN>
Cc: 74410 <at> debbugs.gnu.org
Received: via spool by 74410-submit <at> debbugs.gnu.org id=B74410.173214548226124
          (code B ref 74410); Wed, 20 Nov 2024 23:32:01 +0000
Received: (at 74410) by debbugs.gnu.org; 20 Nov 2024 23:31:22 +0000
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>
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-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





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 21 Nov 2024 07:57:02 +0000
Resent-Message-ID: <handler.74410.B74410.173217579716232 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 74410
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Stefan Monnier <monnier@HIDDEN>
Cc: 74410 <at> debbugs.gnu.org
Received: via spool by 74410-submit <at> debbugs.gnu.org id=B74410.173217579716232
          (code B ref 74410); Thu, 21 Nov 2024 07:57:02 +0000
Received: (at 74410) by debbugs.gnu.org; 21 Nov 2024 07:56:37 +0000
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>
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-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.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 21 Nov 2024 16:29:01 +0000
Resent-Message-ID: <handler.74410.B74410.173220651010876 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 74410
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Juri Linkov <juri@HIDDEN>
Cc: 74410 <at> debbugs.gnu.org
Received: via spool by 74410-submit <at> debbugs.gnu.org id=B74410.173220651010876
          (code B ref 74410); Thu, 21 Nov 2024 16:29:01 +0000
Received: (at 74410) by debbugs.gnu.org; 21 Nov 2024 16:28:30 +0000
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>
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-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





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#74410: 31.0.50; completion-at-point doesn't work in custom buffers
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 24 Nov 2024 17:47:02 +0000
Resent-Message-ID: <handler.74410.B74410.17324703937532 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 74410
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Stefan Monnier <monnier@HIDDEN>
Cc: 74410 <at> debbugs.gnu.org
Received: via spool by 74410-submit <at> debbugs.gnu.org id=B74410.17324703937532
          (code B ref 74410); Sun, 24 Nov 2024 17:47:02 +0000
Received: (at 74410) by debbugs.gnu.org; 24 Nov 2024 17:46:33 +0000
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>
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-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.





Last modified: Sun, 12 Jan 2025 05:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.