unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#50667: Update ecomplete when used via standard UI
@ 2021-09-18 21:01 Augusto Stoffel
  2021-09-18 21:06 ` Lars Ingebrigtsen
  2021-11-05  3:28 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 6+ messages in thread
From: Augusto Stoffel @ 2021-09-18 21:01 UTC (permalink / raw)
  To: 50667

[-- Attachment #1: Type: text/plain, Size: 335 bytes --]

Tags: patch

If one keeps sets

    (setq message-mail-alias-type nil ;; or keep the default 'abbrev
          message-expand-name-standard-ui t)

and an ecomplete database file, then everything works OOTB, except that
the ecomplete database doesn't get updated with new addresses.

Is the following change a reasonable fix for this?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnus-message.el-message-send-Always-update-ecomplete.patch --]
[-- Type: text/patch, Size: 876 bytes --]

From 9cc0c8d8dd8343bc615f2a4a18e38e8940c340cb Mon Sep 17 00:00:00 2001
From: Augusto Stoffel <arstoffel@gmail.com>
Date: Sat, 18 Sep 2021 22:51:00 +0200
Subject: [PATCH] * gnus/message.el (message-send): Always update ecomplete if
 loaded

---
 lisp/gnus/message.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 4a754b9856..98a70330c4 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4391,7 +4391,7 @@ message-send
 	(run-hooks 'message-sent-hook))
       (message "Sending...done")
       ;; Do ecomplete address snarfing.
-      (when (and (message-mail-alias-type-p 'ecomplete)
+      (when (and (bound-and-true-p ecomplete-database)
 		 (not message-inhibit-ecomplete))
 	(message-put-addresses-in-ecomplete))
       ;; Mark the buffer as unmodified and delete auto-save.
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#50667: Update ecomplete when used via standard UI
  2021-09-18 21:01 bug#50667: Update ecomplete when used via standard UI Augusto Stoffel
@ 2021-09-18 21:06 ` Lars Ingebrigtsen
  2021-09-18 21:35   ` Augusto Stoffel
  2021-11-05  3:28 ` Lars Ingebrigtsen
  1 sibling, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-09-18 21:06 UTC (permalink / raw)
  To: Augusto Stoffel; +Cc: 50667

Augusto Stoffel <arstoffel@gmail.com> writes:

> If one keeps sets
>
>     (setq message-mail-alias-type nil ;; or keep the default 'abbrev
>           message-expand-name-standard-ui t)
>
> and an ecomplete database file, then everything works OOTB,

Works in what way?

> except that the ecomplete database doesn't get updated with new
> addresses.
>
> Is the following change a reasonable fix for this?

[...]

> -      (when (and (message-mail-alias-type-p 'ecomplete)
> +      (when (and (bound-and-true-p ecomplete-database)

I think this would be highly surprising behaviour -- just loading a
library shouldn't have such side effects.

What's your use case here?  You don't want to use ecomplete for alias
expansions, but you still want to update the ecomplete database?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#50667: Update ecomplete when used via standard UI
  2021-09-18 21:06 ` Lars Ingebrigtsen
@ 2021-09-18 21:35   ` Augusto Stoffel
  2021-09-19 15:10     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Augusto Stoffel @ 2021-09-18 21:35 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 50667

On Sat, 18 Sep 2021 at 23:06, Lars Ingebrigtsen <larsi@gnus.org> wrote:

> Augusto Stoffel <arstoffel@gmail.com> writes:
>
>> If one keeps sets
>>
>>     (setq message-mail-alias-type nil ;; or keep the default 'abbrev
>>           message-expand-name-standard-ui t)
>>
>> and an ecomplete database file, then everything works OOTB,
>
> Works in what way?

If I hit TAB in an address field, my completion UI kicks in and I can
choose an address from the ecomplete database.

>
>> except that the ecomplete database doesn't get updated with new
>> addresses.
>>
>> Is the following change a reasonable fix for this?
>
> [...]
>
>> -      (when (and (message-mail-alias-type-p 'ecomplete)
>> +      (when (and (bound-and-true-p ecomplete-database)
>
> I think this would be highly surprising behaviour -- just loading a
> library shouldn't have such side effects.

Loading ecomplete doesn't populate 'ecomplete-database'.  But if you set
'message-expand-name-standard-ui' to t, then 'ecomplete-start' will be
called when request completions.

>
> What's your use case here?  You don't want to use ecomplete for alias
> expansions, but you still want to update the ecomplete database?

I want to use ecomplete via completion at point instead of ecomplete's
electric UI.  This is what the variable
'message-expand-name-standard-ui' is meant for, right?





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#50667: Update ecomplete when used via standard UI
  2021-09-18 21:35   ` Augusto Stoffel
@ 2021-09-19 15:10     ` Lars Ingebrigtsen
  2021-09-19 16:02       ` Augusto Stoffel
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-09-19 15:10 UTC (permalink / raw)
  To: Augusto Stoffel; +Cc: 50667

Augusto Stoffel <arstoffel@gmail.com> writes:

>>>     (setq message-mail-alias-type nil ;; or keep the default 'abbrev
>>>           message-expand-name-standard-ui t)
>>>
>>> and an ecomplete database file, then everything works OOTB,
>>
>> Works in what way?
>
> If I hit TAB in an address field, my completion UI kicks in and I can
> choose an address from the ecomplete database.

I think that's a bug -- I don't see anything in the documentation of
`message-expand-name-standard-ui' that says that that's going to use
ecomplete?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#50667: Update ecomplete when used via standard UI
  2021-09-19 15:10     ` Lars Ingebrigtsen
@ 2021-09-19 16:02       ` Augusto Stoffel
  0 siblings, 0 replies; 6+ messages in thread
From: Augusto Stoffel @ 2021-09-19 16:02 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Stefan Monnier, 50667

On Sun, 19 Sep 2021 at 17:10, Lars Ingebrigtsen <larsi@gnus.org> wrote:

> Augusto Stoffel <arstoffel@gmail.com> writes:
>
>>>>     (setq message-mail-alias-type nil ;; or keep the default 'abbrev
>>>>           message-expand-name-standard-ui t)
>>>>
>>>> and an ecomplete database file, then everything works OOTB,
>>>
>>> Works in what way?
>>
>> If I hit TAB in an address field, my completion UI kicks in and I can
>> choose an address from the ecomplete database.
>
> I think that's a bug -- I don't see anything in the documentation of
> `message-expand-name-standard-ui' that says that that's going to use
> ecomplete?

Right, the docstring doesn't say anything but there is a NEWS entry
saying this is the intended behavior.

I've CCed Stefan, who introduced 'message-expand-name-standard-ui'.
Let's see what he says.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#50667: Update ecomplete when used via standard UI
  2021-09-18 21:01 bug#50667: Update ecomplete when used via standard UI Augusto Stoffel
  2021-09-18 21:06 ` Lars Ingebrigtsen
@ 2021-11-05  3:28 ` Lars Ingebrigtsen
  1 sibling, 0 replies; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-11-05  3:28 UTC (permalink / raw)
  To: Augusto Stoffel; +Cc: 50667, Stefan Monnier

Augusto Stoffel <arstoffel@gmail.com> writes:

> If one keeps sets
>
>     (setq message-mail-alias-type nil ;; or keep the default 'abbrev
>           message-expand-name-standard-ui t)
>
> and an ecomplete database file, then everything works OOTB, except that
> the ecomplete database doesn't get updated with new addresses.

[...]

> -      (when (and (message-mail-alias-type-p 'ecomplete)
> +      (when (and (bound-and-true-p ecomplete-database)
>  		 (not message-inhibit-ecomplete))
>  	(message-put-addresses-in-ecomplete))

There wasn't any response for Stefan for what he was thinking when
adding the standard-ui variable 😀, but this can't be the correct
solution.  If message-mail-alias-type isn't 'ecomplete, there's nothing
to tell the code here that we want to put addresses in ecomplete.
Furthermore, this would break the functionality of that setting --
ecomplete-database will be nil when you start, so it'll never put
anything there.

So I think the right solution here (if you want to combine these two
things) is to put message-put-addresses-in-ecomplete into
message-sent-hook.  So I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-11-05  3:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-18 21:01 bug#50667: Update ecomplete when used via standard UI Augusto Stoffel
2021-09-18 21:06 ` Lars Ingebrigtsen
2021-09-18 21:35   ` Augusto Stoffel
2021-09-19 15:10     ` Lars Ingebrigtsen
2021-09-19 16:02       ` Augusto Stoffel
2021-11-05  3:28 ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).