Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[gnus] modifier son From: pour répondre à un message

10 réponses
Avatar
Sébastien Kirche
Bonjour,

j'ai plusieurs comptes de messagerie qui sont relevés par
fetchmail/procmail et qui atterrissent dans la même mailbox.

Dans cette boîte j'ai donc plusieurs messages adressés à des To:
différents, mettons seb@free et seb@laposte.

Je souhaiterais quand je réponds à un message pouvoir reprendre pour le
From: l'adresse utilisée dans le To: du message auquel je réponds.

Il y aurait bien les posting styles, je m'en sers pour avoir une adresse
différente entre la messagerie et les news (mais toujours la même).
Seulement cette solution m'obligerait à énumérer toutes les adresses
possibles et me m'emballe pas tellement.

Je sais qu'il est aussi possible de paramétrer le from: dans les
paramètres de groupe, il faudrait alors que j'aie un groupe par adresse
et que les messages arrivant soient triés en conséquence.

Connaîtriez-vous une autre solution élégante avec Gnus ?

PS:j'ai vu le problème avec la date et j'essaie de remonter le bug.
--
Sébastien Kirche

10 réponses

Avatar
Romain Francoise
Sébastien Kirche writes:

Connaîtriez-vous une autre solution élégante avec Gnus ?



(setq message-alternative-emails (regexp-opt '("" "")))

--
Romain Francoise | The world is a fine place,
it's a miracle -- http://orebokech.com/ | and worth fighting for.
| --Ernest Hemingway
Avatar
Sébastien Kirche
Le 4 October 2005 à 16:10, Romain Francoise s'est exprimé ainsi :

Sébastien Kirche writes:

> Connaîtriez-vous une autre solution élégante avec Gnus ?

(setq message-alternative-emails (regexp-opt '(""
"")))



Excellent, juste ce dont j'ai besoin.
Adopté, merci !


Question subsidiaire : si l'une de ces adresses est dans
user-mail-address, comment je peux écrire ça proprement ?

Il ne veut pas de
(setq message-alternative-emails
(regexp-opt '(user-mail-address "")))

Pour le moment j'ai remplacé la variable par sa valeur, mais j'aimerais
bien savoir écrire l'elisp correct pour cela.

--
Sébastien Kirche
Avatar
Romain Francoise
Sébastien Kirche writes:

Question subsidiaire : si l'une de ces adresses est dans
user-mail-address, comment je peux écrire ça proprement ?



La fonction regexp-opt prend une liste, tu dois donc construire une
liste...

(setq message-alternative-emails
(regexp-opt (cons user-mail-address '("" ""))))

--
Romain Francoise | I've become someone else's
it's a miracle -- http://orebokech.com/ | nightmare...
Avatar
Sébastien Kirche
Le 4 October 2005 à 18:10, Romain Francoise a formulé :

Sébastien Kirche writes:

> Question subsidiaire : si l'une de ces adresses est dans
> user-mail-address, comment je peux écrire ça proprement ?

La fonction regexp-opt prend une liste, tu dois donc construire une
liste...

(setq message-alternative-emails
(regexp-opt (cons user-mail-address '("" ""))))



OK, merci.

J'ai fait quelques essais dans le scratch buffer pour tester (ça
marche).

Mais des trucs continuent de m'échapper en lisp concernant les
cons, les listes et le résultat obtenu.

Notamment pourquoi des fois j'ai une liste pointée et d'autre pas.

'("toto" "tutu") = (list "toto" "tutu")
=> ("toto" "tutu") ok

(cons "titi" '("toto" "tutu")) = (cons "titi" (list "toto" "tutu"))
=> ("titi" "toto" "tutu") ok

mais je ne comprends pas le point dans (cons "titi" "toto")
=> ("titi" . "toto")

C'est la même chose ?

--
Sébastien Kirche
Avatar
Romain Francoise
Sébastien Kirche writes:

C'est la même chose ?



Je ne saurais trop te conseiller cette lecture :

(info "(elisp)Dotted Pair Notation")

(et ce chapitre en général...)

--
Romain Francoise | All you've been is a piece of
it's a miracle -- http://orebokech.com/ | blood wrapped in skin.
Avatar
Matthieu Moy
Romain Francoise writes:

Sébastien Kirche writes:

Question subsidiaire : si l'une de ces adresses est dans
user-mail-address, comment je peux écrire ça proprement ?



La fonction regexp-opt prend une liste, tu dois donc construire une
liste...

(setq message-alternative-emails
(regexp-opt (cons user-mail-address '("" ""))))



Pour jouer un peu plus avec le lisp:

(list user-mail-address "" "")

`(,user-mail-address "" "")

(le « ` » fait pareil que le « ' » sauf pour les éléments précédés de
« , » qui eux sont évalués).

Au passage (je ne connaissais pas message-alternative-emails), dans
pas mal de cas, on peut aussi écrire

(setq message-alternative-emails message-dont-reply-to-names)

--
Matthieu
Avatar
Matthieu Moy
Sébastien Kirche writes:

mais je ne comprends pas le point dans (cons "titi" "toto")
=> ("titi" . "toto")



ELISP> (cdr '("toto" . "titi"))
"titi"
ELISP> (cdr '("toto" "titi"))
("titi")
ELISP> (cdr (cdr '("toto" "titi")))
nil

--
Matthieu
Avatar
Sébastien Kirche
Le 4 octobre 2005 à 19:10, Matthieu Moy s'est exprimé ainsi :

Pour jouer un peu plus avec le lisp:

(list user-mail-address "" "")



Évident, mais je n'y ai pas pensé.

`(,user-mail-address "" "")

(le « ` » fait pareil que le « ' » sauf pour les éléments précédés de
« , » qui eux sont évalués).



Je l'ai déjà rencontré, bien que ça soit déjà plus sioux, comme les
notations avec # et ce genre de choses.

Au passage (je ne connaissais pas message-alternative-emails), dans
pas mal de cas, on peut aussi écrire

(setq message-alternative-emails message-dont-reply-to-names)



Tiens, je ne connaissais pas non plus message-dont-reply-to-names qui
vaut nil ici. Maintenant je pourrais l'affecter en sens inverse
(setq message-dont-reply-to-names message-alternative-emails).

--
Sébastien Kirche
Avatar
drkm
Matthieu Moy writes:

`(,user-mail-address "" "")

(le « ` » fait pareil que le « ' » sauf pour les éléments précédés de
« , » qui eux sont évalués).



De même que ceux précédés de « ,@ » qui sont évalués et mis à
plat (en tant que listes) :

`(a ,(list 1 2 3) b)
==> (a (1 2 3) b)

`(a ,@(list 1 2 3) b)
==> (a 1 2 3 b)

--drkm
Avatar
drkm
Sébastien Kirche writes:

Je l'ai déjà rencontré, bien que ça soit déjà plus sioux, comme les
notations avec # et ce genre de choses.



En Emacs Lisp, si je ne m'abuse, le « # » n'est jamais employé,
à part quelques constructions spéciales du Reader qui ne sont pas
destinées à être employées directement, la notation des listes
circulaires par le Printer [1], et un raccourci pour 'function'
qui ne sert à rien. Mais j'oublie peut-être quelque chose.

[1] (let ((l (list 'a))) (setcdr l l))
==> #1=(a . #1#)

--drkm