GNU logs - #59314, boring messages


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


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: fitzsim@HIDDEN, bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 16 Nov 2022 18:06:02 +0000
Resent-Message-ID: <handler.59314.B.16686219365021 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 59314 <at> debbugs.gnu.org
Cc: fitzsim@HIDDEN
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
X-Debbugs-Original-Xcc: fitzsim@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.16686219365021
          (code B ref -1); Wed, 16 Nov 2022 18:06:02 +0000
Received: (at submit) by debbugs.gnu.org; 16 Nov 2022 18:05:36 +0000
Received: from localhost ([127.0.0.1]:58074 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovMn2-0001Iv-Du
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 13:05:36 -0500
Received: from lists.gnu.org ([209.51.188.17]:58852)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1ovMmx-0001Ij-5U
 for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 13:05:34 -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 <eric@HIDDEN>)
 id 1ovMmv-00089A-C4
 for bug-gnu-emacs@HIDDEN; Wed, 16 Nov 2022 13:05:30 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eric@HIDDEN>)
 id 1ovMmt-0006F1-Nu
 for bug-gnu-emacs@HIDDEN; Wed, 16 Nov 2022 13:05:29 -0500
Received: from localhost (unknown [76.135.104.211])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 026BEFA0E3
 for <bug-gnu-emacs@HIDDEN>; Wed, 16 Nov 2022 18:05:23 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1668621924;
 bh=DAKqo3OWjAujnBQnl+I42K2XabDsCg6Liq0TEiY8mLY=;
 h=From:To:Subject:Date:From;
 b=qwgqmV4H++PrAIrM1Ok9RvQz2Ag+ZGlWzhC/FISoBMawcqDQk0fpdPR10lkC3BX8d
 hA5SMfrtc8zoPkqoDIHEC7hCX+LU1Iwt8sNMZurOoGGdeJEaDsRgKCarLKFch0vZiS
 Pcm8uDwCE3CLQuMuO04BDwJz7nFrGSo1wTVv7MJ0=
From: Eric Abrahamsen <eric@HIDDEN>
Date: Wed, 16 Nov 2022 10:05:22 -0800
Message-ID: <87a64q7p25.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=52.70.2.18; envelope-from=eric@HIDDEN;
 helo=mail.ericabrahamsen.net
X-Spam_score_int: -43
X-Spam_score: -4.4
X-Spam_bar: ----
X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
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.4 (--)


Address completion in message-mode has stopped working in master,
possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
has been reported for several contact-management backends that expect to
have their completions available with <TAB>.

`completion-at-point-functions' contains '(eudc-capf-complete
message-completion-function t) at this point -- `eudc-capf-complete'
returns no matches, and no other functions in the list are consulted.

On gnus.general, someone using BBDB and corfu reported that this recipe
fixed the problem:

  (setq eudc-server-hotlist '(("localhost" . bbdb)))

  (add-hook 'message-mode-hook
            (lambda ()
              (setq-local completion-at-point-functions
                          (delq 'message-completion-function
                                completion-at-point-functions))))

Someone else *not* using corfu reported that that didn't work for them.
Dunno.

Eric




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: Eric Abrahamsen <eric@HIDDEN>
Subject: bug#59314: Acknowledgement (29.0.50; EUDC and message-mode header
 completion)
Message-ID: <handler.59314.B.16686219365021.ack <at> debbugs.gnu.org>
References: <87a64q7p25.fsf@HIDDEN>
X-Gnu-PR-Message: ack 59314
X-Gnu-PR-Package: emacs
Reply-To: 59314 <at> debbugs.gnu.org
Date: Wed, 16 Nov 2022 18:06: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
  fitzsim@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 59314 <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
59314: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D59314
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 16 Nov 2022 19:19:01 +0000
Resent-Message-ID: <handler.59314.B59314.166862629520751 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166862629520751
          (code B ref 59314); Wed, 16 Nov 2022 19:19:01 +0000
Received: (at 59314) by debbugs.gnu.org; 16 Nov 2022 19:18:15 +0000
Received: from localhost ([127.0.0.1]:58182 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovNvL-0005Od-3N
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 14:18:15 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:49668)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1ovNvJ-0005ON-Oj
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 14:18:14 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=M/eviBsvZTG7QXaPQPaIerasr7KuUGCWdokGv1f0ZvQ=; b=kbc8hpQv5sXd0Ya6WVaEf6R9+f
 bS6k65vYZh47ljaBzDZ+Qy0aVOZA+o5DW1TRg8FXB6HDaK2w37SeAnHKnOd3UDynOeZofzEzk11jq
 Qh++Pv4EUTDvhtjIzQ5ZDWXMmWGdWpZ57h3+5CK9hkAmO+Bzwkl212Sh1acqBzy/44FtV+lN9VECc
 QCtzvLdi3e6KRigZW2dUDOwWKKJEjOMBEkPvYiybdoIwAkaZX18WyD2I3ky/Z7fuVHlZ1ybx4wWpX
 kdsdL7RTCWd98NCXdNn9nS8mXJmoD4Uipx4WRh6ZkLSejpa4ujo332rcXZum43LLwIZW+Vm3bx387
 G43oYmSQ==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1ovNvD-000D4t-4t; Wed, 16 Nov 2022 14:18:07 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <87a64q7p25.fsf@HIDDEN> (Eric Abrahamsen's message of
 "Wed, 16 Nov 2022 10:05:22 -0800")
References: <87a64q7p25.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 14:18:06 -0500
Message-ID: <m3iljeemj5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Hi Eric,

Thanks for filing this.

Eric Abrahamsen <eric@HIDDEN> writes:

> Address completion in message-mode has stopped working in master,
> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
> has been reported for several contact-management backends that expect to
> have their completions available with <TAB>.
>
> `completion-at-point-functions' contains '(eudc-capf-complete
> message-completion-function t) at this point -- `eudc-capf-complete'
> returns no matches, and no other functions in the list are consulted.

I just checked and I didn't think the recent patch I pushed,
0e25a39e6..., should have affected completion-at-point-functions.  It
did change the default of eudc-server-hotlist from `nil' to
`(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
that should only affect EUDC users who have not customized
eudc-server-hotlist.

`eudc-capf-complete' was added to `message-mode' in commit
620ac6735...  I'm pretty sure that commenting out this line in
message.el will restore prior behaviour, but I don't yet know what prior
behaviour should be (see below).

(add-hook 'completion-at-point-functions #'message-completion-function nil t)

> On gnus.general, someone using BBDB and corfu reported that this recipe
> fixed the problem:
>
>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>
>   (add-hook 'message-mode-hook
>             (lambda ()
>               (setq-local completion-at-point-functions
>                           (delq 'message-completion-function
>                                 completion-at-point-functions))))
>
> Someone else *not* using corfu reported that that didn't work for them.
> Dunno.

I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
you make a recipe starting from "emacs -Q" (including adding dummy email
addresses somewhere) that makes completion work how you want it to?  For
me:

emacs -Q
C-x m TAB

inserts four spaces and prints in *Messages*:

Loading eudcb-ecomplete...done
Loading eudcb-mailabbrev...done

(Those are new, due to 0e25a39e6... but I thought should be harmless.)

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 16 Nov 2022 19:47:01 +0000
Resent-Message-ID: <handler.59314.B59314.166862797532214 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166862797532214
          (code B ref 59314); Wed, 16 Nov 2022 19:47:01 +0000
Received: (at 59314) by debbugs.gnu.org; 16 Nov 2022 19:46:15 +0000
Received: from localhost ([127.0.0.1]:58249 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovOMQ-0008NW-P2
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 14:46:15 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:36516)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1ovOMO-0008NI-JM
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 14:46:14 -0500
Received: from localhost (unknown [76.135.104.211])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 510E3FA0E3;
 Wed, 16 Nov 2022 19:46:06 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1668627966;
 bh=c/jJK1DCN2zhN/69wfQ+YwZTE7cwvFnC3sYHnoyaGvg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=w2g7yvoK2Vc5dGgo3PcmIYH2QUICvGfEtE1dOhy0jvynV4i0zUhaUsFvNgCh335Sk
 oNwTVlxBFzTk/vxJCXSKzGNlDMw1VJrWSw8NSI93kyX4chDOZwbGqdPwfvmU013Di+
 s9ot8cnWV8j/5nCzCcAcV3ZcJBWVHGz1U4X0B9Q4=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <m3iljeemj5.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Wed, 16 Nov 2022 14:18:06 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 11:46:00 -0800
Message-ID: <878rka1y4n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
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 (---)


On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
> Hi Eric,
>
> Thanks for filing this.
>
> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> Address completion in message-mode has stopped working in master,
>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>> has been reported for several contact-management backends that expect to
>> have their completions available with <TAB>.
>>
>> `completion-at-point-functions' contains '(eudc-capf-complete
>> message-completion-function t) at this point -- `eudc-capf-complete'
>> returns no matches, and no other functions in the list are consulted.
>
> I just checked and I didn't think the recent patch I pushed,
> 0e25a39e6..., should have affected completion-at-point-functions.  It
> did change the default of eudc-server-hotlist from `nil' to
> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
> that should only affect EUDC users who have not customized
> eudc-server-hotlist.
>
> `eudc-capf-complete' was added to `message-mode' in commit
> 620ac6735...  I'm pretty sure that commenting out this line in
> message.el will restore prior behaviour, but I don't yet know what prior
> behaviour should be (see below).
>
> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>
>> On gnus.general, someone using BBDB and corfu reported that this recipe
>> fixed the problem:
>>
>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>
>>   (add-hook 'message-mode-hook
>>             (lambda ()
>>               (setq-local completion-at-point-functions
>>                           (delq 'message-completion-function
>>                                 completion-at-point-functions))))
>>
>> Someone else *not* using corfu reported that that didn't work for them.
>> Dunno.
>
> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
> you make a recipe starting from "emacs -Q" (including adding dummy email
> addresses somewhere) that makes completion work how you want it to?  For
> me:
>
> emacs -Q
> C-x m TAB
>
> inserts four spaces and prints in *Messages*:
>
> Loading eudcb-ecomplete...done
> Loading eudcb-mailabbrev...done
>
> (Those are new, due to 0e25a39e6... but I thought should be harmless.)

Yuck, it's been a long time since I looked at this...

In emacs -Q, message-mode `completion-at-point-functions' is:

(eudc-capf-complete message-completion-function t)

Actually that's what it is in my regular Emacs, as well. All I'd need
for EBDB (and BBDB and everything else) is for
`message-completion-function' to get called, which it isn't. I believe
you could allow this by having `eudc-capf-complete' return nil, or have
`eudc-capf-message-expand-name' return a `(list beg end <table>)'
structure that includes the prop `:exclusive 'no' at the end of it. That
would allow a fallthrough to the next function.

In fact this whole message-mode thing is an impossible tangle, burritos
within burritos, and it would be great to get rid of it altogether.

`message-completion-function' already looks at where it is in the
message buffer, and calls `message-expand-name' if it's in a "name"
header. That function consults `message-expand-name-databases', and
*that's* where EBDB should put its completion table, except
`message-expand-name-databases' is hardcoded to (or 'eudc 'bbdb) for no
reason.

So I need to clobber `message-expand-name' altogether.

And EUDC having a function on `completion-at-point-functions' is
wrapping yet another burrito outside the existing burritos, because now
EUDC has a completion function both inside and outside message-mode's
own completion machinery.

In fact the docstring of `eudc-capf-message-expand-name' makes it sound
like it thinks it's being called as part of `message-expand-name', but
now it isn't -- it's being called as part of the capf machinery. Or
rather, it could potentially be called in both places.

I think a half-stick of dynamite is the only real solution.

Eric




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 16 Nov 2022 20:55:02 +0000
Resent-Message-ID: <handler.59314.B59314.16686320636235 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16686320636235
          (code B ref 59314); Wed, 16 Nov 2022 20:55:02 +0000
Received: (at 59314) by debbugs.gnu.org; 16 Nov 2022 20:54:23 +0000
Received: from localhost ([127.0.0.1]:58291 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovPQM-0001cU-Iv
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 15:54:22 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:39006)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1ovPQI-0001cF-NR
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 15:54:21 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=d3T1JOrO18GpB/b/QvEEXctlZk5Xkd7GqXxBo4SJhmc=; b=jSXJvcWBuIotsqPiP9B8fM/XZU
 PVKvJ5Dopinx+hBm+9+hwhlhCeaSyOF5rfHdm49OD5GeX38nmUPAVk/TVO6DDKeU8dOuevMlZ7EM3
 lg4fLLfVmB5r+jPbek7Sj3guMCJdJKJZGLk79DhYwCF0LmnqC/2xzO8ERC7nYMuSYJ798nQQWokYa
 hQnSmIaHxeTfRzmlY41ARyUCDwu/gV2kwJHtjrqpaVDH2YcRjaLEIPf/7BLQHCsmsvD7GoFbnRqeK
 EnZSAln9ttqvHoFd+aTEXXwkXmrfcifCGaCgdtWEYk5Mj1pT3Yts+arex0SiMkED4WFr1FcWVq02L
 fC9gF3yg==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1ovPQC-000D8z-4N; Wed, 16 Nov 2022 15:54:12 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <878rka1y4n.fsf@HIDDEN> (Eric Abrahamsen's message of
 "Wed, 16 Nov 2022 11:46:00 -0800")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 15:54:11 -0500
Message-ID: <m35yfemxho.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Hi Eric,

Eric Abrahamsen <eric@HIDDEN> writes:

> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>> Hi Eric,
>>
>> Thanks for filing this.
>>
>> Eric Abrahamsen <eric@HIDDEN> writes:
>>
>>> Address completion in message-mode has stopped working in master,
>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>> has been reported for several contact-management backends that expect to
>>> have their completions available with <TAB>.
>>>
>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>> returns no matches, and no other functions in the list are consulted.
>>
>> I just checked and I didn't think the recent patch I pushed,
>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>> did change the default of eudc-server-hotlist from `nil' to
>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>> that should only affect EUDC users who have not customized
>> eudc-server-hotlist.
>>
>> `eudc-capf-complete' was added to `message-mode' in commit
>> 620ac6735...  I'm pretty sure that commenting out this line in
>> message.el will restore prior behaviour, but I don't yet know what prior
>> behaviour should be (see below).
>>
>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>
>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>> fixed the problem:
>>>
>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>
>>>   (add-hook 'message-mode-hook
>>>             (lambda ()
>>>               (setq-local completion-at-point-functions
>>>                           (delq 'message-completion-function
>>>                                 completion-at-point-functions))))
>>>
>>> Someone else *not* using corfu reported that that didn't work for them.
>>> Dunno.
>>
>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>> you make a recipe starting from "emacs -Q" (including adding dummy email
>> addresses somewhere) that makes completion work how you want it to?  For
>> me:
>>
>> emacs -Q
>> C-x m TAB
>>
>> inserts four spaces and prints in *Messages*:
>>
>> Loading eudcb-ecomplete...done
>> Loading eudcb-mailabbrev...done
>>
>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>
> Yuck, it's been a long time since I looked at this...
>
> In emacs -Q, message-mode `completion-at-point-functions' is:
>
> (eudc-capf-complete message-completion-function t)
>
> Actually that's what it is in my regular Emacs, as well. All I'd need
> for EBDB (and BBDB and everything else) is for
> `message-completion-function' to get called, which it isn't. I believe
> you could allow this by having `eudc-capf-complete' return nil, or have
> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
> structure that includes the prop `:exclusive 'no' at the end of it. That
> would allow a fallthrough to the next function.

Ah, OK, that's what happened then.  The most recent patch I pushed made
`eudc-server-hotlist' non-nil by default, which makes
`eudc-capf-message-expand-name' do something other than return nil.

Can you try just (setq eudc-server-hotlist nil) and confirm that avoids
the breakage?

If it does, I'll revert that part of the patch for now.

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 16 Nov 2022 22:30:02 +0000
Resent-Message-ID: <handler.59314.B59314.166863774615379 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166863774615379
          (code B ref 59314); Wed, 16 Nov 2022 22:30:02 +0000
Received: (at 59314) by debbugs.gnu.org; 16 Nov 2022 22:29:06 +0000
Received: from localhost ([127.0.0.1]:58411 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovQu2-0003zz-0y
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 17:29:06 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:40706)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1ovQtz-0003zV-VI
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 17:29:04 -0500
Received: from localhost (unknown [76.135.104.211])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id D043DFA0E3;
 Wed, 16 Nov 2022 22:28:56 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1668637737;
 bh=98pA2Gi2rdd0OBjHjQhVOP+U+8p9kbTaZxBtmkcRPQI=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=HEPlgHt4GTxRvjZ4NJ3aBVdGXOS7cASxIZoenO+UQAQvb1h2mV9Y+qwhqGzCDjU75
 XjsaEDBfyqDJNbUBusuVbvE7kj5hjkhdec20+HhVtm0RJehNtdNHtkkWFI9wdxmGU6
 D6FGeJexAy66gwGomL+UDs5ingtEp4dq9ppu+EW8=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <m35yfemxho.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Wed, 16 Nov 2022 15:54:11 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 14:28:55 -0800
Message-ID: <87zgcqzg7s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
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 (---)

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

> Hi Eric,
>
> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>>> Hi Eric,
>>>
>>> Thanks for filing this.
>>>
>>> Eric Abrahamsen <eric@HIDDEN> writes:
>>>
>>>> Address completion in message-mode has stopped working in master,
>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>>> has been reported for several contact-management backends that expect to
>>>> have their completions available with <TAB>.
>>>>
>>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>>> returns no matches, and no other functions in the list are consulted.
>>>
>>> I just checked and I didn't think the recent patch I pushed,
>>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>>> did change the default of eudc-server-hotlist from `nil' to
>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>>> that should only affect EUDC users who have not customized
>>> eudc-server-hotlist.
>>>
>>> `eudc-capf-complete' was added to `message-mode' in commit
>>> 620ac6735...  I'm pretty sure that commenting out this line in
>>> message.el will restore prior behaviour, but I don't yet know what prior
>>> behaviour should be (see below).
>>>
>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>>
>>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>>> fixed the problem:
>>>>
>>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>>
>>>>   (add-hook 'message-mode-hook
>>>>             (lambda ()
>>>>               (setq-local completion-at-point-functions
>>>>                           (delq 'message-completion-function
>>>>                                 completion-at-point-functions))))
>>>>
>>>> Someone else *not* using corfu reported that that didn't work for them.
>>>> Dunno.
>>>
>>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>>> you make a recipe starting from "emacs -Q" (including adding dummy email
>>> addresses somewhere) that makes completion work how you want it to?  For
>>> me:
>>>
>>> emacs -Q
>>> C-x m TAB
>>>
>>> inserts four spaces and prints in *Messages*:
>>>
>>> Loading eudcb-ecomplete...done
>>> Loading eudcb-mailabbrev...done
>>>
>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>>
>> Yuck, it's been a long time since I looked at this...
>>
>> In emacs -Q, message-mode `completion-at-point-functions' is:
>>
>> (eudc-capf-complete message-completion-function t)
>>
>> Actually that's what it is in my regular Emacs, as well. All I'd need
>> for EBDB (and BBDB and everything else) is for
>> `message-completion-function' to get called, which it isn't. I believe
>> you could allow this by having `eudc-capf-complete' return nil, or have
>> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
>> structure that includes the prop `:exclusive 'no' at the end of it. That
>> would allow a fallthrough to the next function.
>
> Ah, OK, that's what happened then.  The most recent patch I pushed made
> `eudc-server-hotlist' non-nil by default, which makes
> `eudc-capf-message-expand-name' do something other than return nil.
>
> Can you try just (setq eudc-server-hotlist nil) and confirm that avoids
> the breakage?
>
> If it does, I'll revert that part of the patch for now.

It does! Thanks.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 17 Nov 2022 01:17:02 +0000
Resent-Message-ID: <handler.59314.B59314.16686478057410 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16686478057410
          (code B ref 59314); Thu, 17 Nov 2022 01:17:02 +0000
Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 01:16:45 +0000
Received: from localhost ([127.0.0.1]:58541 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovTWG-0001vR-Gj
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 20:16:44 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:36844)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1ovTWD-0001vE-GL
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 20:16:43 -0500
Received: from localhost (unknown [76.135.104.211])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id EAA70FA59E;
 Thu, 17 Nov 2022 01:16:34 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1668647795;
 bh=7nraG8W41v20Iu0w4cCWRRpiRdodFEm6rf4Jqma+UrA=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=js9Ns4DA5zzpFGwl6jq1szgDfJlQIzbmx1wpT+czUPja1vB5I5DRpadgJjiE9rrOp
 s3C3BXWHc7zKKlRyrgZHKl6bzOhppZDOuemh9VVrwkzz5dzgRY6v9k1q/JgKtnqwUo
 F/oBTD6ASJZvQ+oGlstmFuTVx8QG3WfXXyZgDMwA=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <m35yfemxho.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Wed, 16 Nov 2022 15:54:11 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 17:16:33 -0800
Message-ID: <87k03uz8ge.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
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 (---)


On 11/16/22 15:54 PM, Thomas Fitzsimmons wrote:
> Hi Eric,
>
> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>>> Hi Eric,
>>>
>>> Thanks for filing this.
>>>
>>> Eric Abrahamsen <eric@HIDDEN> writes:
>>>
>>>> Address completion in message-mode has stopped working in master,
>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>>> has been reported for several contact-management backends that expect to
>>>> have their completions available with <TAB>.
>>>>
>>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>>> returns no matches, and no other functions in the list are consulted.
>>>
>>> I just checked and I didn't think the recent patch I pushed,
>>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>>> did change the default of eudc-server-hotlist from `nil' to
>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>>> that should only affect EUDC users who have not customized
>>> eudc-server-hotlist.
>>>
>>> `eudc-capf-complete' was added to `message-mode' in commit
>>> 620ac6735...  I'm pretty sure that commenting out this line in
>>> message.el will restore prior behaviour, but I don't yet know what prior
>>> behaviour should be (see below).
>>>
>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>>
>>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>>> fixed the problem:
>>>>
>>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>>
>>>>   (add-hook 'message-mode-hook
>>>>             (lambda ()
>>>>               (setq-local completion-at-point-functions
>>>>                           (delq 'message-completion-function
>>>>                                 completion-at-point-functions))))
>>>>
>>>> Someone else *not* using corfu reported that that didn't work for them.
>>>> Dunno.
>>>
>>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>>> you make a recipe starting from "emacs -Q" (including adding dummy email
>>> addresses somewhere) that makes completion work how you want it to?  For
>>> me:
>>>
>>> emacs -Q
>>> C-x m TAB
>>>
>>> inserts four spaces and prints in *Messages*:
>>>
>>> Loading eudcb-ecomplete...done
>>> Loading eudcb-mailabbrev...done
>>>
>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>>
>> Yuck, it's been a long time since I looked at this...
>>
>> In emacs -Q, message-mode `completion-at-point-functions' is:
>>
>> (eudc-capf-complete message-completion-function t)
>>
>> Actually that's what it is in my regular Emacs, as well. All I'd need
>> for EBDB (and BBDB and everything else) is for
>> `message-completion-function' to get called, which it isn't. I believe
>> you could allow this by having `eudc-capf-complete' return nil, or have
>> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
>> structure that includes the prop `:exclusive 'no' at the end of it. That
>> would allow a fallthrough to the next function.
>
> Ah, OK, that's what happened then.  The most recent patch I pushed made
> `eudc-server-hotlist' non-nil by default, which makes
> `eudc-capf-message-expand-name' do something other than return nil.
>
> Can you try just (setq eudc-server-hotlist nil) and confirm that avoids
> the breakage?
>
> If it does, I'll revert that part of the patch for now.

Also, I didn't mean that rant to be directed at you! I realized it might
have come off that way.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 17 Nov 2022 01:35:01 +0000
Resent-Message-ID: <handler.59314.B59314.16686488829173 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16686488829173
          (code B ref 59314); Thu, 17 Nov 2022 01:35:01 +0000
Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 01:34:42 +0000
Received: from localhost ([127.0.0.1]:58575 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovTnd-0002Nq-JR
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 20:34:42 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:46164)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1ovTnb-0002Nd-1f
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 20:34:39 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=u1zw8x1tZaM4z6GtOzvgJm/2n9Ckic3O0JTkxey6UvU=; b=J3uHUkjwxUP9+1fZheH2oPfSy9
 UfEagHa2tphPOCNFnUV1pzR8pQAW2l0YgaT7c8lfq5AVegIwED4WVZa6OJM/nxjf1dws/z5paBx4Q
 fAwanu54cv3vFMoOulvrB966dZ4oA8UQLu8WnA7WgVF9vBBv0Vx4LKhlhp9KLyIpvEwubudOUrzfo
 VU6Z6DvX+Bq3aCY3gqjnVSpD6lv8YErt9CkewdZDIahXNJszuLVnFrYBcSCpvHCxxUSZ6+nZSlZT2
 c5LEp/MFGHG96zuICvIvAVudCNIsGgeBC8Bym62cEPGNszUfJ1XgJiv7spyVc6bmp1CEWvqWM6kd0
 wYvL+QdQ==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1ovTnU-000DG6-6Y; Wed, 16 Nov 2022 20:34:32 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <87zgcqzg7s.fsf@HIDDEN> (Eric Abrahamsen's message of
 "Wed, 16 Nov 2022 14:28:55 -0800")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN>
 <87zgcqzg7s.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 20:34:31 -0500
Message-ID: <m31qq2mkig.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Eric Abrahamsen <eric@HIDDEN> writes:

> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>
>> Hi Eric,
>>
>> Eric Abrahamsen <eric@HIDDEN> writes:
>>
>>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>>>> Hi Eric,
>>>>
>>>> Thanks for filing this.
>>>>
>>>> Eric Abrahamsen <eric@HIDDEN> writes:
>>>>
>>>>> Address completion in message-mode has stopped working in master,
>>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>>>> has been reported for several contact-management backends that expect to
>>>>> have their completions available with <TAB>.
>>>>>
>>>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>>>> returns no matches, and no other functions in the list are consulted.
>>>>
>>>> I just checked and I didn't think the recent patch I pushed,
>>>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>>>> did change the default of eudc-server-hotlist from `nil' to
>>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>>>> that should only affect EUDC users who have not customized
>>>> eudc-server-hotlist.
>>>>
>>>> `eudc-capf-complete' was added to `message-mode' in commit
>>>> 620ac6735...  I'm pretty sure that commenting out this line in
>>>> message.el will restore prior behaviour, but I don't yet know what prior
>>>> behaviour should be (see below).
>>>>
>>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>>>
>>>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>>>> fixed the problem:
>>>>>
>>>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>>>
>>>>>   (add-hook 'message-mode-hook
>>>>>             (lambda ()
>>>>>               (setq-local completion-at-point-functions
>>>>>                           (delq 'message-completion-function
>>>>>                                 completion-at-point-functions))))
>>>>>
>>>>> Someone else *not* using corfu reported that that didn't work for them.
>>>>> Dunno.
>>>>
>>>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>>>> you make a recipe starting from "emacs -Q" (including adding dummy email
>>>> addresses somewhere) that makes completion work how you want it to?  For
>>>> me:
>>>>
>>>> emacs -Q
>>>> C-x m TAB
>>>>
>>>> inserts four spaces and prints in *Messages*:
>>>>
>>>> Loading eudcb-ecomplete...done
>>>> Loading eudcb-mailabbrev...done
>>>>
>>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>>>
>>> Yuck, it's been a long time since I looked at this...
>>>
>>> In emacs -Q, message-mode `completion-at-point-functions' is:
>>>
>>> (eudc-capf-complete message-completion-function t)
>>>
>>> Actually that's what it is in my regular Emacs, as well. All I'd need
>>> for EBDB (and BBDB and everything else) is for
>>> `message-completion-function' to get called, which it isn't. I believe
>>> you could allow this by having `eudc-capf-complete' return nil, or have
>>> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
>>> structure that includes the prop `:exclusive 'no' at the end of it. That
>>> would allow a fallthrough to the next function.
>>
>> Ah, OK, that's what happened then.  The most recent patch I pushed made
>> `eudc-server-hotlist' non-nil by default, which makes
>> `eudc-capf-message-expand-name' do something other than return nil.
>>
>> Can you try just (setq eudc-server-hotlist nil) and confirm that avoids
>> the breakage?
>>
>> If it does, I'll revert that part of the patch for now.
>
> It does! Thanks.

As I was considering reverting the default change, I figured that this
is likely a bug in `eudc-capf-message-expand-name'; it should return nil
if it gets no results from any EUDC backend, right?  I pushed a fix for
that.  Can you apply it to your tree and see if your completion setup
works again?

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 17 Nov 2022 02:05:02 +0000
Resent-Message-ID: <handler.59314.B59314.166865065712097 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166865065712097
          (code B ref 59314); Thu, 17 Nov 2022 02:05:02 +0000
Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 02:04:17 +0000
Received: from localhost ([127.0.0.1]:58598 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovUGH-000393-9x
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 21:04:17 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:58696)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1ovUGE-00038p-GU
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 21:04:15 -0500
Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 30FD8FA59E;
 Thu, 17 Nov 2022 02:04:07 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1668650647;
 bh=BrBV/wtIfJeVEK6BvcsGvEvS/TpkubG7OgRkIZi2nTo=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=dFVKv4TFWa41RLA7thjxSP+rMyZm1oMYXIv0bhuBNIbqTWbR2JB9W7foj8cFgy/DT
 Qkq1nN43XK97AkO3VitOucTz2fg23NUKZ1hJtmFI+8qClCusiQ4Tdic74HM5Ft18av
 ZRePCex7sVPngGu1xWJ8ZdEjigz1xQvbM17l0q5I=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <m31qq2mkig.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Wed, 16 Nov 2022 20:34:31 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN>
 <87zgcqzg7s.fsf@HIDDEN> <m31qq2mkig.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 18:04:06 -0800
Message-ID: <87leoafiax.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
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 (---)


On 11/16/22 20:34 PM, Thomas Fitzsimmons wrote:
> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>>
>>> Hi Eric,
>>>
>>> Eric Abrahamsen <eric@HIDDEN> writes:
>>>
>>>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>>>>> Hi Eric,
>>>>>
>>>>> Thanks for filing this.
>>>>>
>>>>> Eric Abrahamsen <eric@HIDDEN> writes:
>>>>>
>>>>>> Address completion in message-mode has stopped working in master,
>>>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>>>>> has been reported for several contact-management backends that expect to
>>>>>> have their completions available with <TAB>.
>>>>>>
>>>>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>>>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>>>>> returns no matches, and no other functions in the list are consulted.
>>>>>
>>>>> I just checked and I didn't think the recent patch I pushed,
>>>>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>>>>> did change the default of eudc-server-hotlist from `nil' to
>>>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>>>>> that should only affect EUDC users who have not customized
>>>>> eudc-server-hotlist.
>>>>>
>>>>> `eudc-capf-complete' was added to `message-mode' in commit
>>>>> 620ac6735...  I'm pretty sure that commenting out this line in
>>>>> message.el will restore prior behaviour, but I don't yet know what prior
>>>>> behaviour should be (see below).
>>>>>
>>>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>>>>
>>>>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>>>>> fixed the problem:
>>>>>>
>>>>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>>>>
>>>>>>   (add-hook 'message-mode-hook
>>>>>>             (lambda ()
>>>>>>               (setq-local completion-at-point-functions
>>>>>>                           (delq 'message-completion-function
>>>>>>                                 completion-at-point-functions))))
>>>>>>
>>>>>> Someone else *not* using corfu reported that that didn't work for them.
>>>>>> Dunno.
>>>>>
>>>>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>>>>> you make a recipe starting from "emacs -Q" (including adding dummy email
>>>>> addresses somewhere) that makes completion work how you want it to?  For
>>>>> me:
>>>>>
>>>>> emacs -Q
>>>>> C-x m TAB
>>>>>
>>>>> inserts four spaces and prints in *Messages*:
>>>>>
>>>>> Loading eudcb-ecomplete...done
>>>>> Loading eudcb-mailabbrev...done
>>>>>
>>>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>>>>
>>>> Yuck, it's been a long time since I looked at this...
>>>>
>>>> In emacs -Q, message-mode `completion-at-point-functions' is:
>>>>
>>>> (eudc-capf-complete message-completion-function t)
>>>>
>>>> Actually that's what it is in my regular Emacs, as well. All I'd need
>>>> for EBDB (and BBDB and everything else) is for
>>>> `message-completion-function' to get called, which it isn't. I believe
>>>> you could allow this by having `eudc-capf-complete' return nil, or have
>>>> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
>>>> structure that includes the prop `:exclusive 'no' at the end of it. That
>>>> would allow a fallthrough to the next function.
>>>
>>> Ah, OK, that's what happened then.  The most recent patch I pushed made
>>> `eudc-server-hotlist' non-nil by default, which makes
>>> `eudc-capf-message-expand-name' do something other than return nil.
>>>
>>> Can you try just (setq eudc-server-hotlist nil) and confirm that avoids
>>> the breakage?
>>>
>>> If it does, I'll revert that part of the patch for now.
>>
>> It does! Thanks.
>
> As I was considering reverting the default change, I figured that this
> is likely a bug in `eudc-capf-message-expand-name'; it should return nil
> if it gets no results from any EUDC backend, right?  I pushed a fix for
> that.  Can you apply it to your tree and see if your completion setup
> works again?

Yes that worked, rebuilt Emacs with no additional changes.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 17 Nov 2022 03:29:02 +0000
Resent-Message-ID: <handler.59314.B59314.166865571328600 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166865571328600
          (code B ref 59314); Thu, 17 Nov 2022 03:29:02 +0000
Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 03:28:33 +0000
Received: from localhost ([127.0.0.1]:58679 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovVZp-0007RD-6m
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 22:28:33 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:43264)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1ovVZm-0007Qy-Hz
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 22:28:31 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=4XwQedQDB2K6glzY4j73/KdOop0/R30V0iYnZSuEmO0=; b=jemsdUyHVCdGdZqTdNiA94HXaG
 BMs/WSDr6Nuu6mmwrNbQzJ9jtwcHpRlqyUNcdzj+qRAHR3JJWZ0+f/yqfbiuX6juUr2aAJQjh+8FF
 umeP4VeFxV9Zkw73juUUSAsJBaBPY7qNkNfHBreTNMnvU/uDQnI2QKsmbMzJci1dPe/5btPvow0Pg
 t6O5Dm6Trvv0x3AghYfNAnzNKQ/9ilr/Y1/BYY3bhBOlTgW5Rv67zxfv6nt4tdPvYNkHfnC5dwbio
 Y+uFnhfDzhccjOr+H/8XPGsY+UNsI+ufqz4VsKtkIOX9JE+z8BHxaVnykeMenlqjiqV4mKINn5JG/
 t3wimVnQ==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1ovVZf-000DJm-G6; Wed, 16 Nov 2022 22:28:24 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <878rka1y4n.fsf@HIDDEN> (Eric Abrahamsen's message of
 "Wed, 16 Nov 2022 11:46:00 -0800")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 22:28:23 -0500
Message-ID: <m3leoal0o8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Eric Abrahamsen <eric@HIDDEN> writes:

> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>> Hi Eric,
>>
>> Thanks for filing this.
>>
>> Eric Abrahamsen <eric@HIDDEN> writes:
>>
>>> Address completion in message-mode has stopped working in master,
>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>> has been reported for several contact-management backends that expect to
>>> have their completions available with <TAB>.
>>>
>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>> returns no matches, and no other functions in the list are consulted.
>>
>> I just checked and I didn't think the recent patch I pushed,
>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>> did change the default of eudc-server-hotlist from `nil' to
>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>> that should only affect EUDC users who have not customized
>> eudc-server-hotlist.
>>
>> `eudc-capf-complete' was added to `message-mode' in commit
>> 620ac6735...  I'm pretty sure that commenting out this line in
>> message.el will restore prior behaviour, but I don't yet know what prior
>> behaviour should be (see below).
>>
>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>
>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>> fixed the problem:
>>>
>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>
>>>   (add-hook 'message-mode-hook
>>>             (lambda ()
>>>               (setq-local completion-at-point-functions
>>>                           (delq 'message-completion-function
>>>                                 completion-at-point-functions))))
>>>
>>> Someone else *not* using corfu reported that that didn't work for them.
>>> Dunno.
>>
>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>> you make a recipe starting from "emacs -Q" (including adding dummy email
>> addresses somewhere) that makes completion work how you want it to?  For
>> me:
>>
>> emacs -Q
>> C-x m TAB
>>
>> inserts four spaces and prints in *Messages*:
>>
>> Loading eudcb-ecomplete...done
>> Loading eudcb-mailabbrev...done
>>
>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>
> Yuck, it's been a long time since I looked at this...
>
> In emacs -Q, message-mode `completion-at-point-functions' is:
>
> (eudc-capf-complete message-completion-function t)
>
> Actually that's what it is in my regular Emacs, as well. All I'd need
> for EBDB (and BBDB and everything else) is for
> `message-completion-function' to get called, which it isn't. I believe
> you could allow this by having `eudc-capf-complete' return nil, or have
> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
> structure that includes the prop `:exclusive 'no' at the end of it. That
> would allow a fallthrough to the next function.
>
> In fact this whole message-mode thing is an impossible tangle, burritos
> within burritos, and it would be great to get rid of it altogether.
>
> `message-completion-function' already looks at where it is in the
> message buffer, and calls `message-expand-name' if it's in a "name"
> header. That function consults `message-expand-name-databases', and
> *that's* where EBDB should put its completion table, except
> `message-expand-name-databases' is hardcoded to (or 'eudc 'bbdb) for no
> reason.

Should we set `message-expand-name-databases' to (or 'eudc 'bbdb 'ebdb)?
Would that avoid the need to clobber `message-expand-name' for your use
case?  I'd be fine adding "known packages" there, as long as referring
to non-core packages doesn't break anything (which it doesn't seem to,
since BBDB is non-core, in GNU ELPA).

> So I need to clobber `message-expand-name' altogether.

When I use EUDC, I too clobber `message-mode's completion, by binding
TAB to `eudc-expand-try-all'.  Part of the effort around eudc-capf was
trying to improve the default so that this clobbering wouldn't be
necessary.  But as you point out, we're not there yet.

> And EUDC having a function on `completion-at-point-functions' is
> wrapping yet another burrito outside the existing burritos, because now
> EUDC has a completion function both inside and outside message-mode's
> own completion machinery.
>
> In fact the docstring of `eudc-capf-message-expand-name' makes it sound
> like it thinks it's being called as part of `message-expand-name', but
> now it isn't -- it's being called as part of the capf machinery. Or
> rather, it could potentially be called in both places.

> I think a half-stick of dynamite is the only real solution.

Agreed it's currently hard to navigate, but I'd prefer to take minimal
steps from what we have now, since people have configurations that
depend on the current state.

I think we should probably create a set of core "out-of-the-box"
`message-mode' completion ERT tests.  For example, given:

"emacs -Q" + EBDB + a single EBDB entry "emacs-ert-test@HIDDEN"

will "C-x m emacs TAB" work?  If it won't, will the above-suggested
`message-expand-name-databases' make it work?

Once we get "emacs-ert-test" examples for @bbdb.gnu.org,
@ecomplete.gnu.org, @mailabbrev.gnu.org, we'll be able to test how the
various completion backends interact, and I'm thinking that will help us
simplify TAB's default behaviour in `message-mode' (while preserving
backward compatibility).

Do you want to try adding a core ERT test for EBDB completion?  Optional
core tests are allowed to depend on GNU ELPA packages.

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 17 Nov 2022 03:33:01 +0000
Resent-Message-ID: <handler.59314.B59314.166865597529101 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166865597529101
          (code B ref 59314); Thu, 17 Nov 2022 03:33:01 +0000
Received: (at 59314) by debbugs.gnu.org; 17 Nov 2022 03:32:55 +0000
Received: from localhost ([127.0.0.1]:58685 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovVe3-0007ZI-3R
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 22:32:55 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:46556)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1ovVe1-0007Z7-Sx
 for 59314 <at> debbugs.gnu.org; Wed, 16 Nov 2022 22:32:54 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=EaVKCNaFh3rwWK2IOb9gj7ecx26Sepaf0ggyE7y69Ig=; b=LRN+6wLBUZjEjFsVOL4rTGgjUB
 /nFUTNBmoVijdHw2usP/DAmVYBRLC2SPsPHBXLiEzOdzn5sNsIhHfN+im1moebXBkzKICdarV620f
 L3wEiN20uzuLVsBuMvmwl3+6dQrzXKCnpdjho5/Q7FqBxiY2GI3UMLlKI8chpXKDejcuDnW7xXXsw
 N5YRFQIBDjr7rSwC59GyGV4AFrZ2G7jkvxxoVPQUSxV069nlA9C0hwe4dSE+Ap8Vlt5H1nZaQ1Azv
 YRHT+3InrZKQtdqqDzDKuM6weUWjRvhaOnvOGF55WFzyFC9FY67JlTvhp6bcJ9lZcxRiOGQ+z3X+I
 x/mmv38g==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1ovVdw-000DKF-2S; Wed, 16 Nov 2022 22:32:48 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <87k03uz8ge.fsf@HIDDEN> (Eric Abrahamsen's message of
 "Wed, 16 Nov 2022 17:16:33 -0800")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m35yfemxho.fsf@HIDDEN>
 <87k03uz8ge.fsf@HIDDEN>
Date: Wed, 16 Nov 2022 22:32:47 -0500
Message-ID: <m3h6yyl0gw.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Eric Abrahamsen <eric@HIDDEN> writes:

> On 11/16/22 15:54 PM, Thomas Fitzsimmons wrote:
>> Hi Eric,
>>
>> Eric Abrahamsen <eric@HIDDEN> writes:
>>
>>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>>>> Hi Eric,
>>>>
>>>> Thanks for filing this.
>>>>
>>>> Eric Abrahamsen <eric@HIDDEN> writes:
>>>>
>>>>> Address completion in message-mode has stopped working in master,
>>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>>>> has been reported for several contact-management backends that expect to
>>>>> have their completions available with <TAB>.
>>>>>
>>>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>>>> returns no matches, and no other functions in the list are consulted.
>>>>
>>>> I just checked and I didn't think the recent patch I pushed,
>>>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>>>> did change the default of eudc-server-hotlist from `nil' to
>>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>>>> that should only affect EUDC users who have not customized
>>>> eudc-server-hotlist.
>>>>
>>>> `eudc-capf-complete' was added to `message-mode' in commit
>>>> 620ac6735...  I'm pretty sure that commenting out this line in
>>>> message.el will restore prior behaviour, but I don't yet know what prior
>>>> behaviour should be (see below).
>>>>
>>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>>>
>>>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>>>> fixed the problem:
>>>>>
>>>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>>>
>>>>>   (add-hook 'message-mode-hook
>>>>>             (lambda ()
>>>>>               (setq-local completion-at-point-functions
>>>>>                           (delq 'message-completion-function
>>>>>                                 completion-at-point-functions))))
>>>>>
>>>>> Someone else *not* using corfu reported that that didn't work for them.
>>>>> Dunno.
>>>>
>>>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>>>> you make a recipe starting from "emacs -Q" (including adding dummy email
>>>> addresses somewhere) that makes completion work how you want it to?  For
>>>> me:
>>>>
>>>> emacs -Q
>>>> C-x m TAB
>>>>
>>>> inserts four spaces and prints in *Messages*:
>>>>
>>>> Loading eudcb-ecomplete...done
>>>> Loading eudcb-mailabbrev...done
>>>>
>>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>>>
>>> Yuck, it's been a long time since I looked at this...
>>>
>>> In emacs -Q, message-mode `completion-at-point-functions' is:
>>>
>>> (eudc-capf-complete message-completion-function t)
>>>
>>> Actually that's what it is in my regular Emacs, as well. All I'd need
>>> for EBDB (and BBDB and everything else) is for
>>> `message-completion-function' to get called, which it isn't. I believe
>>> you could allow this by having `eudc-capf-complete' return nil, or have
>>> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
>>> structure that includes the prop `:exclusive 'no' at the end of it. That
>>> would allow a fallthrough to the next function.
>>
>> Ah, OK, that's what happened then.  The most recent patch I pushed made
>> `eudc-server-hotlist' non-nil by default, which makes
>> `eudc-capf-message-expand-name' do something other than return nil.
>>
>> Can you try just (setq eudc-server-hotlist nil) and confirm that avoids
>> the breakage?
>>
>> If it does, I'll revert that part of the patch for now.
>
> Also, I didn't mean that rant to be directed at you! I realized it might
> have come off that way.

No, I didn't interpret it that way; I appreciated you digging into the
complexity.  I still have to figure out how to hook in
`eudc-expand-try-all' so that all configured EUDC backends are attempted
by default.  (See the ERT idea in my other response).

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 18 Nov 2022 04:22:01 +0000
Resent-Message-ID: <handler.59314.B59314.166874529027423 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166874529027423
          (code B ref 59314); Fri, 18 Nov 2022 04:22:01 +0000
Received: (at 59314) by debbugs.gnu.org; 18 Nov 2022 04:21:30 +0000
Received: from localhost ([127.0.0.1]:34857 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovssb-00078F-Mj
	for submit <at> debbugs.gnu.org; Thu, 17 Nov 2022 23:21:30 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:38884)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1ovssW-00077x-Hq
 for 59314 <at> debbugs.gnu.org; Thu, 17 Nov 2022 23:21:29 -0500
Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 182C5FA08F;
 Fri, 18 Nov 2022 04:21:17 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1668745278;
 bh=JecA1WKCjodhgl78RQDNZPYq2l5RTXJHgV4t0uJGoqg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=C/lmkcUQYGkuFgDH8sVHtOe93SeEW8cg3e4/I6AhPohZ9ZjAK4mZKSWgqwk8riT0s
 2uLPxgOdsnql3G9eJ0LFRVIcDLTZFg9toGo++tI+SsAm01m+jK6FHW+H74Tdw07uRo
 lP8JzUJSt+4E5mWXVHacg/3RDxMi2WVgJUuyB9xA=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <m3leoal0o8.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Wed, 16 Nov 2022 22:28:23 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN>
Date: Thu, 17 Nov 2022 20:21:15 -0800
Message-ID: <87sfigx58k.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
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 (---)

--=-=-=
Content-Type: text/plain


On 11/16/22 22:28 PM, Thomas Fitzsimmons wrote:
> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>>> Hi Eric,
>>>
>>> Thanks for filing this.
>>>
>>> Eric Abrahamsen <eric@HIDDEN> writes:
>>>
>>>> Address completion in message-mode has stopped working in master,
>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>>> has been reported for several contact-management backends that expect to
>>>> have their completions available with <TAB>.
>>>>
>>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>>> returns no matches, and no other functions in the list are consulted.
>>>
>>> I just checked and I didn't think the recent patch I pushed,
>>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>>> did change the default of eudc-server-hotlist from `nil' to
>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>>> that should only affect EUDC users who have not customized
>>> eudc-server-hotlist.
>>>
>>> `eudc-capf-complete' was added to `message-mode' in commit
>>> 620ac6735...  I'm pretty sure that commenting out this line in
>>> message.el will restore prior behaviour, but I don't yet know what prior
>>> behaviour should be (see below).
>>>
>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>>
>>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>>> fixed the problem:
>>>>
>>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>>
>>>>   (add-hook 'message-mode-hook
>>>>             (lambda ()
>>>>               (setq-local completion-at-point-functions
>>>>                           (delq 'message-completion-function
>>>>                                 completion-at-point-functions))))
>>>>
>>>> Someone else *not* using corfu reported that that didn't work for them.
>>>> Dunno.
>>>
>>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>>> you make a recipe starting from "emacs -Q" (including adding dummy email
>>> addresses somewhere) that makes completion work how you want it to?  For
>>> me:
>>>
>>> emacs -Q
>>> C-x m TAB
>>>
>>> inserts four spaces and prints in *Messages*:
>>>
>>> Loading eudcb-ecomplete...done
>>> Loading eudcb-mailabbrev...done
>>>
>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>>
>> Yuck, it's been a long time since I looked at this...
>>
>> In emacs -Q, message-mode `completion-at-point-functions' is:
>>
>> (eudc-capf-complete message-completion-function t)
>>
>> Actually that's what it is in my regular Emacs, as well. All I'd need
>> for EBDB (and BBDB and everything else) is for
>> `message-completion-function' to get called, which it isn't. I believe
>> you could allow this by having `eudc-capf-complete' return nil, or have
>> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
>> structure that includes the prop `:exclusive 'no' at the end of it. That
>> would allow a fallthrough to the next function.
>>
>> In fact this whole message-mode thing is an impossible tangle, burritos
>> within burritos, and it would be great to get rid of it altogether.
>>
>> `message-completion-function' already looks at where it is in the
>> message buffer, and calls `message-expand-name' if it's in a "name"
>> header. That function consults `message-expand-name-databases', and
>> *that's* where EBDB should put its completion table, except
>> `message-expand-name-databases' is hardcoded to (or 'eudc 'bbdb) for no
>> reason.
>
> Should we set `message-expand-name-databases' to (or 'eudc 'bbdb 'ebdb)?
> Would that avoid the need to clobber `message-expand-name' for your use
> case?  I'd be fine adding "known packages" there, as long as referring
> to non-core packages doesn't break anything (which it doesn't seem to,
> since BBDB is non-core, in GNU ELPA).

I don't think that option should be aware of any contact management
packages at all! I'm attaching a patch that gets message.el about
halfway to where I think it ought to be: any such packages should be
able to push their own function onto `message-expand-name-databases'.

This patch allows that while maintaining some backwards compatibility.
The whole

(and (functionp (car message-expand-name-databases))
     (funcall (car message-expand-name-databases)))

part inside `message-expand-name' verges on nonsense, but that 
function is very weird anyway, in that it allows multiple values in
`message-expand-name-databases' but only ever consults one of them.

I hope that the behavior hidden behind `message-expand-name-standard-ui'
becomes the new norm at some point.

Right now, if EBDB or some other package pushed a function to
`message-expand-name-databases', that function would have to behave
differently depending on whether it's called by `message-expand-name' or
called as a part of `message--name-table', but it could reliably do that
by checking if `message-expand-name-standard-ui' is non-nil or not.

One thing that might be difficult under the standard ui is the extended
cycling that BBDB/EBDB offer: expanding the initial string to a contact,
and *then* cycle through that contact's multiple mail addresses, any one
of which might not match the initial string at all. But one thing at a
time.

>> So I need to clobber `message-expand-name' altogether.
>
> When I use EUDC, I too clobber `message-mode's completion, by binding
> TAB to `eudc-expand-try-all'.  Part of the effort around eudc-capf was
> trying to improve the default so that this clobbering wouldn't be
> necessary.  But as you point out, we're not there yet.

I guess I don't know why you need to push `eudc-capf-complete' to
`completion-at-point-functions', when EUDC is already enabled within
`message-complete-name'.

Right now `message-completion-function' does the work of detecting where
in the message buffer point is, and delegating to different functions
depending on the result. That seems reasonable to me, as the structure
of a message buffer is message-mode's business, and other programs
shouldn't need to duplicate the work of parsing text around point. Once
we've called `message-expand-name', though, I think we should be going
back to the built-in completion machinery of merging multiple completion
tables.

If EUDC is called as a part of `message-expand-name', that seems like
enough to me. Take a hypothetical user who for some reason wants to use
*both* BBDB and EBDB. They have the choice of plugging both packages
into EUDC and simply setting `message-expand-name-databases' to '(eudc).
Or they could set it to '(bbdb ebdb-complete-mail). Or heck, they could
use BBDB via EUDC, and then set it to '(eudc ebdb-complete-mail), why
not.

Doesn't that seem like enough?

>> And EUDC having a function on `completion-at-point-functions' is
>> wrapping yet another burrito outside the existing burritos, because now
>> EUDC has a completion function both inside and outside message-mode's
>> own completion machinery.
>>
>> In fact the docstring of `eudc-capf-message-expand-name' makes it sound
>> like it thinks it's being called as part of `message-expand-name', but
>> now it isn't -- it's being called as part of the capf machinery. Or
>> rather, it could potentially be called in both places.
>
>> I think a half-stick of dynamite is the only real solution.
>
> Agreed it's currently hard to navigate, but I'd prefer to take minimal
> steps from what we have now, since people have configurations that
> depend on the current state.
>
> I think we should probably create a set of core "out-of-the-box"
> `message-mode' completion ERT tests.  For example, given:
>
> "emacs -Q" + EBDB + a single EBDB entry "emacs-ert-test@HIDDEN"
>
> will "C-x m emacs TAB" work?  If it won't, will the above-suggested
> `message-expand-name-databases' make it work?
>
> Once we get "emacs-ert-test" examples for @bbdb.gnu.org,
> @ecomplete.gnu.org, @mailabbrev.gnu.org, we'll be able to test how the
> various completion backends interact, and I'm thinking that will help us
> simplify TAB's default behaviour in `message-mode' (while preserving
> backward compatibility).
>
> Do you want to try adding a core ERT test for EBDB completion?  Optional
> core tests are allowed to depend on GNU ELPA packages.

If we allow (and eventually expect) `message-expand-name-databases' to
contain a list of functions, I imagine the ERT test will just define its
own dummy function/data, and test that expansion happens correctly.

Hope all this isn't too obnoxious,
Eric


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=message-name-databases.diff

diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 3bbd68bdcd..e609aa7405 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -8266,9 +8266,11 @@ message-completion-alist
 (defcustom message-expand-name-databases
   '(bbdb eudc)
   "List of databases to try for name completion (`message-expand-name').
-Each element is a symbol and can be `bbdb' or `eudc'."
+Each element can be the symbol `bbdb', the symbol `eudc', or a function."
   :group 'message
-  :type '(set (const bbdb) (const eudc)))
+  :version "29.1"
+  :type '(repeat
+          (choice (const bbdb) (const eudc) function)))
 
 (defcustom message-tab-body-function nil
   "Function to execute when `message-tab' (TAB) is executed in the body.
@@ -8379,6 +8381,8 @@ message-expand-name
                ;; completion took place.  So let's double check the buffer was
                ;; not modified.
                (/= starttick (buffer-modified-tick)))))
+        ((and (functionp (car message-expand-name-databases))
+              (funcall (car message-expand-name-databases))))
 	(t
 	 (expand-abbrev))))
 
@@ -8408,26 +8412,28 @@ message--bbdb-query-with-words
 
 (defun message--name-table (orig-string)
   (let ((orig-words (split-string orig-string "[ \t]+"))
-        eudc-responses
-        bbdb-responses)
+        database-responses)
     (lambda (string pred action)
       (pcase action
         ('metadata '(metadata (category . email)))
         ('lambda t)
         ((or 'nil 't)
          (when orig-words
-           (when (and (memq 'eudc message-expand-name-databases)
-		      (boundp 'eudc-protocol)
-		      eudc-protocol)
-	     (setq eudc-responses (eudc-query-with-words orig-words)))
-	   (when (memq 'bbdb message-expand-name-databases)
-	     (setq bbdb-responses (message--bbdb-query-with-words orig-words)))
+           (dolist (db message-expand-name-databases)
+             (push
+              (pcase db
+                ((and `eudc (guard (bound-and-true-p eudc-protocol)))
+                 (eudc-query-with-words orig-words))
+                (`bbdb (message--bbdb-query-with-words orig-words))
+                ((pred functionp) (funcall db orig-words)))
+              database-responses))
 	   (ecomplete-setup)
 	   (setq orig-words nil))
          (let ((candidates
 	        ;; FIXME: Add `expand-abbrev'!
-	        (append (all-completions string eudc-responses pred)
-	                (all-completions string bbdb-responses pred)
+	        (append (mapcan (lambda (resp)
+                                  (all-completions string resp pred))
+                                database-responses)
 	                (when (and (bound-and-true-p ecomplete-database)
 	                           (fboundp 'ecomplete-completion-table))
                           (all-completions string

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 19 Nov 2022 07:43:01 +0000
Resent-Message-ID: <handler.59314.B59314.166884375826900 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166884375826900
          (code B ref 59314); Sat, 19 Nov 2022 07:43:01 +0000
Received: (at 59314) by debbugs.gnu.org; 19 Nov 2022 07:42:38 +0000
Received: from localhost ([127.0.0.1]:38900 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1owIUn-0006zm-Tc
	for submit <at> debbugs.gnu.org; Sat, 19 Nov 2022 02:42:38 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:33904)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1owIUk-0006zZ-Lc
 for 59314 <at> debbugs.gnu.org; Sat, 19 Nov 2022 02:42:36 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=xsMeUomzlZFziXDquEodEt+y/uX/oJl0zoB/rXlivcw=; b=LW3ZsXstNhatUAfpWjJ9mCdQer
 E+t33Xj2ln3FXybTiUsAvl4dG6Gy1Jeknh1EBOJl5gv/aLvsEMXvTqsHi/pi813Ewgld0D5s7S1LA
 5gaEt7Iqx+Vyl46vepgD5GxAaV8nCbCfqDKEdq/2Feqp+eq5PxDx5nzVZZVhuRGCu2qqeoEKtETEY
 yCV+MqvoDxF37Otffp+WgdGcBRLeXQsb/pZiyaKmebbjVHTJ3bINmqw4GPU7wJ7XKdU1PxeBrH5iT
 fs5eJnq33MP/TpfrtBH2+hc6mGM94rFWJAckwPQ5tknAbup5T8A+c2bh0QJ4JkkVfLTFEYehPy0Uu
 kFS088mg==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1owIUd-000EfK-NR; Sat, 19 Nov 2022 02:42:28 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <87sfigx58k.fsf@HIDDEN> (Eric Abrahamsen's message of
 "Thu, 17 Nov 2022 20:21:15 -0800")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN>
 <87sfigx58k.fsf@HIDDEN>
Date: Sat, 19 Nov 2022 02:42:27 -0500
Message-ID: <m3leo7jspo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Eric Abrahamsen <eric@HIDDEN> writes:

> On 11/16/22 22:28 PM, Thomas Fitzsimmons wrote:
>> Eric Abrahamsen <eric@HIDDEN> writes:
>>
>>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>>>> Hi Eric,
>>>>
>>>> Thanks for filing this.
>>>>
>>>> Eric Abrahamsen <eric@HIDDEN> writes:
>>>>
>>>>> Address completion in message-mode has stopped working in master,
>>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>>>> has been reported for several contact-management backends that expect to
>>>>> have their completions available with <TAB>.
>>>>>
>>>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>>>> returns no matches, and no other functions in the list are consulted.
>>>>
>>>> I just checked and I didn't think the recent patch I pushed,
>>>> 0e25a39e6..., should have affected completion-at-point-functions.  It
>>>> did change the default of eudc-server-hotlist from `nil' to
>>>> `(("localhost" . ecomplete) ("localhost" . mailabbrev))".  I thought
>>>> that should only affect EUDC users who have not customized
>>>> eudc-server-hotlist.
>>>>
>>>> `eudc-capf-complete' was added to `message-mode' in commit
>>>> 620ac6735...  I'm pretty sure that commenting out this line in
>>>> message.el will restore prior behaviour, but I don't yet know what prior
>>>> behaviour should be (see below).
>>>>
>>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>>>
>>>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>>>> fixed the problem:
>>>>>
>>>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>>>
>>>>>   (add-hook 'message-mode-hook
>>>>>             (lambda ()
>>>>>               (setq-local completion-at-point-functions
>>>>>                           (delq 'message-completion-function
>>>>>                                 completion-at-point-functions))))
>>>>>
>>>>> Someone else *not* using corfu reported that that didn't work for them.
>>>>> Dunno.
>>>>
>>>> I'm not sure what the out-of-the-box behaviour here is meant to be.  Can
>>>> you make a recipe starting from "emacs -Q" (including adding dummy email
>>>> addresses somewhere) that makes completion work how you want it to?  For
>>>> me:
>>>>
>>>> emacs -Q
>>>> C-x m TAB
>>>>
>>>> inserts four spaces and prints in *Messages*:
>>>>
>>>> Loading eudcb-ecomplete...done
>>>> Loading eudcb-mailabbrev...done
>>>>
>>>> (Those are new, due to 0e25a39e6... but I thought should be harmless.)
>>>
>>> Yuck, it's been a long time since I looked at this...
>>>
>>> In emacs -Q, message-mode `completion-at-point-functions' is:
>>>
>>> (eudc-capf-complete message-completion-function t)
>>>
>>> Actually that's what it is in my regular Emacs, as well. All I'd need
>>> for EBDB (and BBDB and everything else) is for
>>> `message-completion-function' to get called, which it isn't. I believe
>>> you could allow this by having `eudc-capf-complete' return nil, or have
>>> `eudc-capf-message-expand-name' return a `(list beg end <table>)'
>>> structure that includes the prop `:exclusive 'no' at the end of it. That
>>> would allow a fallthrough to the next function.
>>>
>>> In fact this whole message-mode thing is an impossible tangle, burritos
>>> within burritos, and it would be great to get rid of it altogether.
>>>
>>> `message-completion-function' already looks at where it is in the
>>> message buffer, and calls `message-expand-name' if it's in a "name"
>>> header. That function consults `message-expand-name-databases', and
>>> *that's* where EBDB should put its completion table, except
>>> `message-expand-name-databases' is hardcoded to (or 'eudc 'bbdb) for no
>>> reason.
>>
>> Should we set `message-expand-name-databases' to (or 'eudc 'bbdb 'ebdb)?
>> Would that avoid the need to clobber `message-expand-name' for your use
>> case?  I'd be fine adding "known packages" there, as long as referring
>> to non-core packages doesn't break anything (which it doesn't seem to,
>> since BBDB is non-core, in GNU ELPA).
>
> I don't think that option should be aware of any contact management
> packages at all! I'm attaching a patch that gets message.el about
> halfway to where I think it ought to be: any such packages should be
> able to push their own function onto `message-expand-name-databases'.
>
> This patch allows that while maintaining some backwards compatibility.
> The whole
>
> (and (functionp (car message-expand-name-databases))
>      (funcall (car message-expand-name-databases)))
>
> part inside `message-expand-name' verges on nonsense, but that 
> function is very weird anyway, in that it allows multiple values in
> `message-expand-name-databases' but only ever consults one of them.
>
> I hope that the behavior hidden behind `message-expand-name-standard-ui'
> becomes the new norm at some point.
>
> Right now, if EBDB or some other package pushed a function to
> `message-expand-name-databases', that function would have to behave
> differently depending on whether it's called by `message-expand-name' or
> called as a part of `message--name-table', but it could reliably do that
> by checking if `message-expand-name-standard-ui' is non-nil or not.
>
> One thing that might be difficult under the standard ui is the extended
> cycling that BBDB/EBDB offer: expanding the initial string to a contact,
> and *then* cycle through that contact's multiple mail addresses, any one
> of which might not match the initial string at all. But one thing at a
> time.
>
>>> So I need to clobber `message-expand-name' altogether.
>>
>> When I use EUDC, I too clobber `message-mode's completion, by binding
>> TAB to `eudc-expand-try-all'.  Part of the effort around eudc-capf was
>> trying to improve the default so that this clobbering wouldn't be
>> necessary.  But as you point out, we're not there yet.
>
> I guess I don't know why you need to push `eudc-capf-complete' to
> `completion-at-point-functions', when EUDC is already enabled within
> `message-complete-name'.
>
> Right now `message-completion-function' does the work of detecting where
> in the message buffer point is, and delegating to different functions
> depending on the result. That seems reasonable to me, as the structure
> of a message buffer is message-mode's business, and other programs
> shouldn't need to duplicate the work of parsing text around point. Once
> we've called `message-expand-name', though, I think we should be going
> back to the built-in completion machinery of merging multiple completion
> tables.
>
> If EUDC is called as a part of `message-expand-name', that seems like
> enough to me. Take a hypothetical user who for some reason wants to use
> *both* BBDB and EBDB. They have the choice of plugging both packages
> into EUDC and simply setting `message-expand-name-databases' to '(eudc).
> Or they could set it to '(bbdb ebdb-complete-mail). Or heck, they could
> use BBDB via EUDC, and then set it to '(eudc ebdb-complete-mail), why
> not.
>
> Doesn't that seem like enough?
>
>>> And EUDC having a function on `completion-at-point-functions' is
>>> wrapping yet another burrito outside the existing burritos, because now
>>> EUDC has a completion function both inside and outside message-mode's
>>> own completion machinery.
>>>
>>> In fact the docstring of `eudc-capf-message-expand-name' makes it sound
>>> like it thinks it's being called as part of `message-expand-name', but
>>> now it isn't -- it's being called as part of the capf machinery. Or
>>> rather, it could potentially be called in both places.
>>
>>> I think a half-stick of dynamite is the only real solution.
>>
>> Agreed it's currently hard to navigate, but I'd prefer to take minimal
>> steps from what we have now, since people have configurations that
>> depend on the current state.
>>
>> I think we should probably create a set of core "out-of-the-box"
>> `message-mode' completion ERT tests.  For example, given:
>>
>> "emacs -Q" + EBDB + a single EBDB entry "emacs-ert-test@HIDDEN"
>>
>> will "C-x m emacs TAB" work?  If it won't, will the above-suggested
>> `message-expand-name-databases' make it work?
>>
>> Once we get "emacs-ert-test" examples for @bbdb.gnu.org,
>> @ecomplete.gnu.org, @mailabbrev.gnu.org, we'll be able to test how the
>> various completion backends interact, and I'm thinking that will help us
>> simplify TAB's default behaviour in `message-mode' (while preserving
>> backward compatibility).
>>
>> Do you want to try adding a core ERT test for EBDB completion?  Optional
>> core tests are allowed to depend on GNU ELPA packages.
>
> If we allow (and eventually expect) `message-expand-name-databases' to
> contain a list of functions, I imagine the ERT test will just define its
> own dummy function/data, and test that expansion happens correctly.
>
> Hope all this isn't too obnoxious,

I'm experimenting with this area; thanks for the patch.

I'm first trying to get sensible default behaviour just from EUDC and
its backends.  (eudcb-mailabbrev doesn't work for me, in particular in
the case of an empty .mailrc file.  Alexander seems to be offline
nowadays, unfortunately.  I have a patch that simplifies
eudc-mailabbrev-query-internal considerably (and makes it work how I
think it should), but I'd probably want Alexander to review it.
Likewise with the capf functionality he added.  I'll give him a little
while longer to reply, but I may just proceed, since I'd like to make
this more solid before Emacs 29.1 is released).

I wouldn't actually propose doing the following, but to give you a sense
of my perspective I'll say: my inclination would be to replace the
binding:

TAB 'message-tab

with

TAB 'eudc-expand-try-all

That's what I actually do, with eudc-server-list containing a BBDB entry
followed by an LDAP entry.  I press "TAB" to complete entries that I'm
pretty sure are locally stored in my BBDB database.  If there is no
entry in BBDB, that will fall back to looking in LDAP.

To force getting all results from both BBDB and LDAP, I do: C-u TAB

That's the extent of my email completion setup.  I think the only reason
this setup doesn't generalize (assuming an EUDC EBDB backend in your
case) is that other people like different UIs, e.g., when the same
prefix expands to multiple possible addresses (as you alluded to), what
UI should one use to select?  I use the UI provided by EUDC.

Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend.
Can you try:

make -C test lisp/net/eudc-tests.log

on your machine to confirm they work for you?  You need /usr/sbin/slapd
installed.

I'll work on adding EUDC BBDB backend tests, and I may write an EBDB
EUDC backend.

Once I have that, I'll be able to extract all the configuration
resources (like .mailrc, ecompleterc, etc.) into a tarball.  Then we can
use that tarball to debug/redesign out-of-the-box completion scenarios,
starting from "emacs -Q + tarball", "emacs -Q + EBDB + tarball",
"emacs -Q + BBDB + tarball", etc.

Without starting from "emacs -Q", it's impossible for me to know what I
might break in other people's configurations, when making changes to
message-mode's default completion code.

Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Nov 2022 00:16:01 +0000
Resent-Message-ID: <handler.59314.B59314.166907611919828 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166907611919828
          (code B ref 59314); Tue, 22 Nov 2022 00:16:01 +0000
Received: (at 59314) by debbugs.gnu.org; 22 Nov 2022 00:15:19 +0000
Received: from localhost ([127.0.0.1]:49145 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oxGwZ-00059k-6R
	for submit <at> debbugs.gnu.org; Mon, 21 Nov 2022 19:15:19 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:59594)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1oxGwU-00059Q-9y
 for 59314 <at> debbugs.gnu.org; Mon, 21 Nov 2022 19:15:18 -0500
Received: from localhost (unknown [76.135.104.211])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id CA04FFA08D;
 Tue, 22 Nov 2022 00:15:07 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1669076108;
 bh=aW8QHpPWn2xdlLTUL+BGInX/dEkLVCgas7t6V41onT8=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=x62G/PVHiv6akdIM2FBMPudO1JU2K1Lrsx1UcBYiLJE+wI3Gx8c8naefR90YNcF8v
 XUScelq56TQ8q8a+Mch3U/IhodYUcfAffRNRKgINma0b3oP/y92Mb8m+pWoTxR0y1/
 jz8wuIIvoNW0TnnJNlKtrQWF2RGQDCHf+0vjnrMw=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <m3leo7jspo.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Sat, 19 Nov 2022 02:42:27 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN>
 <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN>
Date: Mon, 21 Nov 2022 16:15:06 -0800
Message-ID: <87k03nx2t1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
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 (---)

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:


[...]

> That's the extent of my email completion setup.  I think the only reason
> this setup doesn't generalize (assuming an EUDC EBDB backend in your
> case) is that other people like different UIs, e.g., when the same
> prefix expands to multiple possible addresses (as you alluded to), what
> UI should one use to select?  I use the UI provided by EUDC.
>
> Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend.
> Can you try:
>
> make -C test lisp/net/eudc-tests.log

No love!

Running 11 tests (2022-11-21 16:04:40-0800, selector `(not (or (tag :unstable) (tag :nativecomp)))')
   passed   1/11  eudc--plist-member (0.000396 sec)
   passed   2/11  eudc-lax-plist-get (0.000433 sec)
   passed   3/11  eudc-plist-get (0.000417 sec)
   passed   4/11  eudc-plist-member (0.000390 sec)
   passed   5/11  eudc-test-make-address (0.000151 sec)
   passed   6/11  eudc-test-rfc5322-quote-phrase (0.000067 sec)
   passed   7/11  eudc-test-rfc5322-valid-comment-p (0.000760 sec)
  skipped   8/11  eudcb-bbdb (0.000102 sec)
   passed   9/11  eudcb-ecomplete (0.007451 sec)
Loading eudcb-ldap...
Parsing results...
Parsing results... done
Parsing results...
Parsing results... done
Test eudcb-ldap backtrace:
  signal(error ("No match"))
  apply(signal (error ("No match")))
  (setq value-640 (apply fn-638 args-639))
  (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq form-
  (if (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq f
  (let (form-description-642) (if (unwind-protect (setq value-640 (app
  (let ((value-640 'ert-form-evaluation-aborted-641)) (let (form-descr
  (let* ((fn-638 #'equal) (args-639 (condition-case err (let ((signal-
  (let ((ldap-process (start-process "slapd" "*slapd*" "/usr/sbin/slap
  (closure (t) nil (let ((value-636 (gensym "ert-form-evaluation-abort
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name eudcb-ldap :documentation "Test the L
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/eudc-tests.el" "
  command-line()
  normal-top-level()
Test eudcb-ldap condition:
    (error "No match")
   FAILED  10/11  eudcb-ldap (1.024022 sec) at lisp/net/eudc-tests.el:271
Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc...
Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... done
   passed  11/11  eudcb-mailabbrev (0.002174 sec)

Ran 11 tests, 9 results as expected, 1 unexpected, 1 skipped (2022-11-21 16:04:41-0800, 1.151547 sec)

1 unexpected results:
   FAILED  eudcb-ldap

1 skipped results:
  SKIPPED  eudcb-bbdb


> on your machine to confirm they work for you?  You need /usr/sbin/slapd
> installed.
>
> I'll work on adding EUDC BBDB backend tests, and I may write an EBDB
> EUDC backend.
>
> Once I have that, I'll be able to extract all the configuration
> resources (like .mailrc, ecompleterc, etc.) into a tarball.  Then we can
> use that tarball to debug/redesign out-of-the-box completion scenarios,
> starting from "emacs -Q + tarball", "emacs -Q + EBDB + tarball",
> "emacs -Q + BBDB + tarball", etc.
>
> Without starting from "emacs -Q", it's impossible for me to know what I
> might break in other people's configurations, when making changes to
> message-mode's default completion code.

I've already said this, but I don't think we should be pushing things in
a direction that relies any external package or its particular behavior.
The capf machinery should be enough, and that's very clearly defined.

Eric




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 22 Nov 2022 15:22:03 +0000
Resent-Message-ID: <handler.59314.B59314.166913048615507 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166913048615507
          (code B ref 59314); Tue, 22 Nov 2022 15:22:03 +0000
Received: (at 59314) by debbugs.gnu.org; 22 Nov 2022 15:21:26 +0000
Received: from localhost ([127.0.0.1]:52279 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oxV5S-000421-4U
	for submit <at> debbugs.gnu.org; Tue, 22 Nov 2022 10:21:26 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:41052)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1oxV5H-000419-0L
 for 59314 <at> debbugs.gnu.org; Tue, 22 Nov 2022 10:21:16 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=+DS3zxgya43sTchq+aHon1/ptQR9R4JTAa6OwRgBuC4=; b=QcMGomwTXHiN4E/h295pcpN+XR
 nHpzXVEqsTlAx4zQFc74o44PAUMpGRN8hLstZHqztPsPeW6E4h+JHqIDO9nDiEvFAhTvnSRCmcJC1
 D638nycwWXzXULBB8tIJLYCMO0fNK3ZKpGozfupKptGyZp+3XRmyMTblLkVjYfNuOXI0SDsVinaj6
 FgKYNqrZX1jj/bWGyDvANJh+rYDRLa471eYfVoaTm0TLMPkZl1qE9cIIEXKX9MO3qtFAwaYa7A5OW
 fn6nXReq3soAb7dqvigLKqG9TExQD0iB1i6zopOx+uYEREQmr6pK96FL+ocnJD+DYGUw5SuOHorqU
 5kPeaQdg==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1oxV57-000GrO-Ms; Tue, 22 Nov 2022 10:21:08 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <87k03nx2t1.fsf@HIDDEN> (Eric Abrahamsen's message of
 "Mon, 21 Nov 2022 16:15:06 -0800")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN>
 <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN>
 <87k03nx2t1.fsf@HIDDEN>
Date: Tue, 22 Nov 2022 10:21:05 -0500
Message-ID: <m3r0xvuiam.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Eric Abrahamsen <eric@HIDDEN> writes:

> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>
> [...]
>
>> That's the extent of my email completion setup.  I think the only reason
>> this setup doesn't generalize (assuming an EUDC EBDB backend in your
>> case) is that other people like different UIs, e.g., when the same
>> prefix expands to multiple possible addresses (as you alluded to), what
>> UI should one use to select?  I use the UI provided by EUDC.
>>
>> Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend.
>> Can you try:
>>
>> make -C test lisp/net/eudc-tests.log
>
> No love!
>
> Running 11 tests (2022-11-21 16:04:40-0800, selector `(not (or (tag :unstable) (tag :nativecomp)))')
>    passed   1/11  eudc--plist-member (0.000396 sec)
>    passed   2/11  eudc-lax-plist-get (0.000433 sec)
>    passed   3/11  eudc-plist-get (0.000417 sec)
>    passed   4/11  eudc-plist-member (0.000390 sec)
>    passed   5/11  eudc-test-make-address (0.000151 sec)
>    passed   6/11  eudc-test-rfc5322-quote-phrase (0.000067 sec)
>    passed   7/11  eudc-test-rfc5322-valid-comment-p (0.000760 sec)
>   skipped   8/11  eudcb-bbdb (0.000102 sec)
>    passed   9/11  eudcb-ecomplete (0.007451 sec)
> Loading eudcb-ldap...
> Parsing results...
> Parsing results... done
> Parsing results...
> Parsing results... done
> Test eudcb-ldap backtrace:
>   signal(error ("No match"))
>   apply(signal (error ("No match")))
>   (setq value-640 (apply fn-638 args-639))
>   (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq form-
>   (if (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq f
>   (let (form-description-642) (if (unwind-protect (setq value-640 (app
>   (let ((value-640 'ert-form-evaluation-aborted-641)) (let (form-descr
>   (let* ((fn-638 #'equal) (args-639 (condition-case err (let ((signal-
>   (let ((ldap-process (start-process "slapd" "*slapd*" "/usr/sbin/slap
>   (closure (t) nil (let ((value-636 (gensym "ert-form-evaluation-abort
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name eudcb-ldap :documentation "Test the L
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
>   ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
>   ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
>   eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/eudc-tests.el" "
>   command-line()
>   normal-top-level()
> Test eudcb-ldap condition:
>     (error "No match")
>    FAILED  10/11  eudcb-ldap (1.024022 sec) at lisp/net/eudc-tests.el:271
> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc...
> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... done
>    passed  11/11  eudcb-mailabbrev (0.002174 sec)
>
> Ran 11 tests, 9 results as expected, 1 unexpected, 1 skipped (2022-11-21 16:04:41-0800, 1.151547 sec)
>
> 1 unexpected results:
>    FAILED  eudcb-ldap
>
> 1 skipped results:
>   SKIPPED  eudcb-bbdb

Thanks for trying.

Can you try changing "(sleep-for 1)" to "(sleep-for 5)"?  (In a
subsequent patch I'll replace the sleep with a retry loop to make this
more reliable.)

If that doesn't work, then below is roughly what the test is doing.  Can
you see if this works for you on the command line?  You can change "-d
0" => "-d 255" for lots of debugging output.

The test first changes to the "test/lisp/net" directory, which is
important, because the slapd.conf line "directory eudc-resources"
specifies a relative directory.

cd test/lisp/net
/usr/sbin/slapd -h "ldap://127.0.0.1:3899" \
    -d 0 -4 \
    -f eudc-resources/slapd.conf & \
sleep 5 && \
ldapsearch -x -LLL -h127.0.0.1:3899 \
    -b "dc=gnu,dc=org" "cn=emacs-ert-test-1"
=>
dn: cn=emacs-ert-test-1,dc=gnu,dc=org
objectClass: OpenLDAPperson
cn: emacs-ert-test-1
description:: RW1hY3Mg
uid: 1
sn: ERT1
givenName: Emacs
mail: emacs-ert-test-1@HIDDEN

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 24 Nov 2022 07:25:02 +0000
Resent-Message-ID: <handler.59314.B59314.166927466112926 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166927466112926
          (code B ref 59314); Thu, 24 Nov 2022 07:25:02 +0000
Received: (at 59314) by debbugs.gnu.org; 24 Nov 2022 07:24:21 +0000
Received: from localhost ([127.0.0.1]:57040 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oy6aq-0003MQ-Gf
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2022 02:24:20 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:39202)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1oy6an-0003MB-0J
 for 59314 <at> debbugs.gnu.org; Thu, 24 Nov 2022 02:24:18 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=WPF9+YufBzGuZmvMQdyBG4iZYAf+NyE7+rJAgoOWGBc=; b=XEO1hpnC0a4XLng4LcGNO+9GJY
 TtB68kP4KXmIlERPCh8IS/opCzvRCi93RIATEbhnx7rpDoEtqQMxkC3JKSeabCazFPx4z3oCPoWoU
 sbQWqU3MIyamFbA4o3XqxxbdKXdRJ8EyLHx8a5zyepDKS/Tv7o9GsAz+mstA5QDibrbhwyCyxAEmZ
 Qw8AvYm2yqhoeLyiXblAmH6o7WrlE0aHN+ZanE+xREYHC9JOvF1o3zcWdJz64fZg2hvg5gQfQEW9r
 Oi3GUiGq+LImgia0KTtcPxJAZB7O8hnCv86iUAV/sULTOdxSNFqshIxoKbG5GeFsvujg98K1ySEpZ
 5mDe31Yg==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1oy6ag-000Hqp-IT; Thu, 24 Nov 2022 02:24:10 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <m3r0xvuiam.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Tue, 22 Nov 2022 10:21:05 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN>
 <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN>
 <87k03nx2t1.fsf@HIDDEN> <m3r0xvuiam.fsf@HIDDEN>
Date: Thu, 24 Nov 2022 02:24:10 -0500
Message-ID: <m3fse8u86d.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>>
>> [...]
>>
>>> That's the extent of my email completion setup.  I think the only reason
>>> this setup doesn't generalize (assuming an EUDC EBDB backend in your
>>> case) is that other people like different UIs, e.g., when the same
>>> prefix expands to multiple possible addresses (as you alluded to), what
>>> UI should one use to select?  I use the UI provided by EUDC.
>>>
>>> Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend.
>>> Can you try:
>>>
>>> make -C test lisp/net/eudc-tests.log
>>
>> No love!
>>
>> Running 11 tests (2022-11-21 16:04:40-0800, selector `(not (or (tag :unstable) (tag :nativecomp)))')
>>    passed   1/11  eudc--plist-member (0.000396 sec)
>>    passed   2/11  eudc-lax-plist-get (0.000433 sec)
>>    passed   3/11  eudc-plist-get (0.000417 sec)
>>    passed   4/11  eudc-plist-member (0.000390 sec)
>>    passed   5/11  eudc-test-make-address (0.000151 sec)
>>    passed   6/11  eudc-test-rfc5322-quote-phrase (0.000067 sec)
>>    passed   7/11  eudc-test-rfc5322-valid-comment-p (0.000760 sec)
>>   skipped   8/11  eudcb-bbdb (0.000102 sec)
>>    passed   9/11  eudcb-ecomplete (0.007451 sec)
>> Loading eudcb-ldap...
>> Parsing results...
>> Parsing results... done
>> Parsing results...
>> Parsing results... done
>> Test eudcb-ldap backtrace:
>>   signal(error ("No match"))
>>   apply(signal (error ("No match")))
>>   (setq value-640 (apply fn-638 args-639))
>>   (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq form-
>>   (if (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq f
>>   (let (form-description-642) (if (unwind-protect (setq value-640 (app
>>   (let ((value-640 'ert-form-evaluation-aborted-641)) (let (form-descr
>>   (let* ((fn-638 #'equal) (args-639 (condition-case err (let ((signal-
>>   (let ((ldap-process (start-process "slapd" "*slapd*" "/usr/sbin/slap
>>   (closure (t) nil (let ((value-636 (gensym "ert-form-evaluation-abort
>>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>>   ert-run-test(#s(ert-test :name eudcb-ldap :documentation "Test the L
>>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>>   ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
>>   ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
>>   ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
>>   eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
>>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/eudc-tests.el" "
>>   command-line()
>>   normal-top-level()
>> Test eudcb-ldap condition:
>>     (error "No match")
>>    FAILED  10/11  eudcb-ldap (1.024022 sec) at lisp/net/eudc-tests.el:271
>> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc...
>> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... done
>>    passed  11/11  eudcb-mailabbrev (0.002174 sec)
>>
>> Ran 11 tests, 9 results as expected, 1 unexpected, 1 skipped (2022-11-21 16:04:41-0800, 1.151547 sec)
>>
>> 1 unexpected results:
>>    FAILED  eudcb-ldap
>>
>> 1 skipped results:
>>   SKIPPED  eudcb-bbdb
>
> Thanks for trying.
>
> 
[...]

>  (In a subsequent patch I'll replace the sleep with a retry loop to
> make this more reliable.)

I pushed this patch to the master branch.  When you get a chance, can
you retry:

make -C test lisp/net/eudc-tests.log

and see if it succeeds for you now?

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 24 Nov 2022 09:54:01 +0000
Resent-Message-ID: <handler.59314.B59314.166928359921117 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166928359921117
          (code B ref 59314); Thu, 24 Nov 2022 09:54:01 +0000
Received: (at 59314) by debbugs.gnu.org; 24 Nov 2022 09:53:19 +0000
Received: from localhost ([127.0.0.1]:57329 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oy8v0-0005UX-Oj
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2022 04:53:19 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:46662)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1oy8uz-0005UK-LB
 for 59314 <at> debbugs.gnu.org; Thu, 24 Nov 2022 04:53:18 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=F4eygWCMjtw1GpQAI9kbi1EQz8V+UnV98u8kvR4zUiA=; b=jOKlP8BjpVZZwvg/8EfbzxhrXB
 lkVqFPEWaNo83nvkTqPMF05GDaLsf0POewds0h07+1JpoRQTx9t/XEmgv7SZbBstM8CkDE4pwtRSx
 LKk69vp/zDB+NvKqhdj4n/DMmeoC3gewo1ADsbBEHsDh2JTQ4tTgareaYguqkGLIm/+9lzgb/gtJc
 42vfNKZYeHiA+GzfRc2jC9hQjSVIKITkC+ow13L89Amvvj+gZXIAYy+rdpBhDJCRAWoQmKGpFrjR2
 QWf0Pv7RMS2rlsMmUpTXslZ3v+qw0cgg/069Whq2xJdoI+kXPHtw5CGdfr22iq03yGSiKJNffUmNt
 jzos92vQ==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1oy8us-000Huq-ND; Thu, 24 Nov 2022 04:53:11 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <87k03nx2t1.fsf@HIDDEN> (Eric Abrahamsen's message of
 "Mon, 21 Nov 2022 16:15:06 -0800")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN>
 <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN>
 <87k03nx2t1.fsf@HIDDEN>
Date: Thu, 24 Nov 2022 04:53:10 -0500
Message-ID: <m3a64gu1a1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Eric Abrahamsen <eric@HIDDEN> writes:

[...]

>> Once I have that, I'll be able to extract all the configuration
>> resources (like .mailrc, ecompleterc, etc.) into a tarball.  Then we can
>> use that tarball to debug/redesign out-of-the-box completion scenarios,
>> starting from "emacs -Q + tarball", "emacs -Q + EBDB + tarball",
>> "emacs -Q + BBDB + tarball", etc.
>>
>> Without starting from "emacs -Q", it's impossible for me to know what I
>> might break in other people's configurations, when making changes to
>> message-mode's default completion code.
>
> I've already said this, but I don't think we should be pushing things in
> a direction that relies any external package or its particular behavior.
> The capf machinery should be enough, and that's very clearly defined.

I haven't figured out how the defaults are supposed to work for EUDC,
despite a bunch of attempts.  I'll keep at it, but wanted to post
status.

Here's a recipe to replicate what I'm trying:

cd test/lisp/net
/usr/sbin/slapd -h "ldap://127.0.0.1:3899" -d 0 -4 \
    -f eudc-resources/slapd.conf &

mkdir test-home
cat >test-home/.emacs <<EOF
(setq ldap-host-parameters-alist '(("ldap://localhost:3899"
                                    base "dc=gnu,dc=org" auth simple)))
(setq eudc-server-hotlist '(("ldap://localhost:3899" . ldap)))
(setq eudc-ignore-options-file t)
EOF
HOME=test-home ../../../src/emacs

C-x m emacs-ertTAB

There seem to have been many attempts in the code to get that to work by
default, but currently all the various approaches fail.  The result is
that three spaces are added to the buffer after "emacs-ert".

If instead of pressing TAB, one invokes M-x eudc-expand-try-all RET, the
EUDC multiple results UI is presented, and the completion one selects is
correctly inserted.  (This proves that message machinery is failing even
though EUDC and LDAP work.)

I've been hacking around the various EUDC code paths in message.el
(including the (setq message-expand-name-standard-ui t) one) trying to
get something to work by default but I haven't succeeded yet.

Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 24 Nov 2022 22:10:02 +0000
Resent-Message-ID: <handler.59314.B59314.16693277593230 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Alexander Adolf <alexander.adolf@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16693277593230
          (code B ref 59314); Thu, 24 Nov 2022 22:10:02 +0000
Received: (at 59314) by debbugs.gnu.org; 24 Nov 2022 22:09:19 +0000
Received: from localhost ([127.0.0.1]:60452 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oyKPH-0000q2-7I
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2022 17:09:19 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:53454)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1oyKPE-0000po-SH
 for 59314 <at> debbugs.gnu.org; Thu, 24 Nov 2022 17:09:17 -0500
Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 35CD3FA08F;
 Thu, 24 Nov 2022 22:09:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1669327750;
 bh=2XnBlQC9/bzIk2FSdxsWxM+sHCloGfph18YETAunMks=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=o3VjFIiE48fvBbVYmv/O5oBikGPIbtvQG0FgrMbYQsPRgwbwIbpAKQ2ShU4agsLY8
 N9kWgEMwSpdBxF8Dew89AA0fv7CFREeCAjdl9cPKYOPNn8tjtxA1thg1RlsuWF6oZy
 RD4swUTq55/Ijrwoof+Ho0wiQK0LIxFUCcvNHM90=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <m3fse8u86d.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Thu, 24 Nov 2022 02:24:10 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN> <m3leoal0o8.fsf@HIDDEN>
 <87sfigx58k.fsf@HIDDEN> <m3leo7jspo.fsf@HIDDEN>
 <87k03nx2t1.fsf@HIDDEN> <m3r0xvuiam.fsf@HIDDEN>
 <m3fse8u86d.fsf@HIDDEN>
Date: Thu, 24 Nov 2022 14:09:08 -0800
Message-ID: <877czkm2d7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
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 (---)


On 11/24/22 02:24 AM, Thomas Fitzsimmons wrote:
> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>
>> Eric Abrahamsen <eric@HIDDEN> writes:
>>
>>> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>>>
>>> [...]
>>>
>>>> That's the extent of my email completion setup.  I think the only reason
>>>> this setup doesn't generalize (assuming an EUDC EBDB backend in your
>>>> case) is that other people like different UIs, e.g., when the same
>>>> prefix expands to multiple possible addresses (as you alluded to), what
>>>> UI should one use to select?  I use the UI provided by EUDC.
>>>>
>>>> Anyway, tonight I did manage to add ERT tests for the EUDC LDAP backend.
>>>> Can you try:
>>>>
>>>> make -C test lisp/net/eudc-tests.log
>>>
>>> No love!
>>>
>>> Running 11 tests (2022-11-21 16:04:40-0800, selector `(not (or (tag :unstable) (tag :nativecomp)))')
>>>    passed   1/11  eudc--plist-member (0.000396 sec)
>>>    passed   2/11  eudc-lax-plist-get (0.000433 sec)
>>>    passed   3/11  eudc-plist-get (0.000417 sec)
>>>    passed   4/11  eudc-plist-member (0.000390 sec)
>>>    passed   5/11  eudc-test-make-address (0.000151 sec)
>>>    passed   6/11  eudc-test-rfc5322-quote-phrase (0.000067 sec)
>>>    passed   7/11  eudc-test-rfc5322-valid-comment-p (0.000760 sec)
>>>   skipped   8/11  eudcb-bbdb (0.000102 sec)
>>>    passed   9/11  eudcb-ecomplete (0.007451 sec)
>>> Loading eudcb-ldap...
>>> Parsing results...
>>> Parsing results... done
>>> Parsing results...
>>> Parsing results... done
>>> Test eudcb-ldap backtrace:
>>>   signal(error ("No match"))
>>>   apply(signal (error ("No match")))
>>>   (setq value-640 (apply fn-638 args-639))
>>>   (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq form-
>>>   (if (unwind-protect (setq value-640 (apply fn-638 args-639)) (setq f
>>>   (let (form-description-642) (if (unwind-protect (setq value-640 (app
>>>   (let ((value-640 'ert-form-evaluation-aborted-641)) (let (form-descr
>>>   (let* ((fn-638 #'equal) (args-639 (condition-case err (let ((signal-
>>>   (let ((ldap-process (start-process "slapd" "*slapd*" "/usr/sbin/slap
>>>   (closure (t) nil (let ((value-636 (gensym "ert-form-evaluation-abort
>>>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>>>   ert-run-test(#s(ert-test :name eudcb-ldap :documentation "Test the L
>>>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>>>   ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
>>>   ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
>>>   ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
>>>   eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
>>>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/eudc-tests.el" "
>>>   command-line()
>>>   normal-top-level()
>>> Test eudcb-ldap condition:
>>>     (error "No match")
>>>    FAILED  10/11  eudcb-ldap (1.024022 sec) at lisp/net/eudc-tests.el:271
>>> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc...
>>> Parsing /home/eric/dev/emacs/test/lisp/net/eudc-resources/mailrc... done
>>>    passed  11/11  eudcb-mailabbrev (0.002174 sec)
>>>
>>> Ran 11 tests, 9 results as expected, 1 unexpected, 1 skipped (2022-11-21 16:04:41-0800, 1.151547 sec)
>>>
>>> 1 unexpected results:
>>>    FAILED  eudcb-ldap
>>>
>>> 1 skipped results:
>>>   SKIPPED  eudcb-bbdb
>>
>> Thanks for trying.
>>
>> 
> [...]
>
>>  (In a subsequent patch I'll replace the sleep with a retry loop to
>> make this more reliable.)
>
> I pushed this patch to the master branch.  When you get a chance, can
> you retry:
>
> make -C test lisp/net/eudc-tests.log
>
> and see if it succeeds for you now?

slapd refuses to run without root permissions on my laptop for some
reason, so this will have to wait until next Monday when I'm back at my
desktop.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 01 Dec 2022 15:47:01 +0000
Resent-Message-ID: <handler.59314.B59314.16699096031700 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>, Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16699096031700
          (code B ref 59314); Thu, 01 Dec 2022 15:47:01 +0000
Received: (at 59314) by debbugs.gnu.org; 1 Dec 2022 15:46:43 +0000
Received: from localhost ([127.0.0.1]:40411 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p0llq-0000RH-Ns
	for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 10:46:43 -0500
Received: from smtprelay07.ispgateway.de ([134.119.228.97]:58552)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p0llo-0000Qs-8J
 for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 10:46:42 -0500
Received: from [46.244.208.80] (helo=condition-alpha.com)
 by smtprelay07.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p0llm-0006dp-31; Thu, 01 Dec 2022 16:46:38 +0100
Message-Id: <18c99a1253886d5a5ec068849b007cb2@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <878rka1y4n.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
Date: Thu, 01 Dec 2022 16:46:37 +0100
MIME-Version: 1.0
Content-Type: text/plain
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
X-Spam-Score: -0.0 (/)
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.0 (-)

Hello Eric,

Apologies for chiming late into this.

Eric Abrahamsen <eric@HIDDEN> writes:

> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>> [...]
>>> Address completion in message-mode has stopped working in master,
>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>> has been reported for several contact-management backends that expect to
>>> have their completions available with <TAB>.
>>>
>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>> returns no matches, and no other functions in the list are consulted.
>> [...]
>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>
>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>> fixed the problem:
>>>
>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>
>>>   (add-hook 'message-mode-hook
>>>             (lambda ()
>>>               (setq-local completion-at-point-functions
>>>                           (delq 'message-completion-function
>>>                                 completion-at-point-functions))))
>>>
>>> Someone else *not* using corfu reported that that didn't work for them.
>>> Dunno.

That the behaviour changes depending on the CAPF front-end (corfu in
this case) could be indicative of the completion styles [1] kicking in.
I've seen cases where my completion function did return results, but
nothing was shown in the CAPF UI because the completion styles'
"filtering" wouldn't leave any alternatives to show. Not to suggest that
this is what's actually happening, but it's one possibility.

[1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Styles.html

Other than that, I would be interested in reproducing this at my end -
if possible - to see whether there's any corner case I missed. I seems
that the change of eudc-server-hotlist from `nil' to `(("localhost" .
ecomplete) ("localhost" . mailabbrev))` triggered this behaviour for
you. With that value, no database files for ecomplete or mailabbrev, and
all Elisp settings for ecomplete and mailabbrev at their default values,
`eudc-capf-complete` does return nil for me. What else should I be doing
to reproduce the issue?


Many thanks and cheers,

  --alexander




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 01 Dec 2022 15:49:01 +0000
Resent-Message-ID: <handler.59314.B59314.16699097081805 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eric Abrahamsen <eric@HIDDEN>, Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16699097081805
          (code B ref 59314); Thu, 01 Dec 2022 15:49:01 +0000
Received: (at 59314) by debbugs.gnu.org; 1 Dec 2022 15:48:28 +0000
Received: from localhost ([127.0.0.1]:40425 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p0lnY-0000T3-A8
	for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 10:48:28 -0500
Received: from smtprelay06.ispgateway.de ([80.67.18.29]:17710)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p0lnS-0000Ss-MJ
 for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 10:48:26 -0500
Received: from [46.244.208.80] (helo=condition-alpha.com)
 by smtprelay06.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p0lnR-0001ep-5u; Thu, 01 Dec 2022 16:48:21 +0100
Message-Id: <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <878rka1y4n.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
Date: Thu, 01 Dec 2022 16:48:20 +0100
MIME-Version: 1.0
Content-Type: text/plain
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
X-Spam-Score: -0.0 (/)
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.0 (-)

Hello Eric,

Eric Abrahamsen <eric@HIDDEN> writes:

> [...]
> In fact this whole message-mode thing is an impossible tangle, burritos
> within burritos, and it would be great to get rid of it altogether.
> [...]
> So I need to clobber `message-expand-name' altogether.
>
> And EUDC having a function on `completion-at-point-functions' is
> wrapping yet another burrito outside the existing burritos, because now
> EUDC has a completion function both inside and outside message-mode's
> own completion machinery.
>
> In fact the docstring of `eudc-capf-message-expand-name' makes it sound
> like it thinks it's being called as part of `message-expand-name', but
> now it isn't -- it's being called as part of the capf machinery. Or
> rather, it could potentially be called in both places.
>
> I think a half-stick of dynamite is the only real solution.
> [...]

Perhaps we can be slightly more CONstructive that this. ;-)))

I am preparing a patch to message.el which refactors
`message-completion-alist` along the lines of this:

---------------------------- Begin Quote -----------------------------
(defcustom message-completion-alist
  `((,message-newgroups-header-regexp . (:category newsgroup
                                         :fieldsep-re "\\([:,]\\|^\\)[ \t]*"
                                         :completions ,#'message-expand-group))
    (,message-email-recipient-header-regexp . (:category email
                                               :fieldsep-re "\\([:,]\\|^\\)[ \t]*"
                                               :completions ,#'eudc-capf-message-expand-name)))
  "Alist of (RE . RECIPE), defining completion contexts.
This variable controls how `message-completion-function' performs
in-buffer completion.  RECIPE is either a function (deprecated),
or a plist.

When `message-completion-function' is invoked, and point is on a
line matching one of the REs in the alist, the settings in the
corresponding RECIPE are applied.

When RECIPE is a function, it is called for completion.  RECIPE
should be a function that obeys the same rules as those of
`completion-at-point-functions'.

When RECIPE is a plist, the properties control how in-buffer
completion is performed.  The following properties are currently
defined:

:category

    The symbol defining the category in
    `completion-category-defaults' to use for completion.  Also
    see `completion-category-overrides', and `completion-styles'.

:fieldsep-re

    The regular expression to use when scanning backwards in the
    buffer.  All text between point, and any preceding text
    matching this regular expression, will be used as the prefix
    for finding completion candidates.

:completions

    The function that provides completions, and that obeys the
    same rules as those of `completion-at-point-functions'.
    In-buffer completion will be performed as if
    `completion-at-point-functions' had been set to this value."
  :version "29.1"
  :group 'message
  :type '(alist :key-type regexp
                :value-type (choice (plist)
                                    (function
                                     :tag "Completion function (deprecated)"))))
----------------------------- End Quote ------------------------------

As you can see, `eudc-capf-message-expand-name` effectively replaces
`message-expand-name` altogether:

---------------------------- Begin Quote -----------------------------
(make-obsolete 'message-expand-name 'eudc-capf-message-expand-name
               "29.1")
----------------------------- End Quote ------------------------------

The patch goes on to remove everything relating to ecomplete,
mailabbrev, bbdb, and the likes from message.el, too. Get rid of all the
burritos, except one. The one and only source for email addresses in
message.el IMHO should be EUDC, and the one and only completion UI
should be whatever CAPF uses. Any and all sources for email addresses
should implement back-ends for EUDC, so they can be queried via EUDC,
which does the aggregation of results from the different sources, and
delivers it back to message.el as one lump.


EUDC backends:   ldap   ecomplete   mailabbrev   bbdb    you-name-it
               \________________________ ____________________________/
                                        V
                                        |
                                        V
eudc-capf.el:            eudc-capf-message-expand-name
                                        |
                                        V
message.el:               message-completion-function
                                        |
                                        V
minibuffer.el                completion-at-point
                                        |
                                        V
                   [ optional completion UI (for example corfu) ]


As you may imagine, this is a bigger patch, and I am discussing it on
emacs-devel with Stefan Monnier. So it'll still be a little while until
it might hopefully get merged, and the burritos unwrapped.


Many thanks and looking forward to your thoughts,

  --alexander




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 01 Dec 2022 16:03:02 +0000
Resent-Message-ID: <handler.59314.B59314.16699105442540 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Thomas Fitzsimmons <fitzsim@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16699105442540
          (code B ref 59314); Thu, 01 Dec 2022 16:03:02 +0000
Received: (at 59314) by debbugs.gnu.org; 1 Dec 2022 16:02:24 +0000
Received: from localhost ([127.0.0.1]:40511 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p0m12-0000eu-CF
	for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 11:02:24 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:43388)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1p0m10-0000eo-1C
 for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 11:02:22 -0500
Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 0B0DBFA081;
 Thu,  1 Dec 2022 16:02:15 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1669910536;
 bh=kxyjvQJX6CvnYgaN15/UIzzr+V3puqNm0wWQRo4mPj4=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=d5ewc7m30iffRoXZG4JgJPqzND4MnfY0nASg6MbhqdblBrUB5JWx/15rF7oPsu2Dg
 v/EnRb2CT/PPXTWkivE/ZKYpKNW1L/R3JQQO7YXrgGMAtKUC1L2hrB1JFVOmZ0i3kt
 Bcmxt1U9zssDculeLJvxKJ43XS/ozP53+RKehGLw=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <18c99a1253886d5a5ec068849b007cb2@HIDDEN> (Alexander
 Adolf's message of "Thu, 01 Dec 2022 16:46:37 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <18c99a1253886d5a5ec068849b007cb2@HIDDEN>
Date: Thu, 01 Dec 2022 08:02:14 -0800
Message-ID: <87wn7bkt89.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
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 (---)

Alexander Adolf <alexander.adolf@HIDDEN> writes:

> Hello Eric,
>
> Apologies for chiming late into this.
>
> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> On 11/16/22 14:18 PM, Thomas Fitzsimmons wrote:
>>> [...]
>>>> Address completion in message-mode has stopped working in master,
>>>> possibly as a result of 0e25a39e69acca0324c326ea8e46b1725594bff5. This
>>>> has been reported for several contact-management backends that expect to
>>>> have their completions available with <TAB>.
>>>>
>>>> `completion-at-point-functions' contains '(eudc-capf-complete
>>>> message-completion-function t) at this point -- `eudc-capf-complete'
>>>> returns no matches, and no other functions in the list are consulted.
>>> [...]
>>> (add-hook 'completion-at-point-functions #'message-completion-function nil t)
>>>
>>>> On gnus.general, someone using BBDB and corfu reported that this recipe
>>>> fixed the problem:
>>>>
>>>>   (setq eudc-server-hotlist '(("localhost" . bbdb)))
>>>>
>>>>   (add-hook 'message-mode-hook
>>>>             (lambda ()
>>>>               (setq-local completion-at-point-functions
>>>>                           (delq 'message-completion-function
>>>>                                 completion-at-point-functions))))
>>>>
>>>> Someone else *not* using corfu reported that that didn't work for them.
>>>> Dunno.
>
> That the behaviour changes depending on the CAPF front-end (corfu in
> this case) could be indicative of the completion styles [1] kicking in.
> I've seen cases where my completion function did return results, but
> nothing was shown in the CAPF UI because the completion styles'
> "filtering" wouldn't leave any alternatives to show. Not to suggest that
> this is what's actually happening, but it's one possibility.
>
> [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Styles.html
>
> Other than that, I would be interested in reproducing this at my end -
> if possible - to see whether there's any corner case I missed. I seems
> that the change of eudc-server-hotlist from `nil' to `(("localhost" .
> ecomplete) ("localhost" . mailabbrev))` triggered this behaviour for
> you. With that value, no database files for ecomplete or mailabbrev, and
> all Elisp settings for ecomplete and mailabbrev at their default values,
> `eudc-capf-complete` does return nil for me. What else should I be doing
> to reproduce the issue?

I think Thomas already fixed it! Shortly after I reported.

Thanks,
Eric




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Eric Abrahamsen <eric@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 01 Dec 2022 17:50:01 +0000
Resent-Message-ID: <handler.59314.B59314.166991697932691 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Thomas Fitzsimmons <fitzsim@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166991697932691
          (code B ref 59314); Thu, 01 Dec 2022 17:50:01 +0000
Received: (at 59314) by debbugs.gnu.org; 1 Dec 2022 17:49:39 +0000
Received: from localhost ([127.0.0.1]:41050 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p0ngp-0008VB-1U
	for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 12:49:39 -0500
Received: from mail.ericabrahamsen.net ([52.70.2.18]:55426)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eric@HIDDEN>) id 1p0ngl-0008V3-Q9
 for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 12:49:38 -0500
Received: from localhost (c-71-197-232-41.hsd1.wa.comcast.net [71.197.232.41])
 (Authenticated sender: eric@HIDDEN)
 by mail.ericabrahamsen.net (Postfix) with ESMTPSA id ADF04FA5A0;
 Thu,  1 Dec 2022 17:49:29 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericabrahamsen.net;
 s=mail; t=1669916969;
 bh=bwILli9STMRRIyBODvtAYWqKKnVImO9LsGBohAQotO8=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=K6Q4zNokWrOrJ25cgcEXb+CTT8Jh0Y7dj2tam5xvavL4rOGF9UNNDfgnsTZ6wcv5y
 lUG7JyLjM9G2df/Kn1bO9FUaFWOFtJy/ajNVaMn5uyGjCUhBvnW7V+PQD+P4GHwKOh
 6pcbxeo0co2xaSmLpsHHlua+bD9d9B/3ZGdwMC50=
From: Eric Abrahamsen <eric@HIDDEN>
In-Reply-To: <bcee30cef48498ff7beae30e5bef571a@HIDDEN> (Alexander
 Adolf's message of "Thu, 01 Dec 2022 16:48:20 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
Date: Thu, 01 Dec 2022 09:49:19 -0800
Message-ID: <87sfhzko9s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
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 (---)

--=-=-=
Content-Type: text/plain


On 12/01/22 16:48 PM, Alexander Adolf wrote:
> Hello Eric,
>
> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> [...]
>> In fact this whole message-mode thing is an impossible tangle, burritos
>> within burritos, and it would be great to get rid of it altogether.
>> [...]
>> So I need to clobber `message-expand-name' altogether.
>>
>> And EUDC having a function on `completion-at-point-functions' is
>> wrapping yet another burrito outside the existing burritos, because now
>> EUDC has a completion function both inside and outside message-mode's
>> own completion machinery.
>>
>> In fact the docstring of `eudc-capf-message-expand-name' makes it sound
>> like it thinks it's being called as part of `message-expand-name', but
>> now it isn't -- it's being called as part of the capf machinery. Or
>> rather, it could potentially be called in both places.
>>
>> I think a half-stick of dynamite is the only real solution.
>> [...]
>
> Perhaps we can be slightly more CONstructive that this. ;-)))
>
> I am preparing a patch to message.el which refactors
> `message-completion-alist` along the lines of this:
>
> ---------------------------- Begin Quote -----------------------------
> (defcustom message-completion-alist
>   `((,message-newgroups-header-regexp . (:category newsgroup
>                                          :fieldsep-re "\\([:,]\\|^\\)[ \t]*"
>                                          :completions ,#'message-expand-group))
>     (,message-email-recipient-header-regexp . (:category email
>                                                :fieldsep-re "\\([:,]\\|^\\)[ \t]*"
>                                                :completions ,#'eudc-capf-message-expand-name)))
>   "Alist of (RE . RECIPE), defining completion contexts.
> This variable controls how `message-completion-function' performs
> in-buffer completion.  RECIPE is either a function (deprecated),
> or a plist.
>
> When `message-completion-function' is invoked, and point is on a
> line matching one of the REs in the alist, the settings in the
> corresponding RECIPE are applied.
>
> When RECIPE is a function, it is called for completion.  RECIPE
> should be a function that obeys the same rules as those of
> `completion-at-point-functions'.
>
> When RECIPE is a plist, the properties control how in-buffer
> completion is performed.  The following properties are currently
> defined:
>
> :category
>
>     The symbol defining the category in
>     `completion-category-defaults' to use for completion.  Also
>     see `completion-category-overrides', and `completion-styles'.
>
> :fieldsep-re
>
>     The regular expression to use when scanning backwards in the
>     buffer.  All text between point, and any preceding text
>     matching this regular expression, will be used as the prefix
>     for finding completion candidates.
>
> :completions
>
>     The function that provides completions, and that obeys the
>     same rules as those of `completion-at-point-functions'.
>     In-buffer completion will be performed as if
>     `completion-at-point-functions' had been set to this value."
>   :version "29.1"
>   :group 'message
>   :type '(alist :key-type regexp
>                 :value-type (choice (plist)
>                                     (function
>                                      :tag "Completion function (deprecated)"))))
> ----------------------------- End Quote ------------------------------
>
> As you can see, `eudc-capf-message-expand-name` effectively replaces
> `message-expand-name` altogether:
>
> ---------------------------- Begin Quote -----------------------------
> (make-obsolete 'message-expand-name 'eudc-capf-message-expand-name
>                "29.1")
> ----------------------------- End Quote ------------------------------
>
> The patch goes on to remove everything relating to ecomplete,
> mailabbrev, bbdb, and the likes from message.el, too. Get rid of all the
> burritos, except one. The one and only source for email addresses in
> message.el IMHO should be EUDC, and the one and only completion UI
> should be whatever CAPF uses. Any and all sources for email addresses
> should implement back-ends for EUDC, so they can be queried via EUDC,
> which does the aggregation of results from the different sources, and
> delivers it back to message.el as one lump.
>
>
> EUDC backends:   ldap   ecomplete   mailabbrev   bbdb    you-name-it
>                \________________________ ____________________________/
>                                         V
>                                         |
>                                         V
> eudc-capf.el:            eudc-capf-message-expand-name
>                                         |
>                                         V
> message.el:               message-completion-function
>                                         |
>                                         V
> minibuffer.el                completion-at-point
>                                         |
>                                         V
>                    [ optional completion UI (for example corfu) ]
>
>
> As you may imagine, this is a bigger patch, and I am discussing it on
> emacs-devel with Stefan Monnier. So it'll still be a little while until
> it might hopefully get merged, and the burritos unwrapped.
>
>
> Many thanks and looking forward to your thoughts,

My only thought is that we already have a mechanism for combining
results from multiple contact-management packages, and it's called
`message--name-table'. I don't see why we should be obliged to add EUDC
as an additional and obligatory point of collation. I'm attaching a
patch I floated earlier, showing how I think it could works -- it's very
simple.

Stefan was the one who added `message--name-table', and if you're
talking to him I will obviously defer to whatever you (plural) decide.
But that's my two cents.

Eric


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=message-name-databases.diff

diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 3bbd68bdcd..e609aa7405 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -8266,9 +8266,11 @@ message-completion-alist
 (defcustom message-expand-name-databases
   '(bbdb eudc)
   "List of databases to try for name completion (`message-expand-name').
-Each element is a symbol and can be `bbdb' or `eudc'."
+Each element can be the symbol `bbdb', the symbol `eudc', or a function."
   :group 'message
-  :type '(set (const bbdb) (const eudc)))
+  :version "29.1"
+  :type '(repeat
+          (choice (const bbdb) (const eudc) function)))
 
 (defcustom message-tab-body-function nil
   "Function to execute when `message-tab' (TAB) is executed in the body.
@@ -8379,6 +8381,8 @@ message-expand-name
                ;; completion took place.  So let's double check the buffer was
                ;; not modified.
                (/= starttick (buffer-modified-tick)))))
+        ((and (functionp (car message-expand-name-databases))
+              (funcall (car message-expand-name-databases))))
 	(t
 	 (expand-abbrev))))
 
@@ -8408,26 +8412,28 @@ message--bbdb-query-with-words
 
 (defun message--name-table (orig-string)
   (let ((orig-words (split-string orig-string "[ \t]+"))
-        eudc-responses
-        bbdb-responses)
+        database-responses)
     (lambda (string pred action)
       (pcase action
         ('metadata '(metadata (category . email)))
         ('lambda t)
         ((or 'nil 't)
          (when orig-words
-           (when (and (memq 'eudc message-expand-name-databases)
-		      (boundp 'eudc-protocol)
-		      eudc-protocol)
-	     (setq eudc-responses (eudc-query-with-words orig-words)))
-	   (when (memq 'bbdb message-expand-name-databases)
-	     (setq bbdb-responses (message--bbdb-query-with-words orig-words)))
+           (dolist (db message-expand-name-databases)
+             (push
+              (pcase db
+                ((and `eudc (guard (bound-and-true-p eudc-protocol)))
+                 (eudc-query-with-words orig-words))
+                (`bbdb (message--bbdb-query-with-words orig-words))
+                ((pred functionp) (funcall db orig-words)))
+              database-responses))
 	   (ecomplete-setup)
 	   (setq orig-words nil))
          (let ((candidates
 	        ;; FIXME: Add `expand-abbrev'!
-	        (append (all-completions string eudc-responses pred)
-	                (all-completions string bbdb-responses pred)
+	        (append (mapcan (lambda (resp)
+                                  (all-completions string resp pred))
+                                database-responses)
 	                (when (and (bound-and-true-p ecomplete-database)
 	                           (fboundp 'ecomplete-completion-table))
                           (all-completions string

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 02 Dec 2022 02:51:01 +0000
Resent-Message-ID: <handler.59314.B59314.166994945819310 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.166994945819310
          (code B ref 59314); Fri, 02 Dec 2022 02:51:01 +0000
Received: (at 59314) by debbugs.gnu.org; 2 Dec 2022 02:50:58 +0000
Received: from localhost ([127.0.0.1]:43457 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p0w8g-00051O-1f
	for submit <at> debbugs.gnu.org; Thu, 01 Dec 2022 21:50:58 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:48874)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1p0w8a-00051I-Rc
 for 59314 <at> debbugs.gnu.org; Thu, 01 Dec 2022 21:50:56 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=xieO3t2UwnGPhyEaonKd6NbOV41e4u5Yn1Ecnly7+Bg=; b=fSdDThocpRgEL/kSJETlxFYT3u
 J/Yk19QHOx2KAHfzBmflCag+74S+s2NO9ZuGpguZahP6ktEeU8KkEfQ9I5UJuz7x7jjvcsCtiviKy
 rD3LTaHoemp9hvf2FrWru10Ty4uYePjqeMYIFBrVemN7Dwjw3AgrhoYoN/dzMe97WQCP65E7wQs5q
 Z52MsWSQvOkr4t128moQpEk7PzKBF4jzrxvm0ZqJRB0RgI3OTibVxyfx1rr0u1KMdx3ebaisa/Y3T
 EntYvOnYdbPcLM5/49BYpldAmCmCpWN7rn2kIQM1e/RUUokV+fawoGZg70OKFamHX4AxuVJFb5Hy8
 y7h8ij4w==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1p0w8T-0000NI-Jw; Thu, 01 Dec 2022 21:50:46 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <bcee30cef48498ff7beae30e5bef571a@HIDDEN> (Alexander
 Adolf's message of "Thu, 01 Dec 2022 16:48:20 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
Date: Thu, 01 Dec 2022 21:50:45 -0500
Message-ID: <m3o7smh62i.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Hi Alexander,

Alexander Adolf <alexander.adolf@HIDDEN> writes:

> Hello Eric,
>
> Eric Abrahamsen <eric@HIDDEN> writes:
>
>> [...]
>> In fact this whole message-mode thing is an impossible tangle, burritos
>> within burritos, and it would be great to get rid of it altogether.
>> [...]
>> So I need to clobber `message-expand-name' altogether.
>>
>> And EUDC having a function on `completion-at-point-functions' is
>> wrapping yet another burrito outside the existing burritos, because now
>> EUDC has a completion function both inside and outside message-mode's
>> own completion machinery.
>>
>> In fact the docstring of `eudc-capf-message-expand-name' makes it sound
>> like it thinks it's being called as part of `message-expand-name', but
>> now it isn't -- it's being called as part of the capf machinery. Or
>> rather, it could potentially be called in both places.
>>
>> I think a half-stick of dynamite is the only real solution.
>> [...]
>
> Perhaps we can be slightly more CONstructive that this. ;-)))
>
> I am preparing a patch to message.el which refactors
> `message-completion-alist` along the lines of this:

[...]

The eventual message.el refactoring could work.  But for now, for Emacs
29.1, let's focus on what's already in message.el, which is a lot!

In particular, I'm trying to make this recipe do something useful, with
a minimal patch to message.el.

1. Build Emacs master tip.

2. Install and configure BBDB:

mkdir -p test/.emacs.d
cat >test/.emacs.d/bbdb <<EOF
;; -*- mode: Emacs-Lisp; coding: utf-8; -*-
;;; file-format: 9
["Emacs" "ERT3" nil nil nil nil nil ("emacs-ert-test-3@HIDDEN") ((notes . " ")) "c8bd3a63-3a83-48a7-a95b-be118a923e00" "2022-11-19 16:36:04 +0000" "2022-11-19 16:36:04 +0000" nil]
["Emacs" "ERT4" nil nil nil nil nil ("emacs-ert-test-4@HIDDEN") ((notes . " ")) "5a93c3c5-9270-4e10-8b28-d28cfa2562cf" "2022-11-19 16:47:49 +0000" "2022-11-19 16:47:49 +0000" nil]
EOF
HOME=`pwd`/test emacs
M-x list-packages
(install BBDB from GNU ELPA)
exit Emacs

HOME=`pwd`/test emacs
C-: (eudc-set-server "localhost" 'bbdb t)
C-x m
emacs-ertTAB

When I try this, a bunch of stuff happens, then, uselessly, 3 spaces are
inserted after "emacs-ert".  During "bunch of stuff",
eudc-query-with-words is called and gets expansion results.  Why are
they not presented as possible completions?  What code is dropping them?

There is so much EUDC handling code in message.el and apparently none of
it works.  And most of this code predates the addition of
eudc-capf-complete, but its addition didn't fix this basic usage.
That's why the recommendation in the EUDC manual has always been to just
clobber "TAB" in message mode and assign eudc-expand-inline (now
eudc-expand-try-all) to it.

Before rewriting completion in message.el, before Emacs 29.1, can we
please make the logic that was there already actually work?  Please try
the above recipe; maybe I'm missing something.  If you can make it work,
let me know, or send a minimal patch to make it work.

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 06 Dec 2022 20:42:02 +0000
Resent-Message-ID: <handler.59314.B59314.167035928430355 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167035928430355
          (code B ref 59314); Tue, 06 Dec 2022 20:42:02 +0000
Received: (at 59314) by debbugs.gnu.org; 6 Dec 2022 20:41:24 +0000
Received: from localhost ([127.0.0.1]:45057 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p2eki-0007tW-01
	for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 15:41:24 -0500
Received: from smtprelay03.ispgateway.de ([80.67.18.15]:47931)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p2ekR-0007t2-IZ
 for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 15:41:18 -0500
Received: from [46.244.196.50] (helo=condition-alpha.com)
 by smtprelay03.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p2ekg-0000MZ-I8; Tue, 06 Dec 2022 21:41:18 +0100
Message-Id: <9cad334f4f42725f2e244c8c81528856@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <m3o7smh62i.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
Date: Tue, 06 Dec 2022 21:40:58 +0100
MIME-Version: 1.0
Content-Type: text/plain
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
X-Spam-Score: 0.0 (/)
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.0 (-)

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

> [...]
> The eventual message.el refactoring could work.  But for now, for Emacs
> 29.1, let's focus on what's already in message.el, which is a lot!

Fully agree.

> In particular, I'm trying to make this recipe do something useful, with
> a minimal patch to message.el.
> [...]

Looking at this now.

While I set this up: What's your value of the variable
`completion-styles` during this test? Does changing `completion-styles`
to '(substring partial-completion) for the test change the result and
outcome?


Cheers,

  --alexander




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 06 Dec 2022 20:53:01 +0000
Resent-Message-ID: <handler.59314.B59314.167035993630857 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167035993630857
          (code B ref 59314); Tue, 06 Dec 2022 20:53:01 +0000
Received: (at 59314) by debbugs.gnu.org; 6 Dec 2022 20:52:16 +0000
Received: from localhost ([127.0.0.1]:45102 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p2evH-00081d-Uv
	for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 15:52:16 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:35772)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1p2evF-00081W-3u
 for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 15:52:14 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=UvKJ/qKvVD+tVYBlfwbhwEjUqfljn+ex3KnG6LpJxQ8=; b=mxHq0vl01q2Gbk09/Gfk2wXG5i
 xY/p1lLibXVSDFV41ik94ZwIFjvf9AMqrx/1MabXrEfidsS+oJb1tE+tu2SBXN6Sv4tEpFor6OdxY
 WJSkFF38+FrN3s7mABGqlysLhBP9fbWuOL2paIkLN0OaZsn0BPA0upbw5n9euOsFEJohRFhPzWYVc
 5fHMkFoKkOxyRmvBgMAbHWT5sCvBGGynitYWprzaKJ431PqXLCrT9exp6Kozh9KbApQlGRe+7HJVP
 DtVjFAd5yscYx0hdw8Zz4UQjjXfcOhBlp1brZSMOtyXvNMVhEWRZfa2pIv6yNeA+j+aUqrQNEWrTy
 MacVyjjA==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1p2ev7-0002zH-Qq; Tue, 06 Dec 2022 15:52:06 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <9cad334f4f42725f2e244c8c81528856@HIDDEN> (Alexander
 Adolf's message of "Tue, 06 Dec 2022 21:40:58 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
Date: Tue, 06 Dec 2022 15:52:05 -0500
Message-ID: <m31qpccl1m.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Alexander Adolf <alexander.adolf@HIDDEN> writes:

> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>
>> [...]
>> The eventual message.el refactoring could work.  But for now, for Emacs
>> 29.1, let's focus on what's already in message.el, which is a lot!
>
> Fully agree.
>
>> In particular, I'm trying to make this recipe do something useful, with
>> a minimal patch to message.el.
>> [...]
>
> Looking at this now.

Great, thank you.

> While I set this up: What's your value of the variable
> `completion-styles` during this test?

I didn't change it, so it should be the default, which looks to be:
(basic partial-completion emacs22)

> Does changing `completion-styles` to '(substring partial-completion)
> for the test change the result and outcome?

I'll try this later today.

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 06 Dec 2022 23:30:02 +0000
Resent-Message-ID: <handler.59314.B59314.16703693763367 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16703693763367
          (code B ref 59314); Tue, 06 Dec 2022 23:30:02 +0000
Received: (at 59314) by debbugs.gnu.org; 6 Dec 2022 23:29:36 +0000
Received: from localhost ([127.0.0.1]:45780 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p2hNX-0000sF-Ny
	for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 18:29:36 -0500
Received: from smtprelay02.ispgateway.de ([80.67.18.14]:39196)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p2hNV-0000s9-Qt
 for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 18:29:34 -0500
Received: from [46.244.196.50] (helo=condition-alpha.com)
 by smtprelay02.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p2hNZ-0007en-Ro; Wed, 07 Dec 2022 00:29:38 +0100
Message-Id: <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <m31qpccl1m.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
Date: Wed, 07 Dec 2022 00:29:27 +0100
MIME-Version: 1.0
Content-Type: text/plain
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
X-Spam-Score: -0.0 (/)
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.0 (-)

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

>> [...]
>> Looking at this now.
>
> Great, thank you.
> [...]

With the default value of `completion-styles`, which is

     '(basic partial-completion emacs22)

I get no completion. But when setting it to

     '(substring partial-completion)

as I mentioned, I get this after calling `completion-at-point:`
----------------------------------------------------------------------
To:  <emacs-ert-test-
Subject: 
From: Alexander Adolf <alexanderadolf@HIDDEN>
--text follows this line--
----------------------------------------------------------------------
Which I guess is kind of the expected result, as it inserts the longest
common prefix of the two candidates' email addresses.

I get the same result with `message-tab` (or just pressing TAB), btw.

Actually, I think the leading "<" should not be there? After appending
either "3", or "4" further completion attempts (using either function)
do not provide any results. But when I remove the leading "<", and try
to complete again (with either "3" or "4" added), I get the correct
result (for instance "Emacs ERT4 <emacs-ert-test-4@HIDDEN>").

Thus, it seems there are two things to further look into :

- set `completion-styles` to '(substring partial-completion) during the
  test

- make sure the leading "<" is not inserted when there is a partial
  match


Looking forward to your thoughts,

  --alexander




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 07 Dec 2022 01:52:01 +0000
Resent-Message-ID: <handler.59314.B59314.16703778852564 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16703778852564
          (code B ref 59314); Wed, 07 Dec 2022 01:52:01 +0000
Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 01:51:25 +0000
Received: from localhost ([127.0.0.1]:46467 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p2jam-0000fI-KW
	for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 20:51:24 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:50804)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1p2jai-0000fB-KD
 for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 20:51:22 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=DGg9MJdcoeyzqFr2VHtvbznHclugapM+GM2OdK/hPtQ=; b=R/pJNZxdYtd8GuPnJIQkP10wbt
 yNz1Ox6YknBeZUK1K3WN70SM25yl5ztb1HqrIYCKgFJanObLfFxDzL6xEWPK3sxpgo3YQzxUzR3u+
 2RZb/1InZnQMrjmfpcybG3kzqLCg5XCGiiAdcE6Je+2r0zsf2xUf+gMRIRHrgzTkSWupb+exlkYU9
 1Acktv4V1NI7LjA9txAwDL578dtEE6nT3tlHSg/Z3unOPYiDhCxFdEuLMLNsZZf7vxOgDY+H/7fqg
 oEfzNABuCvFofWqPnxBlT1bZE4ZaWNdUWa+gA0icfKhd8tdgR3kYyIR7v/gsLS6f/nQXxdO9i7n0m
 HWaqAn4A==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1p2jab-00037k-FT; Tue, 06 Dec 2022 20:51:13 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN> (Alexander
 Adolf's message of "Wed, 07 Dec 2022 00:29:27 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
Date: Tue, 06 Dec 2022 20:51:13 -0500
Message-ID: <m3mt80asmm.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Alexander Adolf <alexander.adolf@HIDDEN> writes:

> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>
>>> [...]
>>> Looking at this now.
>>
>> Great, thank you.
>> [...]
>
> With the default value of `completion-styles`, which is
>
>      '(basic partial-completion emacs22)
>
> I get no completion. But when setting it to
>
>      '(substring partial-completion)
>
> as I mentioned, I get this after calling `completion-at-point:`
> ----------------------------------------------------------------------
> To:  <emacs-ert-test-
> Subject: 
> From: Alexander Adolf <alexanderadolf@HIDDEN>
> --text follows this line--
> ----------------------------------------------------------------------
> Which I guess is kind of the expected result, as it inserts the longest
> common prefix of the two candidates' email addresses.
>
> I get the same result with `message-tab` (or just pressing TAB), btw.
>
> Actually, I think the leading "<" should not be there? After appending
> either "3", or "4" further completion attempts (using either function)
> do not provide any results. But when I remove the leading "<", and try
> to complete again (with either "3" or "4" added), I get the correct
> result (for instance "Emacs ERT4 <emacs-ert-test-4@HIDDEN>").
>
> Thus, it seems there are two things to further look into :
>
> - set `completion-styles` to '(substring partial-completion) during the
>   test
>
> - make sure the leading "<" is not inserted when there is a partial
>   match

Confirmed, adding substring to completion-styles, anywhere in the list, e.g.:

(setq completion-styles '(basic substring partial-completion emacs22))

results in the behaviour you describe.  We need to make this work with
the default completion-styles setting though.

I wonder where the leading " <" comes from (a space character is also
inserted, before the '<').

Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 07 Dec 2022 03:15:02 +0000
Resent-Message-ID: <handler.59314.B59314.167038286114204 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167038286114204
          (code B ref 59314); Wed, 07 Dec 2022 03:15:02 +0000
Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 03:14:21 +0000
Received: from localhost ([127.0.0.1]:46834 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p2kt3-0003h2-8Y
	for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 22:14:21 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:55896)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1p2ksz-0003gv-Fl
 for 59314 <at> debbugs.gnu.org; Tue, 06 Dec 2022 22:14:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=0Hvsfg+QdC2lqfk45YiZyk8jUU++eHcTSMmlL8rPNd8=; b=lxgnNbOhQE60uaq1TrhXQoeej/
 SpJTLBaqMxiRUUqU46lVFI48402F5LpaOo7UvcEaFMLk2VeBYqShJenIS5NDabheKWzZhkfH5Wnls
 Fy+CBwz26dKWj8ItHkbNjRP1/BjxTxwtcIh+DDrfjjIDAvRxTtc2BcRkUTJEgzkw9BqwqaYLYyp+Q
 QsOXa4LCLHp+eVhLSJ2PSGHubvtqOXi1hteXEQLKGiuXB2Km0mCSZmBgcFwGmo0VSo0K7viBayHI6
 80O8BdUExKh63IXhupDYZpGvqHTJ4pPWQsnAqryURKwC7cv92IYABRVjzmzLksOZ1DB0IWP3uGBmS
 lgjht6Ug==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1p2kss-00039e-UH; Tue, 06 Dec 2022 22:14:11 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <m3mt80asmm.fsf@HIDDEN> (Thomas Fitzsimmons's message of
 "Tue, 06 Dec 2022 20:51:13 -0500")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN>
Date: Tue, 06 Dec 2022 22:14:10 -0500
Message-ID: <m3edtbc3ct.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

> Alexander Adolf <alexander.adolf@HIDDEN> writes:
>
>> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>>
>>>> [...]
>>>> Looking at this now.
>>>
>>> Great, thank you.
>>> [...]
>>
>> With the default value of `completion-styles`, which is
>>
>>      '(basic partial-completion emacs22)
>>
>> I get no completion. But when setting it to
>>
>>      '(substring partial-completion)
>>
>> as I mentioned, I get this after calling `completion-at-point:`
>> ----------------------------------------------------------------------
>> To:  <emacs-ert-test-
>> Subject: 
>> From: Alexander Adolf <alexanderadolf@HIDDEN>
>> --text follows this line--
>> ----------------------------------------------------------------------
>> Which I guess is kind of the expected result, as it inserts the longest
>> common prefix of the two candidates' email addresses.
>>
>> I get the same result with `message-tab` (or just pressing TAB), btw.
>>
>> Actually, I think the leading "<" should not be there? After appending
>> either "3", or "4" further completion attempts (using either function)
>> do not provide any results. But when I remove the leading "<", and try
>> to complete again (with either "3" or "4" added), I get the correct
>> result (for instance "Emacs ERT4 <emacs-ert-test-4@HIDDEN>").
>>
>> Thus, it seems there are two things to further look into :
>>
>> - set `completion-styles` to '(substring partial-completion) during the
>>   test
>>
>> - make sure the leading "<" is not inserted when there is a partial
>>   match
>
> Confirmed, adding substring to completion-styles, anywhere in the list, e.g.:
>
> (setq completion-styles '(basic substring partial-completion emacs22))
>
> results in the behaviour you describe.  We need to make this work with
> the default completion-styles setting though.
>
> I wonder where the leading " <" comes from (a space character is also
> inserted, before the '<').

If I remove this line from message.el:

(add-hook 'completion-at-point-functions #'eudc-capf-complete -1 t)

and rebuild Emacs, then my recipe works, via:

message-tab -...-> message-expand-name -> eudc-expand-inline

The EUDC multi-selector UI is invoked allowing me to choose between
emacs-ert-test-3 and emacs-ert-test-4, and the full name and email
address is inserted correctly.  This is with completion-styles left at
its default value.

So that's one code path validated, phew.

The next one I'd like to get working is a similar recipe (again, with
eudc-capf-complete not present in message's
completion-at-point-functions):

HOME=`pwd`/test emacs
C-: (setq message-expand-name-standard-ui t)
C-: (eudc-set-server "localhost" 'bbdb t)
C-x m
emacs-ertTAB

Then I get " <emacs-ert-test-", the same as your result, in the absence
of eudc-capf-complete.  This seems to be caused by misinterpreting the
results of eudc-query-with-words.  What is 'message--name-table'
supposed to return, what is it returning, and why is its return value
producing " <..." in the output?  I could use your input on how
completion-at-point is supposed to work here.

Thank you,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 07 Dec 2022 22:11:02 +0000
Resent-Message-ID: <handler.59314.B59314.167045101415090 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167045101415090
          (code B ref 59314); Wed, 07 Dec 2022 22:11:02 +0000
Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 22:10:14 +0000
Received: from localhost ([127.0.0.1]:52487 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p32cI-0003vK-18
	for submit <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:10:14 -0500
Received: from smtprelay04.ispgateway.de ([80.67.18.16]:44788)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p32cE-0003vC-5k
 for 59314 <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:10:13 -0500
Received: from [46.244.206.168] (helo=condition-alpha.com)
 by smtprelay04.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p32cT-0001jw-V5; Wed, 07 Dec 2022 23:10:26 +0100
Message-Id: <e0a4caa74f558ba6574084317123fb8f@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <m3edtbc3ct.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
Date: Wed, 07 Dec 2022 23:10:06 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
X-Spam-Score: -0.0 (/)
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.0 (-)

--=-=-=
Content-Type: text/plain

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

> [...]
> If I remove this line from message.el:
>
> (add-hook 'completion-at-point-functions #'eudc-capf-complete -1 t)
>
> and rebuild Emacs, then my recipe works, via:
>
> message-tab -...-> message-expand-name -> eudc-expand-inline
>
> The EUDC multi-selector UI is invoked allowing me to choose between
> emacs-ert-test-3 and emacs-ert-test-4, and the full name and email
> address is inserted correctly.  This is with completion-styles left at
> its default value.
>
> So that's one code path validated, phew.
> [...]

There are two ends to this, I think.

For one, you are no longer adding `eudc-capf-complete` to
`completion-at-point-functions` in message mode. This seems fine given
that we are not there yet to make `eudc-capf-complete` the default thing
to happen in 29.

OTOH, `eudc-capf-complete` is now just sitting there for people to use
it. The docstring, and the NEWS entry advertise it for adding to
`completion-at-point-functions`. If & when someone does that, it won't
work as expected, as you & I just figured, because `completion-styles`
has a default value aimed at single-word replacements (such as for
programming language keywords, or prose words from a dictionary), but
not for more complex, multi-word replacements (such as email addresses).
The `substring` entry is needed for this use-case.

To make this work, I am hence attaching a patch (relative to the tip of
master as of this writing), which sets `completion-style` from
`eudc-capf-complete`. The modification is done when the user has not
modified its value (assuming that a sensible value will have been set by
the user). If you need a patch on top of the 29 branch, please don't
hesitate to drop me a note.


Hoping to have helped, and looking forward to your thoughts,

  --alexander


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline;
 filename=0001-Set-completion-style-for-email-addresses-when-EUDC-c.patch

From a7c5eed95321c77d4e5069a508b4b16094f4a68d Mon Sep 17 00:00:00 2001
From: Alexander Adolf <alexander.adolf@HIDDEN>
Date: Wed, 7 Dec 2022 23:07:11 +0100
Subject: [PATCH] Set completion-style for email addresses when EUDC
 contributes to CAPF

* lisp/net/eudc-capf.el (eudc-capf-complete): when the user has not
modified 'completion-styles', set it to a value better suited for
email address completion than the default setting (bug#59314)
---
 lisp/net/eudc-capf.el | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lisp/net/eudc-capf.el b/lisp/net/eudc-capf.el
index e2bbd5b28b..5bd2c92441 100644
--- a/lisp/net/eudc-capf.el
+++ b/lisp/net/eudc-capf.el
@@ -104,7 +104,16 @@ eudc-capf-complete
   (if (and (seq-some #'derived-mode-p eudc-capf-modes)
            (let ((mail-abbrev-mode-regexp message-email-recipient-header-regexp))
              (mail-abbrev-in-expansion-header-p)))
-      (eudc-capf-message-expand-name)))
+      (progn
+        ;; FIXME: `completion-styles' is set to a value which seems
+        ;; better suited for email address completion if and when it
+        ;; has not been modified from it's default value (which is not
+        ;; well suited for this purpose).  This is needed until
+        ;; `message.el' will be updated to use completion categories.
+        (when (equal completion-styles
+                     (eval (car (get 'completion-styles 'standard-value))))
+          (setq-local completion-styles '(substring partial-completion)))
+        (eudc-capf-message-expand-name))))
 
 ;;;###autoload
 (defun eudc-capf-message-expand-name ()
-- 
2.38.1


--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 07 Dec 2022 22:21:02 +0000
Resent-Message-ID: <handler.59314.B59314.167045162615370 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167045162615370
          (code B ref 59314); Wed, 07 Dec 2022 22:21:02 +0000
Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 22:20:26 +0000
Received: from localhost ([127.0.0.1]:52528 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p32mA-0003zq-BT
	for submit <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:20:26 -0500
Received: from smtprelay05.ispgateway.de ([80.67.18.28]:21871)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p32m7-0003zk-Pt
 for 59314 <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:20:24 -0500
Received: from [46.244.206.168] (helo=condition-alpha.com)
 by smtprelay05.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p32m8-0005E8-Dx; Wed, 07 Dec 2022 23:20:30 +0100
Message-Id: <a60115b2e16e6d90144f0f27914ff32a@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <m3edtbc3ct.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
Date: Wed, 07 Dec 2022 23:20:13 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
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>

--=-=-=
Content-Type: text/plain

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

> [...]
> The next one I'd like to get working is a similar recipe (again, with
> eudc-capf-complete not present in message's
> completion-at-point-functions):
>
> HOME=`pwd`/test emacs
> C-: (setq message-expand-name-standard-ui t)
> C-: (eudc-set-server "localhost" 'bbdb t)
> C-x m
> emacs-ertTAB
>
> Then I get " <emacs-ert-test-", the same as your result, in the absence
> of eudc-capf-complete.  This seems to be caused by misinterpreting the
> results of eudc-query-with-words.  What is 'message--name-table'
> supposed to return, what is it returning, and why is its return value
> producing " <..." in the output?  I could use your input on how
> completion-at-point is supposed to work here.

I'll look into this tomorrow, and will let you know my findings.

FWIW, I'm attaching a diagram of what I _think_ `completion-at-point`
works like in general. Perhaps it will help understand how message-mode
does completion?

As you see in the diagram (and we learnt), `completion-styles` can cause
some head-scratching, since it is used to filter any candidates lists
returned by completion functions. See also [1].

[1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Styles.html


Cheers,

  --alexander


--=-=-=
Content-Type: image/png
Content-Disposition: attachment; filename="Emacs CAPF.png"
Content-Transfer-Encoding: base64

iVBORw0KGgoAAAANSUhEUgAACQUAAAWiCAIAAAAvYYHGAAAAAXNSR0IArs4c6QAAAJBlWElmTU0A
KgAAAAgABgEGAAMAAAABAAIAAAESAAMAAAABAAEAAAEaAAUAAAABAAAAVgEbAAUAAAABAAAAXgEo
AAMAAAABAAIAAIdpAAQAAAABAAAAZgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACg
AgAEAAAAAQAACQWgAwAEAAAAAQAABaIAAAAArjkGDgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAgtp
VFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0
YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNj
cmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFk
b2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZm
OlJlc29sdXRpb25Vbml0PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVu
dGF0aW9uPgogICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj41PC90aWZmOkNvbXByZXNzaW9uPgog
ICAgICAgICA8dGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPjI8L3RpZmY6UGhvdG9tZXRy
aWNJbnRlcnByZXRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4K
PC94OnhtcG1ldGE+CtQK6igAAEAASURBVHgB7N0HfBTFAsdxk0AKoRN6h9BBUIqAgCAoWCgCFhQr
dlGxi4IgRYoNFfUpKsJDEJGiUpWuQBDpICEU6b23EEh5/9zAvvMuOS6QXK789r3Pubc7Ozvz3Yvg
/TMzQSkpKVexIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIOCnAsF+2i+6hQACCCCAAAII
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
elo5utID93W92Aulhmk/L//or8Pnweeelwfab/8zxT4CCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
Aj4q4Ok8zBZDmWxJ6VRq3KLv9FOSEs+MGZE/f4EcOXOmOurQxS1HSI78+fIf+25E7oEfXRWis7YK
Uv+RGqopwNizd7fW+nIIwy5efVXePHmPHj+6b9+e4sVLmvLJycm2sCf11nv27rnktaq/RPESpqnJ
yWaEWWobrEpMY6322Nfvc+Vt9sJPpdKr1f6PPv20Vs0ay1esPHjoYJVKlZs3azb555/27d9fonjx
+++9r3BU1O49e3+cPGnXrl2qoVJ0dJe7u+SOzHXqdPykKZM3xm1MTEpSzNa5Y6e8efIsWrJ49ry5
x48fz58v300tb2rYoL7tdv7pqc+nT38ebAGh9cPEDgIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
virg6TzMOJnhRwpCtKMtacum4JTk8LAw+yQsdd92OjwiIvjkCZUJqVTNlLdFUKnXKrc5ffpURFi4
C36dPXX6lC0MSy1vSpq37lyrMrrElLfuYrt16mHn9tjX73Pl1eCDhw79vnjRhRkiU64qV7Zs6VKl
Dh06OHf+/Hs63xUamvOrb0du3BTXoW07hWGjvxuzYOHCzh07jhk3LjIy19NPPKXF2L4e9e3KVSub
NL5eZ48eO3r/ffclJSVPnDL5x0kTO9/RccKkibfdckutGjVXrFz5w8QJtWpUj4yM9FdPh8+bz30e
rPZbLWcHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAFfFPB0HqZv2E0mZYaemBFISVviNDmiGSKU
GoOZzWRN2k9J0dnkral5mCmvIjqZnJxa7uzZs7lz5TFXpPmqa4+fPK5aTHnbkB2Tpbl7rXVT0zTn
9tu3x75+3yufctWxY0dXrlplSYaFhZUsUVJvb7qxZY3q1fXwSpYoUahgoUbXXafeVa5U+dTp0/K5
oWnTihUqaDTe3n17c+bMefLUqaNHj8Ztinui22MaGaaS93e5VyuTBdu2PXv3Vo6ObtmiRXTFisEh
wbpc9dt/HvzH09Yvn/786NGYj7H1kWAHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAGfE/B0HmYB
mVjMDAyyki8zIOzCF/AmFdEFttOpOVrqBImpJ83rxTNWla52zHf6piZTTrW5usDpnK28bTib7ZS5
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
gAACCCCAAAIIIICAPwiQh/nDU6QPCCDgMYHGjRuvXr06JCTk6quvXrp0qcfuy40QQAABBBBAAAEE
EEAAAQQQQAABBBBAAAEELluAPOyy6bgQAQQCVEADxUaMGKGxYm3btn377beTkpICFIJuI4AAAggg
gAACCCCAAAIIIIAAAggggAACPiJAHuYjD4pmIoCAlwm0b99+zZo1ixYtatas2c6dO72sdTQHAQQQ
QAABBBBAAAEEEEAAAQQQQAABBBBA4P8C5GH/t2APAQQQyJBAsWLFfv31144dO9arV2/69OkZupbC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAh4TIA/zGDU3QgAB/xR46aWXJk+e/MQTT7z22muJiYn+
2Ul6hQACCCCAAAIIIIAAAggggAACCCCAAAII+LIAeZgvPz3ajgAC3iHQuHHjVatWrV27tnnz5nv2
7PGORtEKBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgQsC5GF8FBBAAIFMEChUqNC0adPatWtXv379
xYsXZ0KNVIEAAggggAACCCCAAAIIIIAAAggggAACCCCQSQLkYZkESTUIIBDwAkFBQa+++urXX3/d
oUOHL774IuA9AEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBLxFgDzMW54E7UAAAf8QaNOmzZIlSz7+
+GOtK5aQkOAfnaIXCCCAAAIIIIAAAggggAACCCCAAAIIIICATwuQh/n046PxCCDgjQIVK1b8888/
d+zYcfPNNx89etQbm0ibEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBQBIgDwukp01fEUDAUwKRkZET
JkzQWmKNGzfevn27p27LfRBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTSECAPSwOFQwgggECmCLz3
3nvPPPOMIrGVK1dmSoVUggACCCCAAAIIIIAAAggggAACCCCAAAIIIHAZAuRhl4HGJQgggIC7At27
d//00081ceLMmTPdvYZyCCCAAAIIIIAAAggggAACCCCAAAIIIIAAApkqQB6WqZxUhgACCDgJdOjQ
4ZdffnnooYe+/vprp5McQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEMhygRxZfgdugAACCAS8QMOG
Df/444/WrVtrLbF+/foFvAcACCCAAAIIIIAAAggggAACCCCAAAIIIICARwUYH+ZRbm6GAAIBKxAd
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
0UfHb0pxRXjDhg2OyHz11VcvuOCC+E0EyR06dKhXr16chujbt++zzz6LcO4RssplfxTyk4HPJZdc
cuyxx2ZfWuQSYnhS1q1bh0epDV2mTBnAJ/tX5JoEtty+ffttt922atWq4447LvBolmrCiJo0adLE
iRMHDRqUJYFBG4cZxdq//fbb3bt355ph4/p86KGHrL5Pnz49e/a0+vbt23fu3NnqP//88zfeeMPq
27Rp48jdb7755oMPPrD6li1btm3b1toPGzaMLlYPwdCqVSurJ9/hwIEDrZ7ckC1atLD6H374geSI
Vt+gQQMOWf2MGTNIOGf1tWrVql+/vtXPnTuXQ1ZftWrVs846y+qXLFkyf/586nlrnHHGGRUrVrT6
1atX80ix9qVKleKqsPr169f/9ttvVk9+OJcibtu2bVu2bLH6IhmbtSelJZvVk1SSFJJWD1OC51A2
LzMTpd8cRAAm7LXXXuOOuO66626++eZKlSrloDIaWggIASEgBISA+DBdA0JACAgBISAEhEAuReCE
S5pUfPGR9YNHb5s6a+vkmfxb/OiLhx9XpFjThie2bHbiVc1zKS4Z0965eDlkWKHKZ8CBndjy4sJV
KuRmNNJv7s45LNn8w5555pkzzzwTu202MV++fPlpp50GA0GatGyKSkD3smXL7tixg18syNgKH3nk
kUcffTRO42YV4eeee44MWzB2kehzzDHHPP/883/88Qfme5iDSLpE3WbEiBGzZ8/+4osvIpSQ1UuC
ixBzPTzl+++/H+EQYZrt3bv36quv5iy/++67t956a5iWkRw6++yzq1WrFqFiMTwp8+bN48wWKFAg
b968f/75JyTWk08+SeK9SHQO2gZM7r//frK4wSEFbRB5ZRhRd999d6NGjVAegidygUFbhhnF2oMP
pn9YHDZvKFoqa9eubfVFixZ1wsn6Vrp0aasvWfL/J+aEiIIWsvpTTz3VtafcrFkzq+eJ4eqLFSsG
R2X1XLeuHmIpf/78Vs+vq//77783btxo9V75VMKHWT0n2vFhv/zyy5dffkk97BT+fI4PozGXtLUn
aaLj8+DnOK1WDyZdunSxoQcMGADNbPVQoY4v/Oijjx577DGrv+uuu5566t+1SmwI4QqhnnLXrl15
HGVUHwLdznPS+DPIxccff9zq33nnnR49elg9ytDF6uEje/XqZfUsuWAIq+cBAoVp9a1bt77llv+6
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
wldeeaWfhq5Z/D777OPHJw1ngGX+/Pk9e/Y88MADGzVqRI+SVkHXrr322qTJUknwyy+/nHnmmT/+
+GMqiZVGBAqdgPSwQh9BtV8EREAEREAEREAE8prAsmXL3n77bb4JWcD4+++/53Vby0zj1q1bx2e2
9LAyM+DqqAiIgAiIgAiUcgK33nprvXr1Dj300BT7efvtt2+77bYpJt5mm2369+9//fXX8zaLcpBi
rphkEydOPPvss08++WTek2OS+ZcQfurWrfvOO++8++679HT16tXuKjLGjBkzFixY4GIsgKxywQUX
BCKze8or5SmnnEJfnn322dRLHjNmzGWXXdagQYPzzz9/1113TT1jOOXYsWMPOeSQv/7666abbrrk
kkv8BPPmzQNLiuPVpUsXhhg9dfHixX4h3FHE83f27Nl+fHw4MyxXX331P//5z7Zt25533nk4No+v
gqvdunUbN27cxx9/nDRl0gQMYqVKldhDLmlKJRCBUkBAelgpGER1QQREQAREQAREQASyRgA3eqyC
5BvsxhtvDBfaokULu8TnJYHIY+edd7aMfE/ycVWlSpWDDz74mGOOodg6deqwyjJcrGKKmQBrilet
WlW+fPlirlfViYAIiIAIiIAIiEDWCfDOOWLECCSW1EtGQcHQKsX0uJhu3bo19kwppk+aDEGoevXq
tOGll15KmtgSsLyMt3SEGTY5Qw/zxbz33nuPNNj3BIqig1QRiMzuKQ4qV65cWbNmTXSp1Eum12h1
SJKdO3cuoh4GDZigY73++uuHH3643wawAPmII47wIxOF+VphiLfbbrtAAr5riEeJDMTHn2aAhcFl
+SCSHqoYWPjIiq+Cq4cddth+++0HxqQpkybYZJNNLr744gceeMDXWZPmUgIRKFAC0sMKdODUbBEQ
AREQAREQARHICYFy5co99thjfFWyzBb3I34djz766KRJk/bcc8/rrrvO4qtVq3Za6DjhhBO4yrcx
swasFT3yyCP5uOJTrWXLlnibSXcBqd8AhbNFgG9d/CWyDjRbBaocERABERABERABESgpAlhNmVbk
NwApqF+/fk2bNsUgvlatWrfccotdHTRoUP369e+//34shwhwnH766VyaPn06YWQnV8gVV1yBFuJO
IwPUMmDAgL333nuLLbbA4AnDr8hkfiQ2+mzXhIM+vPmlIiMNGzasefPmF110ERrJ8ccfz3v1okWL
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
Llq0qGfPnuZMz79U6sPsRIWlUePGjdPVAks9mbztYFpab3wv9EUQz0dXSxkB+QQrZQOq7oiACGSB
gFzJZQFiDorQuGQRqmBmAHPshn9/YLf+a1EGeQs6y/fff28bGwScxnDKdguRXWNXgxUrVnBp4cKF
ffv2feKJJ2x/BWLY3YFdxPr377/ttttG5lVk8RBgbwM2DGcnici9MYqnDapFBERABERABESgdBNY
smQJjrIxW+fABTcWVAhj7ObFBk68RrL7VOnuvnonAiIgAiKQhwSkh+XhoKhJIiACJUxAUkEJD0CC
6jUuCcBkEi2YGVArs3pYBqwCWX799Vc2VGBCZIcddth1113Lly8fSKDT4ieAK8sjjjiCrQKuuuqq
4q9dNYqACIiACIiACJQpAosXL2br2bfWH7yE0HccaLdu3bpMQVBnRUAEREAE8oGA/CXmwyioDSIg
AiIgAiIgAiJQaglgE8ZCYI5S28MC7FiFChXYZuOXX34pwLarySIgAiIgAiIgAvlOAGuwiRMn4k7g
xx9/ZEeucuXK1a9fH/swNvTafvvtH3roIYlh+T6Eap8IiIAIlFICG5XSfqlbIiACIiACIiACIiAC
IiAC0QQ22WQTNn5fs2ZN9GXFioAIiIAIiIAIiEDKBH766afJkydPm/bf3XYfffRR9qPCN8AZZ5zx
6aefsmVpq1athg8f3qRJE/xpt2nTJuWylVAEREAEREAEsklA9mHZpKmyREAEREAEREAEREAERCD/
CWy66absab927dr8b6paKAIiIAIiIAIikLcExo0b16VLFzaOrVevXs+ePV07e/To4cJ4SWzZsmWV
KlXwlLj77ru7eAVEQAREQAREoPgJSA8rfuaqUQREQAREQAREQAREQARKkgD2YTgs+v3330uyEapb
BERABERABESgQAigeD311FMfffTRxx9/vN9++w0dOtQajgtELMN23nln9ieO7Ao7h7Vv337AgAGn
nHJKZAJFioAIiIAIiEBxEpAeVpy0VZcIiIAIiIAIiIAIiIAIlDyBjTfemJ081q1bl5WmYGr2119/
ZaUoFSICZY0AM8j//ve/y1qv1V8REIF8JsAz/csvv0T3+vnnn88991xr6qxZs9gMDCMw/B82atTI
tX/XXXd14cgA7xufffYZG5dGXlWkCIiACIiACBQzAelhxQxc1YmACIiACIiACBQkgertT9ggwbrX
guyPGl22CTA5xWzXH3/8kRUMFMWRlaJUiAiUNQKJLCrKGgf1VwREoAQJrFq1yulVKGF169atXLky
f/1dvg5Zf2TQyKpVq2aQS1lEQAREQAREIEcEpIflCKyKFQEREAEREAERKFUEGj49qFT1R50p2wTQ
wzbbbLNs6WFlm6V6LwIiIAIiIAKFR4B3gD59+mAExrHlllvOmTPH+lCtWrXvvvuuUqVKhdcltVgE
REAEREAEUiAgPSwFSEoiAiIgAiIgAiIgAiIgAqWIACYpHNLDStGQqisiIAIiIAIiEE1g2bJlH3zw
wSeffIL0NWzYMLwck449RDfddNNOnTphB+b7PEQbiy5FsSIgAiIgAiJQKghIDysVw6hOiIAIiIAI
iIAIiIAIiEDKBGzHrz///DPlHEooAiIgAiIgAiJQAATWrFnDXl977LFHxYoVrblNmzbdcccd99tv
P1wemhhG/BZbbIF9WAH0R00UAREQAREQgawSkB6WVZwqTAREQAREQAREQAREQATyngDTYZtssons
w/J+oNRAERABERABEUiVwDXXXDN69OhFixYhhr322mtOD5s3b16qRSidCIiACIiACJR2AtLDSvsI
q38iIAIiIAIiIAIiIAIi8L8EcJZIxL///e//jc7O2bp161IsefPNN89OlSpFBERABERABMoMgY8+
+mjSpEn4P+S45557mjVrZl1v2bLlOeecs/vuu7NLaJmBoY6KgAiIgAiIQHoE9IxMj5dSi4AIiIAI
iIAIiIAIiEChE1i/fdiGKapW6XZ2//33r1evXtJcTOd9+umnSZMpgQiIgAiIgAiUWQI//fQTz0qO
+vXr4/bQODz//PPEH3zwwZ07d27UqJGDgx7mwgqIgAiIgAiIgAhEEpAeFolFkSIgAiIgAiIgAiLw
PwSmNj+Z80OmPPs/sToRgcIkYPZhOdo/jJXpI0eOXLFixQ8//IDLpgChzz//vEqVKltvvXXbtm0D
l4r/dPjw4bfddhv14kCS3Vay0gAKnD9//kMPPZSV0lRISRFgWrlTp06nnXZaZAOOP/74o4466rLL
Lou8qkgREAERyIwAW3/9/PPPVatWtex9+/a966679l1/OCMwLhGfWfnKJQIiIAIiIAIisJEQiIAI
iIAIiIAIiIAIJCWw/M1p/EuaTAlEoCAIoIehAOVIDzMCb7/99p577vnxxx/7QNCciHzzzTf9yBIM
H3roof379+fv7NmzU2/Gl19+CT22ZonMwtVsSWuR5WcQGd/gDAosC1nee++9b7/9NlFP8VH2zTff
JLqqeBEQARFIi8Bbb73Vpk2bOnXqbLvttuPGjXN5u3btunLlynfeeYc1FnvvvbeLV0AEREAEREAE
RCBjArIPyxidMoqACIiACIiACIiACIhAARPIkb9EI3L00UdjBzZixIg77rjDMcJurHLlyq1atXIx
JRvYef2xcOHCtJrx1/ojEb2HH344rdKKIXF8g4uhAYVYBb7ICrHZarMIiEA+E/jll18mTJjAmgn8
H2L01adPH2stayzOPPNMYpDENt54Y9cF5DEXVkAEREAEREAERCArBGQflhWMKkQEREAEREAEREAE
REAECoxAIkUnK90oV67c6aef/tRTT7laUGWefPJJHNBtsskmqVSxdu3a6667Du+Lm222GX4X8W1o
ufBGiKK2zTbbVK9e/cILL1y1ahXxWGuxaRmWXswe3nzzzbvtthvbmM2YMYNLuG1k25Ubb7yRqcaK
FSuecMIJS5cuTdoA1uNTGulr165NXrOlmzt3LkXhK4/sF198MWEOZyd05513Nll/nHPOOX75kQ0m
wQUXXHD55Zfzd/vtt2/evHkigzO/KMLz5s078cQT0RorVKhw2GGHzZkzxyLpF5Gbb7553bp1hw4d
arniGxzZRzK+//77DRs2LF++POX36NHDebZct27dlVdeWatWrUqVKnEJGymrxf4ecsghQ4YMufTS
SxkXRuH++++fPn06fLAUdMmuuOKK1q1bu9PIQGQt3EUHHXTQgAEDXJYnnniCIWZymZgff/zxrLPO
ol78cJ500knfffedS8bNcOqppyLENmjQYIsttsDJobsUbrBdQsq1cUTNdYkJ3HvvvTvttNN2222H
m0TftpIbm4ZhukH51DJx4kSX6+WXX8bmA1wAOeaYY/CE5i4pIAIiULoJ8CuBf+AXXnjh6aefdj2d
OnUqP0e///57u3bt+PF38QceeCAxPOl8McxdVUAEREAEREAERCCLBKSHZRGmihIBERABERABERAB
ERCBAiCAv0QO5vFz2lYkisWLF0+ZMsVqYR5wwYIFZ599doqVslj+7rvvRmBAVKMo87LIDCNyBb7s
rrrqKpSGxx57rEuXLhTIdmX4ZjzyyCOZT+zdu/f5559P726//XYu/fbbbx999BG7raBvIedMnjwZ
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
4yh7/VaPRUAEREAEckVg1apVjz/+OLoXR4UKFUaNGmU14acX0eu4447j78477+yq33X94U4VEAER
EAEREAEREIGcEpAellO8KlwEREAEREAEREAEREAE8pGAiWG4TMzHxqlNIiACIiAC+U0Ad7sTJ06c
N28euhda19ChQ629S5cu/fTTT3fbbbcjjzyybt26rhPIYBzuVAEREAEREAEREAERKBEC0sNKBLsq
FQEREAEREAEREAEREIESJoAYJj2shMdA1YuACIhA3hP47LPP0L04vv/++9tuu83a++OPP9511111
6tRB+qpXr57rBLZfgwcPdqcKiIAIiIAIiIAIiEBeEZAellfDocaIgAiIgAiIgAiIgAiIQM4JOOMw
6WE5Z60KREAERKBACKxcuRLR68v1x7XXXmut/u2331q3bo3uxbHvvvu6rrC/12uvveZOFRABERAB
ERABERCBgiAgPawghkmNFIGySGDhwoUbbrhhjRo1Ntpoo7LY//zoM/DzamsZbon8APN3K2iM5pHz
ZzjUEhEQgQwI/G0dJn+JGYBTFhEQAREocAKLFi2av/5o3779lltuab3BnyEqV2BDr80222zu3LkF
3l01XwREQAREQAREQAT+Q0B6mG4FERCBvCMwZMiQnj17sj7x999/r1279sCBA9l4ObKV1atXf/rp
p5ElTj75ZNx3RKZJN5IPwrfffrt+/fqRGdHnRo4cedhhh0VedZF33313u3btdtppJxdToAEzIIhs
PNjzSiqLbGQRI+P7yNUilq/sIiACIlCCBPgRy5YeRlEcJdgXVS0ChUtA/3cKd+wKouV8UpnuxffL
NttsY23eY489Vq1atcv6Az3MdeS7775zYQVEQAREQAREQAREoFQSkB5WKodVnRKBAibw4IMP3njj
jQ8//PCxxx77888/33rrrW3btv3444/5bAv3yibyNt544ywKM/FF0by999473JJADM70DzjggFKg
hwX6pVMREAEREIHSRIDHaPxTL8XOysgsRVBKJgIiIAI5IsA6wgULFnz11Vds5YWNl9VyxBFHTJs2
zXSvQw45xFXNtxVWX+5UAREQAREQAREQAREoOwTkhazsjLV6KgIFQIBZOSzD+vTp06ZNm0033bRy
5cp33nlnjx49zPaL3ZurVau2+eab77fffp988kl8f3BnX7duXVZBUhS7PZP4X//6F9+HW2yxRdWq
VQcNGmTZx44dS2nly5dv3LjxzJkzLXLo0KFVqlSpVKlS9+7dA7UgdPGp+cYbb5x00kldu3bdfvvt
d9xxx1deecVPRi1Lly4988wzqYWURx11lF394osvqIvw5ZdfThU0jOO6666jv82bN6cNhx56aLas
3Pz2KCwCIiACIiACkQSyZR8WWbgiRUAEREAEsk7gzz///PrrrydPnvzNN9+4wk877TQ+JfjouP32
2zH8cvHPPffc6tWr+W4aM2YMH1YuXmKYQ6GACIiACIiACIhAWSMgPaysjbj6KwJ5TWDx4sXYhLVo
0cK1sly5cshFzZo1mz59OsLYLbfc8u6772677bYDBgxwacIBJKsTTzzx/PPPHz9+PE5Czj77bNKc
ccYZeEHEF2Lnzp1RodDe2Csa4zOOCRMmIJJ16NDBipo0adKoUaOQ36hl1qxZfvlsMc1XJd+Zo0eP
JvDSSy81adLkqquu8tPgLJEv0i5duvBRSkrWadrVX3/91Zzv8/l6zTXX4B7n4osv/vbbb6norLPO
Qpljy7TBgwf7RSksAiKQPwSqtz+heofW+dMetUQEik6AeVWOopejEkRABERABLJL4I8//kD3mjJl
ivuUoHy+HVjbx5dR7969ly9f7mq8995716xZg19EvmKwBnPxzkGii1FABERABERABERABMo4AflL
LOM3gLovAvlFYNmyZTQIw6xws7beeusnnngCTYs06GGWMpzMYtjia//992dTMU5vuukms7u69tpr
Tz311AoVKrz33nuIZL/99ttTTz3VoEGDvn37koxNy4YNG8aXJGGcNOJhnwOlig/RffbZx4r1/7LN
GOZfGKthQ+YLeKThlKtNmzatU6fOnDlz/FwuvNtuu73wwguc0lQEufPOO48wAf+L1yVWQAREIB8I
NHz6P3al+dAYtUEEikjg7/2+srd/WBEbo+wiIAIiUGYJrF27liVxLObD58See+5pHK6++ur777+f
5XpspXzHHXfsvPPOFo9XeeI32WSTAC48WwRidCoCIiACIiACIiACIhBJQPZhkVgUKQIiUDIEatas
ScWLFi3yq8dIC18fXHrnnXf4UERJQtDyE4TDrI586623aqw/8JWPKRi7Q7OaEqUKLQ2fh5YFrcsc
GHKKJ0ZcNZKGsPvmRNZKtHDePDeSGFOwRGmslsi/OEh08a46itIWLA6LAiIgAiIgArkm8Ld1WAnZ
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
gAIKKKCAAgoooIACCiigQB4FjIflEdemFVCguAR233332267jT7/8ssvfL399tu7du1aXEOwtwoo
oIACCiiggAIKKKCAAgoooIACCiiggALJAmXl5eXJW92igAIK1EGBKVOmdOzYccaMGQ0bNvz999+b
NWv22muvtWrVqg5SFOaQy8r8nVWYV8ZeKaCAAgoooIACCiiggAIKKKCAAgooUOgC5ocV+hWyfwoo
UGMCLVu23GijjUaNGsUZR48evcEGGxgMqzF8T6SAAgoooIACCiiggAIKKKCAAgoooIACCozv0ov/
8uFQPx+N2qYCCihQpAKHHXbY8OHD6fzdd999+OGHF+ko7LYCCiiggAIKKKCAAgoooIACCiiggAIK
KFCMArPHTchTt517Kk+wNquAAkUp8PPPP7do0WLOnDkrrrji9OnTl19++aIcRol22vkSS/TCOiwF
FFBAAQUUUEABBRRQQAEFFFBAAQX+K/BEWQtK3cun51zE+RJzTmqDCihQxAIEwLp3784AunXrZjCs
iC+kXVdAAQUUUEABBRRQQAEFFFBAAQUUUEABBWICxsNiGBYVUECBJZYI0yQ6WaKfBQUUUEABBRRQ
QAEFFFBAAQUUUEABBRRQoGQEjIeVzKV0IAookBuBzp07jx07tkuXLrlpzlYUUEABBRRQQAEFFFBA
AQUUUEABBRRQQAEFalugfm13wPMroIAChSVQv379nXbaqbD6ZG8UUEABBRRQQAEFFFBAAQUUUEAB
BRRQQAEFqiFgPKwaeB6qgAJJAvXq1SsvL0/a7AYFciNQVlaWm4YKshVGt2jRooLsmp1SQAEFFFBA
AQUUUEABBRRQQAEFFFCguAWMhxX39bP3ChSaAMEw42GFdlHsT7EIlHa0r1iugv1UQAEFFFBAAQUU
UEABBRRQQAEFFChJAeNhJXlZHZQCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgooUGQCzXp3WyI/
c0SVmclRZJ8Fu6tAYQuQ4OJPlcK+RPaucAX89inca2PPFFBAAQUUUEABBRRQQAEFFFBAAQWKXKBe
kfff7iuggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiQTsB4WDod9ymggAIKKKCAAgoooIAC
CiiggAIKKKCAAgoooIACChS7gPGwYr+C9l8BBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUCCd
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
yy4jR47M34l+/fXXe+6557HHHqvSKcaMGXPYYYe1b9/+rLPOqtKBOan8+uuvb7fddt99911OWkto
5LXXXgOE13333ff5558n7E3zFslbbrllt912g+W5555LUzNPu4YMGXLMMcfkqfHQ7Kuvvsq3z0UX
XfSvf/1rwYIFWZ+Lb7SLL774/vvvz7oFD1RAAQUUUEABBRRQQAEFFFBAAQUUUECBIGA8zE+CAgok
CowbN+7uu+9u1qxZwo5ffvmFu/wnnnhi/fqJSw8S73nwwQd79ux51FFHleVndlcibWnCGG+++ebX
X3+d0OEcvh07diyRrV69ev3www8ZNjt//vzu3bvPnj2b4OKuu+6a4VFVqkYgql69ekTdKjzqp59+
IiRG/KnCvdXceOeddx5++OGnnXYaF2W99dbbeOONJ02alEmbjz/++Mknn7zFFlscffTRrVq1yuSQ
qtZJz8LeDz74oKptZlifXK4TTjhh2223veGGGx555JEDDzwQqAyPTa620kor8am77LLLaiXGnNwf
tyiggAIKKKCAAgoooIACCiiggAIKKFC8Aok3tYt3JPZcAQVyJTBgwACa2mGHHRIa5M4+8yUee+yx
Cdv/+OOPZ599dtCgQURHEnbl8C2RhjTrHRL7yeG5kpsiikOAkIkiR40aRYgiuULylueff/63334j
F6p58+bJe3OyBRBeqYIlXbt2/f3333NyogobWXHFFWfNmsV1eeONNzp37nzhhRc++uijFdaMbwSQ
0CazbsY35racnuWOO+7I7enirZGkyBW/8sorzzzzTLZ/+OGHc+fOjVeoapnYIUmZfPx69OhR1WOt
r4ACCiiggAIKKKCAAgoooIACCiiggAKRgPlhEYUFBRT4rwDZM0sttdQaa6yRIELeGGlAK6+8crR9
zpw5bdu2JdeHXChSx0I5hGf69u17zjnnhJpTp07dcsstSeHibTjkxhtvZCo/AipkF02fPj1qkAWT
9t5779VXX3255ZbbfvvtP/roI3axhZYJLRBuocDrrrvuig5h5r2/LX6NGDEi2kjh4YcfbtOmTaNG
jTbaaKMoRyf92eOHx8uM6KmnnurTpw9T/D3xxBPxXRWWSZWjk+QJsXf33XenfPrpp4eaqVg4BEbS
8jbYYIO11lrriiuuiK8aRaYRMaRll122SZMmZJvR1CeffEKze+21F+Xjjz+eMq8ZM2aEs/znP/8J
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
408NG69U8x0jL23KsLtW6fy3lbZsU/Nn94wKKKCAAgoooIACCiiQucDEA05Yoqys/cibMj8kw5rG
wzKEspoCdVGASMkVV1xxzz339OzZk9v0+V4hrFLiiRMnkkbz8ccfV1qz9Cr8/vvvrVu35lpst912
OR/dP//5z8suu+w///nPUnX1ielBgwZNnjx5xIgRObfNvMEFCxawohvfccstt9xZZ53FhIpLLrlk
5odbUwEFFFBAgYIVWDj7x+/HvLJm7+613sNFCxeywBjdiOJztd4lO6CAAgoooIACCiiggAI1JuD6
YTVG7YkUKCYBllNi9rZNNtmE5aY++uij22+/vdaDYfA99thj++yzTzE55q6vXAKy4vIRDKOPffr0
2XjjjVkKLnf9LbKWTjvttOeee+6DDz6oxX4TjDzyyCP5dhswYAAJma1atRo2bNj8+fNrsUueWoG6
JsDMwDxywcMBdW3gjleBvAr8+tU347ftsXTzPC4Vlnn/QzCM+t8+MebPX3/N/EBrKqCAAgoooIAC
CiigQAkImB9WAhfRISiQS4Gvvvpq6NChJAwdddRRJKk0aVJzSztUOgzic3fddRdzylVas8QqkDlE
dGT06NFt2uRrhh9mxWRxsgceeCBPIbfCvyLXXXfdyy+//OijjxZIV9944w3WinvxxRf79u3Lsnmr
r756gXTMbihQAgJEmqcufi299NI77bRTGBEJmvziW2uttZo2bbrjjjuWwDAdggKFINBw1pz1h4+e
ufWm32+9WSH0J+pDk1ffW/HjLz89Yi+mYQkbeR4l2mtBAQUUUEABBRRQQAEFSlLAeFhJXlYHpUA2
AtOmTRsyZAgRkWOOOYbZEVdbbbVsWsnbMZ9++inrKhGuI2Utbycp0IZZWerJJ5986qmn8to/4m0n
nHDCpEmTmK8vrycqzMYJOrKKGJ//rbfeunB6OGXKlKuvvpr4NNMnnnHGGXVz5bzCuRz2pOgE5s6d
G+JezD665557hv4//vjjBxxwwDqLX7179z788MPDdpLDCI/xK2bgwIF77bVX0Q3WDitQgAKL5v/6
TZcDV7rwpGX33rkAuzf7gmvqt2i6/FH7l9Vfkr+yjIcV4DWySwoooIACCiiggAIK5FbA+RJz62lr
ChSlALcLjz322LZt2zZu3Jiw0+WXX15owTBYWTrrwAMPrIPBsD///JOMvfPPPz/fn6099tija9eu
hELzfaLCbJ/pCllF7Oyzzy6o7rVs2ZK5Ez/77LMWLVp06dKle/fur7/+ekH10M4oUAgCP/3009tv
v01+50MPPRT1h/TKZs2aMR/sbbfdxrMU0XZ+0BH6Ym7Sp59+OgqGsXeZZZapg79iIhYLCuRDoN6y
y6x6yyWFGQxjvCtfevrCDz6dffbQ8j//zMfwbVMBBRRQQAEFFFBAAQUKTcB4WKFdEfujQI0KfPHF
F0wPteWWWzIb2+effz548OBVVlmlRnuQ8cmYyeqggw7KuHrpVBw5ciRpDDWTtEQolES0V199tXT4
qjKSQw45ZPbs2aNGjarKQTVRl+/Kiy666MsvvyRnhbyWnXfemakda+LEnkOBAhP44YcfJk6cSNDr
3nvvjbr21ltvMckhka27776bxS+j7Z06dZo3bx45r6R9HHfccdF2gt9R2YICCuRbYKmt8jXVc056
vso155cvWPjT5bflpDUbUUABBRRQQAEFFFBAgQIXqF/g/bN7CiiQJ4EZM2YwLcwTTzzBFHlEwlZa
aaU8nSgnzZITwx3MLbbYIietFVEj5eXlBCmHDRtWM31eccUVOdfRRx/97rvvNmjQoGZOWjhnqVev
Hql4/fv333333SkXTsdCT5jJjTzOI488csSIEVyjNdZY48ILL9x1110LrZ/2R4HqC3z33XdhnsM5
c+bwsQ8Nkr7M+pFhnsNtttkmOgvJzcyLGL2NCnXwh1g0dgsK1LrAgonvly23bMMNW9Z6T9J3gJkS
V7nugl+eeH7ZqdPT13SvAgoooIACCiiggAIK1JjA+C69OFenl/9vDphcnbrg7vflamC2o4ACqQSY
V+qcc87ZbLPNmjRpwjxsF198cYEHwxhInU0Oe+yxx1jNi3ygVFcz59v33Xff9dZbj0SxnLdcFA12
69Zt5ZVXZnLOgu1t/fr1yYOZPHkykezTTjuN8EC+F5YrWAo7VgICpHORkMoKedddd100HIJhm266
6UknnUQe2KxZs6Lt/Ggig/M///nPI488Ep/ZlbXBojoWFFCgEATmP/zMnOv+0WC9tQqhM5X2oaxB
g2X37Tp/naaV1rSCAgoooIACCiiggAIK1IzA7HET+C8f5zI/LB+qtqlAgQr89ttvN9xwwxVXXNGz
Z88PPvigadPi+Jc/C2g98MADdXPZpMsuu4wcoBr+PN18883kW+y///6tW7eu4VMXwumuvPLKHj16
9O7dm8WECqE/FfaB9DWW02PuRAIDFyx+8Tnh+9rVjyrkcmOtC7B8F9PzkvI1bdq0aDXEBQsWtGvX
LuR7bbTRRlEnmb/3+++/j95GBT/eEYUFBQpZ4PcvZ8y9+b5V7xxaVt9/aRbyhbJvCiiggAIKKKCA
AgrURQH/lVIXr7pjroMChJSGDx/OEkRkk4wfP36DDTYoIoQxY8a0atWqZctCn3In56QvvvgiIcy9
99475y2nb7B58+Z8VJij7KWXXkpfsyT3dujQgWWHrrnmmuiufcEOk/AA+Xy8SBEbNGgQV43QGJG8
ApzssWAN7VhuBaZPn84EvMS9WO6ORGQm+Qztd+7cmScwCH2tu+660RmZBffbb7+N3lpQQIESECj/
4885V92x4ulHNlhnzWoO59RTT+3YsSNPflSzncwPn//FtCXKy5dtuXbmh1hTAQUUUEABBRRQQAEF
ikvAeFhxXS97q0A2Ao8//vi5557L7IikknCvP5smavUYptLq06dPrXahdk5OMh8zhtXKuU8++WTY
mTbw0EMPrZUO1O5JhwwZstVWWxERXG211Wq3Jxmefa/Fr+eeey5ExQiMHXTQQUbFMtSzWhYCxL0+
+eQTgl6EvrhnzSyjoRHi90zxStxr7bXXjk9jOGXKlCzO4iEKKFB0AizHteoNA3LSbeb0ruFnoRqs
uPwLG3TZ9pVHlt9wvZwMwUYUUEABBRRQQAEFFFCg0ASMhxXaFbE/CuRSgFSws88+e968eVdfffXu
u++ey6Zrqi1Wi3niiSeuv/76mjphoZyHG80vv/zyiBEjaqtDmDP/HrlHyy67bG31obbOyw04AoGX
XHIJIcna6kMW59118YuPDfGwwYMHM9kmVzCLdjxEgUiA6Q0//vjjEPfq27dvixYtwi4WsVu0aBFB
L0JfURIYu1jcKzrWggIKKFBcAg1Xbrz+ef0+OHNQx6eGF1fP7a0CCiiggAIKKKCAAgpkKGA8LEMo
qylQZAIsD9a/f//333//0ksvJVOkeJddIUWpW7dujRs3LrILUO3u3nTTTUcccUSjRo2q3VKWDTC1
5g477DB06FBSjrJsopgPYzkulk878cQTN9xww+IaR5cuXQiJPfPMM+eddx4hMXLdCJMV1xDsbc0L
kO81adKkEPfiJ080py65X3Pnzg1xr+WXXz7q2PPPPx+VLSiQcwE+kNdeey1/w/z6668bb7wxOe7M
tMlGHu7hzxue8uEzySKX8ZD/UUcdtccee5BRxFTDLE133HHH1eQ8ezkXKPkGK7zEjJrcdF6//PIL
T3Ex13fcoWYu8bonHf7FTcO/H/vKajtvFz+7ZQUUUEABBRRQQAEFFCgNAeNhpXEdHYUC/ydAQhVr
CD366KPEwx5++OGGDRv+374iLN1222233nprEXa8Wl3mDuCdd9751ltvVauVah98+eWXt2nT5uij
j+bOY7UbK7IGmP+N9cPOOOOMUaNGFVnXF3e3a9euu+22Gz8BmPpy9dVXJyq2zTbbFONA7HNuBbgH
/e6774a414EHHtiuXbvQ/oABA2bMmBHiXtHkh+xilt3cdsDWFKhU4KeffjrssMOY8bVHjx4Ewwi+
sigd8bCZM2ey8ZRTTmFOTpa3JAt2hRVW2HnnnUOD1Bk2bBgJzQTJ+Mvnhx9+qPREVsitwKJff/vp
sptX6n9cveUqSStPdYm5rCzeyeM4rDhIfvz3338f72HNXOJ6DRp0nvDkL1Onx09tWQEFFFBAAQUU
UEABBUpGwHhYyVxKB6LAEsxeReiIqdK4yzl58mTuExU7CvM9lpeXb7ddnXtEl9tAnTp1YiKy2r2C
a665JtkhZ5111oMPPli7PamVs7N424033jh27NjofmutdCPrk5IV2qtXL24o33vvvfxM2HTTTbl9
vPnmm2fdoAcWkcBXX31FQD3EvfgMRD9FudfMb4cQ92ratGk0orvuuisqW1CgdgX4jUNWIg+FhJ9X
ZCrz5w1d2nLxK/SNX5H8hTBx4sT4z2fSiXgYaKmllqrd/tfZs89/6OkliFhWFgzDJ9Ul5vKRh0p+
PHXWX399VvFMwKyZS9xwlcb8l3Bq3yqggAIKKKCAAgoooEBpCBgPK43r6CgUWOKVV17h9j3P9fN0
7SabbFIaIiSHJd8NKY2hpR8Fa3fxnHv6OjWzl2AY0wby6Yrup9fMeQvhLA0aNGBurtNOO+2dd95Z
csklC6FLWfSBnrPUU58+ffhuImOM2RSZAJNrmkVTHlKAAiR1TZgwIcS9SAqM1om84447iIeFuFc8
ss4cdAU4CrukQFyANCAe6CGEH20kyEL5999/Z01HpkMkbeiPP/5gCxMnRnUokFdkMCwOUpPl8kWL
5j8weuUrzsnkpKkuMQms0V+wG220Ubju8Qa9xHENywoooIACCiiggAIKlLBAs97dligry8cAjYfl
Q9U2FahRAe6HErTgQWnu3e+33341eu58nozpdB5//PHrrrsunycpxLa52UdW3I477lgInVt66aVJ
KCEm9OabbxbvKnRZS+6zzz58AklTKPa4LLOHES8/8sgjibNuu+22e++998UXX9y8efOsZTywhgW+
+eYbfsiHuBdBzehH/QMPPDBu3LgQ94qvdcf1reEeejoFciWwcOHCZZZZJvkphPvuu4+VpfhRtsUW
W6y44op9+/YNeWPReePfAtFGCzUj8NsrE5dcfZWGG6+XyelSXWLSv6JZvnkkJfkzUJOX+Pc5c+uv
sHzh/OXz27czf5vx7YKZsxbM/GGNvXaOMtg+HXrTb9989xd7Wdn655ywdNPVwyWY8cAT5X/8wRAa
rLj8Sn/bYknzJjP5aFpHAQUUUEABBRRQoGAE2t9/c5768tfjlr4UUKBIBVgxngnQWOFpvfXWYwqs
6A5pkQ4nodtM8rbnnnvGV7JJqFCqb0ns6NevX+GMjjn3eEb7oYceKpwu1WRPCCCxtBKTd9XkSfN0
rkaNGrGs4KeffsqKYkxEdu655/788895OpfNZifw7bff3n///Szdd/zxx//jH/+IGmEdO7Z//fXX
5Pa1bds22n766ac/9thjZJQStGaBpWi7BQWKV4D47nfffffZZ58lDOHZZ59t3749Ca/8+OK3UvIK
YYUTukjoeV14u0yXDqvdOTTDkaa6xEzi+tFHH4VG+FVFRmBCgzV5id878YIvbx2R0IEae/vrjG9m
PPg/y5i9c+QZ7x57zhfD7vrhhX8viskss1azZVuuzX+N1mlRL7Zm8PxPv/hu9Itf3nbfRxdcSSAt
6vlrXQ8ev13Pifv3ff/ki37/aU60vfzPP6OyBQUUUEABBRRQQAEFSljA/LASvrgOrcQFnnzySdZ2
4q4Qk2LFp8MqmWH//e9/v+WWW0pmOBkOZM6cOU899RTLVmVYv2aqXXrppaeccsq+++6bPHlRzXSg
Fs9CvLl79+6ExEpmormVVlrpsssu44Kec845LNDCxSVvrA5e2Vr8UHFqJnx77rnnQr4X88KdfPLJ
oT8kez3yyCPcLGbj1ltvHXXy6MWv6K0FBUpYoGfPnkR/mdn10EMPZfY8ZoHmj5yOHTt26NCBv3yY
wJa0MCaALWGBkh9aqku866678pgXs2J27ty51v8CbLr3rtPuemCdvofU8OWYcf/jH198zR8/zW3c
sd0qnbaKzt5x9L1ROV5o3qdH/G1Ubn3BKVE5Xtj81qG/fvnVb9/MXPDt98xyGe16vnVnwmwE1Rqt
26LNLUPqN1om2mVBAQUUUEABBRRQQIFSEjAeVkpX07HUFYFPPvmEe9lTp0699dZb4yvJl9L4SYZg
pj5uiJTSoDIZy8iRI1kEqHHjwlrInVtUq666KhNVHXzwwZmMosTqED3aYIMNmJuLryUztCZNmpB+
9Pbbb/PDhBw4poUskCk6S0Y4DGTWrFmjR4/mxzWvli1bnn/++WH7xIkTiXwT92rXrl18cb79F79K
DMHhKFAlgbXWWuuqq64iLkLMngNZSyw8jkAS/AcffEBomI38ecDUefFAfk1mDlVpOFZOFkh1iXn6
hHjn8MUvEmG59LV4iZvsvsPbR57xx8/z6i+/XPIQ8relrEGDLe+7YaUt2+TpFI3Wbs5/yY3v9Okr
v06b8cvUr375Ylp873NrdVhmzTWW26DVshu0an3uSfFdlhVQQAEFFFBAAQUUKEaBMlapKcZ+22cF
6qbAL7/8Qp4Kd7G5qcqUevXrl2xIm1vz3PPq06dPXbvQrBU/cOBAQmKFNnDSVo444gim5SzhT10a
c8JFzyx+palTvLtISDrzzDNJSGINQjLGincgtdhz1jtk3sIQ92I6SiY8DJ1h0S+yHMhuCQkum222
WS120lNnKMAP4b322ivDylbLn8DMmTP5s2fNNddkKanoLGzkcRkiJdEWC7Uu8OdPc4ni1Fu2yhlF
FV5ifpxy3Zs1a1bD4+IZBf7Gjp/0w/6Dm3TdYdXt/y9VN743h+U/FyxYtGAhgbcCDOsunPXjzx9/
Nn/y5/MmT9n48vNyOGqaIiNtzjsfLL1Gk2Va/HW5f5k2Y+zaHZsd0L39yJtye6J4a+8ed87/Y+9M
4Gwq/z/e2Bn7buzZ9+xLlpBElrJWlIgsKaUUIUSRtChEliSiRJGdyJJ935dsWbIzdsbyf/P8f6fb
nZnrzp1779zlc15ex3Oe8yzf533O3LlzPuf7/R7+5ofqO35PUTi/bb3KIiACIiACIiACIiACQUJA
+cOC5EJrmYFA4PfffydwEN4GO3fuJFVMAMsSvB2MDxxuEoFw2WKyht27d//99984Y8Wkk5fa8jI+
3i3jx4/30nw+Nk3nzp2ROnhY5mN2ucccQldx73GJiUhGFNbz58+7Z9xAHOXy5ctjx47t3bv3Cy+8
0KlTJ2uJ3B6LFy8mjBsYn3vuOau+cuXKkyZNwsWwXbt2EsMsLCqIgDMEcGNFSLYVw+hFpcQwZ+h5
s83Zzv1uHfiPU5GTs0d5iQnq630xLEqDCw96zwti2JHvp/1RvNadmxE+KIaBJVG6NOkeLZujzbNu
F8MY/NzK9cvL1T/w1f8ny7ywbguVqUoWifJyuKvy/NrN8UOT4vHmrgE1jgiIgAiIgAiIgAiIgH8R
CFjnEv+6DLJWBBwT4FXZt956a9GiRSTMqF27tuPGAXAWJxViuAWw4BfdNRo3btxLL71kGx0oupZx
Uk+iKcJVkdAlkU3C9jixxPuTcjeS0QT9gx9Au4ez3jfGEzNyTXER4/Z7//338+fPz75jx45B+DNo
sb127dr3339v/L14RommZU6dPHkSly+e0ROrltxyVntCe02YMME6VEEEREAEgoTA3Vu3Ig4eSZgv
V5Cs173LvHPz5q4egyrMnZA4fVr3juwXo51bvhY701UpZ6zN0qhOvYiDIfHje87429euXdq+J03F
0h6dxXP2a2QREAEREAEREAERCB4CK6o1YbGVl/7s9iXLP8ztSDWgCLiZAKHMChcunCxZMtJmBIMY
duzYMZKHvfLKK27m6PPD3b59m+fvCBI+aymxHEuXLj169GiftdCjhtWqVatEiRKktPHoLHE7OFni
RowYsXTpUjzh8EblJzFu7fHC7Ldu3SKeIWmKmjdvXr9+fWvG8PDwtWvX8sFbt27drl27WvV58uQh
Yi0xtVq1alWyZEmrXgUREAERCE4CEfv/TpA1U0iSxMG5/FiuOuLCxdtXr6UsViiW48RV94gL4Tve
7r+sQv3ZKQr8XqDq1ld73jx/wRhzauGy5RUbHPvpt3VNXlmQrezc9MVW1mx+YcNWc/bsirWcPTB0
LIcogmufuZcXcGPL19fUfdHykzsxc8G9vtnv9V1R+ZmTs383fdmfXbaa7senztrZY+AfJWvPSpbv
z8eanlmy0mpwdPKvWDUnTREMW1K05uHRP5hT4Zt23L11O025R6yWKoiACIiACIiACIiACPgmgXPL
1vDPE7bJP8wTVDWmCLiHwIkTJ1599VVksJ9//rlSpUruGdTnR8ELBw+kVKlS+bylbjaQ7FS5c+cu
UKCAm8d163Ddu3dHNsBzyGed2Ny6XPvByCKGG1DLli0RRezPBdAxAvz8+fPnzp1LXFZ+HocPHx4Y
6x02bJjx98LHa/ny5eaKXb9+nQCt+Hs9/fTTtrnTMmfOPGbMmAC6qlqKCIiACHiEwO2TZ5LW8HiG
LY+Y7sSgZ5auSl2mRILQZE60daUJYljRLz9wpacP9Lm87+Caeq2u7D2YJGvm9DUevbB+66ERE8I3
bqu8cgaa1pnfV5xfvWnjC12wNG2l0pf3HjyzeOWKR595bPui5HlzXz10NOLi5ZtnzsdLmoQGRGUk
iRr6VuqyJczKdvf9bO8Hn+PFlaZSmZB4IWeXrl5T76XycydkerI6Dc78sYrBt7Tvfvv6jbSPlgm9
dZsGu3p+XGXlDM4is21/o2/8FKEZHq/y0J07p+Yv3fLKu6H5c6evVpFgiTRILT3MUNZeBERABERA
BERABIKSgPSwoLzsWrQ/EMAF4Z133unQocPkyZODJzzdlStXcD/asGGDP1wiN9tIsLWXX37ZzYO6
ezhcxLJlyzZt2jQCJ7p7bD8Yj7WjCJJLDK3ID8yNnYl16tQhlR16GBed+KV4UPnLB9HIkSP37Nlz
+PBh1C98vEzUx7t375J5Ed2rXLlyZMKz2CRPnnzUqFHWoQoiIAIiIAIxIpC0ajn+xaiLHzXe3euT
Qh++k65qBQ/ZnCxXdv55aHBPD7vppTcRw/L1er1Q/27MdevSZWLaIFOd/WNV+uqVkMeoDH04R6XF
PybJkunu7dt7+n2+t//Q/Z9+U+LrgdlbNkpXueyi3JUyN6hVZsoIWp5ft/luxK3UZe4FIsa3bG+/
z5Nkz/LoH1NDH85JzZGJ0ze90GXfwOFGDzODJwnLVG7G2NA8ufgVv6RIjfOrN+KdliBF8r0DhibO
lL7qhjlJs2ah7+ExP2xp9+75NZvQw0yKMvmHgUWbCIiACIiACIiACAQtAcVLDNpLr4X7LoGDBw+S
mQafjMWLF/fv399fnkG7BSgJtGrWrMkza7eM5keD4KSCxIKHiu/bTJapIUOG+L6dHrLwjTfe+Pvv
v4li6qHxfWrY+PHjs95NmzZt3LixaNGiS5Ys8Snz0M5ff/31hg0bEsfy7Nmzlm0HDhxAuXz++edJ
uGilQONddUJB8pJBs2bNypQpYzVWQQREQAREQASiI4CscuPkmejOBnM90QvPr9yQ8akaRgwDBULU
w6+1pnBp918IVEhWIQkTVJj7PWIYlXh65Wz3/L2zO/ayZzOalhHAbA7v+Yfteu9j9uWmjzZiGGX0
s6Q5wi7v/osymxm87K9jEMM45Fc8Pmr8Fz9Z0rsREcWGf1j217FGDLtz69blPQdogwvavY5rNyfK
kNZ/NUiWoE0EREAEREAEREAERCCWBOQfFkuA6i4C7iRw586doUOHfvjhh/igEKmMh9HuHN3nx0IT
IjkTYQN93lL3G8iqy5Ytmy5dOvcPHZMR+/Xr50xzMio52fKBo5GH6YFtfKoB+grppgiZSDK/0NBQ
n7LNQ8Zkz579l19+IaMYye2qVq366aefZsyY0UNzRTns+PHj161bZ/y9Zs6caXl3HT9+nHL16tVR
0NOmTWv1HTx4sFVWQQREQAREQARcJpA4U4brJ0+73D2AO55edC/scJ6ur9iuMUGqlBzevRlxZd/B
W+GXsj7/tK3yhDvXQyEPEcDQdDGuWoSjNIfhG7ZRQB6LCL8Yvn5r2irlrFOmAYNHXDxO+frxEzf+
OZWxbnXiLppT7C9u3RWaL3f8xPfy2CVKm/r4T78RbvHa38evHj56+/JVKhnt5rnzV/46hIZn9VJB
BERABERABERABEQgCAlIDwvCi64l+yiBrVu3tmvXLlmyZGvWrPGvbD3ukka4MMSH/PX+5vgi+Z2I
4ng5nCUCYePGjR/YzAsN6tWr54VZzBRILF6by40ToQmhwXDbB5Xuwo1Ro0YNVo2jGHkN3cjTmaEK
FiyIAInuRY49q33gfQ5YS1NBBERABPyFwK2j/8RPnzYkyT0dIvC2dFXL3/2ffuOh1RHiD3coojIm
SnvPgclftsu792OqXeDByzvv+X6F5n/4wvotFNJV+0+cyct79j9096HkhfKZNd5rE/JQ6tLFrMP4
yZMlL5Dn/0Mali9p6s3+zs2bV/cfSlG0IIfGscw2iCWi181TZzM+UZWzO7oN2D9k1EPx46UqUThF
0QJZGtU5OGw8XmIpixU0Gp6dzbazqCwCIiACIiACIiACIhAMBKSHBcNV1hp9nQBBRT777DOerQ8Y
MABJzNfNjco+iShRUXG2LiIi4rfffvvkk0+c7aB2cU2Ai1WkSBH8pQoXLhzXtnhvftT6jz/++IUX
XkC+9fKP/Guvvea9dWomERABHyaAJ/3s2bOrVKmSOnVqHzYziEw732doytdeTPxIYP42zNq8gaev
ZaI0qfFC29a5d+kfhnl6LjeOj0DFaPhyJUj+/77yZAj7e9yPIQnip3qk8F+Dv+ZsSDzcwf7dDo2c
yEHaymXZ3wuouGEb6hdRFjm8ff06cRTTVCoTEi+eGfnm2fP/9nzooaOTfrl99XrqsvecyewCLVJD
bjD2qcs+EnHx0oEvxoTmy1Vx0ZRkObJSef2fk/sGDkv3WEVGJljivWblHmGvTQREQAREQAREQARE
IGgJKH9Y0F56LdxXCJw4ceKJJ54gHREZevxUDPMVlH5rx6JFi/C5yZw5s9+uIOgMJ2AgnlIdO3YM
upU/9BD3ahCuWksWARGIcwJXr149ffr0lClT+Mo0ZsyYXbt2hYeH37p1K84NC3YDEiR46NZtt0Mg
mW7wXNy873Q8u2zNudUb3Y7RcwMiZTH48Z/+dfTf2WPQ1YNHsrduRsIw4+P1z7S5lgEn5yw+/M2k
ZHlyZmvxDJXELSSgYspHipgGF7fsunvrtsklZkY+MXPBnYgIc/bK/kO7eg4OSZQw79vtqbmwYes9
x7Iyxc3ZezX/E7oubtvNOGkqljZiGL59u3oMoiZtxdI0O3+/WZqy0sMsciqIgAiIgAiIgAiIQDAS
kH9YMF51rdl3CPCOc5s2bTp16tSrV69gyxbmO1chzi3xnWCJcY7CjwwgtufYsWMnTpxILjE/Mlum
ioAI+AIBHvTj58RGAT+J27dvs+fQ2lPATnNozpo9NabSFKy9acyeQawyBbuybU1IyH9cN8wp9nb1
HDKL3Vkqmcg6RYHNtsaMY1bEKdOdcVgFWzxcQO7byf7mzZsc3rhxgz1pRGl87do1I4RcuXKFetqf
OXOGluhhadKkwSt31KhRR48e/fHHH8+fP580aVIap0+fngLfoxIlSpQ4ceKECRMmSZKELuyZmkoG
Z3bq7xkagqPIPQNoz2YtjRoyRFqLpRllGlBPG1NPJWVzyqq0RrAtWOPYVtp2MUNZZ20PrTJ20sAc
UqZgu1k1GEk9xrM3A1qnKJgybUyZZqa9NXUsC/gD3fWAKjly5MguXbqEhYXF0jy/6J4gWdISowYd
GDo2bYVSfmEwRuZ+vc3hsVN2vN3/9IJl6apXPLN45en5S3HMKti3Kz/n4Zu20+bUvD+Wla+fuf7j
REo89tOseIkTPTJ6cDwE1IceunE/Kxsq4O73h2R+uvY9iet+8jD2iTOmz/ZCo6PfT1+Yq2L2lo34
lDw26Zcbp84U/vg9k40M/7DQvLkS3s9VRns2/MNCEibALy0i/BJS2fGps5Nmy5IgVQoMOLtkFQ2u
HTuBwxkqHYJconT+FJfy/vq0EwEREAEREAEREIFgJBDWvD5/C3li5dLDPEFVY4rAgwnw0Kdbt24z
Z8785ZdfKlWq9OAOahGgBHjSN2PGjN69ewfo+gJ2WTxY5JksYQPr16+fKlWqgF2nFiYCIuASAUQU
ftEj57Ah55w6dYr9uXPnLl68ePnyZU5dunSJz3/OIgih9NCe2LlGRDGKkdE2jJiBhkHBCB6m3kg7
5qzZ0wvhh7McYrLZW5XUs1n1aEimMTXWKVMwzax6zDMtrWZmEJaABGWaRa6xhjLNbPsyIB2tBubQ
7CHAKfZG0GJegiKaDRdqQrYmT54cCEz38MMPd+/eHcGM8aGK3xhg2eAJTFaN5IOuxjg0YG8uBwMa
cYs9Z1HOGIoN7GymxpTZU08NipqpMc2sSjOO1ZdZGM30MntO0caqsQrU0xhLqLEqacmqsdlUmr1t
pRnK7GHFxaWNEVNNMw7NWQpmanNXMCZzsQcsBZZDOUWKFMBkj76YNm3aDBkyZMqUCbYsgY1mjOD8
liBHWEjiaLtgrdks84yFZs9tQAFTOWtmhAMy56pVq7iOSGJkjkQSw2yzZNPe7C0Lzb1EA2q41maZ
VFoNYlO4tHNvSPz4xmMpNuM8sG+mp2ry74HNfKdBioJ5y88av7Xje2hO/EuYJlXW558uPnxAwtSp
Lm7bRWzDXK+2unb46MlZv+O8hRKGh1axYf1T3k8AxipSlSyaqnSx8A3b9vYfmqlezfDNO6hMXeZe
OES24sM/jJ80yd/f/nQv7mK8kBSF8xcb8VFYozqcun78BKnCMjxe5X7DeztQHhrUAABAAElEQVRu
IeQ3UoXF5/ZOkgTZbFevT/Z9dC/4JPpc6SnDN774xpFxP2Zv1eTGidNZn2todVRBBERABERABERA
BETAlwmUmTLCQ+ZJD/MQWA0rAo4I7Nixo3nz5oQd27p1q56kOyIVBOeWLVuW8/4WBGsNtCWWKVPm
mWeewbnzq6++CrS1aT0iIAIxJ4A+gSSzb9++LVu27NmzB92LZ/rGHQfhAb0hNDQUdSdbtmyoEZR5
yo/8gFDB3jzHNxqG2ZsH+uzNg37rkIJVNjaaGlNJjV0hukNrfXYNbEewK1tdfKGA2SBlwzksf/78
vmCS0XiwxCrYlm0ro6yngW0bU75f9//OgtYaLW3JtsZISlZ70wZ5iQ1FCm0PHc5s6IjcnNyrx44d
40ZFf6IentzA3J/wLFasWKlSpdDJuEWt28Oay66Q+t17IewibydPnpw7d+769esRg5mLobjJacbN
j23c//xoMCOHFBAyqcEMDllCrly5yKrLz9H8+fMxFYGTHxN68QPFINhv+nJozKbAyOyZhSUUKlSI
UOSsgmaRDYtRDamnMtSq6gU9LEZW+UjjjLWqPv7XCjy38MrCYcu6VUywxHRVymUdNoCz/AvNlzv+
/+RnY3yC0GTV1s+JuBDOBxaeXmnKlXzkm8HWukgqVmLUx8WGDSCsYpKsmROmTGGdShKWucHdI9Yh
BeZ96vJeqyZvt44527e89vcxOpKbjfoMtapEXLgY+nBOu45WFxVEQAREQAREQAREQASCikBs/0gI
KlharAi4hcCwYcP69Onz2WeftWrVyi0DahC/JkAelGbNmvn1EoLZ+EGDBhG8iytYpcq/ryoHMxCt
XQSClgAy2IQJEy5cuJAyZUoexD///PNZsmQxGoBx0In9o/mgZesvC7f0AKvg+5YjMqE2IZgZ5Qxt
bP/+/bt378ZDC42qYsWKjRs3duHWpfuXX36ZL18+dKns2bOTdBMdC9c0NvRdNhCZvVWA1f0z/ya3
rlChQvny5WmAQmbkPdqYgqnhEOOpYaPAhv3k5eW1M2bPkydPjx49mDE2V+Hq4WNJc2aNzQgB35fw
hvyzXeb5dVs4xP2LfeSzti1xJrM9tCvHS5gwRaF8dpXOHKKfJfyfIxrtE6VNwz9nOqqNCIiACIiA
CIiACIhAMBCQHhYMV1lr9BUCxPNp3bo178muXbuWv9J9xSzZEacE5s2bR/6wODVBk7tOAP9OAjrx
c719+3YefLs+kHqKgAj4OYEBAwZ07do1b968uLn4+VJkfhARMBKU8dxi2fiE4WxXp04d5DGcur7+
+uvPP/+c+N4xIkJo0O+++65fv37oYbGUBk139k7KWgR+LFiw4GOPPUY80oEDB+KgRljjGBlv15iI
f8lyZrOr9NzhjdNnt7/Rt9T3Q1ELPTeLp0cmvxe5u0Lz5PL0RBpfBERABERABERABERABFwg4Mdf
tV1YrbqIQBwSWLhw4SOPPMI743/++afEsDi8ED419eHDh8PDw4sXL+5TVsmYGBEgfxiBE3H6jFEv
NRYBEQgwAq+99hq/4iWGBdhlDdrloJClS5euc+fOlStXdgzhzqXLEQf/E7+OGIxEBUdXi6UY5nhe
x2fJjvbee+8RENJxM8dn8UJLV7V80hze8w9LnCEdCtypuUscG+bjZzPXf7zgB2/H4dX3cT4yTwRE
QAREQAREQAREIG4JyD8sbvlr9qAgQBQa/iafMmXKxIkTq1evHhRr1iKdI4BKWqtWLefaqpXvEiB/
GOkAiZpYunRp37VSlomACHiSALq4J4fX2CIQBwTIxUXIxAdOfLpVtyyLJ4Uk+P/IhAhpviAMY0Ms
3z9D0Sn1/ZcPXL57G4Q1r39yzuJMT9V077DeHK3A+296czrNJQIiIAIiIAIiIAIiIAIxIiD/sBjh
UmMRiDGBQ4cOVapUiWQMW7dulRgWY3yB3kF6WGBcYQJMkRGwTZs2BJgKjBVpFSIgAiIgAiLgDIF4
KZLHz5IxYt9BqzERC8kZZh3GVQE16/HHH4+r2WMzr18HS4zNwtVXBERABERABERABERABCwCK6o1
4Z916MaC9DA3wtRQImBPYP78+WQC5yn5L7/8kjZtWvvTOg5uAsThWbRokfzDAuMuaNGiRbZs2T7+
+OPAWI5WIQIiIAIiIAJOEkhUotDNLbudbKxmjgmENa33cNd2jtvorAiIgAiIgAiIgAiIgAgEPIFz
y9bwzxPLVLxET1DVmCLwEFLHRx99NHz48GnTpj0w9YJ4BSeBTZs2ZcyYMWtW7+WlCE7OXlv1qFGj
yBHYuHHjQoUKeW1STSQCIiACIiACcUsgWZ2qETv3x60Nnpj96A+/JMkWdvyn31KXKc6/FEUKeCEn
VpLMGT2xFo0pAiIgAiIgAiIgAiIgAiJgCMg/THeCCLifQHh4eMOGDefMmbNx40aJYe7nGygjKlhi
oFzJ/18H/mEffvhh69at79y5E2BL03JEQAREQAREIDoCiUsWSd6iQXRn/bT+9OI/9382OlWJQqF5
cp5euHxd41c2tXrDWsv1E6dunD5rHca+cGnXvst7AlBTjD0ZjSACIiACIiACIiACIiAC7iUgPcy9
PDWaCDy0ffv20qVL58qV648//sicObOIiEB0BKSHRUfGf+tfeeWVJEmSfPnll/67BFkuAiLggMCO
HTt+/vlnBw0in5o9e/b69esj16tGBHyEwJEjR77//vvbt2/7iD2eMGP58uV8LY/RyMcmz8j6XMOE
qVLmebNd6Ulf1dyzrMSoQdYIF9ZuXlyg2pw0RZZVqH908q9W/c3zFyLCL1qHDyyEb9217Y0+S8s+
tfLx5x7YWA1EQAREQAREQAREQAREQARiT0B6WOwZagQR+JfAlClTqlev/sEHH/BAPGHChP+eUEkE
/kvg+vXrq1at4m75b7WO/JsAkZTGjh3bv3//gwcP+vdKZL0IiEBUBAYOHBjlT/fcuXNfe+21yD3+
/vvvfv36xY8fP/KpAKvh+89bb73lC4uaNWtWk/tb06ZN3WXPt99+O2DAAHeNFvtxMIaI3JHHOXv2
rFk7+9WrV0duEGVN6tSpife7YMGCKM96tNIZgzt16jRv3rxYmnHlypXevXtfuHDByXHuRET8M31u
1ub/cXqLnzSp1T1zgyfqnNtec9/yIp++H5o3l1V//MffFuYo/1vCXPPDSh8c8d2/9dPmrKrdYkXV
xsvK1Tvw5TirPnzD1iRhmYp+3ueJI2uTF8hj1asgAiIgAiIgAiIgAiIgAiLgIQLSwzwEVsMGHQES
hvW6v/3+++/PP/980K1fC44hgRUrVpQpUyZ58uQx7Kfmvk4gT548PXr0aNu2ra8bKvtEQARiSODP
P//cvXt38+bN7fpFREQgTiROnNiunsNx48blz5+/ZMmSkU9FWTN+/Hh3vSdx9OhRfss4L4pEaY/z
lSdOnNi3b5/z7T3XEtpok2RzjFK5jG5ex7g4u3+/B2PZOZ49ss2HDh2iS+T6lClTsvaXXnqJBpcv
X47cIMqaFClS1KtXj5c5YhPs9+71GxdH/nDn8tUop4iu0hmDd+7ceebMmehGsKuP7ifo8ccfDw0N
nTx5sl376A5vnDhdasIXSbNlia6BqU+cPm26R8umKfuI1SxXhxfqhu966uq+autnZ2lc16pPWbxQ
nq7tCg3oVmxY/7Dm9a36HK2b53unU7rK5ULi6a9yi4oKIiACIiACIiACIiACIuBBAgk8OLaGFoGg
IXD16tUXX3zx5MmT69atS5MmTdCsWwt1nQDOYRUrVnS9v3r6MIE333xz6tSpo0ePbteunQ+bKdNE
QARiRgAnoUcffTRHjhx23WbMmIEa9MILL9jV860AvzG8UuzqHRzybk1sNAnbkRmKQ7O3rQ/4ctb7
G1ckRit1jCtGFzFG85rGjmd3fkAiE1SrVg2nK+e7mJbPPvssgUCXLl3qshwbkiTxnavXLo2ekurN
Ns7P7ozBMYpzCMkof4ISJEiAz9zEiRMRC5PauHlFZ2rS7GH8i+7sA+vjJUyYJOw/IdOT58vNvwd2
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
1qxZ4+XlhfVihsLh06dPMX8RBodVoIyATkSDde3aFWeqQczG4WQ//PAD+uK4MnXmQBsSIAESIAES
IAESIAH9JBAX+kI/J5b+WVEPSz9DeiABEiABEiABEiABEiABEkgvAeSdg66QXi/sTwLaICBFgEkF
eEWyxHXr1h06dAj6U/HixYcOHYqsg6hHZBhUIshRFhYWCI2CDaS0jRs3omn9+vWlky4EgS1YsADF
qlWrShNEdkR3d/fly5c7Ozt36tRJqk+1IJ8VjNu0adO0adPu3bt37tz566+/Ro0wgFgld4VKqQah
bNCuIOlVr169cuXKV69elSwR77V27VoIfjj6q1KlSkFBQaIJmh/mL6S+xo0bozx58mQ0LVy40MXF
BeF0sId+tmXLlsKFC6NeGkt0l48uavhKAiRAAiRAAiRAAiRAAhlMwOzTp08ZPCSHIwESIAESIAES
IAESIAESIAEFAlAU8PE6PkxXqOctCeiUAHSaNP2jGMaI5cIRXMWKFbO0tNTp3NLkPDAwsGDBglLq
RXX6YhUI84IUrfGBZ9Io4eHhODitVKlS0illUpOBFtK6MQx0mZw2CZAACZAACZAACSQncNDMoe2n
z1+KSt6aATVXug3DN7xcPFZofay0/emv9eHpkARIgARIgARIgARIgARIgARIgAQyiwBlj8wir+fj
cmPo+QPi9EiABEiABEiABHRHIC48wrKAre78Z6Jn6mGZCJ9DkwAJkAAJkAAJkAAJkAAJkAAJZCYB
yh6ZSV+Px+bG0OOHw6mRAAmQAAmQAAmQgIYE/pNPXEMf7EYCJEACJEACJEACJEACJEACJEACJEAC
JEACJEACJEACJEACJEAC+kqAepi+PhnOiwRIgARIgARIgARIgARMjICXlxcONDKxRXO5JEACJEAC
JEACJEACJEACJEACGUGAelhGUOYYJEACJEACJEACJEACJEACqRLo37//kydPUjWjAQkYGYFly5a1
b99eYVHNmjXz8PBQqOQtCZAACZAACZAACZAACeiagKeds66HyCz/1MMyizzHJQESIAESIAESIAES
IAES+A8BGxubyMjI/1TxhgRMgEBgYKCvr6/CQi9fvvz8+XOFSg1uXV1dBw8erEFHdiEBEiABEiAB
EiABEjBNAnGhL4x14VmNdWFcFwmQAAmQAAmQAAmQAAmQgGERyJs376tXrwxrzpwtCeiIgLa04Q8f
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
AAmQAAmQgN4QoB6mN4+CEyEBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEtABAeph
OoBKlyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRgaAQ87ZwNbcrqzpd6mLqkaEcC
JEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACRkwgLvSFsa6OepixPlmuiwRIgARIgARI
gARIgARIgARIgARIgARIgARIgARIgARIgAQMicC5hp3xo4sZZ9WFU/okARIgARIgARIgARIgAeMg
YJZ0GcdauAoSSIkAtnlKTUZfz/e40T9izRZoym8KzYixFwmQAAmQAAmQAAloi8BLr4vacqXgh3qY
AhDekgAJkAAJkAAJkAAJkMC/BD5+/PjvTQaWLl++fPHixeHDh2fgmBwqkwncunWrSZMmN27csLOz
S+tUQkJCChcuLHqVLFmy3D9X+fLlq1SpYmtrm1aHpmOfWe9x0yHMlZIACZAACZAACZAACRgWAbcw
H8OasPqzZb5E9VnRkgRIgARIgARIgARIgAQygsC+fftq1qy5cePGjBiMY+gHgU+fPg0ePHju3Lka
iGFYAXpdunQJhVy5clWtWrV///5Fixa9evXq1KlTe/TooR9L5CxIgARIgARIgARIgARIgAQMgIBl
AaP9Oh31MAPYf5wiCZAACZAACZAACZCA6RCYNWtWnz59sN7WrVubzqq50m3btiUkJEDH0hiFq6vr
rl27rK2tK1So4O7uHhERsXjx4rNnz3p6emrskx1JgARIgARIgARIgARIgARIwGgIUA8zmkfJhZAA
CZAACZAACZAACRg2gdjY2O7dux88eNDe3r5+/fqVK1c27PVw9moTiIuL++GHH1asWJHOI4u6dOny
7bffHj9+/ObNm6GhoaVLl96yZQvzAar9HGhIAiRAAiRAAiRAAiRAAiRgzASohxnz0+XaSIAESIAE
SIAESIAEDIVAcHBwvXr1zM3NBw0alD9//vDw8IoVKxrK5DnPdBJYvXq1s7MzkmSm0w+6//jjj2XK
lBk7duyGDRuOHj166tQpFxeXv//+O/2e6YEESIAESIAESIAESIAESMAUCHjaORvrMs2Qp95Y18Z1
kQAJkAAJkAAJkAAJkIBBEIiMjKxUqdKIESO+++47xPQcPny4Tp060dHR2bJlM4j5c5LpIYDgsBIl
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
03QSBPr374+tvJJozFzV2L0PEWz3799HysrMtXKulgRIgARIgARIgARIgAQyH4G8XdsgKbw61s34
MHVQpU0SIAESIAESIAESIAFtILBr164FCxZg4yIpVZ02rIprIAENJDB48ODy5ctj7zQN9J0ukwAJ
kAAJkAAJkAAJkIAmEYjxCzCwstQkj5Pta9Zk92RHEiABEiABEiABEiABEshEBLDj1MSJE1euXEkx
LBNddS41oxKoVavWtWvXMqp39IsESIAESIAESIAESIAEtIeAtophuELUw7TnNuVKSIAESIAESIAE
SIAEUpHA4sWLa9SoUbdu3VS0SVMkQALfR6BmzZrXr1//vrEcRQIkQAIkQAIkQAIkQAIkQAIgwHyJ
vA1IgARIgARIgARIgARIQJmAt7c3dipydna2s7NTbuM5CZBAehCwsLB4+PChjY1NekzOOUmABEiA
BEiABEiABEiABDSeAOPDNP4ScgEkQAIkQAIkQAIkQAKpTmDy5MnDhg2jGJbqYGmQBL6bAFIm3r59
+7uHcyAJkAAJkAAJkAAJkAAJkEByCJy0sU9ON03so6uJTtNnEiABEiABEiABEiABElAfgZs3b545
c8bNzU19U9AyCZDAtxKwtbV9+fLlt45ifxIgARIgARIgARIgARIggW8iEPPW/5v6a1Bnxodp0MWi
qyRAAiRAAiRAAiRAAmlBYNSoUfPnzzc2Nk6LyTgHCXwjAScnJ2tra6i23zhO47sXKlToxYsXGr8M
LoAESIAESIAESIAESIAESEAlgSv1O+Otsst3NlIP+05wHEYCJEACJEACJEACJKCVBLZv3x4bG9un
Tx+tXB0XpQUEKlWqtGXLljZt2jx58kQLlpP8JRQuXNjd3T35/dmTBEiABEiABEiABEiABEhAEwkE
XnLEWx2eUw9TB1XaJAESIAESIAESIAES0EgCUVFRkyZNWrlypY6OjkYugE5nDgLNmzdftGhRs2bN
fHx8MseKFatEfJinp2fmWS9XSgIkQAIkQAIkQAIkQALpQqCZr0u6zJsGk3L/sDSAzClIgARIgARI
gARIgAQ0gwA0hjp16tSqVUsz3KWXmZhA3759IYZBErty5YqpqWlmIGFoaBgZGZkZVso1kgAJkAAJ
kAAJkAAJkEA6EjCwskzH2dU6NfUwteKlcRIgARIgARIgARIgAY0h4OXlhcgwZ2dnjfGYjmZuApMn
T8ZN2759+xMnTujr62s9DGzpFxERofXL5AJJgARIgARIgARIgARIgATURID5EtUElmZJgARIgARI
gARIgAQ0jADUheHDh9va2mqY33Q3ExOAgmthYfHrr79mBgbZs2dnfFhmuNBcIwmQAAmQAAmQAAmQ
AAmoiQD1MDWBpVkSIAESIAESIAESIAFNIuDo6Hj+/HlIYprkNH3N9ASyZs26bdu2+/fv9+zZMy4u
Trt5IAZO69eo3VeQqyMBEiABEiABEiABEtAIAidt7DXCz+9wknrYd0DjEBIgARIgARIgARIgAa0i
8PHjx5EjRy5cuBAJ2bRqYVxMJiBgYGBw8OBBPz+/fv36ffjwQYtXHBISYmJiosUL5NJIgARIgARI
gARIgARIICMQiHnrnxHcUIcP1MPUQZU2SYAESIAESIAESIAENIkAImzgLiJsNMlp+koCnwkYGhoe
OnTI29u7f//+WiyJYfMwKtafrzn/JQESIAESIAESIAESIAES+GYC1MO+GRkHkAAJkAAJkAAJkAAJ
aBMB7Ej0yy+/YB8mHR0dbVoX15KpCEASO3LkyMuXLzt27Ih4R61cOz6qjA/TyivLRZEACZAACZAA
CZAACZCAnEDerm3ydmsrr0mtso62/s9SagGiHRIgARIgARIgARIgAe0mMGPGDDc3t+3bt2v3Mrm6
zEAgKiqqSpUqUHbv3buHrcW0bMl79+7F53T//v1ati4uhwRIgARIgARIgARIgAQyFIEYvwADK8sM
5VJqOaNt/4+UWlxohwRIgARIgARIgARIIDMQ8PT0XLVq1aJFizLDYrlGrSdgZGR0//59KyurXr16
vX//XsvWi+i3ggULatmiuBwSIAESIAESIAESIAESyGgEtFUMA2fqYRntZqM/JEACJEACJEACJEAC
aUdg0qRJo0aNyp8/f9pNyZlIQJ0EEBx24sSJ8PDwDh06IFxMnVOltW0PD49ChQql9aycjwRIgARI
gARIgARIgARIQFsIUA/TlivJdZAACZAACZAACZAACXwjgevXr1+6dAmbh33jOHYngQxNwMDAAEkF
zczMmjdvHhoamqF9/RbnnJycypUr9y0j2JcESIAESIAESIAESIAESIAEvhCgHvaFBUskQAIkQAIk
QAIkQAKZhwC20R05cuTixYuRYi7zrJorzSQEdHV1t27dCvWoQYMGQUFBWrDquLg4Z2dn7I6mBWvh
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
DJDKK2YGHIv0sIAj1YAiIAIiIAIiIAIiwJvr+leWHoOgEwipxyykjAk6ek0gAglN4Pi8JZue61Fp
0ZQMJYsntC3+zK9fDH+oqY8IiIAIiIAIiIAIxAuBBNfDMICFBsNHLcAZa+PldmgSERABERABERAB
ERABERABERABEUi8BHLUf7DK2rl//LL/2sU/QpPCmZ9+Dk3DZJUIiIAIiIAIiIAIiIB3AnVObPLe
IHyvpghf02W5CIiACIiACIiACIiACIiACIiACCROAkQgdAQhDBEON65c2dln4KkVP1VbNy9ETJIZ
IiACIiACIiACIiACvhNInT2r743Dq6X8w8LrfslaERABERABERABERABERABERABEfgXgX1DPz+7
LiRe440+eXpl+fqXDhy+f/HUf5moExEQAREQAREQAREQARFIaALKbJHQd0Dzi4AIiIAIiIAIRCKB
xJkZ5cyZM9evX8+ePXsk3tJQXFNIPWbJkiW7efNmKGKSTSKQCAgUTJLytSTZdiWJnpTk/LEk1xNw
xbWSpLuaJMmKJJe828DP140bN7y30VUREAEREAEREAEREIHESUD5wxLnfdeqRUAEREAEREAERMAf
AkWKFMmfPz89v/zyS/YcJ0yYEOMo69atW7NmTYzNPDXYsWNHlSpVUMIKFCjgqY3b+hMnTqxcufL4
8eNur1Lp+xI8jaD6+CHA1jZ6mI44Evjuu+8effTROA4Sst2zZMnisC1NmjTR0dGOSp1C4K+//rrl
llscKPiNddRYp7/evPL0pb1t33trQs5SVmW8Fc5v3WnNFRV9dvnNPw8dOnTHHXdYla4FiWHx88us
WURABERABERABETADwJROcv40SssuiheYljcJhkpAiIgAiIgAiIgArEg4NhnxHEnxs4tWrRo0qRJ
jM08NXjvvfdWrVrVpk2bAQMGeGrjtn7RokXVqlWbP3++26tWpS9LsBqrIALhSyBPnjy7du0KX/u9
WH7q1Cn8Rx0NcufOvXXrVkelTiGwZcsW4DhQXPrncFRap8nTpi3c++UaO5ZaNZePnbh67rx1GvDC
tYt/7Bs+fkXZumvqP2MNnixVKsqHDx/OnDmzVamCCIiACIiACIiACIhAGBGIPn4qjKyNlakxb47E
ajg1FgEREAEREAEREAERCB0CTz311NWrV1u1ahVskzZv3pwpU6YxY8Z06dIlsHPF2xICa7ZGEwH/
CBQsWPDcuXM7d+70r3so95o5c2bRokUdFiKHv/XWW/hCOeoT+SlAXnvtNeA4OCCXrl692lHpOE2V
OZNVw0bGwrwVfqj+5K+DRpHWy6oPVGHDUx3Prv75roF9av32k2NM3nJwvd2ONjoVAREQAREQAREQ
AREQgXgmID0snoFrOhEQAREQAREQARGIPwKLFy8mjKHlfTV06NC7776bGFxZs2al/vvvv8eUadOm
VapUidhWx44do9CpUye39uHY8c4779AgY8aMxYsXf/rpp48cOULLOXPmUPnrr7/+8ccfFLp27era
fffu3Y0bN86RI0e6dOmIoMUUFy9epFmtWrXefPNNCm+//TZ98YcgphYFKrdt29asWbOcOXPOmDHD
WsL06dO5unHjxpdffpmdVhZy33334ZdmzXj58uVevXpVqFABI6tWrbpgwQL83tq2bWsaeDLD6q6C
CCQ4gQwZMqCCvPTSS7///nuCGxNAAzZs2PDuu++2b9/eMSa/GOvXr3/88cdxfHJcSrSnf/75JzEz
0URdXy947LHH3njjjfPnfXX5ynjPXQ+f3Fyo54t/7j3w28iJFtI/ftl3fstOvLusGu8FtLQjM+bs
fG3gT488c2Tad1bjslNHlJ08LHutKgTmtSop7N27l1C38fAqhn1SlUVABERABERABERABCKGQK6m
DXI1axiM5aQIxqAaUwREQAREQAREQAREIBQIkJfrp59+OnnyJMYMGjSoZ8+et912W8OGDU+fPr10
6VK2XH/88UcuoU6RwidlypQU3O5KE4CxTp06S5YsyZYtW/Xq1dnr/OKLL1CbVqxYwSV64YWGlEXB
1c+DSrogtiFQ4dyAfDVs2DBCaX399ddXrly5cOECBqBj0czEUsNgomxNmjRp//79qVOnJsaatQR6
UUZaY0WVK1dmanKe1a1b98CBA+QlYgkPPfTQf/7zn3z58jEjslmjRo0YuWLFimaNnszgqg4RCBEC
6AoIz2i6POGDBw9u0KBB8uTJQ8Q2/8zgN2HgwIGjR49G6uPL6xikRIkSPXr0eP3115HEnn/+eTRy
xGxHm8RzimsgLzHgaMsvM/LhXXfd5Vj7iy++OHnyZH7KFi5cSC4xx1W3p8nTpMlR/0H+2K+e27Bl
zzvDLu0/mCx16rs/ej1f66bm6pHps4/NXnQjOvpG9JW8rZvmeryuqT84bvrZNRsz3lP8jrbNUb+s
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
3++CWoqACIiACIiACIiACIiACIiACIhABBJ4/vnnP/vss1BeGOnuCGVJDrCAGPnLL7/UrFnz1KlT
ARlNg4iACIiACIiACIiACIQFAelhYXGbZKQIiIAIiIAIiIAIiIAIiIAIiEB8ELh69Wrfvn1///33
+JgsZObo1atXnz59Tpw4ETIWOQ1JkSLFxo0bcepyXvDrvFKlStWrV69YseKRI0f8GkCdREAEREAE
REAEREAEgkUgV9MGuZo1DMboyh8WDKoaUwREQAREQAREILETUCC7xP4ExMv69ZjFC+bInKR+/fpd
u3atVatWZC4vzqv65JNPFi9ePHv27DiPFE4D9OjRg+SLY8aMCSej42brhAkTli5dOmnSpLgNo94i
IAIiIAIiIAIiEFEEok+eTp09a0Qt6X+LkR72PxL6rwiIgAiIgAiIgAgEjkDiFCrOnDlz/fr17Nmz
Bw6kRvJGIHE+Zt6I6JpvBPB8KlGixPHjx1OmTOlbj0TXKjo6ulChQrNmzapQoULiWfzly5f79evX
qVOn3LlzJ55Vb926tWTJkolnvVqpCIiACIiACIiACCRmAoqXmJjvvtYuAiIgAiIgAiIQmQSKFCmS
P39+1vbll18imfD+e4zrXLdu3Zo1a2Js5qnBjh07qlSpghJWoEABT23CtH7KlCkWQ3s5TJcjs0UA
AjNnznz00Uclhnl5GFKnTv3mm2/279/fS5vIu5QmTZqBAwcmKjGMm2iJYfv27Yu8e6oViYAIiIAI
iIAIiIAI2AlID7PTUFkEREAEREAEREAEIoHAjRs37MtIlizmf/K1aNGiSZMm9l6xKr/33nurVq1q
06bNgAEDYtUx9BvbYdrLoW+5LBQBTwR++OGHZ5991tNV1RsCzz333Lx580QjFAgcPHgwW7Zs165d
C6oxW7ZsGTVqVFCn0OAiIAIiIAIiIAIiIAIJSyBFwk6v2UVABERABERABERABIJH4KmnnmrWrFny
5MmDN4UZefPmzZkyZUpUWWeCjVTji0DwCEyfPj14g2vkcCeA8H/27NkMGTKEjgchT+wTTzyRIkVw
ty9q165NHNGrV6927Ngx3G+i7BcBERABERABERCBuBCIylmmzrGNcRkhZPvG/LJwyJouw0RABERA
BERABERABLwTWLx4MWEM58+fb5oNHTr07rvvvuWWW7JmzUr9999/T/20adMqVap06NChY8eOUSBz
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
4DaE6E5NwNepAUVABERABERABEQgPglIqIhP2ol2Lj1mifbWx2rhffr0QTMm/1OseoV1Y1KFdenS
ZfXq1V5WQXhY4ijGSs45d+4ccj4BWrNmzepl5ERyiSi4OBbzXJGCMZEsmWV27tx5y5YtUVFRlrd0
4lm7VioCIiACIiACIpB4CESfPJ06e2T+izdZ4rmLWqkIiIAIiIAIiIAIiIAIiIAIJCoCxCP99NNP
33777US16r/++uvOO+/0vmRiSD722GO4eHpvZr+KX+ywYcO2bt1qr0y0ZXI3vvLKK/Xq1RszZkzA
IeDUiNdvwIeN+4BkqcyVK5drls24j6wRREAEREAEREAERCB0CESqGAZh+YeFzmMmS0RABERABERA
BCKHgBx3IudehvBK9JiF8M35l2kE4WR/P0FirK1cuZJ8e+XKlfuXQTpJkoR0UG3btt2+ffvatWvF
w28CJKEcO3Zs7969/R7BtSN3pEGDBps2bSI2r+tV1YiACIiACIiACIiACIiA3wTkH+Y3OnUUAREQ
AREQAREQAREQAREQAY8EoqOju3btWqpUKUKr1a1b12p38ODBGzduWKdBLVStWlVimFvCZDEcP358
nTp1cCZz20CVvhDIli2bXQxbvnw5QqMvHT21+fPPP5966imcGiWGeUKkehEQAREQAREQAREQAb8J
SA/zG506ioAIiIAIiIAIiIAIiIAIiICTgKV1sbOfPXt2RBeC8v34449Wu8OHD1eoUOGHH36walRI
KAIDBgxImTIls+PDl1A2RNK83333HZEqSS1GOEr/1oWEXKVKlccff9y/7vHZS89MfNLWXCIgAiIg
AiIgAvFJICpnmficLj7nUrzE+KStuURABERABERABBILAQWySyx3OkHXqccsQfG7nxz/GByP2NB3
f/l/tV988QW5l0jr9dxzz/2vLsD/JXPYlStXYkyjFeBZQ2M4JMnTp08jRvpuDvrNgQMH7r777hi7
EGJxzpw5dqeoGLskqgYbNmwYPHjw+vXrd+/eHduFIyGfOHEif/78/LjFtm/8t0fkfvTRRwlJWrx4
8fifXTOKgAiIgAiIgAiIQPAIzE6at+HNQ8EbPwFHlh6WgPA1tQiIgAiIgAiIQMQSkFARsbc2lBam
xyyU7kaSixcvdu7cedGiRT///LMvSszRo0dJkoRsEIxVfPPNN926ddu4cWOmTJmCMX7oj5klS5Zd
u3bddtttPpp67dq13Llzz5s3L8bwkihnOXLkOHv2LGEwfRw8ETY7duxYzpw5zcK5EXw7AOtF5ULC
TJYs/KLXIGz369dv3bp1WbNmTYR3WUsWAREQAREQARGIVAIJroetqtYYtpVXzAw44fD7F2fAEWhA
ERABERABERABERABERABEYgLASKnlSlTJl26dDt27PBFDGMu0iMtW7YsLpN66rt///527drNmDEj
0YphkLnnnns2b97sCZFrfYoUKT7//PN69eohZ7petdekT5/+rrvuWrt2rb1SZQcBSwyj/urVq88+
+yzaZMuWLR03heRtW7Zs6dSp05dffukYISxOW7Vq1bRp00aNGrHGsDBYRoqACIiACIiACIhAWBA4
s3INf4JhqvSwYFDVmCIgAiIgAiIgAiIQugTy5s2r4E6he3tkWXgSiI6OHjhw4PDhw2+99VbfVxCr
xj4OS4zExo0bv/766+XLl/exS0Q2K1WqFEJLrJb2yCOPTJs2rUOHDjH2qlq1KlHyYmymBoZAyZIl
CTJJHEW4bd261cIyatQo3PjQk3CuCouEYZbl9sJ77723cOFCk4XOXq+yCIiACIiACIiACIQvgTon
NoWv8d4tV7xE73x0VQREQAREQAREQAT8IRDKgexy5cqVMWPGnTt3+rMw9QklAqH8mIUSp/iwBf8w
L7HgvFtA/L25c+dWr17d7lLjvYuuxkhg1qxZxKJEq4ixpaMBDkz4ljkqHaenTp0iPVuMzRy9dOog
cP78eSThcAyT6FiITkVABERABERABERABAJLgICNDBiMHGbyDwvsndJoIiACIiACIiACIiACIiAC
iYIAGliPHj3MUv0Ww+hO/D2UMMSVffv2JQpw8bLIJ554wg8xDNMslQvRy5Ol2bJls5p5aqP6GAnw
ZobEsBgpqYEIiIAIiIAIiIAIiEAACUgPCyBMDSUCIiACIiACIiACoUKAQGGEn7rzzjuJQ1WjRg3y
4jgsI7dQlSpVSC9UrFixNm3a2Hd+b9y4MXjwYCJcsVnJTn2JEiVGjx5tuo8ZM6ZSpUqHDx8mNFzF
ihUJLOZaQ8tt27YRsS137txp06YllxJlfCmob9KkCd1PnDhhGUNst2rVqj322GNWjQoiEC4EXnjh
hV9//TUg1uIc9uabbzZo0ODixYv+DYg4N2nSJP/6qpdbAsePH+/SpQtg3V5VpQg4CJBSrnLlyseO
HXPU61QEREAEREAEREAERCB0CEgPC517IUtEQAREQAREQAREIDAEoqKiEKu++eYbnE7uu+++devW
tW3b1p4UZ9euXc2aNfvtt9/QolCkxo8fT6ohS6Z67bXXunfvfvDgQbSrmjVr7tmzp127dkuXLsU4
lLCffvoJr4vevXuz90fGFLc19Pr6668R2xC6SA9D4LLmzZvTPV++fHT/6quvrHUuWrSINDzodlaN
CiIQFgRatmzJ92jq1KmBsrb9P8eKFSv8GPDy5ct8o2ObLsuPiRJVF/Is7tixA5Hy3LlziWrhWqx/
BCpUqMBrKPXr1+f76N8I6iUCIiACIiACIiACIUIgKmeZELEk4GZIDws4Ug0oAiIgAiIgAiIgAglJ
4Nq1a506dWI/buLEiatXr543b97GjRtx1Ro5ciTZdCzLHnnkkb1793733XfIXa1atUIbw+WLqzhD
jB07FqFr69atCxYsmD17Nh2pR7Wy+lLzyiuvnDlz5uOPPzaV9hp0uJMnT+I6s337dtQC9ugLFiyI
DHb16tXnnnuO9tOmTbOGMtrYs88+a9WoIAJhQYDUR3xB8IAMoLWI1nwxYztgdHR01apVkydP/v77
78e2b2S3P3DgwC+//OL3Ggnl9/333+NBi/eeYxDeD+CdAEelTkWgW7duhQsXRtoWChEQAREQAREQ
AREIawLRxz1GDg/rdWG89LBwv4OyXwREQAREQAREIBIIXLhwYZPt8DtmGizWrFnDFvBDDz309NNP
GzRszxGKDaHryy+/NDXs837yySepUqXilG30IUOGpEuXzlxFTuvXrx+SFb5cprHxjfjjjz/MKZ/1
6tVDPMucObPbmrJlyw4dOvT11183V1na9evXEcPYtcff4v777//hhx8OHTrEVSoR5EqXLq1MPBZJ
FcKFwPTp02+55ZYgWRurGH1LlixBRZsyZUqKFCmCZE+YDstvF846cTGen8dBgwaZdwWscbg7L7/8
Mj64Vo0KImAR4JuIQzYO1laNCiIgAiIgAiIgAiIgAqFDQHpY6NwLWSICIiACIiACIpB4CeDFVcZ2
4E3lNwv8veiLv4h9BHNqLlGP1pU/f36rASENSRJGvER0ODzDcFIhbVjPnj0R1W6//fYePXrQMmnS
pFZ70oBZZVOw16B4NW3alHiJBJRD68qTJw/OZzQzI+Aixm4yWgI1ixcvZsNazmGGoT7DiwAScvAM
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
iIAIiIAIiIAIiIAXAtLDvMDRJREQAREQAREQAREIOQISKkLulkSiQXrMIvGuak0iIAIRS+DmzZvE
7UybNm2yZEpdEbF3WQsTAREQAREQARGIO4Hg6WH6R1jc745GEAEREAEREAEREAEREAEREAERCGkC
ly9fvnr1akibKOMinQAvMdxyyy0SwyL9Pmt9IiACIiACIhD2BKJylgn7NXhYgPQwD2BULQIiIAIi
IAIiIAJhS4AcOffff39gzf/444/ZyCPxiY/Drlu3bs2aNT42zps3b/HixT01njJlClNPmDDBUwPV
i0AACZw4ceLrr78mslkAx9RQoUBg1apV9913XyhYIhtEQAREQAREQAREQAREIJQJRB8/FcrmxcU2
6WFxoae+IiACIiACIiACIhCKBG7cuBHw3XzGZKm+D9uiRYsmTZr4SMf7sGZqH4dSMxGICwEettq1
a/NAJk+ePC7jqG8IEnjwwQcRO7du3RqCtsmkREUAP8X27duvWLEiUa1aixUBERABERABERCBUCAg
PSwU7oJsEAEREAEREAEREAEREAERSHgCo0aNypo165NPPpnwpsiCQBPAzfTZZ58dP358oAfWeCIQ
OwIpU6Z88cUXGzdu/Ntvv8Wup1qLgAiIgAiIgAiIQOIgkKtpg1zNGgZjrdLDgkFVY4qACIiACIiA
CIhAwhMgwGCJEiXSpUtXsGDBLl26kDvH2IQHzODBg0uWLElYxfTp09Nm9OjRlrlDhw69++67SXCC
KlClSpXvv//eukTh999/b968OZdoQOQx4o/Zr5rytGnTKlWqdOjQoWPHjlHo1KkT9d4nNR1nzJjB
jJkyZSpWrFibNm1OnXIfogHfnXfffbdcuXLYT/t33nlHDmSud0E1fhA4c+ZMv379hg0b5kdfdQkL
Ah06dDh9+rR+McLiZkW2kffcc8+rr7761FNPeXePjmwIWp0IiIAIiIAIiEDIEqhzYlPC2lZu2shy
U0cEwwbpYcGgqjFFQAREQAREQAREIIEJrF27tnXr1vhDVKtW7fDhw6hcb731lrHptdde6969+8GD
BxGratasuWfPnnbt2i1dupSrgwYNQjlDiGrYsGHZsmVXr1796KOPrl+/3lpM27Zt582bV7FixVy5
cpEerG7dukgI1lWrcPHixejo6Js3b1K4dOkS9V4mNb127drVrFkzXpbH4CtXruDDUb58eYKbWWNa
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
6VQEREAEREAEREAERCBMCcg/LExvnMwWAREQAREQAREIaQLEbuIIaRNlXPgT0DMWq3u4e/fuWLVX
44AQINYf+lNAhgrqIOfOnQvI+Ei/gQqxdfjw4S+//HLs2LEOw1KmTNm+fftBgwb17t37lltucVzV
aWwJ3FXxrg+jPoxtL7UXAREQAREQAREQAREIRwJBeUEyHEHIZhEQAREQAREQAREIIAEcYtgS1SEC
QSXAYxbAhzYgQ9WqVevNN99kqLfffrtSpUp2L5wJEyaQVipdunQFCxbs0qXL5cuXrRlJIkUypNy5
c+fLl69ly5YbNmywLjkKQ4cOJfQiGgCR4nCa+f7772kwbdo05jp06NCxY8codOrUCewUsISRmzVr
ljNnTi7hxdW4cWMzIMHxevbsSXcKmTJlcjWJeHpE8yOyX/78+YlNN2/ePAb86aefHPa4Tm0asHC6
33nnndhZo0aNzz//3NFRpzESIG9WhQoV+vfvz+3j2ejXrx+31epVuXLlzz77rEOHDtyjLFmyEAKR
SzT4+OOP8UZLmzZtmTJlFi9ebLVfv349nls8OTgvojNZ9RTq1KlDmE0OxCd7PY8oghOxH1OnTk38
T8utbfr06Rh26623Zs6cuWbNmtZD/uijj5YuXXrHjh3ffPMNBY5x48aZAU+fPv30009jKg9bo0aN
XGNI2ue1yqtXrybCp8M5zFylkliU1tRWFxUsAqvnre5YuePS6Us/6/XZ08WffviWhztX60yqMKsB
hY/afdS9dnfzZ8GEBfZLKouACIiACIiACIhAYiYQlbNMpC5f/mGReme1LhEQAREQAREQAREQARGI
bwJXrlwhuRGzoiVcvHjRCpO49p8DPQw1AqkJWQthjFhwtFy+fHm9evXQ9tCN6EWEPcQn2qBnOKzH
IQYR67bbbmvYsCECA21QIExaMuaKjo7Gb4bCpUuX6Ih2hVyBhrF//370DCIlIrOhLpgxubpz585h
w4YVLlwYocthEpmlmjZtirhy//330378+PGMg21uXYhcp46KikLeo/19992HNrNixQrWuHHjxuHD
hztWlBhOeQYccQhJLJc8efIY137y5EliGCJzvvLKKz/88MNbb72VJ08eKxQhSif1hA1ErUyTJg16
JwO+8847yGbPPPMMOha3rEGDBihPSFDco4ceeggF6/333+fpQtBCqrQMYAQeHno57GzVqhVPArom
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
d0QeST1F24/I1WpRIiACIiACIiACIiACIiACoUkAtzD+3yRG8ePSpUuHDh0yLT0JVHFcIJ5tqCCk
iSJ4I45obKPjkYabl/ET8n3w48eP411ExqmIj2uHxhDw/6/ECwpB8fDhw74DV0uLQDDuiDV4CBZY
77KbTre8ELRTJomACIQLgRpJawT877VwWbvsFAEREAEIzE6at+HNQwmIAgOYPRg2BP7/WxIQk6YW
AREQAREQAREQAREQAREQgbgQwGnptttuQwZbt24dAfcYasmSJXXr1i1QoMCOHTsiXtnyD11iU1/8
oxSfvRLbHZEeFp9Pl+YSgcRAQHpYYrjLWqMIiIAXAgmuh61v9hKe/uWmjvBipH+XpIf5x029REAE
REAEREAEREAEREAEIpPAoEGDSACGJFapUqWzZ89u2bKFFGXffPMNucoic8FxXlViU1/iDCzoAyS2
OyI9LOiPlCYQgURGQHpYIrvhWq4IiICTQPTJ06mzZ3XWRsS59LCIuI1ahAiIgAiIgAiIgAiIgAiI
QOAILF++fOrUqfv27SO3WdGiRV944QX8wwI3fKSNlNjUl9C/f4ntjkgPC/1nUhaKQHgRkB4WXvdL
1oqACIiA7wSkh/nOSi1FQAREQAREQAREQAREQAREQAScBBKb+uJwbKmpAABAAElEQVRcf+idJ7Y7
Ij0s9J5BWSQC4U1Aelh43z9ZLwIiIAKeCSTzfElXREAEREAEREAEREAEREAEREAEREAEREAEREAE
REAEREAEREAERCDsCUgPC/tbqAWIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQNwJ
ROUsE/dBQnOEFKFplqwSAREQAREQAREQAREQAREQAREQAREQARGIHwIzh848deTUC++/kCzZv96c
fqfVOzdv3DQ21G1dt2ytsrGy58KZCzeu38iUPVOseqmxCIiACIiACIhAAhKIPn4qAWcP6tT/+ldO
UGfS4CIgAiIgAiIgAiIgAiIgAiIgApFHgOxNOkKNQOQ9ZpGxorMnzm5eufnM8TMhuJyoiVHTP5yO
duWwbcdPO7av3r52wdolU5Yc3HXQcdV+uujLRWRdWjBhgan8bcdvHat0fCz7Y80LNLc3M2UHiq8+
/oq+6xauc22pmsAScJD3Prjui3c+uioCIiACIhAkAquqNeZPMAaXHhYMqhpTBERABERABERABERA
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
AAmQQBwRCPcLiKNImmFSag7wmgRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARI4Mcj
4BBywVg3TT3MWJ8s90UCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACMSCQLke2GHgn
K1fqYcnqcTFZEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBGBKgHhZDYHQnARIg
ARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJIVgSohyWrx8VkSYAESIAESIAESIAESIAE
SIAESIAESIAESIAESIAESIAESCB+CPjkLhs/gRM/KvWwxH8GzIAESIAESIAESIAESIAESIAESIAE
SIAESIAESIAESIAESIAEEp3Ax2dhiZ5DPCVAPSyewDIsCZAACZAACZAACZAACZAACZAACZBAohF4
cO3B6jGrLxy9kGgZcGESIAESIAESIAESIIGkRCB1UkqGuZAACZAACZAACZAACZAACZAACZAACZBA
HBC4f/X+xikbU6VOZVfbLg7CMQQJkAAJkAAJkAAJkECCELBs1yyFiUl8LEU9LD6oMiYJkAAJkAAJ
kAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJJDMCDiGJXF5fYevSeEJGPSyewDIsCZAACZAACZAA
CZAACZAACZAACZBAIhBwcXD58PbDy9CXWHvv6r1nD50VSYzaMCqPTZ5ESIhLkgAJkAAJkAAJkEDy
IZAuR7bkk2zMMqUeFjNe9CYBEiABEiABEiABEiABEiABEiABEkjKBLJbZf/4/uPXr18f3Xxkam6a
I18OkW3qtPwNJCk/N+ZGAiRAAiRAAiRAAvFLgP9bMH75MjoJkAAJkAAJkAAJkAAJkAAJkAAJkEBC
EnBd44rljm0/duXEldptaneb0C0hV+daJEACJEACJEACJEACSZNAyqSZFrMiARIgARIgARIgARIg
ARIgARIgARIgARIgARIgARIgARIgARJISAI+ucsm5HIJuRb1sISkzbVIgARIgARIgARIgARIgARI
gARIgARIgARIgARIgARIgARIIIkS+PgsLIlm9t1pUQ/7boQMQAIkQAIkQAIkQAIkQAIkQAIkQAIk
QAIkQAIkQAIkQAIkQAIk8N0Ejts74s93h9ERgOeH6YDCIRIgARIgARIgARIgARIgARIgARIggWRN
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
g8vGLEN8IfTaN7dXcQjcFwjh2bmvc3aT7Cq3eKkLASSEXb36n/RHXWbFycfc3Dw8PDxOU+hMAiRA
At9IILXGeq/fGJTTSYAESIAESIAESIAESIAESIAESIAESCARCOCbfWVyTyKsqMsS796+e3DrAdQL
lf5PGuciSwn1AyEySRlJo1s8BhE2/E54jtw5shplxfT3794/uB29Ky0LoQYgRAvkTqn7oJkT1DvI
FSLRTff94Ksn5Es9jXiaJUcWFGCUYoyWCOhehm5nk/ZM0qK6aZke6y0wx0mhlJjmNdXT14vVX+mA
VmpI5kO5SMOs0Ql/6q+PHz+iORZaiJkVMFO/++bVm5CrIahjiSwoXVAkRAT1mHEaQZ4fkgiRgxi/
/ce6FsothgV//RyqV0qMdbpwGOI4BAlkq26typEr9ip/KjFrpq6Z0r4vxaNMaUdWeei8JIFvJMBf
om8EmGjT+ccu0VBzIRIgARIgARIgARIgARIgARIgARIgge9MAN9A/YR62Hc+ZMoL9/L5S+SHFatY
TD0xKOXB4InjTADSzvKxyyH9OvziEOfJqVJRD1OBdunSJVdX12XLlhUtWlTeGjdu3K1bt+bPny9H
4mG0adPmzJkzmNiwYcO///47HhGSyhQ/P7/ly5eDJIpPTpo0KZG3jT5wAwYMWL9+vampaSIvnXKW
ox6WVJ51mqSyUe6TBEiABEiABEiABEiABEiABEiABEiABEggJRBAkUbX4a4Uw1LCs06IM+KL6fZ/
tI+fGJYQ+0nqMaOiogIDA1++fKk8yM2bN6HuKEfiYffs2XPChAnIRr137148pv+QKePHj8+RI25J
h0Dn5OT05MmTTp061a1bNyG2jceB8qdQ3TQGf/r0KSSx169fa7zLQRJIUQTYPyxFPW4elgRIgARI
gARIgARIgARIgARIgARIgARIgARIgAS+icCCBQu+af6XyVWqVMG/SSszDNmHqIkap7Pv27fvzZs3
c+bMyZNHtdNenOJoccau8Pr06ZNGn/r1679//17jLQ6SQEojwPywlPbEeV4SIAESIAESIAESIAES
IAESIAESIAESIAESIAESiJHA8+fPW7dunS1bNisrq40bNyr9UO6vwpdXx44dlePBwcHdunXLly9f
xowZbWxsDh8+LO526NChe/fujRo1MjQ0LFWq1P79+5WzNNpr1qwpX7585syZs2fP7uDgcP78eeFW
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
--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 07 Dec 2022 22:22:01 +0000
Resent-Message-ID: <handler.59314.B59314.167045171115433 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167045171115433
          (code B ref 59314); Wed, 07 Dec 2022 22:22:01 +0000
Received: (at 59314) by debbugs.gnu.org; 7 Dec 2022 22:21:51 +0000
Received: from localhost ([127.0.0.1]:52536 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p32nW-00040r-Kg
	for submit <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:21:50 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:42092)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1p32nT-00040l-KV
 for 59314 <at> debbugs.gnu.org; Wed, 07 Dec 2022 17:21:48 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=MPY19ep5/ujF3TZJqBx+JCVOYl6CxBdI2bHLDFGnMp0=; b=LDqk8sLneK0yLhSrd9wLEE8CNm
 UboIQzBkep8iAyOusz9p1G3zqAZyyOEwzr7kwTHKprO/XfaqzSvs/AFvYUnWBhrjP+gALqv9d0Cuk
 7hMWtDAerndAAFknsQ5P53OOzWBnAzkNT1K7Nff5konYchlq1GvgT0Q/ov8eTuv9MAPaXgunXo36h
 CNjTIusP2sDv0Q+NYiv3I8++6DdyPZzRPoqsxdf00MPnw0I+HmwahbD4tetLZeN7fzRk0joKoxw5s
 xLPfSeOceLhWf4QndOdfrfTRjDUQF4KHPAwMFga6Bdjz1AHrxYA5KV9vmbR9DjDUqeEQUQcORu0lO
 dYwQ7ieA==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1p32nN-0003ii-5L; Wed, 07 Dec 2022 17:21:41 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <e0a4caa74f558ba6574084317123fb8f@HIDDEN> (Alexander
 Adolf's message of "Wed, 07 Dec 2022 23:10:06 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
 <e0a4caa74f558ba6574084317123fb8f@HIDDEN>
Date: Wed, 07 Dec 2022 17:21:40 -0500
Message-ID: <m3wn72am8b.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Alexander Adolf <alexander.adolf@HIDDEN> writes:

> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>
>> [...]
>> If I remove this line from message.el:
>>
>> (add-hook 'completion-at-point-functions #'eudc-capf-complete -1 t)
>>
>> and rebuild Emacs, then my recipe works, via:
>>
>> message-tab -...-> message-expand-name -> eudc-expand-inline
>>
>> The EUDC multi-selector UI is invoked allowing me to choose between
>> emacs-ert-test-3 and emacs-ert-test-4, and the full name and email
>> address is inserted correctly.  This is with completion-styles left at
>> its default value.
>>
>> So that's one code path validated, phew.
>> [...]
>
> There are two ends to this, I think.
>
> For one, you are no longer adding `eudc-capf-complete` to
> `completion-at-point-functions` in message mode. This seems fine given
> that we are not there yet to make `eudc-capf-complete` the default thing
> to happen in 29.

To be clear, I wasn't going to push a patch to remove that, at least not
yet.  It's not making anything worse, so might as well leave it as-is.

> [...]

I'm trying to get message--name-table's EUDC support working.  I only
wanted to remove eudc-capf-complete from the debugging equation, because
message--name-table existed way before eudc-capf-complete was
introduced.

I want to understand why it doesn't work (why it results in the " <..."
expansion).  I haven't delved deep enough into the completion-at-point
to figure that out.  I was hoping with your experience writing
eudc-capf-complete that you'd know what was wrong with
message--name-table's EUDC support.

I don't think completion-styles should have any bearing on this.
message--name-table's EUDC support has to be made to work with the
default completion-styles setting.  Do you know how to do that?

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 08 Dec 2022 22:35:02 +0000
Resent-Message-ID: <handler.59314.B59314.167053888426122 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167053888426122
          (code B ref 59314); Thu, 08 Dec 2022 22:35:02 +0000
Received: (at 59314) by debbugs.gnu.org; 8 Dec 2022 22:34:44 +0000
Received: from localhost ([127.0.0.1]:59557 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p3PTX-0006nG-Ec
	for submit <at> debbugs.gnu.org; Thu, 08 Dec 2022 17:34:43 -0500
Received: from smtprelay02.ispgateway.de ([80.67.18.14]:49241)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p3PTV-0006nA-Qr
 for 59314 <at> debbugs.gnu.org; Thu, 08 Dec 2022 17:34:42 -0500
Received: from [46.244.216.143] (helo=condition-alpha.com)
 by smtprelay02.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p3PTe-0003ZI-DL; Thu, 08 Dec 2022 23:34:50 +0100
Message-Id: <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <m3wn72am8b.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
 <e0a4caa74f558ba6574084317123fb8f@HIDDEN>
 <m3wn72am8b.fsf@HIDDEN>
Date: Thu, 08 Dec 2022 23:34:39 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
X-Spam-Score: -0.0 (/)
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.0 (-)

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

> [...]
>> For one, you are no longer adding `eudc-capf-complete` to
>> `completion-at-point-functions` in message mode. This seems fine given
>> that we are not there yet to make `eudc-capf-complete` the default thing
>> to happen in 29.
>
> To be clear, I wasn't going to push a patch to remove that, at least not
> yet.  It's not making anything worse, so might as well leave it as-is.

I see. Please kindly ignore yesterday's path then, please.

>> [...]
> I'm trying to get message--name-table's EUDC support working.  I only
> wanted to remove eudc-capf-complete from the debugging equation, because
> message--name-table existed way before eudc-capf-complete was
> introduced.
>
> I want to understand why it doesn't work (why it results in the " <..."
> expansion).  I haven't delved deep enough into the completion-at-point
> to figure that out.  I was hoping with your experience writing
> eudc-capf-complete that you'd know what was wrong with
> message--name-table's EUDC support.

I'll look into `message--name-table` and will find out what breaks with
the " <" prefix. Please allow until Friday USA time (assuming you're
there?); it's late already over here (Europe).

> I don't think completion-styles should have any bearing on this.
> message--name-table's EUDC support has to be made to work with the
> default completion-styles setting.  Do you know how to do that?

The thing is, they do have a bearing, and there is no way to avoid that.
`completion-at-point` filters the candidates returned by the
`completion-at-point-functions`, and it uses the completion style (set
by either `completion-styles`, or via a completion category signalled in
a completion table) for this.

When the completion table does not signal a completion style,
`completion-at-point` uses the value of `completion-styles` to filter
the candidates. Only matching candidates will be presented in any UI.
The default value of `completion-styles` is '(basic partial-completion
emacs22). Which - according to the manual [1] - effects the following:

---------------------------- Begin Quote -----------------------------
basic

   A matching completion alternative must have the same beginning as the
   text in the minibuffer before point. Furthermore, if there is any
   text in the minibuffer after point, the rest of the completion
   alternative must contain that text as a substring.

partial-completion

   This aggressive completion style divides the minibuffer text into
   words separated by hyphens or spaces, and completes each word
   separately. (For example, when completing command names, =E2=80=98em-l-m=
=E2=80=99
   completes to =E2=80=98emacs-lisp-mode=E2=80=99.)

   Furthermore, a =E2=80=98*=E2=80=99 in the minibuffer text is treated as =
a wildcard=E2=80=94it
   matches any string of characters at the corresponding position in the
   completion alternative.

emacs22

   This completion style is similar to basic, except that it ignores the
   text in the minibuffer after point. It is so-named because it
   corresponds to the completion behavior in Emacs 22.
----------------------------- End Quote ------------------------------
[1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-St=
yles.html

I.e. the default setting of `completion-styles` will match for
candidates that have the search string at their beginning only. Example:
when the text before point is "foo", the candidates "foo", "foox", and
"foobar" will be shown, but not the candidate "barfoo".

Clearly, this is fairly useless for email address completion. Thus, the
function `message--name-table` in message.el begins like this:

---------------------------- Begin Quote -----------------------------
(defun message--name-table (orig-string)
  (let ((orig-words (split-string orig-string "[ \t]+"))
        eudc-responses
        bbdb-responses)
    (lambda (string pred action)
      (pcase action
        ('metadata '(metadata (category . email)))
[...]
----------------------------- End Quote ------------------------------

In the last quoted line, it return the list '(metadata (category .
email)) in response to the 'metadata action.

When message.el is loaded, the init code there does this:

---------------------------- Begin Quote -----------------------------
(add-to-list 'completion-category-defaults '(email (styles substring
                                                           partial-completi=
on)))
----------------------------- End Quote ------------------------------

This defines the 'email completion category to imply the completion
styles '(substring partial-completion). Thus, whenever
`message--name-table` comes into play, these completion styles will be
in effect.

Long story, short conclusion: you can't do meaningful email address
completion with the default value of `completion styles`.


Cheers,

  --alexander




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 08 Dec 2022 23:00:02 +0000
Resent-Message-ID: <handler.59314.B59314.167054034626996 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167054034626996
          (code B ref 59314); Thu, 08 Dec 2022 23:00:02 +0000
Received: (at 59314) by debbugs.gnu.org; 8 Dec 2022 22:59:06 +0000
Received: from localhost ([127.0.0.1]:59666 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p3Pr8-00071M-98
	for submit <at> debbugs.gnu.org; Thu, 08 Dec 2022 17:59:06 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:47994)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1p3Pr5-00070y-Nj
 for 59314 <at> debbugs.gnu.org; Thu, 08 Dec 2022 17:59:05 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Transfer-Encoding:Content-Type:MIME-Version:
 Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From: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=DsONN/bCR/9QTM86n4WdYiiMrGApNf8b4232phTxLsc=; b=gapA9B/E5KpjibVShi3mydLWYx
 KQrqL7IJQGSWUpYv9mVrrROQ2dgL7B9nfy1HmRa/P6k1GmkHNKzo2EMP0w3cuisX27yhiOOqmIeKH
 kyVVS51kn8Jb728ZwFthx3WSWxQ65fHoPWBF2/3Tlg1Mm09M6JNOc/qiqfshmOVDzR/9a3vPVYfvw
 VhEiHcE4MT9GyL4iss4ipFunoR6b2nmh2wm6ESurjBZPtQH4MWFaEa5P84w9SpGssqrx1z3t4q+jn
 X61hb2wa91ogF5ekQPzcEShm5eYDwQFaIq+hiEEV0id2uTRZuoMXO1D0GEoSEm1x2Kj+vUVKJMLyn
 qe1dgosg==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1p3Pqy-0004No-I1; Thu, 08 Dec 2022 17:58:57 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN> (Alexander
 Adolf's message of "Thu, 08 Dec 2022 23:34:39 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
 <e0a4caa74f558ba6574084317123fb8f@HIDDEN>
 <m3wn72am8b.fsf@HIDDEN>
 <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN>
Date: Thu, 08 Dec 2022 17:58:56 -0500
Message-ID: <m3bkoda4en.fsf@HIDDEN>
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-Score: 0.0 (/)
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.0 (-)

Alexander Adolf <alexander.adolf@HIDDEN> writes:

> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>
>> [...]
>>> For one, you are no longer adding `eudc-capf-complete` to
>>> `completion-at-point-functions` in message mode. This seems fine given
>>> that we are not there yet to make `eudc-capf-complete` the default thing
>>> to happen in 29.
>>
>> To be clear, I wasn't going to push a patch to remove that, at least not
>> yet.  It's not making anything worse, so might as well leave it as-is.
>
> I see. Please kindly ignore yesterday's path then, please.
>
>>> [...]
>> I'm trying to get message--name-table's EUDC support working.  I only
>> wanted to remove eudc-capf-complete from the debugging equation, because
>> message--name-table existed way before eudc-capf-complete was
>> introduced.
>>
>> I want to understand why it doesn't work (why it results in the " <..."
>> expansion).  I haven't delved deep enough into the completion-at-point
>> to figure that out.  I was hoping with your experience writing
>> eudc-capf-complete that you'd know what was wrong with
>> message--name-table's EUDC support.
>
> I'll look into `message--name-table` and will find out what breaks with
> the " <" prefix. Please allow until Friday USA time (assuming you're
> there?); it's late already over here (Europe).

Sure, thank you, please take your time.  I haven't digested the diagram
you posted yet, but I'll have a look when I get a chance.

>> I don't think completion-styles should have any bearing on this.
>> message--name-table's EUDC support has to be made to work with the
>> default completion-styles setting.  Do you know how to do that?
>
> The thing is, they do have a bearing, and there is no way to avoid that.
> `completion-at-point` filters the candidates returned by the
> `completion-at-point-functions`, and it uses the completion style (set
> by either `completion-styles`, or via a completion category signalled in
> a completion table) for this.
>
> When the completion table does not signal a completion style,
> `completion-at-point` uses the value of `completion-styles` to filter
> the candidates. Only matching candidates will be presented in any UI.
> The default value of `completion-styles` is '(basic partial-completion
> emacs22). Which - according to the manual [1] - effects the following:
>
> ---------------------------- Begin Quote -----------------------------
> basic
>
>    A matching completion alternative must have the same beginning as the
>    text in the minibuffer before point. Furthermore, if there is any
>    text in the minibuffer after point, the rest of the completion
>    alternative must contain that text as a substring.
>
> partial-completion
>
>    This aggressive completion style divides the minibuffer text into
>    words separated by hyphens or spaces, and completes each word
>    separately. (For example, when completing command names, =E2=80=98em-l=
-m=E2=80=99
>    completes to =E2=80=98emacs-lisp-mode=E2=80=99.)
>
>    Furthermore, a =E2=80=98*=E2=80=99 in the minibuffer text is treated a=
s a wildcard=E2=80=94it
>    matches any string of characters at the corresponding position in the
>    completion alternative.
>
> emacs22
>
>    This completion style is similar to basic, except that it ignores the
>    text in the minibuffer after point. It is so-named because it
>    corresponds to the completion behavior in Emacs 22.
> ----------------------------- End Quote ------------------------------
> [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-=
Styles.html
>
> I.e. the default setting of `completion-styles` will match for
> candidates that have the search string at their beginning only. Example:
> when the text before point is "foo", the candidates "foo", "foox", and
> "foobar" will be shown, but not the candidate "barfoo".
>
> Clearly, this is fairly useless for email address completion. Thus, the
> function `message--name-table` in message.el begins like this:
>
> ---------------------------- Begin Quote -----------------------------
> (defun message--name-table (orig-string)
>   (let ((orig-words (split-string orig-string "[ \t]+"))
>         eudc-responses
>         bbdb-responses)
>     (lambda (string pred action)
>       (pcase action
>         ('metadata '(metadata (category . email)))
> [...]
> ----------------------------- End Quote ------------------------------
>
> In the last quoted line, it return the list '(metadata (category .
> email)) in response to the 'metadata action.
>
> When message.el is loaded, the init code there does this:
>
> ---------------------------- Begin Quote -----------------------------
> (add-to-list 'completion-category-defaults '(email (styles substring
>                                                            partial-comple=
tion)))
> ----------------------------- End Quote ------------------------------
>
> This defines the 'email completion category to imply the completion
> styles '(substring partial-completion). Thus, whenever
> `message--name-table` comes into play, these completion styles will be
> in effect.

I see, hmm.  That's quite complicated.  Nice analysis, thank you.

> Long story, short conclusion: you can't do meaningful email address
> completion with the default value of `completion styles`.

OK, but then (to lengthen the conclusion) message--name-table ignores
the default value of 'completion-styles' (or if it doesn't, it should),
and so the default global value of 'completion-styles' should not have
any bearing on any of these tests we're doing.  Is that correct?

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 10 Dec 2022 01:41:01 +0000
Resent-Message-ID: <handler.59314.B59314.16706364405644 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.16706364405644
          (code B ref 59314); Sat, 10 Dec 2022 01:41:01 +0000
Received: (at 59314) by debbugs.gnu.org; 10 Dec 2022 01:40:40 +0000
Received: from localhost ([127.0.0.1]:39718 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p3or2-0001Sy-0z
	for submit <at> debbugs.gnu.org; Fri, 09 Dec 2022 20:40:40 -0500
Received: from smtprelay08.ispgateway.de ([134.119.228.98]:16864)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p3or0-0001Sq-3k
 for 59314 <at> debbugs.gnu.org; Fri, 09 Dec 2022 20:40:39 -0500
Received: from [46.244.194.68] (helo=condition-alpha.com)
 by smtprelay08.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p3orB-0005KA-2A; Sat, 10 Dec 2022 02:40:49 +0100
Message-Id: <4d1810369df651d02ceeb522b8f05370@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <m3bkoda4en.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
 <e0a4caa74f558ba6574084317123fb8f@HIDDEN>
 <m3wn72am8b.fsf@HIDDEN>
 <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN>
 <m3bkoda4en.fsf@HIDDEN>
Date: Sat, 10 Dec 2022 02:40:35 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
X-Spam-Score: -0.0 (/)
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.0 (-)

--=-=-=
Content-Type: text/plain

Hello Thomas,

another lengthy explanation, for which apologies up front!

Thomas Fitzsimmons <fitzsim@HIDDEN> writes:

> [...]
> OK, but then (to lengthen the conclusion) message--name-table ignores
> the default value of 'completion-styles' (or if it doesn't, it should),
> and so the default global value of 'completion-styles' should not have
> any bearing on any of these tests we're doing.  Is that correct?
> [...]

Yes, that's correct.

message--name-table responds to the metadata action by returning a list
containing (category . email), which instructs the completion-at-point
machinery to ignore the global completion-styles variable, and instead
consult the completion-category-defaults and
completion-category-overrides alists for the completion style defined
under the 'email entry (if one exists).


With an eye to fixing this bug, I think there are three plus one
scenarios to look at.

----------------------------------------------------------------------
Scenario 1

- eudc-capf-complete is at the front of completion-at-point-functions

- EUDC is not configured (eudc-server and eudc-server-hotlist are both
  nil)

What happens: eudc-capf-complete will return nil, and completion will
              proceed via message-completion-function as usual. This
              works with the current code on master.

----------------------------------------------------------------------
Scenario 2

- eudc-capf-complete is at the front of completion-at-point-functions

- EUDC is configured, but none of the back-ends has any completion
  candidates for the prefix

What happens: eudc-capf-complete will return nil, and completion will
              proceed via message-completion-function as usual. This
              works with the current code on master.

----------------------------------------------------------------------
Scenario 3

- eudc-capf-complete is at the front of completion-at-point-functions

- EUDC is configured, one or more back-ends have one or more completion
  candidates for the prefix

What happens: eudc-capf-complete is called from completion-at-point, and
              returns the list of candidates. Hence, any subsequent
              functions in the list will NOT be called. No completion
              candidates are offered to the user, however, because the
              default value of completion-styles is not suited for
              completing email addresses. This is what causes the
              behaviour described in this bug.

To fix this, the buffer-local value of completion-styles needs to be set
by eudc-capf-complete to a value suitable for completing email
addresses. Once this will done, completion proceeds as usual. I have a
patch ready that adds such a fix to eudc-capf-complete (attached to the
end of this message).

----------------------------------------------------------------------
Scenario 3+1

- eudc-capf-complete is NOT in completion-at-point-functions

- EUDC is configured, one or more back-ends have one or more completion
  candidates for the prefix

What happens: If and when any of the candidates has more than one word
              in the text preceding the "angled address", the prefix
              matching in the completion-at-point machinery somehow
              breaks, and hitting TAB another time does not bring up the
              multiple candidates minibuffer UI.

(NOTE: This scenario can't occur unless a user re-removes
eudc-capf-complete from completion-at-point-functions in code s:he puts
on message-mode-hook. END NOTE)

Practically, this means that a candidate like

                       "John <john@HIDDEN>"

works, whereas something like

                     "John Doe <j.doe@HIDDEN>"

breaks. Text _after_ the address (e.g. "j.doe@HIDDEN (John Doe the
Third)") does not seem to cause any troubles, however.

I've done a couple of experiments, and it seems things work best when
the candidates are "bare" email addresses (e.g. "j.doe@HIDDEN").

I've peeked and poked around in message--name-table a bit, but couldn't
spot anything suspicious. It seems that function does what it should,
and correctly. My impression is that the code in the completion-at-point
machinery somehow gets confused by too much white-space preceding the
email address. I am still scratching my head as to why this happens, and
whether that is a bug or a feature of completion-at-point. ;-) Will keep
you posted.

----------------------------------------------------------------------


Those were the combinations I could think of. Any further ones we should
be considering?


I think overall, the approach for end users the approach regarding
eudc-capf-complete vs. message-completion-function would be:

- users not using EUDC at all will be able to continue working as before
  (cf. scenario 1);

- users who are using EUDC, will need to "migrate" email address
  completion to eudc-capf-completion, since it gets added to (the
  buffer-local value of) completion-at-point-functions when a new
  message-mode buffer is created (cf. scenario 3); this is readily
  possible, because EUDC provides back-ends for all email address
  completion sources supported by message.el (plus additional ones not
  supported by message.el).

Scenario 2 is some kind of mixture, which could occur if the sets of
databses used by EUDC and message.el are disjoint. This could e.g
happen, if the user has - say - set up EUDC for his:her work LDAP, and
uses bbdb for non-work contacts. It would work though.


Looking forward to your thoughts,

  --alexander



--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=0001-Fix-bug-59314.patch

From d02b15f2f9bf9b83641eac4e169ba79ac5026df8 Mon Sep 17 00:00:00 2001
From: Alexander Adolf <alexander.adolf@HIDDEN>
Date: Fri, 9 Dec 2022 22:15:42 +0100
Subject: [PATCH] Fix bug#59314

* lisp/net/eudc-capf.el (eudc-capf-complete): set completion-styles
buffer locally to a more generous value, so that more candidates can
pass the filtering
(eudc-capf-message-expand-name): renamed to
eudc-capf--message-expand-name to mark it as an internal use function,
and improved the doc string
---
 lisp/net/eudc-capf.el | 48 ++++++++++++++++++++-----------------------
 1 file changed, 22 insertions(+), 26 deletions(-)

diff --git a/lisp/net/eudc-capf.el b/lisp/net/eudc-capf.el
index e2bbd5b28b..c655c14df6 100644
--- a/lisp/net/eudc-capf.el
+++ b/lisp/net/eudc-capf.el
@@ -101,34 +101,30 @@ eudc-capf-complete
 The return value is either nil when no match is found, or a
 completion table as required for functions listed in
 `completion-at-point-functions'."
-  (if (and (seq-some #'derived-mode-p eudc-capf-modes)
-           (let ((mail-abbrev-mode-regexp message-email-recipient-header-regexp))
-             (mail-abbrev-in-expansion-header-p)))
-      (eudc-capf-message-expand-name)))
+  (when (and (or eudc-server eudc-server-hotlist)
+             (seq-some #'derived-mode-p eudc-capf-modes)
+             (let ((mail-abbrev-mode-regexp message-email-recipient-header-regexp))
+               (mail-abbrev-in-expansion-header-p)))
+    (setq-local completion-styles '(substring partial-completion))
+    (eudc-capf--message-expand-name)))
 
 ;;;###autoload
-(defun eudc-capf-message-expand-name ()
-  "Email address completion function for `message-completion-alist'.
-
-When this function is added to `message-completion-alist',
-replacing any existing entry for `message-expand-name' there,
-with an appropriate regular expression such as for example
-`message-email-recipient-header-regexp', then EUDC will be
-queried for email addresses, and the results delivered to
-`completion-at-point'."
-  (if (or eudc-server eudc-server-hotlist)
-      (progn
-        (let* ((beg (save-excursion
-                      (re-search-backward "\\([:,]\\|^\\)[ \t]*")
-                      (match-end 0)))
-               (end (point))
-               (prefix (save-excursion (buffer-substring-no-properties beg end))))
-          (let ((result
-                 (eudc-query-with-words (split-string prefix "[ \t]+") t)))
-            (when result
-              (list beg end
-                    (completion-table-with-cache
-                     (lambda (_) result) t))))))))
+(defun eudc-capf--message-expand-name ()
+  "Helper for `eudc-capf-complete'.
+
+Computes a completion table as required for functions listed in
+`completion-at-point-functions'."
+  (let* ((beg (save-excursion
+                (re-search-backward "\\([:,]\\|^\\)[ \t]*")
+                (match-end 0)))
+         (end (point))
+         (prefix (save-excursion (buffer-substring-no-properties beg end))))
+    (let ((result
+           (eudc-query-with-words (split-string prefix "[ \t]+") t)))
+      (when result
+        (list beg end
+              (completion-table-with-cache
+               (lambda (_) result) t))))))
 
 (provide 'eudc-capf)
 ;;; eudc-capf.el ends here
-- 
2.38.1


--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 10 Dec 2022 14:28:02 +0000
Resent-Message-ID: <handler.59314.B59314.167068245029458 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167068245029458
          (code B ref 59314); Sat, 10 Dec 2022 14:28:02 +0000
Received: (at 59314) by debbugs.gnu.org; 10 Dec 2022 14:27:30 +0000
Received: from localhost ([127.0.0.1]:43052 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p40p8-0007f4-3u
	for submit <at> debbugs.gnu.org; Sat, 10 Dec 2022 09:27:30 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:40704)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1p40p6-0007ex-3s
 for 59314 <at> debbugs.gnu.org; Sat, 10 Dec 2022 09:27:29 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=WqbU1n2mggqn5Tnh/gEpwOOO1wTkHYi3c+KHiLXpbVw=; b=efXQRvX7zkBTwerF5uLY/5wBsU
 19Y5W/T3RLVdE7o+aIahHyz/oZeOShK/ivcReWYuATjAqbXs6c9lAyVsvUJbQDrec+lP020P6EBGh
 LZBY8/DRPUp9+milRrF44xf/KidMRQn2//D6ZDPVY8NWJtJlTWZbRulOXt9U+0Hqa88V0GY3N9Z5X
 VZsex+te0m7g9KqRdlDf2kBX+5wG2hggUQqTeVcBYsPiXyvziV6quXactrUwn198X6YNjem5JY2Ib
 2EopSpgLhmyvJAP/TKtebMgktEIk20UwAAhOIu7w2rVi489ZtGGDAcQZXdufmPwLJevUhXbwcbUx6
 q3Dp1pXg==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1p40oz-0005Nx-S1; Sat, 10 Dec 2022 09:27:22 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <4d1810369df651d02ceeb522b8f05370@HIDDEN> (Alexander
 Adolf's message of "Sat, 10 Dec 2022 02:40:35 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
 <e0a4caa74f558ba6574084317123fb8f@HIDDEN>
 <m3wn72am8b.fsf@HIDDEN>
 <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN>
 <m3bkoda4en.fsf@HIDDEN>
 <4d1810369df651d02ceeb522b8f05370@HIDDEN>
Date: Sat, 10 Dec 2022 09:27:21 -0500
Message-ID: <m3wn6z8hbq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Hi Alexander,

Alexander Adolf <alexander.adolf@HIDDEN> writes:

> another lengthy explanation, for which apologies up front!

OK, trimmed it down.

> Thomas Fitzsimmons <fitzsim@HIDDEN> writes:
>
>> [...]
>> OK, but then (to lengthen the conclusion) message--name-table ignores
>> the default value of 'completion-styles' (or if it doesn't, it should),
>> and so the default global value of 'completion-styles' should not have
>> any bearing on any of these tests we're doing.  Is that correct?
>> [...]
>
> Yes, that's correct.
>
> message--name-table responds to the metadata action by returning a list
> containing (category . email), which instructs the completion-at-point
> machinery to ignore the global completion-styles variable, and instead
> consult the completion-category-defaults and
> completion-category-overrides alists for the completion style defined
> under the 'email entry (if one exists).
>
> With an eye to fixing this bug, I think there are three plus one
> scenarios to look at.

[...]

The scenario I'd like you to make work with a minimal patch is:
Scenario 3+1 + (setq message-expand-name-standard-ui t).

Did you try that?  I'm pretty sure if you get that working you'll find
that we don't need eudc-capf-complete in completion-at-point-functions
(yet), since what was there will already do what eudc-capf-complete was
trying to achieve.

Basically, this whole part of the discussion I've been thinking in terms
of "(setq message-expand-name-standard-ui t)".

When message-expand-name-standard-ui is nil, I think we've determined
that eudc-capf-complete's presence in completion-at-point-functions
breaks EUDC functionality.  Do you concur?  If that's the case we should
probably remove eudc-capf-complete from completion-at-point-functions
for Emacs 29.1, since that would represent a regression.

I now understand that the intent of the code that was there before we
added eudc-capf-complete was:

message-expand-name-standard-ui nil => use EUDC multi-selector UI
message-expand-name-standard-ui t   => use completion-at-point selector UI

But the second case was already broken before we added
eudc-capf-complete.  I want to understand and fix that case.

(I'm rushing responses here, I'll dedicate more time to real testing
maybe tomorrow, but I'm hoping you'll beat me to it with a minimal patch
:-))

Thanks,
Thomas




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Alexander Adolf <alexander.adolf@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 11 Dec 2022 16:09:02 +0000
Resent-Message-ID: <handler.59314.B59314.167077489323142 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Thomas Fitzsimmons <fitzsim@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167077489323142
          (code B ref 59314); Sun, 11 Dec 2022 16:09:02 +0000
Received: (at 59314) by debbugs.gnu.org; 11 Dec 2022 16:08:13 +0000
Received: from localhost ([127.0.0.1]:46797 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p4Os9-00061C-7G
	for submit <at> debbugs.gnu.org; Sun, 11 Dec 2022 11:08:13 -0500
Received: from smtprelay02.ispgateway.de ([80.67.18.14]:47037)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p4Os7-000616-1H
 for 59314 <at> debbugs.gnu.org; Sun, 11 Dec 2022 11:08:11 -0500
Received: from [46.244.214.45] (helo=condition-alpha.com)
 by smtprelay02.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <alexander.adolf@HIDDEN>)
 id 1p4OsG-0002LX-Nt; Sun, 11 Dec 2022 17:08:20 +0100
Message-Id: <dcbf5ceee551c06dfe56bfe710388eb4@HIDDEN>
From: Alexander Adolf <alexander.adolf@HIDDEN>
In-Reply-To: <m3bkoda4en.fsf@HIDDEN>
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
 <e0a4caa74f558ba6574084317123fb8f@HIDDEN>
 <m3wn72am8b.fsf@HIDDEN>
 <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN>
 <m3bkoda4en.fsf@HIDDEN>
Date: Sun, 11 Dec 2022 17:08:07 +0100
MIME-Version: 1.0
Content-Type: text/plain
X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20=
X-Spam-Score: -0.0 (/)
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.0 (-)

I have done some further debugging, and it seems that the behaviour is
independent of EUDC.

With this:

(setq message-expand-name-standard-ui t)
(setq eudc-server nil eudc-server-hotlist nil)
(setq message-expand-name-databases '(bbdb))

and `eudc-capf-complete` removed from `completion-at-point-functions` in
`message-mode`, the result is the same (completion is broke).

It seems that the completion styles are attempting to find the longest
common prefix of all candidates, and somehow take words into account.
Quoting from the Elisp manual [1]:

---------------------------- Begin Quote -----------------------------
The procedure of determining what constitutes a match is quite
intricate. Emacs attempts to offer plausible completions under most
circumstances.
----------------------------- End Quote ------------------------------

Have I just been handed a word of warning? Looks like.

Anyways, I will now try to see whether I can identify a commit that the
issue. I'll start with the one mentioned by Eric.

[puts on helmet, switches on headlamp, and grabs a pickax]

Wish me luck,

  --alexander




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#59314: 29.0.50; EUDC and message-mode header completion
Resent-From: Thomas Fitzsimmons <fitzsim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 12 Dec 2022 12:32:02 +0000
Resent-Message-ID: <handler.59314.B59314.167084827714758 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59314
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Alexander Adolf <alexander.adolf@HIDDEN>
Cc: Eric Abrahamsen <eric@HIDDEN>, 59314 <at> debbugs.gnu.org
Received: via spool by 59314-submit <at> debbugs.gnu.org id=B59314.167084827714758
          (code B ref 59314); Mon, 12 Dec 2022 12:32:02 +0000
Received: (at 59314) by debbugs.gnu.org; 12 Dec 2022 12:31:17 +0000
Received: from localhost ([127.0.0.1]:52676 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p4hxk-0003py-Sr
	for submit <at> debbugs.gnu.org; Mon, 12 Dec 2022 07:31:17 -0500
Received: from mail.fitzsim.org ([69.165.165.189]:43566)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <fitzsim@HIDDEN>) id 1p4hxj-0003pj-7F
 for 59314 <at> debbugs.gnu.org; Mon, 12 Dec 2022 07:31:16 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org
 ; s=20220430;
 h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 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=RAWDa+pG8qjrM3mnQ8EgykklsvWXLr0nCIBAouzXwNs=; b=iJsPsCXqOhvXDKE8slRTtG9MWB
 E1AFTdpcIO26x1YJz8u+4jQblutHZMMjYNZi/UxkRsNA8OpKHNilFiBBgCJ+4zyng5J075WB8m45X
 jmiIpl91P61kbV79MIpbs5XKFvzBpxGJNbYdnN6JG0EvfqEHg4L4jUxxpi/j3bxz3ezdrdTiUwt8F
 UqOZ0qXYq17JTqdKx5JjJKHnVNNDlGYNdZtGUBB3EBbwPL5yoQDS/4zP8/BCa1v1WnLE2JUc4ce+M
 uG2uJLXjQiMUDkKr149UVby2fz3+5S7mkmk106uDv9qGOkE7Xl3QFcTq6PklgfMQ4RQD+9Gx3cFCA
 u+qgjGaQ==;
Received: from [192.168.1.1] (helo=localhost.localdomain)
 by mail.fitzsim.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <fitzsim@HIDDEN>)
 id 1p4hxV-0006tv-34; Mon, 12 Dec 2022 07:31:09 -0500
From: Thomas Fitzsimmons <fitzsim@HIDDEN>
In-Reply-To: <dcbf5ceee551c06dfe56bfe710388eb4@HIDDEN> (Alexander
 Adolf's message of "Sun, 11 Dec 2022 17:08:07 +0100")
References: <87a64q7p25.fsf@HIDDEN> <m3iljeemj5.fsf@HIDDEN>
 <878rka1y4n.fsf@HIDDEN>
 <bcee30cef48498ff7beae30e5bef571a@HIDDEN>
 <m3o7smh62i.fsf@HIDDEN>
 <9cad334f4f42725f2e244c8c81528856@HIDDEN>
 <m31qpccl1m.fsf@HIDDEN>
 <b5f0b328340ee5a4da73fab9878e82e3@HIDDEN>
 <m3mt80asmm.fsf@HIDDEN> <m3edtbc3ct.fsf@HIDDEN>
 <e0a4caa74f558ba6574084317123fb8f@HIDDEN>
 <m3wn72am8b.fsf@HIDDEN>
 <dcac3ba0d9288e277bb9ebeff6e0dc6c@HIDDEN>
 <m3bkoda4en.fsf@HIDDEN>
 <dcbf5ceee551c06dfe56bfe710388eb4@HIDDEN>
Date: Mon, 12 Dec 2022 07:31:00 -0500
Message-ID: <m3k02w952z.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Alexander Adolf <alexander.adolf@HIDDEN> writes:

> I have done some further debugging, and it seems that the behaviour is
> independent of EUDC.
>
> With this:
>
> (setq message-expand-name-standard-ui t)
> (setq eudc-server nil eudc-server-hotlist nil)
> (setq message-expand-name-databases '(bbdb))
>
> and `eudc-capf-complete` removed from `completion-at-point-functions` in
> `message-mode`, the result is the same (completion is broke).

I confirmed this on my set up, this was a good thing to test, thanks.
(Before, I had tested BBDB-only (no-EUDC) completion with
message-expand-name-standard-ui set to nil, which worked, but not with
it set to t.)

> It seems that the completion styles are attempting to find the longest
> common prefix of all candidates, and somehow take words into account.
> Quoting from the Elisp manual [1]:
>
> ---------------------------- Begin Quote -----------------------------
> The procedure of determining what constitutes a match is quite
> intricate. Emacs attempts to offer plausible completions under most
> circumstances.
> ----------------------------- End Quote ------------------------------
>
> Have I just been handed a word of warning? Looks like.
>
> Anyways, I will now try to see whether I can identify a commit that the
> issue. I'll start with the one mentioned by Eric.
>
> [puts on helmet, switches on headlamp, and grabs a pickax]
>
> Wish me luck,

Good luck, this is good progress.

Thomas





Last modified: Mon, 12 Dec 2022 12:45:02 UTC

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